admin-ui-starter-kit 0.4.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (983) hide show
  1. package/.agents/skills/admin-ui-consumer-migration/SKILL.md +26 -4
  2. package/.agents/skills/admin-ui-consumer-migration/references/actions-service.md +153 -2
  3. package/.agents/skills/admin-ui-consumer-migration/references/package-gap-surfaces.md +52 -0
  4. package/.agents/skills/component-library-rules/references/components/INDEX.json +8 -7
  5. package/.agents/skills/component-library-rules/references/components/INDEX.md +1 -0
  6. package/.agents/skills/component-library-rules/references/components/base__combobox.md +37 -1
  7. package/.agents/skills/component-library-rules/references/components/base__forms.md +56 -1
  8. package/.agents/skills/component-library-rules/references/components/base__table.md +145 -3
  9. package/.agents/skills/component-library-rules/references/components/composed__admin.md +66 -0
  10. package/.agents/skills/component-library-rules/references/components/composed__resource-selector-card.md +85 -0
  11. package/.agents/skills/component-library-rules/references/components/features__filters.md +69 -0
  12. package/.agents/skills/component-library-rules/references/components/layout__layout-header.md +35 -0
  13. package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +170 -7
  14. package/CHANGELOG.md +30 -3
  15. package/COMPONENT_SELECTION.md +30 -3
  16. package/INTEGRATION.md +98 -3
  17. package/README.md +108 -14
  18. package/dist/_shared/ai-artifact--vEDQFvM.cjs +3 -0
  19. package/dist/_shared/ai-artifact--vEDQFvM.cjs.map +1 -0
  20. package/dist/_shared/ai-artifact-p45wDWWX.js +1099 -0
  21. package/dist/_shared/ai-artifact-p45wDWWX.js.map +1 -0
  22. package/dist/_shared/auth-1Fl_2u-c.js +643 -0
  23. package/dist/_shared/auth-1Fl_2u-c.js.map +1 -0
  24. package/dist/_shared/auth-CVDNwcge.cjs +2 -0
  25. package/dist/_shared/auth-CVDNwcge.cjs.map +1 -0
  26. package/dist/_shared/badge-A8wQRShC.js +108 -0
  27. package/dist/_shared/badge-A8wQRShC.js.map +1 -0
  28. package/dist/_shared/badge-D7A2LnSf.cjs +2 -0
  29. package/dist/_shared/badge-D7A2LnSf.cjs.map +1 -0
  30. package/dist/_shared/combobox-CEzH533Y.cjs +2 -0
  31. package/dist/_shared/combobox-CEzH533Y.cjs.map +1 -0
  32. package/dist/_shared/combobox-Dc4vaeGt.js +927 -0
  33. package/dist/_shared/combobox-Dc4vaeGt.js.map +1 -0
  34. package/dist/_shared/comments-BDnq4RPN.js +952 -0
  35. package/dist/_shared/comments-BDnq4RPN.js.map +1 -0
  36. package/dist/_shared/comments-C4djB-nG.cjs +2 -0
  37. package/dist/_shared/comments-C4djB-nG.cjs.map +1 -0
  38. package/dist/_shared/display-AtPyyUZc.cjs +2 -0
  39. package/dist/_shared/display-AtPyyUZc.cjs.map +1 -0
  40. package/dist/_shared/display-CL69dmsv.js +1471 -0
  41. package/dist/_shared/display-CL69dmsv.js.map +1 -0
  42. package/dist/_shared/forms-Bi5rUH3t.cjs +2 -0
  43. package/dist/_shared/forms-Bi5rUH3t.cjs.map +1 -0
  44. package/dist/_shared/forms-Yd0b-3MQ.js +3556 -0
  45. package/dist/_shared/forms-Yd0b-3MQ.js.map +1 -0
  46. package/dist/_shared/header-C4SvsbMn.cjs +2 -0
  47. package/dist/_shared/header-C4SvsbMn.cjs.map +1 -0
  48. package/dist/_shared/header-CcnW83Vs.js +447 -0
  49. package/dist/_shared/header-CcnW83Vs.js.map +1 -0
  50. package/dist/_shared/hooks-DsDGr8xz.cjs +2 -0
  51. package/dist/_shared/hooks-DsDGr8xz.cjs.map +1 -0
  52. package/dist/_shared/hooks-IEM3N4VG.js +95 -0
  53. package/dist/_shared/hooks-IEM3N4VG.js.map +1 -0
  54. package/dist/_shared/layout.types-CYuDZ_4h.cjs +2 -0
  55. package/dist/_shared/layout.types-CYuDZ_4h.cjs.map +1 -0
  56. package/dist/_shared/layout.types-j7zZAPtg.js +28 -0
  57. package/dist/_shared/layout.types-j7zZAPtg.js.map +1 -0
  58. package/dist/_shared/mentions-CqwT7pUL.cjs +2 -0
  59. package/dist/_shared/mentions-CqwT7pUL.cjs.map +1 -0
  60. package/dist/_shared/mentions-RxzSRAWE.js +506 -0
  61. package/dist/_shared/mentions-RxzSRAWE.js.map +1 -0
  62. package/dist/_shared/navigation-B-TE-HR-.cjs +2 -0
  63. package/dist/_shared/navigation-B-TE-HR-.cjs.map +1 -0
  64. package/dist/_shared/navigation-Cg0UqMDP.js +424 -0
  65. package/dist/_shared/navigation-Cg0UqMDP.js.map +1 -0
  66. package/dist/_shared/page-Bl_eSGLh.js +262 -0
  67. package/dist/_shared/page-Bl_eSGLh.js.map +1 -0
  68. package/dist/_shared/page-DTEqSyEK.cjs +2 -0
  69. package/dist/_shared/page-DTEqSyEK.cjs.map +1 -0
  70. package/dist/_shared/resource-Bb7dj-aj.cjs +2 -0
  71. package/dist/_shared/resource-Bb7dj-aj.cjs.map +1 -0
  72. package/dist/_shared/resource-DljsYA7W.js +243 -0
  73. package/dist/_shared/resource-DljsYA7W.js.map +1 -0
  74. package/dist/_shared/settings-BtNkFHl3.cjs +2 -0
  75. package/dist/_shared/settings-BtNkFHl3.cjs.map +1 -0
  76. package/dist/_shared/settings-Do6SuM-H.js +143 -0
  77. package/dist/_shared/settings-Do6SuM-H.js.map +1 -0
  78. package/dist/_shared/sidebar-BhcdQ9e9.cjs +2 -0
  79. package/dist/_shared/sidebar-BhcdQ9e9.cjs.map +1 -0
  80. package/dist/_shared/sidebar-CMoxtuSw.js +538 -0
  81. package/dist/_shared/sidebar-CMoxtuSw.js.map +1 -0
  82. package/dist/_shared/table-BgpL5Yt8.cjs +2 -0
  83. package/dist/_shared/table-BgpL5Yt8.cjs.map +1 -0
  84. package/dist/_shared/table-Ct3nl0lV.js +1381 -0
  85. package/dist/_shared/table-Ct3nl0lV.js.map +1 -0
  86. package/dist/_shared/workspace-BzTFBkmd.cjs +2 -0
  87. package/dist/_shared/workspace-BzTFBkmd.cjs.map +1 -0
  88. package/dist/_shared/workspace-CvUYln5V.js +357 -0
  89. package/dist/_shared/workspace-CvUYln5V.js.map +1 -0
  90. package/dist/components/base/badge/badge.d.ts.map +1 -1
  91. package/dist/components/base/badge/index.cjs +1 -1
  92. package/dist/components/base/badge/index.js +1 -1
  93. package/dist/components/base/combobox/async-resource-combobox.d.ts +41 -0
  94. package/dist/components/base/combobox/async-resource-combobox.d.ts.map +1 -0
  95. package/dist/components/base/combobox/index.cjs +1 -1
  96. package/dist/components/base/combobox/index.d.ts +1 -0
  97. package/dist/components/base/combobox/index.d.ts.map +1 -1
  98. package/dist/components/base/combobox/index.js +2 -2
  99. package/dist/components/base/data-view/data-view.d.ts +6 -0
  100. package/dist/components/base/data-view/data-view.d.ts.map +1 -0
  101. package/dist/components/base/data-view/data-view.strings.d.ts +7 -0
  102. package/dist/components/base/data-view/data-view.strings.d.ts.map +1 -0
  103. package/dist/components/base/data-view/data-view.types.d.ts +57 -0
  104. package/dist/components/base/data-view/data-view.types.d.ts.map +1 -0
  105. package/dist/components/base/data-view/index.cjs +2 -0
  106. package/dist/components/base/data-view/index.cjs.map +1 -0
  107. package/dist/components/base/data-view/index.d.ts +4 -0
  108. package/dist/components/base/data-view/index.d.ts.map +1 -0
  109. package/dist/components/base/data-view/index.js +146 -0
  110. package/dist/components/base/data-view/index.js.map +1 -0
  111. package/dist/components/base/display/index.cjs +1 -1
  112. package/dist/components/base/display/index.js +5 -5
  113. package/dist/components/base/forms/index.cjs +1 -1
  114. package/dist/components/base/forms/index.d.ts +1 -0
  115. package/dist/components/base/forms/index.d.ts.map +1 -1
  116. package/dist/components/base/forms/index.js +5 -6
  117. package/dist/components/base/forms/workflow.d.ts +47 -0
  118. package/dist/components/base/forms/workflow.d.ts.map +1 -0
  119. package/dist/components/base/navigation/index.cjs +1 -1
  120. package/dist/components/base/navigation/index.js +1 -1
  121. package/dist/components/base/navigation/overflow-tab-bar.d.ts.map +1 -1
  122. package/dist/components/base/table/data-table.d.ts +1 -1
  123. package/dist/components/base/table/data-table.d.ts.map +1 -1
  124. package/dist/components/base/table/index.cjs +1 -1
  125. package/dist/components/base/table/index.d.ts +1 -1
  126. package/dist/components/base/table/index.d.ts.map +1 -1
  127. package/dist/components/base/table/index.js +2 -2
  128. package/dist/components/base/table/partials/cell-renderers.d.ts +69 -0
  129. package/dist/components/base/table/partials/cell-renderers.d.ts.map +1 -1
  130. package/dist/components/base/table/table.strings.d.ts.map +1 -1
  131. package/dist/components/base/table/table.types.d.ts +22 -1
  132. package/dist/components/base/table/table.types.d.ts.map +1 -1
  133. package/dist/components/composed/admin/action-surfaces/index.d.ts +118 -0
  134. package/dist/components/composed/admin/action-surfaces/index.d.ts.map +1 -0
  135. package/dist/components/composed/admin/index.cjs +1 -1
  136. package/dist/components/composed/admin/index.cjs.map +1 -1
  137. package/dist/components/composed/admin/index.d.ts +1 -0
  138. package/dist/components/composed/admin/index.d.ts.map +1 -1
  139. package/dist/components/composed/admin/index.js +392 -131
  140. package/dist/components/composed/admin/index.js.map +1 -1
  141. package/dist/components/composed/ai/index.cjs +1 -1
  142. package/dist/components/composed/ai/index.js +17 -17
  143. package/dist/components/composed/cards/index.cjs +1 -1
  144. package/dist/components/composed/cards/index.js +2 -2
  145. package/dist/components/composed/commerce/index.cjs +1 -1
  146. package/dist/components/composed/commerce/index.cjs.map +1 -1
  147. package/dist/components/composed/commerce/index.js +43 -44
  148. package/dist/components/composed/commerce/index.js.map +1 -1
  149. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  150. package/dist/components/composed/dark-surfaces/index.js +17 -17
  151. package/dist/components/composed/data-display/index.cjs +1 -1
  152. package/dist/components/composed/data-display/index.cjs.map +1 -1
  153. package/dist/components/composed/data-display/index.d.ts +1 -0
  154. package/dist/components/composed/data-display/index.d.ts.map +1 -1
  155. package/dist/components/composed/data-display/index.js +355 -285
  156. package/dist/components/composed/data-display/index.js.map +1 -1
  157. package/dist/components/composed/data-display/resource-selector-card.d.ts +43 -0
  158. package/dist/components/composed/data-display/resource-selector-card.d.ts.map +1 -0
  159. package/dist/components/composed/navigation/index.cjs +1 -1
  160. package/dist/components/composed/navigation/index.js +1 -1
  161. package/dist/components/composed/timelines/index.cjs +1 -1
  162. package/dist/components/composed/timelines/index.js +1 -1
  163. package/dist/components/features/activities/index.cjs +1 -1
  164. package/dist/components/features/activities/index.js +1 -1
  165. package/dist/components/features/ai-chat/index.cjs +1 -1
  166. package/dist/components/features/ai-chat/index.js +2 -2
  167. package/dist/components/features/comments/index.cjs +1 -1
  168. package/dist/components/features/comments/index.js +2 -2
  169. package/dist/components/features/event-log/index.cjs +1 -1
  170. package/dist/components/features/event-log/index.js +2 -2
  171. package/dist/components/features/filters/filter-query.d.ts +22 -0
  172. package/dist/components/features/filters/filter-query.d.ts.map +1 -0
  173. package/dist/components/features/filters/index.cjs +1 -1
  174. package/dist/components/features/filters/index.cjs.map +1 -1
  175. package/dist/components/features/filters/index.d.ts +1 -0
  176. package/dist/components/features/filters/index.d.ts.map +1 -1
  177. package/dist/components/features/filters/index.js +105 -22
  178. package/dist/components/features/filters/index.js.map +1 -1
  179. package/dist/components/features/global-search/index.cjs +1 -1
  180. package/dist/components/features/global-search/index.js +1 -1
  181. package/dist/components/features/media-library/index.cjs +1 -1
  182. package/dist/components/features/media-library/index.cjs.map +1 -1
  183. package/dist/components/features/media-library/index.js +36 -37
  184. package/dist/components/features/media-library/index.js.map +1 -1
  185. package/dist/components/features/mentions/index.cjs +1 -1
  186. package/dist/components/features/mentions/index.js +1 -1
  187. package/dist/components/features/products/index.cjs +1 -1
  188. package/dist/components/features/products/index.cjs.map +1 -1
  189. package/dist/components/features/products/index.js +4 -5
  190. package/dist/components/features/products/index.js.map +1 -1
  191. package/dist/components/features/schema-form/index.cjs +1 -1
  192. package/dist/components/features/schema-form/index.cjs.map +1 -1
  193. package/dist/components/features/schema-form/index.js +20 -20
  194. package/dist/components/features/suggestions/index.cjs +1 -1
  195. package/dist/components/features/suggestions/index.js +1 -1
  196. package/dist/components/layout/app-shell/index.cjs +1 -1
  197. package/dist/components/layout/app-shell/index.d.ts +1 -0
  198. package/dist/components/layout/app-shell/index.d.ts.map +1 -1
  199. package/dist/components/layout/app-shell/index.js +1 -1
  200. package/dist/components/layout/auth/index.cjs +1 -1
  201. package/dist/components/layout/auth/index.js +1 -1
  202. package/dist/components/layout/header/header.types.d.ts +40 -4
  203. package/dist/components/layout/header/header.types.d.ts.map +1 -1
  204. package/dist/components/layout/header/index.cjs +1 -1
  205. package/dist/components/layout/header/index.d.ts +5 -1
  206. package/dist/components/layout/header/index.d.ts.map +1 -1
  207. package/dist/components/layout/header/index.js +2 -2
  208. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +3 -0
  209. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts.map +1 -0
  210. package/dist/components/layout/header/partials/header-notifications.d.ts.map +1 -1
  211. package/dist/components/layout/header/partials/header-search.d.ts.map +1 -1
  212. package/dist/components/layout/header/partials/header-tool-button.d.ts +5 -0
  213. package/dist/components/layout/header/partials/header-tool-button.d.ts.map +1 -0
  214. package/dist/components/layout/header/partials/header-tool-popover.d.ts +3 -0
  215. package/dist/components/layout/header/partials/header-tool-popover.d.ts.map +1 -0
  216. package/dist/components/layout/header/partials/header-user-menu.d.ts.map +1 -1
  217. package/dist/components/layout/hooks/index.cjs +1 -1
  218. package/dist/components/layout/hooks/index.js +1 -1
  219. package/dist/components/layout/index.cjs +1 -1
  220. package/dist/components/layout/index.d.ts +2 -0
  221. package/dist/components/layout/index.d.ts.map +1 -1
  222. package/dist/components/layout/index.js +13 -10
  223. package/dist/components/layout/page/index.cjs +1 -1
  224. package/dist/components/layout/page/index.js +1 -1
  225. package/dist/components/layout/resource/index.cjs +1 -0
  226. package/dist/components/layout/resource/index.d.ts +3 -0
  227. package/dist/components/layout/resource/index.d.ts.map +1 -0
  228. package/dist/components/layout/resource/index.js +2 -0
  229. package/dist/components/layout/resource/resource.d.ts +13 -0
  230. package/dist/components/layout/resource/resource.d.ts.map +1 -0
  231. package/dist/components/layout/resource/resource.types.d.ts +86 -0
  232. package/dist/components/layout/resource/resource.types.d.ts.map +1 -0
  233. package/dist/components/layout/settings/index.cjs +1 -0
  234. package/dist/components/layout/settings/index.d.ts +2 -0
  235. package/dist/components/layout/settings/index.d.ts.map +1 -0
  236. package/dist/components/layout/settings/index.js +2 -0
  237. package/dist/components/layout/settings/settings.d.ts +47 -0
  238. package/dist/components/layout/settings/settings.d.ts.map +1 -0
  239. package/dist/components/layout/sidebar/index.cjs +1 -1
  240. package/dist/components/layout/sidebar/index.d.ts +1 -0
  241. package/dist/components/layout/sidebar/index.d.ts.map +1 -1
  242. package/dist/components/layout/sidebar/index.js +3 -3
  243. package/dist/components/layout/workspace/index.cjs +1 -1
  244. package/dist/components/layout/workspace/index.js +1 -1
  245. package/dist/services/actions/action-adapters.d.ts +102 -0
  246. package/dist/services/actions/action-adapters.d.ts.map +1 -0
  247. package/dist/services/actions/action-provider.d.ts +1 -1
  248. package/dist/services/actions/action-provider.d.ts.map +1 -1
  249. package/dist/services/actions/action-store.d.ts +13 -1
  250. package/dist/services/actions/action-store.d.ts.map +1 -1
  251. package/dist/services/actions/actions.types.d.ts +86 -0
  252. package/dist/services/actions/actions.types.d.ts.map +1 -1
  253. package/dist/services/actions/hooks.d.ts +2 -1
  254. package/dist/services/actions/hooks.d.ts.map +1 -1
  255. package/dist/services/actions/index.cjs +1 -1
  256. package/dist/services/actions/index.cjs.map +1 -1
  257. package/dist/services/actions/index.d.ts +4 -3
  258. package/dist/services/actions/index.d.ts.map +1 -1
  259. package/dist/services/actions/index.js +412 -112
  260. package/dist/services/actions/index.js.map +1 -1
  261. package/dist/showcase/assets/AreaChart-CPs34Emq.js +6 -0
  262. package/dist/showcase/assets/CompositeItem-CRBdF4lY.js +1 -0
  263. package/dist/showcase/assets/CompositeRoot-BJL04x4e.js +1 -0
  264. package/dist/showcase/assets/DialogTrigger-DLTfNVyT.js +1 -0
  265. package/dist/showcase/assets/LabelableContext-DqxJotB_.js +1 -0
  266. package/dist/showcase/assets/PreviewLayout-DQIZaXaO.js +1 -0
  267. package/dist/showcase/assets/RadioGroup-Bd_Zncc1.js +1 -0
  268. package/dist/showcase/assets/Separator-BP98bGSM.js +1 -0
  269. package/dist/showcase/assets/ToolbarRootContext-CHQj8-IW.js +1 -0
  270. package/dist/showcase/assets/accordion-C-grh_FX.js +171 -0
  271. package/dist/showcase/assets/accordion-variants-xiD_mqaf.js +1 -0
  272. package/dist/showcase/assets/action-menu-BkBav9jX.js +1 -0
  273. package/dist/showcase/assets/activities-DWhVEoyf.js +501 -0
  274. package/dist/showcase/assets/activities-feed-card-BW5nKGmZ.js +1 -0
  275. package/dist/showcase/assets/activity-poGMMgYW.js +1 -0
  276. package/dist/showcase/assets/admin-Dd5rNbt8.js +140 -0
  277. package/dist/showcase/assets/ai-B-HxItKA.js +41 -0
  278. package/dist/showcase/assets/ai-artifact-CakosBY2.js +2 -0
  279. package/dist/showcase/assets/ai-chat-DdxooReQ.js +568 -0
  280. package/dist/showcase/assets/ai-elements-D1Vv9_Tw.js +387 -0
  281. package/dist/showcase/assets/ai-new-nIwh-IOk.js +167 -0
  282. package/dist/showcase/assets/ai-tool-call-D_D0wP5v.js +1 -0
  283. package/dist/showcase/assets/alert-BUcCtIUZ.js +1 -0
  284. package/dist/showcase/assets/alert-Dia0s7JO.js +62 -0
  285. package/dist/showcase/assets/alert-T1jitthq.js +93 -0
  286. package/dist/showcase/assets/api-key-list-BH7hCegB.js +1 -0
  287. package/dist/showcase/assets/api-key-list-DGw5v3TM.js +73 -0
  288. package/dist/showcase/assets/app-sidebar-C9tjHr7T.js +1 -0
  289. package/dist/showcase/assets/arrow-down-B6kyPDb5.js +1 -0
  290. package/dist/showcase/assets/arrow-left-D0CtgCZo.js +1 -0
  291. package/dist/showcase/assets/arrow-right-KBaOzj0x.js +1 -0
  292. package/dist/showcase/assets/arrow-up-C4Mo45qq.js +1 -0
  293. package/dist/showcase/assets/arrow-up-right-DP1T-yaT.js +1 -0
  294. package/dist/showcase/assets/avatar-D7SDbnVK.js +57 -0
  295. package/dist/showcase/assets/avatar-Dk78XyHT.js +1 -0
  296. package/dist/showcase/assets/badge-BynPmAU-.js +28 -0
  297. package/dist/showcase/assets/badge-check-BLKxMna6.js +1 -0
  298. package/dist/showcase/assets/bell-YYeVQNAQ.js +1 -0
  299. package/dist/showcase/assets/bot-DW1y5yQ-.js +1 -0
  300. package/dist/showcase/assets/box-xRYm3qua.js +1 -0
  301. package/dist/showcase/assets/brain-D_5EG0Lz.js +1 -0
  302. package/dist/showcase/assets/brand-Dyp6oyOk.js +36 -0
  303. package/dist/showcase/assets/breadcrumb-DXvRsHCJ.js +52 -0
  304. package/dist/showcase/assets/breadcrumb-IsBRcWTe.js +1 -0
  305. package/dist/showcase/assets/breadcrumbs-BU7Rgcpu.js +1 -0
  306. package/dist/showcase/assets/briefcase-DNJAkTSQ.js +1 -0
  307. package/dist/showcase/assets/building-2-ew23uhTO.js +1 -0
  308. package/dist/showcase/assets/button-Vw1Oyu_k.js +44 -0
  309. package/dist/showcase/assets/button-group-B-jDeq6X.js +1 -0
  310. package/dist/showcase/assets/buttons-C51ePl4d.js +270 -0
  311. package/dist/showcase/assets/calendar-B5HmDXFy.js +16 -0
  312. package/dist/showcase/assets/calendar-BcfonDWf.js +1 -0
  313. package/dist/showcase/assets/calendar-C30zoOBE.js +1 -0
  314. package/dist/showcase/assets/calendar-days-RYOuU9Cg.js +1 -0
  315. package/dist/showcase/assets/camera-CyHnOpqm.js +1 -0
  316. package/dist/showcase/assets/card-Btuv-VxD.js +188 -0
  317. package/dist/showcase/assets/card-BvOjmZEl.js +1 -0
  318. package/dist/showcase/assets/card-primitives-FJQ8zNnk.js +1 -0
  319. package/dist/showcase/assets/card-radio-group-CEX1QGZc.js +1 -0
  320. package/dist/showcase/assets/cards-CL6XfZ22.js +328 -0
  321. package/dist/showcase/assets/carousel-D9G8bQhs.js +449 -0
  322. package/dist/showcase/assets/cell-renderers-CFw3ElYS.js +1 -0
  323. package/dist/showcase/assets/chart-CXAM6h1e.js +358 -0
  324. package/dist/showcase/assets/chart-column-BAuLvocu.js +1 -0
  325. package/dist/showcase/assets/checkbox-Bu3lf4gm.js +1 -0
  326. package/dist/showcase/assets/chevron-down-BbbFJsFU.js +1 -0
  327. package/dist/showcase/assets/chevron-left-CmperXCk.js +1 -0
  328. package/dist/showcase/assets/chevron-right-0nQcAzMY.js +1 -0
  329. package/dist/showcase/assets/chevron-up-BXSFzrxh.js +1 -0
  330. package/dist/showcase/assets/chevrons-up-down-lvrM2T-O.js +1 -0
  331. package/dist/showcase/assets/circle-DswWOvJq.js +1 -0
  332. package/dist/showcase/assets/circle-alert-DM8Q0Da0.js +1 -0
  333. package/dist/showcase/assets/circle-check-BYi8zv0a.js +1 -0
  334. package/dist/showcase/assets/circle-check-big-WtxiRvrB.js +1 -0
  335. package/dist/showcase/assets/circle-dot-MfYw-Dij.js +1 -0
  336. package/dist/showcase/assets/circle-question-mark-CbXDG7RP.js +1 -0
  337. package/dist/showcase/assets/circle-x-DeZby2HN.js +1 -0
  338. package/dist/showcase/assets/clock-3-BxradwSg.js +1 -0
  339. package/dist/showcase/assets/clock-BBX3LCxu.js +1 -0
  340. package/dist/showcase/assets/code-xml-ldsBhjwS.js +1 -0
  341. package/dist/showcase/assets/collapsible-COxB1q4f.js +1 -0
  342. package/dist/showcase/assets/collapsible-D8iHSi7O.js +27 -0
  343. package/dist/showcase/assets/combobox-gNdpv0PU.js +726 -0
  344. package/dist/showcase/assets/command-BNVn6pYm.js +1 -0
  345. package/dist/showcase/assets/command-Bwp2eLDF.js +1 -0
  346. package/dist/showcase/assets/comment-composer-eU5HG1ZD.js +1 -0
  347. package/dist/showcase/assets/comment-item-AKJEHLvt.js +1 -0
  348. package/dist/showcase/assets/comments-hcLJicNU.js +357 -0
  349. package/dist/showcase/assets/commerce-C_RgOVxU.js +79 -0
  350. package/dist/showcase/assets/commerce-extras-CVVnDyB5.js +189 -0
  351. package/dist/showcase/assets/composite-BW91WkOo.js +1 -0
  352. package/dist/showcase/assets/contact-card-CE82BDxj.js +65 -0
  353. package/dist/showcase/assets/content-container-Cc8Vv5Wp.js +1 -0
  354. package/dist/showcase/assets/copyable-CD9f6sxk.js +96 -0
  355. package/dist/showcase/assets/copyable-DRvJ9iOu.js +1 -0
  356. package/dist/showcase/assets/course-card-DYzULN2A.js +77 -0
  357. package/dist/showcase/assets/cpu-Cc__BewW.js +1 -0
  358. package/dist/showcase/assets/credit-card-CoIW8_5L.js +1 -0
  359. package/dist/showcase/assets/currency-DEKUvlFU.js +149 -0
  360. package/dist/showcase/assets/dark-surfaces-D5WXaLLj.js +90 -0
  361. package/dist/showcase/assets/database-C8o4g1ov.js +1 -0
  362. package/dist/showcase/assets/date-block-Aw2riL52.js +1 -0
  363. package/dist/showcase/assets/date-picker-BrBCLxZ8.js +1 -0
  364. package/dist/showcase/assets/date-pickers-B84_YAGT.js +73 -0
  365. package/dist/showcase/assets/dense-info-BaI61NnP.js +106 -0
  366. package/dist/showcase/assets/dialog-CfKGB1qy.js +1 -0
  367. package/dist/showcase/assets/dialog-DpfYwJPk.js +1 -0
  368. package/dist/showcase/assets/display-ZDXpxNSP.js +403 -0
  369. package/dist/showcase/assets/dist-DRkwLUFP.js +45 -0
  370. package/dist/showcase/assets/dollar-sign-BTuul0J-.js +1 -0
  371. package/dist/showcase/assets/download-Nn6XkM9l.js +1 -0
  372. package/dist/showcase/assets/dropdown-menu-CrcweCup.js +1 -0
  373. package/dist/showcase/assets/dropzone-MajEhAfA.js +1 -0
  374. package/dist/showcase/assets/earth-Cv_-EtPW.js +1 -0
  375. package/dist/showcase/assets/ellipsis-D0y6rUzm.js +1 -0
  376. package/dist/showcase/assets/ellipsis-vertical-B6ICYsU2.js +1 -0
  377. package/dist/showcase/assets/empty-CWtvDL2Z.js +1 -0
  378. package/dist/showcase/assets/empty-item-CBdSL5K4.js +49 -0
  379. package/dist/showcase/assets/empty-state-DpAXXKE_.js +1 -0
  380. package/dist/showcase/assets/empty-state-x7W66Jff.js +188 -0
  381. package/dist/showcase/assets/enhanced-activities-BgQBDjph.js +361 -0
  382. package/dist/showcase/assets/enhanced-combobox-BT-d7sfw.js +1 -0
  383. package/dist/showcase/assets/event-calendar-Bl3N30L5.js +138 -0
  384. package/dist/showcase/assets/event-log-BI24HOvx.js +330 -0
  385. package/dist/showcase/assets/example-CbMg22fx.js +1 -0
  386. package/dist/showcase/assets/external-link-C4QW5KPr.js +1 -0
  387. package/dist/showcase/assets/eye-rvb4fYw0.js +1 -0
  388. package/dist/showcase/assets/feature-announcement-CChQvOnH.js +34 -0
  389. package/dist/showcase/assets/file-GOMuLez7.js +1 -0
  390. package/dist/showcase/assets/file-text-B21ZcL9w.js +1 -0
  391. package/dist/showcase/assets/filters-Crp5EI1q.js +139 -0
  392. package/dist/showcase/assets/flag-D1iXMqPC.js +1 -0
  393. package/dist/showcase/assets/folder-open-CjZE_PS8.js +1 -0
  394. package/dist/showcase/assets/form-field-Dtn_NArM.js +1 -0
  395. package/dist/showcase/assets/format-Cu09wP-k.js +1 -0
  396. package/dist/showcase/assets/forms-noSArwvn.js +911 -0
  397. package/dist/showcase/assets/frame-2DJdBXkw.js +167 -0
  398. package/dist/showcase/assets/getPseudoElementBounds-DxlN6Yut.js +1 -0
  399. package/dist/showcase/assets/gift-DBIsZsVg.js +1 -0
  400. package/dist/showcase/assets/giftcard-cards-B3ffDDjK.js +85 -0
  401. package/dist/showcase/assets/git-branch-6eIv9W2g.js +1 -0
  402. package/dist/showcase/assets/global-search-BelZn8mj.js +215 -0
  403. package/dist/showcase/assets/global-search-DSMNBBiZ.js +1 -0
  404. package/dist/showcase/assets/globe-B_Lqx3uz.js +1 -0
  405. package/dist/showcase/assets/gradient-card-D_2eaE6O.js +58 -0
  406. package/dist/showcase/assets/hash-BC0RnYwr.js +1 -0
  407. package/dist/showcase/assets/header-CMjgUhtM.js +1 -0
  408. package/dist/showcase/assets/header-notifications-fOFoqfCR.js +1 -0
  409. package/dist/showcase/assets/heart-BM6yPMXn.js +1 -0
  410. package/dist/showcase/assets/house-CnsMNKdQ.js +1 -0
  411. package/dist/showcase/assets/icon-badge-IP9B3lQm.js +1 -0
  412. package/dist/showcase/assets/image-B5jt_w43.js +1 -0
  413. package/dist/showcase/assets/inbox-BcbV9uGN.js +1 -0
  414. package/dist/showcase/assets/index-Bn8k0P7-.css +2 -0
  415. package/dist/showcase/assets/index-DNH0y0r-.js +10 -0
  416. package/dist/showcase/assets/inertValue-B82SGILi.js +1 -0
  417. package/dist/showcase/assets/info-DO5VmDSw.js +1 -0
  418. package/dist/showcase/assets/inline-stat-B2s_ozrX.js +1 -0
  419. package/dist/showcase/assets/input-BCxdburb.js +1 -0
  420. package/dist/showcase/assets/input-DcQuALxy.js +1 -0
  421. package/dist/showcase/assets/input-group-DZJrOGbm.js +1 -0
  422. package/dist/showcase/assets/input-group-PwfoPR94.js +47 -0
  423. package/dist/showcase/assets/inputs-DetnUcEp.js +155 -0
  424. package/dist/showcase/assets/invoice-header-BMWL_9sW.js +36 -0
  425. package/dist/showcase/assets/invoice-items-DLEQR54f.js +36 -0
  426. package/dist/showcase/assets/invoice-mini-BxO8W_p2.js +14 -0
  427. package/dist/showcase/assets/invoice-table-ClMTdfvZ.js +30 -0
  428. package/dist/showcase/assets/isSameDay-B9x5Mpln.js +1 -0
  429. package/dist/showcase/assets/isToday-CT4NGB5x.js +1 -0
  430. package/dist/showcase/assets/italic-BiQv-7DA.js +1 -0
  431. package/dist/showcase/assets/item-CdgzxWcL.js +1 -0
  432. package/dist/showcase/assets/item-JreKWzkR.js +134 -0
  433. package/dist/showcase/assets/item-a8FCQMvC.js +1 -0
  434. package/dist/showcase/assets/kanban-CekpGtlO.js +186 -0
  435. package/dist/showcase/assets/key-round-CpIUGlhG.js +1 -0
  436. package/dist/showcase/assets/label-BE1d_Rxi.js +1 -0
  437. package/dist/showcase/assets/languages-DaFWrOam.js +1 -0
  438. package/dist/showcase/assets/layers-DDIuTz4-.js +1 -0
  439. package/dist/showcase/assets/layout-app-shell-BkqOwNe9.js +608 -0
  440. package/dist/showcase/assets/layout-auth-Bng_0NM0.js +754 -0
  441. package/dist/showcase/assets/layout-containers-Bk_jSDWd.js +101 -0
  442. package/dist/showcase/assets/layout-header-CuJVU1Rx.js +203 -0
  443. package/dist/showcase/assets/layout-page-DHOPox5Z.js +278 -0
  444. package/dist/showcase/assets/layout-primitives-BnIgANs6.js +34 -0
  445. package/dist/showcase/assets/layout-sidebar-BUOjQm9-.js +224 -0
  446. package/dist/showcase/assets/layout-users-DFlJQAuB.js +117 -0
  447. package/dist/showcase/assets/layout-workspace-Cq63UWwT.js +183 -0
  448. package/dist/showcase/assets/lock-DTD3z5Vh.js +1 -0
  449. package/dist/showcase/assets/lock-keyhole-Bbs1Ry2S.js +1 -0
  450. package/dist/showcase/assets/mail-DAa8myka.js +1 -0
  451. package/dist/showcase/assets/mail-check-DrmYfqQb.js +1 -0
  452. package/dist/showcase/assets/map-DfYPJKDx.js +124 -0
  453. package/dist/showcase/assets/map-pin-Cf_uffQY.js +1 -0
  454. package/dist/showcase/assets/media-library-Duyf6M0c.js +695 -0
  455. package/dist/showcase/assets/mention-inline-suggestions-tOlG56Jr.js +1 -0
  456. package/dist/showcase/assets/mentions-LbZlN995.js +138 -0
  457. package/dist/showcase/assets/menus-Cs95R125.js +165 -0
  458. package/dist/showcase/assets/message-square-CjaeUwPc.js +1 -0
  459. package/dist/showcase/assets/metadata-list-Bcy5s1_q.js +1 -0
  460. package/dist/showcase/assets/metadata-list-C9L63gMM2.js +288 -0
  461. package/dist/showcase/assets/metric-D8bF87C1.js +1 -0
  462. package/dist/showcase/assets/metric-bar-DQF1jEsY.js +1 -0
  463. package/dist/showcase/assets/metric-grid-DJZjbFrm.js +1 -0
  464. package/dist/showcase/assets/metric-trend-chip-C9YeKxwe.js +1 -0
  465. package/dist/showcase/assets/metrics-analytics-bar-CfGjnKEG.js +44 -0
  466. package/dist/showcase/assets/metrics-analytics-cards-C4R2q2ia.js +50 -0
  467. package/dist/showcase/assets/metrics-comparison-B2FZ-rUG.js +76 -0
  468. package/dist/showcase/assets/metrics-heatmap-BS4EafAM.js +27 -0
  469. package/dist/showcase/assets/metrics-inline-badge-CyWA0Plw.js +17 -0
  470. package/dist/showcase/assets/metrics-kpi-row-CH_KTuo2.js +31 -0
  471. package/dist/showcase/assets/metrics-micro-grid-Dw1rbkBU.js +42 -0
  472. package/dist/showcase/assets/metrics-overview-BuLSn0GC.js +192 -0
  473. package/dist/showcase/assets/metrics-stat-cards-Zo4F0-y4.js +54 -0
  474. package/dist/showcase/assets/minus-COUx_vHQ.js +1 -0
  475. package/dist/showcase/assets/money-display-prumQLQ2.js +1 -0
  476. package/dist/showcase/assets/month-year-picker-BDTiuGOD.js +1 -0
  477. package/dist/showcase/assets/navigation-Bf_sgFei.js +90 -0
  478. package/dist/showcase/assets/navigation-Dnqq0un0.js +230 -0
  479. package/dist/showcase/assets/navigation-extras-ydwfzYfj.js +43 -0
  480. package/dist/showcase/assets/onboarding-checklist-DBLaUqhZ.js +119 -0
  481. package/dist/showcase/assets/overflow-tab-bar-UXs-T5Fq.js +1 -0
  482. package/dist/showcase/assets/overlays-C1ET_VvE.js +408 -0
  483. package/dist/showcase/assets/overlays-dMd0EOT1.js +159 -0
  484. package/dist/showcase/assets/package-C9EnWNEP.js +1 -0
  485. package/dist/showcase/assets/package-check-BGT72daQ.js +1 -0
  486. package/dist/showcase/assets/page-action-button-8faHdFOD.js +1 -0
  487. package/dist/showcase/assets/page-header-DoZnb9z9.js +1 -0
  488. package/dist/showcase/assets/pagination-BJ3wQQtL.js +42 -0
  489. package/dist/showcase/assets/pagination-DJnga08n.js +1 -0
  490. package/dist/showcase/assets/paperclip-DsQ_IPLp.js +1 -0
  491. package/dist/showcase/assets/password-input-CLxvZdDC.js +1 -0
  492. package/dist/showcase/assets/pencil-37DzPmX5.js +1 -0
  493. package/dist/showcase/assets/phone-CLDh9lYU.js +1 -0
  494. package/dist/showcase/assets/plus-PKSdX45c.js +1 -0
  495. package/dist/showcase/assets/popover-BWbBoxN0.js +1 -0
  496. package/dist/showcase/assets/popover-DoEhmJ7G.js +1 -0
  497. package/dist/showcase/assets/popover-menu-wt8kWbr1.js +1 -0
  498. package/dist/showcase/assets/products-Bvl2zRfb.js +407 -0
  499. package/dist/showcase/assets/progress-BeusdG_D.js +18 -0
  500. package/dist/showcase/assets/progress-CQr08MPz.js +1 -0
  501. package/dist/showcase/assets/props-table-DSdjPLVr.js +1 -0
  502. package/dist/showcase/assets/props.generated-AlskAQY9.json +41579 -0
  503. package/dist/showcase/assets/quote-D1DrZRcn.js +1 -0
  504. package/dist/showcase/assets/receipt-CxNJvyC5.js +1 -0
  505. package/dist/showcase/assets/receipt-text-2YwFjXVP.js +1 -0
  506. package/dist/showcase/assets/refresh-cw-DlkWEAjG.js +1 -0
  507. package/dist/showcase/assets/resolveValueLabel-Ctt-9xwK.js +1 -0
  508. package/dist/showcase/assets/resource-selector-card-C9zM67wN.js +39 -0
  509. package/dist/showcase/assets/rich-text-editor-DUWBkEdn.js +124 -0
  510. package/dist/showcase/assets/rich-text-editor-DjsgN-HX.js +143 -0
  511. package/dist/showcase/assets/rotate-ccw-ZkWMrEMJ.js +1 -0
  512. package/dist/showcase/assets/save-CQjTFBwm.js +1 -0
  513. package/dist/showcase/assets/schema-form-yfcV7ZHE.js +325 -0
  514. package/dist/showcase/assets/scroll-area-D73Zq5No.js +32 -0
  515. package/dist/showcase/assets/scroll-area-Toa6lE_G.js +1 -0
  516. package/dist/showcase/assets/select-BQWY3ndy.js +1 -0
  517. package/dist/showcase/assets/select-x02n3iNp.js +1 -0
  518. package/dist/showcase/assets/send-L-LNhDVx.js +1 -0
  519. package/dist/showcase/assets/separator-B57lhXSg.js +28 -0
  520. package/dist/showcase/assets/separator-kwh2KDqD.js +1 -0
  521. package/dist/showcase/assets/settings-Mbnp6hDe.js +1 -0
  522. package/dist/showcase/assets/sheet-DwYghriA.js +1 -0
  523. package/dist/showcase/assets/shield-D084AWSl.js +1 -0
  524. package/dist/showcase/assets/shield-alert-h6F2vnr-.js +1 -0
  525. package/dist/showcase/assets/shield-check-UiN6QwPl.js +1 -0
  526. package/dist/showcase/assets/shopping-bag-oxYbVKoz.js +1 -0
  527. package/dist/showcase/assets/sidebar-BWDrvFY1.js +1 -0
  528. package/dist/showcase/assets/sidebar.context-BhexAjPM.js +1 -0
  529. package/dist/showcase/assets/skeleton-BIS2X39p.js +29 -0
  530. package/dist/showcase/assets/skeleton-uyUucxJA.js +1 -0
  531. package/dist/showcase/assets/slider-DL--Jsf0.js +1 -0
  532. package/dist/showcase/assets/sliders-horizontal-C6SHwI9f.js +1 -0
  533. package/dist/showcase/assets/smart-card-DpvRHqI9.js +1 -0
  534. package/dist/showcase/assets/sonner-CvCutMP9.js +22 -0
  535. package/dist/showcase/assets/sortable.esm-COtQXiwU.js +5 -0
  536. package/dist/showcase/assets/sparkles-bMR7rbuC.js +1 -0
  537. package/dist/showcase/assets/spinner-CBXhPGyW.js +30 -0
  538. package/dist/showcase/assets/spinner-Dl2u80sI.js +49 -0
  539. package/dist/showcase/assets/spinner-ULnFdoGj.js +1 -0
  540. package/dist/showcase/assets/square-pen-3jbmTAqh.js +1 -0
  541. package/dist/showcase/assets/stacked-avatars-XKXaLCmk.js +1 -0
  542. package/dist/showcase/assets/star-0BUJBDj_.js +1 -0
  543. package/dist/showcase/assets/startOfDay-C8cGxdjJ.js +1 -0
  544. package/dist/showcase/assets/styles-Cl6qvIKS.js +1 -0
  545. package/dist/showcase/assets/suggestions-EB3TFZpP.js +126 -0
  546. package/dist/showcase/assets/switch-BbZ7_Rk-.js +1 -0
  547. package/dist/showcase/assets/switch-C0QtKm5H.js +1 -0
  548. package/dist/showcase/assets/sync-BAO20Naa.js +107 -0
  549. package/dist/showcase/assets/table-CnCYxSnD.js +509 -0
  550. package/dist/showcase/assets/table-DF7x4TGI.js +1 -0
  551. package/dist/showcase/assets/table-actions-CjaUIKQl.js +1 -0
  552. package/dist/showcase/assets/tabs-D3YHyrQ5.js +1 -0
  553. package/dist/showcase/assets/tabs-vUgN5IPn.js +19 -0
  554. package/dist/showcase/assets/tags-input-jtEAac1b.js +1 -0
  555. package/dist/showcase/assets/text-button-fiMDoWms.js +1 -0
  556. package/dist/showcase/assets/text-link-CSzy09hn.js +1 -0
  557. package/dist/showcase/assets/textarea-DnvQVkFU.js +1 -0
  558. package/dist/showcase/assets/textarea-mATRsiLJ.js +1 -0
  559. package/dist/showcase/assets/timelines-fQQIiGc4.js +200 -0
  560. package/dist/showcase/assets/toggle-group-B0hN7VRz.js +1 -0
  561. package/dist/showcase/assets/toggles-group-CXm2HDJ1.js +32 -0
  562. package/dist/showcase/assets/toggles-kwgQf4hQ.js +71 -0
  563. package/dist/showcase/assets/trash-2-xwHdvAn6.js +1 -0
  564. package/dist/showcase/assets/trending-up-CKnZUURN.js +1 -0
  565. package/dist/showcase/assets/truck-8P8-8rHh.js +1 -0
  566. package/dist/showcase/assets/typography-BP3SCf0c.js +223 -0
  567. package/dist/showcase/assets/ui-badge-eTC8uxVw.js +28 -0
  568. package/dist/showcase/assets/ui-card-AQkRKit0.js +30 -0
  569. package/dist/showcase/assets/ui-table-BTE7t50V.js +42 -0
  570. package/dist/showcase/assets/upload-tray-DpW8ZnxN.js +138 -0
  571. package/dist/showcase/assets/use-layout-link-DR4Apqbc.js +1 -0
  572. package/dist/showcase/assets/useAnchoredPopupScrollLock-CT1urU5D.js +1 -0
  573. package/dist/showcase/assets/useAriaLabelledBy-DiHf8Ou_.js +1 -0
  574. package/dist/showcase/assets/useCollapsiblePanel-NNLPWtyS.js +1 -0
  575. package/dist/showcase/assets/useCompositeItem-BE0Lg9Iz.js +1 -0
  576. package/dist/showcase/assets/useCompositeListItem-OwLLy0R3.js +1 -0
  577. package/dist/showcase/assets/useLabelableId-Y-6YW07q.js +1 -0
  578. package/dist/showcase/assets/useOpenInteractionType-CUTVNS1V.js +1 -0
  579. package/dist/showcase/assets/useRender-BiaVVD8L.js +1 -0
  580. package/dist/showcase/assets/useTriggerFocusGuards-DCMcmSgH.js +1 -0
  581. package/dist/showcase/assets/useValueChanged-kq4oH4So.js +1 -0
  582. package/dist/showcase/assets/user-BCzeUL5p.js +1 -0
  583. package/dist/showcase/assets/user-plus-CUbfQtkK.js +1 -0
  584. package/dist/showcase/assets/users-DOGJZmUN.js +1 -0
  585. package/dist/showcase/assets/vendor-profile-C7dXfVv_.js +37 -0
  586. package/dist/showcase/assets/video-DbaCGki8.js +1 -0
  587. package/dist/showcase/assets/wrench-TbDfItHQ.js +1 -0
  588. package/dist/showcase/assets/x-BpAEmld2.js +1 -0
  589. package/dist/showcase/assets/zap-E8G3kjwh.js +1 -0
  590. package/dist/showcase/index.html +2 -2
  591. package/dist/style.css +1 -1
  592. package/package.json +16 -1
  593. package/dist/_shared/ai-artifact-D4EjKoq6.cjs +0 -3
  594. package/dist/_shared/ai-artifact-D4EjKoq6.cjs.map +0 -1
  595. package/dist/_shared/ai-artifact-nlOrSeqT.js +0 -1099
  596. package/dist/_shared/ai-artifact-nlOrSeqT.js.map +0 -1
  597. package/dist/_shared/auth-C5HawWvp.cjs +0 -2
  598. package/dist/_shared/auth-C5HawWvp.cjs.map +0 -1
  599. package/dist/_shared/auth-DnMEJXP9.js +0 -643
  600. package/dist/_shared/auth-DnMEJXP9.js.map +0 -1
  601. package/dist/_shared/badge-6WYAMJwA.js +0 -108
  602. package/dist/_shared/badge-6WYAMJwA.js.map +0 -1
  603. package/dist/_shared/badge-CBof1rbF.cjs +0 -2
  604. package/dist/_shared/badge-CBof1rbF.cjs.map +0 -1
  605. package/dist/_shared/combobox-B4KmDZK0.cjs +0 -2
  606. package/dist/_shared/combobox-B4KmDZK0.cjs.map +0 -1
  607. package/dist/_shared/combobox-YUGi3xSc.js +0 -810
  608. package/dist/_shared/combobox-YUGi3xSc.js.map +0 -1
  609. package/dist/_shared/comments-GzXdwpq4.js +0 -952
  610. package/dist/_shared/comments-GzXdwpq4.js.map +0 -1
  611. package/dist/_shared/comments-Zj_foV1V.cjs +0 -2
  612. package/dist/_shared/comments-Zj_foV1V.cjs.map +0 -1
  613. package/dist/_shared/display-Dhy5ogxC.cjs +0 -2
  614. package/dist/_shared/display-Dhy5ogxC.cjs.map +0 -1
  615. package/dist/_shared/display-NBtWdAMl.js +0 -1154
  616. package/dist/_shared/display-NBtWdAMl.js.map +0 -1
  617. package/dist/_shared/form-field-B7taMVbC.js +0 -329
  618. package/dist/_shared/form-field-B7taMVbC.js.map +0 -1
  619. package/dist/_shared/form-field-rMGPvHFK.cjs +0 -2
  620. package/dist/_shared/form-field-rMGPvHFK.cjs.map +0 -1
  621. package/dist/_shared/forms-BweX9Lm8.cjs +0 -2
  622. package/dist/_shared/forms-BweX9Lm8.cjs.map +0 -1
  623. package/dist/_shared/forms-L1hyNKpZ.js +0 -3430
  624. package/dist/_shared/forms-L1hyNKpZ.js.map +0 -1
  625. package/dist/_shared/header-BSBPtGn4.cjs +0 -2
  626. package/dist/_shared/header-BSBPtGn4.cjs.map +0 -1
  627. package/dist/_shared/header-No6GSp4R.js +0 -360
  628. package/dist/_shared/header-No6GSp4R.js.map +0 -1
  629. package/dist/_shared/hooks-BkXvZ4py.js +0 -118
  630. package/dist/_shared/hooks-BkXvZ4py.js.map +0 -1
  631. package/dist/_shared/hooks-D3SbLBRk.cjs +0 -2
  632. package/dist/_shared/hooks-D3SbLBRk.cjs.map +0 -1
  633. package/dist/_shared/mentions-CA1Ka_Bv.cjs +0 -2
  634. package/dist/_shared/mentions-CA1Ka_Bv.cjs.map +0 -1
  635. package/dist/_shared/mentions-CdvvLGQG.js +0 -506
  636. package/dist/_shared/mentions-CdvvLGQG.js.map +0 -1
  637. package/dist/_shared/navigation-BemwPPC8.cjs +0 -2
  638. package/dist/_shared/navigation-BemwPPC8.cjs.map +0 -1
  639. package/dist/_shared/navigation-DY540HB0.js +0 -419
  640. package/dist/_shared/navigation-DY540HB0.js.map +0 -1
  641. package/dist/_shared/page-Cg_gNpyK.js +0 -262
  642. package/dist/_shared/page-Cg_gNpyK.js.map +0 -1
  643. package/dist/_shared/page-CpFWQuWU.cjs +0 -2
  644. package/dist/_shared/page-CpFWQuWU.cjs.map +0 -1
  645. package/dist/_shared/sidebar-BTFfxmNG.cjs +0 -2
  646. package/dist/_shared/sidebar-BTFfxmNG.cjs.map +0 -1
  647. package/dist/_shared/sidebar-wmztVpnO.js +0 -538
  648. package/dist/_shared/sidebar-wmztVpnO.js.map +0 -1
  649. package/dist/_shared/switch-BBP3u1z5.js +0 -55
  650. package/dist/_shared/switch-BBP3u1z5.js.map +0 -1
  651. package/dist/_shared/switch-zFZhhOEP.cjs +0 -2
  652. package/dist/_shared/switch-zFZhhOEP.cjs.map +0 -1
  653. package/dist/_shared/table-BItnJ8lG.cjs +0 -2
  654. package/dist/_shared/table-BItnJ8lG.cjs.map +0 -1
  655. package/dist/_shared/table-D3349b-v.js +0 -1189
  656. package/dist/_shared/table-D3349b-v.js.map +0 -1
  657. package/dist/_shared/workspace-BGVeTeJy.js +0 -357
  658. package/dist/_shared/workspace-BGVeTeJy.js.map +0 -1
  659. package/dist/_shared/workspace-CWyzTUmE.cjs +0 -2
  660. package/dist/_shared/workspace-CWyzTUmE.cjs.map +0 -1
  661. package/dist/showcase/assets/AreaChart-BYEewdc_.js +0 -6
  662. package/dist/showcase/assets/CompositeItem-Duekeg4m.js +0 -1
  663. package/dist/showcase/assets/CompositeRoot-BgNU3T7R.js +0 -1
  664. package/dist/showcase/assets/DialogTrigger-9xWmoeF5.js +0 -1
  665. package/dist/showcase/assets/LabelableContext-B3W_70Qk.js +0 -1
  666. package/dist/showcase/assets/PreviewLayout-nADJqRlP.js +0 -1
  667. package/dist/showcase/assets/RadioGroup-Bp1VCzxr.js +0 -1
  668. package/dist/showcase/assets/Separator-9PWX3shz.js +0 -1
  669. package/dist/showcase/assets/ToolbarRootContext-DwELw9xS.js +0 -1
  670. package/dist/showcase/assets/accordion-CfqHO9_z.js +0 -171
  671. package/dist/showcase/assets/accordion-variants-pkPHxkLW.js +0 -1
  672. package/dist/showcase/assets/action-menu-DFzSuDjI.js +0 -1
  673. package/dist/showcase/assets/activities-Bo97b2-I.js +0 -501
  674. package/dist/showcase/assets/activities-feed-card-D77gf27B.js +0 -1
  675. package/dist/showcase/assets/activity-BUlCWLI8.js +0 -1
  676. package/dist/showcase/assets/admin-CxTV4kZX.js +0 -80
  677. package/dist/showcase/assets/ai-Bym5H8bn.js +0 -41
  678. package/dist/showcase/assets/ai-artifact-DZVl1WmK.js +0 -2
  679. package/dist/showcase/assets/ai-chat-M3X5-PgT.js +0 -568
  680. package/dist/showcase/assets/ai-elements-DjppcMBD.js +0 -387
  681. package/dist/showcase/assets/ai-new-CXnrIi5S.js +0 -167
  682. package/dist/showcase/assets/ai-tool-call-DyMI8DqD.js +0 -1
  683. package/dist/showcase/assets/alert-D6Pygy2s.js +0 -62
  684. package/dist/showcase/assets/alert-DCrWLbEx.js +0 -93
  685. package/dist/showcase/assets/alert-qTNM0vld.js +0 -1
  686. package/dist/showcase/assets/api-key-list-CCpuHYHc.js +0 -73
  687. package/dist/showcase/assets/app-sidebar-CxTRNC5L.js +0 -1
  688. package/dist/showcase/assets/arrow-down--phuskCV.js +0 -1
  689. package/dist/showcase/assets/arrow-left-B__WWqyA.js +0 -1
  690. package/dist/showcase/assets/arrow-right-1-EvXxjB.js +0 -1
  691. package/dist/showcase/assets/arrow-up-lWotnmo7.js +0 -1
  692. package/dist/showcase/assets/arrow-up-right-IyQ3oeq0.js +0 -1
  693. package/dist/showcase/assets/avatar-gugtNx4D.js +0 -57
  694. package/dist/showcase/assets/avatar-n1nywTlx.js +0 -1
  695. package/dist/showcase/assets/badge-TuE-u3Hv.js +0 -28
  696. package/dist/showcase/assets/badge-check-CPDvpVzK.js +0 -1
  697. package/dist/showcase/assets/bell-DeCVddCA.js +0 -1
  698. package/dist/showcase/assets/bot-B_vzJEJH.js +0 -1
  699. package/dist/showcase/assets/box-z4O8t_K5.js +0 -1
  700. package/dist/showcase/assets/brain-DdKBE4Bh.js +0 -1
  701. package/dist/showcase/assets/brand-CfW7mgTY.js +0 -36
  702. package/dist/showcase/assets/breadcrumb-B4TBbKv3.js +0 -52
  703. package/dist/showcase/assets/breadcrumb-bF_sFVBL.js +0 -1
  704. package/dist/showcase/assets/breadcrumbs-CBv3EaMX.js +0 -1
  705. package/dist/showcase/assets/briefcase-ClqzeNt3.js +0 -1
  706. package/dist/showcase/assets/building-2-BQuWgjZj.js +0 -1
  707. package/dist/showcase/assets/button-CWKNCI82.js +0 -44
  708. package/dist/showcase/assets/button-group-BYhxtFwV.js +0 -1
  709. package/dist/showcase/assets/buttons-mBRyBw3Q.js +0 -270
  710. package/dist/showcase/assets/calendar-BgloJjlW.js +0 -1
  711. package/dist/showcase/assets/calendar-CJDWspzi.js +0 -1
  712. package/dist/showcase/assets/calendar-CgML2kJt.js +0 -16
  713. package/dist/showcase/assets/calendar-days-C0gTLVnY.js +0 -1
  714. package/dist/showcase/assets/camera-nIlaz4Sn.js +0 -1
  715. package/dist/showcase/assets/card-1ncRnRvq.js +0 -1
  716. package/dist/showcase/assets/card-CcgWzFB-.js +0 -188
  717. package/dist/showcase/assets/card-primitives-By4-RTuP.js +0 -1
  718. package/dist/showcase/assets/card-radio-group-DeX3qsRg.js +0 -1
  719. package/dist/showcase/assets/cards-DdqQr8rY.js +0 -328
  720. package/dist/showcase/assets/carousel-CV8ltDl8.js +0 -449
  721. package/dist/showcase/assets/chart-BNzHjskC.js +0 -358
  722. package/dist/showcase/assets/chart-column-CpTxRLEH.js +0 -1
  723. package/dist/showcase/assets/checkbox-CZTTm4Dv.js +0 -1
  724. package/dist/showcase/assets/chevron-down-LWBNHe9S.js +0 -1
  725. package/dist/showcase/assets/chevron-left-BsshO7nf.js +0 -1
  726. package/dist/showcase/assets/chevron-right-t68um2_G.js +0 -1
  727. package/dist/showcase/assets/chevron-up-DjhlESJB.js +0 -1
  728. package/dist/showcase/assets/chevrons-up-down-ZUo0Do59.js +0 -1
  729. package/dist/showcase/assets/circle-BL52dLr9.js +0 -1
  730. package/dist/showcase/assets/circle-alert-CXCt6zxc.js +0 -1
  731. package/dist/showcase/assets/circle-check-CbiRRw7s.js +0 -1
  732. package/dist/showcase/assets/circle-check-big-BSgn7lyt.js +0 -1
  733. package/dist/showcase/assets/circle-dot-WEOpGGJf.js +0 -1
  734. package/dist/showcase/assets/circle-question-mark-C9hLlsD7.js +0 -1
  735. package/dist/showcase/assets/circle-x-BT9TJbJC.js +0 -1
  736. package/dist/showcase/assets/clock-3-CfRK8ckc.js +0 -1
  737. package/dist/showcase/assets/clock-D-3zf0c1.js +0 -1
  738. package/dist/showcase/assets/code-xml-CQYKKuBU.js +0 -1
  739. package/dist/showcase/assets/collapsible-BC0hQvat.js +0 -27
  740. package/dist/showcase/assets/collapsible-CRVtVDCF.js +0 -1
  741. package/dist/showcase/assets/combobox-D4VYvYCT.js +0 -696
  742. package/dist/showcase/assets/command-CxeHT4lL.js +0 -1
  743. package/dist/showcase/assets/command-Do_t_Zou.js +0 -1
  744. package/dist/showcase/assets/comment-composer-DoFwvVlq.js +0 -1
  745. package/dist/showcase/assets/comment-item-CT8UbVeg.js +0 -1
  746. package/dist/showcase/assets/comments-CqdXrjUn.js +0 -357
  747. package/dist/showcase/assets/commerce-B9V2Wo_q.js +0 -79
  748. package/dist/showcase/assets/commerce-extras-CNT3QmAT.js +0 -189
  749. package/dist/showcase/assets/composite-BXLXcagx.js +0 -1
  750. package/dist/showcase/assets/contact-card-BLcAXepj.js +0 -65
  751. package/dist/showcase/assets/content-container-DJVD3ZmI.js +0 -1
  752. package/dist/showcase/assets/copyable-od17NrMu.js +0 -96
  753. package/dist/showcase/assets/course-card-CdZQr5yy.js +0 -77
  754. package/dist/showcase/assets/cpu-B8kRNR1R.js +0 -1
  755. package/dist/showcase/assets/credit-card-BYMQj03s.js +0 -1
  756. package/dist/showcase/assets/currency-Cxv3Cp6B.js +0 -149
  757. package/dist/showcase/assets/dark-surfaces-Cfp58iFb.js +0 -90
  758. package/dist/showcase/assets/database-DuUABvxU.js +0 -1
  759. package/dist/showcase/assets/date-block-E9qfY7W7.js +0 -1
  760. package/dist/showcase/assets/date-picker-I8BdaiiU.js +0 -1
  761. package/dist/showcase/assets/date-pickers-BLJaqhcS.js +0 -73
  762. package/dist/showcase/assets/dense-info-Bk1K_7Ww.js +0 -106
  763. package/dist/showcase/assets/dialog-BuatDnQ9.js +0 -1
  764. package/dist/showcase/assets/dialog-DCx-LydW.js +0 -1
  765. package/dist/showcase/assets/display-Bt7busw5.js +0 -403
  766. package/dist/showcase/assets/dist-BPyBHOXU.js +0 -45
  767. package/dist/showcase/assets/dollar-sign-qXQSS6Gh.js +0 -1
  768. package/dist/showcase/assets/download-B2JAmHmJ.js +0 -1
  769. package/dist/showcase/assets/dropdown-menu-DXT3BZLa.js +0 -1
  770. package/dist/showcase/assets/dropzone-BKIxDJNy.js +0 -1
  771. package/dist/showcase/assets/earth-7-Z3Gv2v.js +0 -1
  772. package/dist/showcase/assets/ellipsis-6Krb3RRW.js +0 -1
  773. package/dist/showcase/assets/ellipsis-vertical-DeOMIw1J.js +0 -1
  774. package/dist/showcase/assets/empty-BSYKaeXQ.js +0 -1
  775. package/dist/showcase/assets/empty-item-YElgv25f.js +0 -49
  776. package/dist/showcase/assets/empty-state-D-LrvnKF.js +0 -1
  777. package/dist/showcase/assets/empty-state-dNh1GtVU.js +0 -188
  778. package/dist/showcase/assets/enhanced-activities-Bw99ItYl.js +0 -361
  779. package/dist/showcase/assets/enhanced-combobox-CqLZmU3K.js +0 -1
  780. package/dist/showcase/assets/event-calendar-CcSi7g5A.js +0 -138
  781. package/dist/showcase/assets/event-log-2uq-eYxh.js +0 -330
  782. package/dist/showcase/assets/example-CTJ8AdNR.js +0 -1
  783. package/dist/showcase/assets/external-link-D0gqSa1q.js +0 -1
  784. package/dist/showcase/assets/eye-CDMCDLei.js +0 -1
  785. package/dist/showcase/assets/feature-announcement-BlyNck35.js +0 -34
  786. package/dist/showcase/assets/file-Y5EbzufX.js +0 -1
  787. package/dist/showcase/assets/file-text-DH1mBuPi.js +0 -1
  788. package/dist/showcase/assets/filters-BtHF4GSM.js +0 -78
  789. package/dist/showcase/assets/flag-CJ08LwLY.js +0 -1
  790. package/dist/showcase/assets/folder-open-DODo2pjy.js +0 -1
  791. package/dist/showcase/assets/form-field-CHY7jh1q.js +0 -1
  792. package/dist/showcase/assets/format-DYJqAuDM.js +0 -1
  793. package/dist/showcase/assets/forms-DgvQQXHO.js +0 -862
  794. package/dist/showcase/assets/frame-CdKicP4A.js +0 -167
  795. package/dist/showcase/assets/getPseudoElementBounds-D9-Hr3mO.js +0 -1
  796. package/dist/showcase/assets/gift-DD8O7cld.js +0 -1
  797. package/dist/showcase/assets/giftcard-cards-Dp9eYodY.js +0 -85
  798. package/dist/showcase/assets/git-branch-DZq1Vo2G.js +0 -1
  799. package/dist/showcase/assets/global-search-BqDotXql.js +0 -215
  800. package/dist/showcase/assets/global-search-PH6LXqZw.js +0 -1
  801. package/dist/showcase/assets/globe-mRTwrUxM.js +0 -1
  802. package/dist/showcase/assets/gradient-card-CaL88YKv.js +0 -58
  803. package/dist/showcase/assets/hash-DuqvHQHv.js +0 -1
  804. package/dist/showcase/assets/header-CiNgDop3.js +0 -1
  805. package/dist/showcase/assets/header-notifications-B9XMBsK_.js +0 -1
  806. package/dist/showcase/assets/heart-DsGJfnDx.js +0 -1
  807. package/dist/showcase/assets/house-B504aFIP.js +0 -1
  808. package/dist/showcase/assets/icon-badge-DMNu8xb5.js +0 -1
  809. package/dist/showcase/assets/image-C3DaMxmn.js +0 -1
  810. package/dist/showcase/assets/inbox-BWKQMLMx.js +0 -1
  811. package/dist/showcase/assets/index-DN3tqopz.css +0 -2
  812. package/dist/showcase/assets/index-DaYVSqKu.js +0 -10
  813. package/dist/showcase/assets/inertValue-DrtTkMGx.js +0 -1
  814. package/dist/showcase/assets/info-_FrGoCay.js +0 -1
  815. package/dist/showcase/assets/inline-stat-BYu-tiUU.js +0 -1
  816. package/dist/showcase/assets/input-C96HMHWR.js +0 -1
  817. package/dist/showcase/assets/input-fMPi7XxI.js +0 -1
  818. package/dist/showcase/assets/input-group-BZnSgFCn.js +0 -47
  819. package/dist/showcase/assets/input-group-CVONNP3T.js +0 -1
  820. package/dist/showcase/assets/inputs-Blh0LJ8-.js +0 -155
  821. package/dist/showcase/assets/invoice-header-Bpo4iwX3.js +0 -36
  822. package/dist/showcase/assets/invoice-items-OVIrbG0k.js +0 -36
  823. package/dist/showcase/assets/invoice-mini-CaOMTiUO.js +0 -14
  824. package/dist/showcase/assets/invoice-table-BXd_HhUg.js +0 -30
  825. package/dist/showcase/assets/isSameDay-NBVO9AKF.js +0 -1
  826. package/dist/showcase/assets/isToday-Bk5HMXWn.js +0 -1
  827. package/dist/showcase/assets/italic-BOv5bW4H.js +0 -1
  828. package/dist/showcase/assets/item-B4rdcVVp.js +0 -134
  829. package/dist/showcase/assets/item-BVt0zZ12.js +0 -1
  830. package/dist/showcase/assets/item-C4Xk3DC1.js +0 -1
  831. package/dist/showcase/assets/kanban-BXbelelR.js +0 -186
  832. package/dist/showcase/assets/label-Cv6wotdv.js +0 -1
  833. package/dist/showcase/assets/languages-BofyvcCF.js +0 -1
  834. package/dist/showcase/assets/layers-DJK0t5px.js +0 -1
  835. package/dist/showcase/assets/layout-app-shell-D_yMonSl.js +0 -608
  836. package/dist/showcase/assets/layout-auth-BTvSTwUz.js +0 -754
  837. package/dist/showcase/assets/layout-containers-PMuo__2O.js +0 -101
  838. package/dist/showcase/assets/layout-header-DQ3zeCHz.js +0 -170
  839. package/dist/showcase/assets/layout-page-CbvWdHrK.js +0 -122
  840. package/dist/showcase/assets/layout-primitives-6nsFFIdE.js +0 -34
  841. package/dist/showcase/assets/layout-sidebar-CKqeVCSY.js +0 -224
  842. package/dist/showcase/assets/layout-users-Cypq-42s.js +0 -117
  843. package/dist/showcase/assets/layout-workspace-DiRR8vDv.js +0 -183
  844. package/dist/showcase/assets/lock-DXmvLEEx.js +0 -1
  845. package/dist/showcase/assets/lock-keyhole-Cu6M-jjE.js +0 -1
  846. package/dist/showcase/assets/mail-CXVFHkzh.js +0 -1
  847. package/dist/showcase/assets/mail-check-BNEu3j2a.js +0 -1
  848. package/dist/showcase/assets/map-DnE1pFCQ.js +0 -124
  849. package/dist/showcase/assets/map-pin-CpOVa8IH.js +0 -1
  850. package/dist/showcase/assets/media-library-C-KfEvm4.js +0 -695
  851. package/dist/showcase/assets/mention-inline-suggestions-DlmslsfR.js +0 -1
  852. package/dist/showcase/assets/mentions-C8ZdNFuC.js +0 -138
  853. package/dist/showcase/assets/menus-B8yUL75K.js +0 -165
  854. package/dist/showcase/assets/message-square-DNOTaOFs.js +0 -1
  855. package/dist/showcase/assets/metadata-list-BQAanxM-.js +0 -1
  856. package/dist/showcase/assets/metadata-list-DL9qgDAp.js +0 -288
  857. package/dist/showcase/assets/metric-CYi09Ltx.js +0 -1
  858. package/dist/showcase/assets/metric-bar-CQH1z8T3.js +0 -1
  859. package/dist/showcase/assets/metric-grid-H1ixqMCI.js +0 -1
  860. package/dist/showcase/assets/metric-trend-chip-BBzWzFZ-.js +0 -1
  861. package/dist/showcase/assets/metrics-analytics-bar-C7Z2ITl4.js +0 -44
  862. package/dist/showcase/assets/metrics-analytics-cards-CZZSWiMn.js +0 -50
  863. package/dist/showcase/assets/metrics-comparison-BPqz8k30.js +0 -76
  864. package/dist/showcase/assets/metrics-heatmap-C3NYZAfx.js +0 -27
  865. package/dist/showcase/assets/metrics-inline-badge-RjHfm7um.js +0 -17
  866. package/dist/showcase/assets/metrics-kpi-row-DnBjyDH4.js +0 -31
  867. package/dist/showcase/assets/metrics-micro-grid-CKn405qb.js +0 -42
  868. package/dist/showcase/assets/metrics-overview-D8YGtdrh.js +0 -192
  869. package/dist/showcase/assets/metrics-stat-cards-Dxh6cAha.js +0 -54
  870. package/dist/showcase/assets/minus-20OTSSxf.js +0 -1
  871. package/dist/showcase/assets/money-display-BoiAMxH8.js +0 -1
  872. package/dist/showcase/assets/month-year-picker-Bl59Ygq9.js +0 -1
  873. package/dist/showcase/assets/navigation-B8d2CDU6.js +0 -90
  874. package/dist/showcase/assets/navigation-D16JX3kL.js +0 -230
  875. package/dist/showcase/assets/navigation-extras-Dm83uT6i.js +0 -43
  876. package/dist/showcase/assets/onboarding-checklist-DznDpP9M.js +0 -119
  877. package/dist/showcase/assets/overlays-CzlSqbFz.js +0 -408
  878. package/dist/showcase/assets/overlays-DUFqbkb9.js +0 -159
  879. package/dist/showcase/assets/package-BCXIwEPz.js +0 -1
  880. package/dist/showcase/assets/package-check-Ol-Cw3j-.js +0 -1
  881. package/dist/showcase/assets/page-action-button-DpzdSYvw.js +0 -1
  882. package/dist/showcase/assets/page-header-B_b7SqW8.js +0 -1
  883. package/dist/showcase/assets/pagination-BPDQo9Dl.js +0 -1
  884. package/dist/showcase/assets/pagination-PvkEX0qs.js +0 -42
  885. package/dist/showcase/assets/paperclip-CznEsmLN.js +0 -1
  886. package/dist/showcase/assets/password-input-CWMY5q3b.js +0 -1
  887. package/dist/showcase/assets/pencil-Cl9qi90g.js +0 -1
  888. package/dist/showcase/assets/phone-DbvK_QQJ.js +0 -1
  889. package/dist/showcase/assets/plus-CO8t66Yo.js +0 -1
  890. package/dist/showcase/assets/popover-3QIVx9lU.js +0 -1
  891. package/dist/showcase/assets/popover-Cyg9oYIU.js +0 -1
  892. package/dist/showcase/assets/popover-menu-DJPHeIL1.js +0 -1
  893. package/dist/showcase/assets/products-WsU-qdMz.js +0 -407
  894. package/dist/showcase/assets/progress-C61sf-qt.js +0 -1
  895. package/dist/showcase/assets/progress-PvTl8Fgf.js +0 -18
  896. package/dist/showcase/assets/props-table-C8la6vcG.js +0 -1
  897. package/dist/showcase/assets/props.generated-vFrhDrth.json +0 -38618
  898. package/dist/showcase/assets/quote-N1_lRDnX.js +0 -1
  899. package/dist/showcase/assets/receipt-C6a_WyLu.js +0 -1
  900. package/dist/showcase/assets/receipt-text-CDOh8FAv.js +0 -1
  901. package/dist/showcase/assets/refresh-cw-D4-ECZ1x.js +0 -1
  902. package/dist/showcase/assets/resolveValueLabel-DqAP3zJd.js +0 -1
  903. package/dist/showcase/assets/rich-text-editor-CU0IZpwV.js +0 -143
  904. package/dist/showcase/assets/rich-text-editor-DCU7mMoO.js +0 -124
  905. package/dist/showcase/assets/rotate-ccw-Dd5zEmr7.js +0 -1
  906. package/dist/showcase/assets/save-DDmFSQli.js +0 -1
  907. package/dist/showcase/assets/schema-form-B7naqMvv.js +0 -325
  908. package/dist/showcase/assets/scroll-area-CdaYm4UK.js +0 -32
  909. package/dist/showcase/assets/scroll-area-DwWSHYHB.js +0 -1
  910. package/dist/showcase/assets/select-CNzpb5ug.js +0 -1
  911. package/dist/showcase/assets/select-DBXZ_Wzf.js +0 -1
  912. package/dist/showcase/assets/send-eDm7YMmA.js +0 -1
  913. package/dist/showcase/assets/separator-4IC9ED7s.js +0 -1
  914. package/dist/showcase/assets/separator-DPGDsZpG.js +0 -28
  915. package/dist/showcase/assets/settings-IANZGo2i.js +0 -1
  916. package/dist/showcase/assets/sheet-2oCce5ae.js +0 -1
  917. package/dist/showcase/assets/shield-CDZhhvFW.js +0 -1
  918. package/dist/showcase/assets/shield-alert-5hL3sdf3.js +0 -1
  919. package/dist/showcase/assets/shield-check-CaO2dhVS.js +0 -1
  920. package/dist/showcase/assets/shopping-bag-Bt3iK-Bv.js +0 -1
  921. package/dist/showcase/assets/sidebar-Cds60-PS.js +0 -1
  922. package/dist/showcase/assets/sidebar.context-CdH_DH9M.js +0 -1
  923. package/dist/showcase/assets/skeleton-2HajJKO4.js +0 -29
  924. package/dist/showcase/assets/skeleton-CGEJwPdD.js +0 -1
  925. package/dist/showcase/assets/slider-BjQViBR0.js +0 -1
  926. package/dist/showcase/assets/sliders-horizontal-C3JH5WQu.js +0 -1
  927. package/dist/showcase/assets/smart-card-CHouYi8U.js +0 -1
  928. package/dist/showcase/assets/sonner-Cog559j7.js +0 -22
  929. package/dist/showcase/assets/sortable.esm-hUEKsxpQ.js +0 -5
  930. package/dist/showcase/assets/sparkles-B18eTHVN.js +0 -1
  931. package/dist/showcase/assets/spinner-BSI97i4D.js +0 -1
  932. package/dist/showcase/assets/spinner-D0WhVyye.js +0 -30
  933. package/dist/showcase/assets/spinner-DQmJ7k9y.js +0 -49
  934. package/dist/showcase/assets/square-pen-CLyDWdhj.js +0 -1
  935. package/dist/showcase/assets/stacked-avatars-ECnU27uV.js +0 -1
  936. package/dist/showcase/assets/star-C3mhkpSK.js +0 -1
  937. package/dist/showcase/assets/startOfDay-ECIxhJGC.js +0 -1
  938. package/dist/showcase/assets/styles-CDD7mDye.js +0 -1
  939. package/dist/showcase/assets/suggestions-DOW6NBJp.js +0 -126
  940. package/dist/showcase/assets/switch-D59YKmf6.js +0 -1
  941. package/dist/showcase/assets/switch-NICmdoPn.js +0 -1
  942. package/dist/showcase/assets/sync-B8nBZXQ9.js +0 -107
  943. package/dist/showcase/assets/table-CckompuR.js +0 -382
  944. package/dist/showcase/assets/table-DtA4-Q0p.js +0 -1
  945. package/dist/showcase/assets/table-actions-DdoPJTMy.js +0 -1
  946. package/dist/showcase/assets/tabs-BrC_HxL_.js +0 -1
  947. package/dist/showcase/assets/tabs-UVxr80vY.js +0 -19
  948. package/dist/showcase/assets/tags-input-iDfvhzZD.js +0 -1
  949. package/dist/showcase/assets/text-button-DHFCLCoc.js +0 -1
  950. package/dist/showcase/assets/text-link-nCLLDcS_.js +0 -1
  951. package/dist/showcase/assets/textarea-DsSuQHQY.js +0 -1
  952. package/dist/showcase/assets/textarea-DyGI3Kcn.js +0 -1
  953. package/dist/showcase/assets/timelines-JmMcH657.js +0 -200
  954. package/dist/showcase/assets/toggle-group-BZKzMmC8.js +0 -1
  955. package/dist/showcase/assets/toggles-BSJvy4Tw.js +0 -71
  956. package/dist/showcase/assets/toggles-group-Bsc6eaWw.js +0 -32
  957. package/dist/showcase/assets/trash-2-C9AC7Pcv.js +0 -1
  958. package/dist/showcase/assets/trending-up-CGaDZj0S.js +0 -1
  959. package/dist/showcase/assets/truck-Dq6heokm.js +0 -1
  960. package/dist/showcase/assets/typography-ByvwR6Kg.js +0 -223
  961. package/dist/showcase/assets/ui-badge-BYgJSE_w.js +0 -28
  962. package/dist/showcase/assets/ui-card-BdueUfow.js +0 -30
  963. package/dist/showcase/assets/ui-table-CxtCQUsg.js +0 -42
  964. package/dist/showcase/assets/upload-tray-DKJ8nFZp.js +0 -138
  965. package/dist/showcase/assets/use-layout-link-CGBQHZon.js +0 -1
  966. package/dist/showcase/assets/useAnchoredPopupScrollLock-CywAbxVB.js +0 -1
  967. package/dist/showcase/assets/useAriaLabelledBy-B2bZzE7D.js +0 -1
  968. package/dist/showcase/assets/useCollapsiblePanel-SLdY_s6S.js +0 -1
  969. package/dist/showcase/assets/useCompositeItem-g6aCBp84.js +0 -1
  970. package/dist/showcase/assets/useCompositeListItem-DK0Tpege.js +0 -1
  971. package/dist/showcase/assets/useLabelableId-hdKzFCp2.js +0 -1
  972. package/dist/showcase/assets/useOpenInteractionType-CnhifZ1E.js +0 -1
  973. package/dist/showcase/assets/useRender-QhawWhpb.js +0 -1
  974. package/dist/showcase/assets/useTriggerFocusGuards-Cht7Sa7e.js +0 -1
  975. package/dist/showcase/assets/useValueChanged-DURO1kfZ.js +0 -1
  976. package/dist/showcase/assets/user-plus-DbOuTfr7.js +0 -1
  977. package/dist/showcase/assets/user-u65Fo7k7.js +0 -1
  978. package/dist/showcase/assets/users-BUb7CmVp.js +0 -1
  979. package/dist/showcase/assets/vendor-profile-wfI3PBuO.js +0 -37
  980. package/dist/showcase/assets/video-e4hDbTQ2.js +0 -1
  981. package/dist/showcase/assets/wrench-CBUvtxdr.js +0 -1
  982. package/dist/showcase/assets/x-oVTJnCJn.js +0 -1
  983. package/dist/showcase/assets/zap-CzABYL3c.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/services/actions/actions.types.ts","../../../src/services/actions/action-store.ts","../../../src/services/actions/action-provider.tsx","../../../src/services/actions/hooks.ts","../../../src/services/actions/action-scope.tsx","../../../src/services/actions/actions.strings.ts","../../../src/services/actions/action-overlay-outlet.tsx"],"sourcesContent":["import type {\n\tComponentType,\n\tFormEvent,\n\tFormEventHandler,\n\tReactNode,\n\tRefObject,\n} from 'react';\n\nimport type { StringsProp } from '@/lib/strings';\n\nexport const ACTION_GLOBAL_SCOPE = '__global__';\n\nexport type ActionSurface =\n\t| 'page'\n\t| 'table'\n\t| 'table-row'\n\t| 'card'\n\t| 'command'\n\t| (string & {});\n\nexport type ActionPlacement = 'auto' | 'inline' | 'menu';\nexport type ActionModalityType = 'alert' | 'dialog' | 'drawer';\nexport type ActionTone = 'default' | 'error' | 'warning' | 'info' | 'success' | 'destructive';\nexport type ActionStatus = 'idle' | 'running' | 'succeeded' | 'failed';\nexport type ActionButtonStyle = 'solid' | 'outline';\nexport type ActionOverlaySize =\n\t| 'xs'\n\t| 'sm'\n\t| 'md'\n\t| 'lg'\n\t| 'xl'\n\t| '2xl'\n\t| '3xl'\n\t| '4xl'\n\t| '5xl'\n\t| 'full';\nexport type ActionDrawerDirection = 'left' | 'right' | 'top' | 'bottom';\n\nexport type ActionFieldErrors = Record<string, string | string[]>;\nexport type ActionMetadata = Record<string, unknown>;\ntype BivariantCallback<TArgs extends readonly unknown[], TResult> = {\n\tbivarianceHack(...args: TArgs): TResult;\n}['bivarianceHack'];\n\nexport interface ActionContext<TPayload = unknown> {\n\tactionId: string;\n\tscope: string;\n\tsurface?: ActionSurface;\n\tpayload: TPayload | undefined;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface ActionMessageContext<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> extends ActionContext<TPayload> {\n\taction: ActionDefinition;\n\tvalues: TValues | undefined;\n\tstatus?: ActionStatus;\n\terrors?: ActionFieldErrors;\n\tresult?: TResult;\n\terror?: unknown;\n}\n\nexport type ActionMessage<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> =\n\t| string\n\t| BivariantCallback<\n\t\t\t[context: ActionMessageContext<TPayload, TValues, TResult>],\n\t\t\tstring | null | undefined\n\t >;\n\nexport interface ActionRunContext<TPayload = unknown, TValues = unknown>\n\textends ActionContext<TPayload> {\n\taction: ActionDefinition;\n\tvalues: TValues | undefined;\n\tsignal: AbortSignal;\n}\n\nexport interface ActionRenderContext<TPayload = unknown, TValues = unknown>\n\textends ActionContext<TPayload> {\n\taction: ActionDefinition;\n\tvalues: TValues | undefined;\n\tformId?: string;\n\tstatus: ActionStatus;\n\tisIdle: boolean;\n\tisRunning: boolean;\n\tisSuccess: boolean;\n\tisError: boolean;\n\tresult: unknown;\n\terror: unknown;\n\terrors: ActionFieldErrors;\n\tclose: () => void;\n\tsubmit: (values?: TValues) => Promise<unknown>;\n\tgetFormProps: (options?: ActionFormSubmitOptions<TValues>) => ActionFormProps;\n}\n\nexport interface ActionFormSubmitOptions<TValues = unknown> {\n\tresolveValues?: (\n\t\tformData: FormData,\n\t\tevent: FormEvent<HTMLFormElement>,\n\t) => TValues | Promise<TValues>;\n}\n\nexport interface ActionFormProps {\n\tid?: string;\n\tonSubmit: FormEventHandler<HTMLFormElement>;\n}\n\nexport interface ActionModalityConfig<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> {\n\ttype: ActionModalityType;\n\ttitle: ActionMessage<TPayload, TValues, TResult>;\n\tdescription?: ActionMessage<TPayload, TValues, TResult>;\n\tconfirmLabel?: ActionMessage<TPayload, TValues, TResult>;\n\tcancelLabel?: ActionMessage<TPayload, TValues, TResult>;\n\ttone?: ActionTone;\n\tsize?: ActionOverlaySize;\n\tdrawerDirection?: ActionDrawerDirection;\n\tformId?: string;\n\tshowCancel?: boolean;\n\tshowConfirm?: boolean;\n\tshowIcon?: boolean;\n\temphasis?: boolean;\n\tshowFooter?: boolean;\n\tvisuallyHideHeader?: boolean;\n\tclassName?: string;\n\tcontentClassName?: string;\n\tinitialFocusRef?: RefObject<HTMLElement>;\n\tcloseOnEscape?: boolean;\n\tcloseOnSuccess?: boolean;\n\tcloseOnBackdropClick?: boolean;\n\tconfirmStyle?: ActionButtonStyle;\n\tfooter?: ReactNode;\n\talertMessage?: ActionMessage<TPayload, TValues, TResult>;\n\trender?: BivariantCallback<\n\t\t[context: ActionRenderContext<TPayload, TValues>],\n\t\tReactNode\n\t>;\n}\n\nexport type ActionPredicate<TPayload = unknown> =\n\t| boolean\n\t| BivariantCallback<[context: ActionContext<TPayload>], boolean>;\n\nexport interface ActionDefinition<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> {\n\tid: string;\n\tlabel: ReactNode;\n\tsearchLabel?: string;\n\ticon?: ComponentType<{ className?: string }>;\n\tsurfaces?: readonly ActionSurface[];\n\tgroup?: string;\n\tplacement?: ActionPlacement;\n\torder?: number;\n\tvisible?: ActionPredicate<TPayload>;\n\tdisabled?: ActionPredicate<TPayload>;\n\tmodality?: 'none' | ActionModalityConfig<TPayload, TValues, TResult>;\n\trun?: BivariantCallback<\n\t\t[context: ActionRunContext<TPayload, TValues>],\n\t\tTResult | Promise<TResult>\n\t>;\n\tsuccessMessage?: ActionMessage<TPayload, TValues, TResult>;\n\terrorMessage?: ActionMessage<TPayload, TValues, TResult>;\n\tonStart?: BivariantCallback<\n\t\t[event: ActionLifecycleEvent<TPayload, TValues, TResult>],\n\t\tvoid\n\t>;\n\tonAfterMutate?: BivariantCallback<\n\t\t[event: ActionLifecycleEvent<TPayload, TValues, TResult>],\n\t\tvoid\n\t>;\n\tonError?: BivariantCallback<\n\t\t[event: ActionLifecycleEvent<TPayload, TValues, TResult>],\n\t\tvoid\n\t>;\n\tonSettled?: BivariantCallback<\n\t\t[event: ActionLifecycleEvent<TPayload, TValues, TResult>],\n\t\tvoid\n\t>;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface ActionRegistrationOptions {\n\tscope?: string;\n}\n\nexport interface ActionRegistration {\n\tid: string;\n\tscope: string;\n\torder: number;\n\tactions: readonly ActionDefinition[];\n}\n\nexport interface ActionSurfaceOptions<TPayload = unknown> {\n\tsurface: ActionSurface;\n\tscope?: string;\n\tincludeGlobal?: boolean;\n\tpayload?: TPayload;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface UseActionOptions<TPayload = unknown> {\n\tscope?: string;\n\tincludeGlobal?: boolean;\n\tpayload?: TPayload;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface ActionRunState {\n\tstatus: ActionStatus;\n\tisIdle: boolean;\n\tisRunning: boolean;\n\tisSuccess: boolean;\n\tisError: boolean;\n\terror: unknown;\n\terrors: ActionFieldErrors;\n\tresult?: unknown;\n\tpayload?: unknown;\n\tvalues?: unknown;\n\tmetadata?: ActionMetadata;\n\tstartedAt?: number;\n\tcompletedAt?: number;\n}\n\nexport interface ActiveActionState {\n\tkey: string;\n\tactionId: string;\n\tscope: string;\n\tpayload?: unknown;\n\tvalues?: unknown;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface ActionStoreSnapshot {\n\tversion: number;\n\tregistrations: readonly ActionRegistration[];\n\trunStates: Readonly<Record<string, ActionRunState>>;\n\tactive: ActiveActionState | null;\n}\n\nexport interface ResolvedAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> {\n\tkey: string;\n\tid: string;\n\tscope: string;\n\tlabel: ReactNode;\n\tsearchLabel: string;\n\ticon?: ComponentType<{ className?: string }>;\n\tgroup?: string;\n\tplacement: ActionPlacement;\n\torder: number;\n\tsurface?: ActionSurface;\n\tvisible: boolean;\n\tdisabled: boolean;\n\tstatus: ActionStatus;\n\tisIdle: boolean;\n\tisRunning: boolean;\n\tisSuccess: boolean;\n\tisError: boolean;\n\terror: unknown;\n\terrors: ActionFieldErrors;\n\tresult: TResult | undefined;\n\trunState: ActionRunState;\n\tpayload: TPayload | undefined;\n\tvalues: TValues | undefined;\n\tmetadata?: ActionMetadata;\n\tstartedAt?: number;\n\tcompletedAt?: number;\n\tdefinition: ActionDefinition<TPayload, TValues, TResult>;\n\topen: (payload?: TPayload, metadata?: ActionMetadata) => void;\n\texecute: (\n\t\tvalues?: TValues,\n\t\tpayload?: TPayload,\n\t\tmetadata?: ActionMetadata,\n\t) => Promise<TResult | undefined>;\n\tclose: () => void;\n\tsubmit: (values?: TValues) => Promise<TResult | undefined>;\n}\n\nexport type ActionLifecycleType = 'started' | 'succeeded' | 'failed' | 'settled';\n\nexport interface ActionLifecycleEvent<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> extends ActionMessageContext<TPayload, TValues, TResult> {\n\ttype: ActionLifecycleType;\n\tkey: string;\n\tstatus: ActionStatus;\n\trunState: ActionRunState;\n\tmessage?: string;\n}\n\nexport interface ActionFeedbackHandlers {\n\tonStart?: (event: ActionLifecycleEvent) => void;\n\tonSuccess?: (event: ActionLifecycleEvent) => void;\n\tonError?: (event: ActionLifecycleEvent) => void;\n\tonSettled?: (event: ActionLifecycleEvent) => void;\n}\n\nexport interface ActionProviderProps<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> {\n\tactions?: readonly ActionDefinition<TPayload, TValues, TResult>[];\n\tfeedback?: ActionFeedbackHandlers;\n\tchildren: ReactNode;\n}\n\nexport interface ActionScopeProps<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> extends ActionRegistrationOptions {\n\tactions: readonly ActionDefinition<TPayload, TValues, TResult>[];\n\tchildren: ReactNode;\n}\n\nexport interface ActionOverlayStrings {\n\tconfirm: string;\n\tcancel: string;\n}\n\nexport interface ActionOverlayOutletProps {\n\tstrings?: StringsProp<ActionOverlayStrings>;\n}\n\nexport interface ActionEntry {\n\tkey: string;\n\tregistration: ActionRegistration;\n\taction: ActionDefinition;\n}\n","import {\n\tACTION_GLOBAL_SCOPE,\n\ttype ActionContext,\n\ttype ActionDefinition,\n\ttype ActionEntry,\n\ttype ActionFeedbackHandlers,\n\ttype ActionFieldErrors,\n\ttype ActionLifecycleEvent,\n\ttype ActionLifecycleType,\n\ttype ActionMessage,\n\ttype ActionMessageContext,\n\ttype ActionMetadata,\n\ttype ActionRegistration,\n\ttype ActionRegistrationOptions,\n\ttype ActionRunContext,\n\ttype ActionRunState,\n\ttype ActionStatus,\n\ttype ActionStoreSnapshot,\n\ttype ActionSurfaceOptions,\n\ttype ResolvedAction,\n\ttype UseActionOptions,\n} from './actions.types';\n\nconst EMPTY_ERRORS: ActionFieldErrors = Object.freeze({});\n\nlet nextRegistrationId = 0;\n\nfunction createRunState(\n\tstatus: ActionStatus,\n\tstate: Omit<\n\t\tPartial<ActionRunState>,\n\t\t'status' | 'isIdle' | 'isRunning' | 'isSuccess' | 'isError'\n\t> = {},\n): ActionRunState {\n\treturn {\n\t\t...state,\n\t\tstatus,\n\t\tisIdle: status === 'idle',\n\t\tisRunning: status === 'running',\n\t\tisSuccess: status === 'succeeded',\n\t\tisError: status === 'failed',\n\t\terror: state.error ?? null,\n\t\terrors: state.errors ?? EMPTY_ERRORS,\n\t};\n}\n\nfunction mergeMetadata(\n\tbase?: ActionMetadata,\n\toverride?: ActionMetadata,\n): ActionMetadata | undefined {\n\tif (!base) return override;\n\tif (!override) return base;\n\treturn { ...base, ...override };\n}\n\nfunction createSnapshot(\n\tversion: number,\n\tregistrations: readonly ActionRegistration[],\n\trunStates: Readonly<Record<string, ActionRunState>>,\n\tactive: ActionStoreSnapshot['active'],\n): ActionStoreSnapshot {\n\treturn Object.freeze({\n\t\tversion,\n\t\tregistrations: Object.freeze([...registrations]),\n\t\trunStates: Object.freeze({ ...runStates }),\n\t\tactive: active ? Object.freeze({ ...active }) : null,\n\t});\n}\n\nfunction resolveScope(scope?: string): string {\n\tconst trimmed = scope?.trim();\n\treturn trimmed ? trimmed : ACTION_GLOBAL_SCOPE;\n}\n\nfunction createActionKey(registrationId: string, actionId: string): string {\n\treturn `${registrationId}:${actionId}`;\n}\n\nfunction getDefaultSurfaces(action: ActionDefinition): readonly string[] {\n\treturn action.surfaces ?? ['page'];\n}\n\nfunction evaluatePredicate<TPayload>(\n\tpredicate: ActionDefinition<TPayload>['visible'],\n\tcontext: ActionContext<TPayload>,\n\tfallback: boolean,\n): boolean {\n\tif (predicate === undefined) return fallback;\n\tif (typeof predicate === 'function') return predicate(context);\n\treturn predicate;\n}\n\nfunction resolveSearchLabel(action: ActionDefinition): string {\n\tif (action.searchLabel) return action.searchLabel;\n\tif (typeof action.label === 'string') return action.label;\n\treturn action.id;\n}\n\nexport function extractActionFieldErrors(error: unknown): ActionFieldErrors {\n\tif (!error || typeof error !== 'object') return EMPTY_ERRORS;\n\tconst maybeErrors = (error as { errors?: unknown }).errors;\n\tif (!maybeErrors || typeof maybeErrors !== 'object' || Array.isArray(maybeErrors)) {\n\t\treturn EMPTY_ERRORS;\n\t}\n\n\tconst result: ActionFieldErrors = {};\n\tfor (const [key, value] of Object.entries(maybeErrors)) {\n\t\tif (typeof value === 'string') {\n\t\t\tresult[key] = value;\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(value) && value.every((item) => typeof item === 'string')) {\n\t\t\tresult[key] = value;\n\t\t}\n\t}\n\treturn Object.keys(result).length > 0 ? result : EMPTY_ERRORS;\n}\n\nexport function resolveActionMessage<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\tmessage: ActionMessage<TPayload, TValues, TResult> | undefined,\n\tcontext: ActionMessageContext<TPayload, TValues, TResult>,\n): string | undefined {\n\tif (message === undefined) return undefined;\n\tif (typeof message === 'function') {\n\t\tconst resolved = message(context);\n\t\treturn resolved ?? undefined;\n\t}\n\treturn message;\n}\n\nexport class ActionStore {\n\tprivate registrations: ActionRegistration[] = [];\n\tprivate runStates: Record<string, ActionRunState> = {};\n\tprivate active: ActionStoreSnapshot['active'] = null;\n\tprivate version = 0;\n\tprivate snapshot: ActionStoreSnapshot = createSnapshot(0, [], {}, null);\n\tprivate readonly listeners = new Set<() => void>();\n\tprivate feedback: ActionFeedbackHandlers | undefined;\n\tprivate readonly abortControllers = new Map<string, AbortController>();\n\tprivate readonly runTokens = new Map<string, number>();\n\n\tsubscribe = (listener: () => void): (() => void) => {\n\t\tthis.listeners.add(listener);\n\t\treturn () => this.listeners.delete(listener);\n\t};\n\n\tgetSnapshot = (): ActionStoreSnapshot => this.snapshot;\n\n\tsetFeedback(feedback?: ActionFeedbackHandlers): void {\n\t\tthis.feedback = feedback;\n\t}\n\n\tregisterActions<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\t\tactions: readonly ActionDefinition<TPayload, TValues, TResult>[],\n\t\toptions: ActionRegistrationOptions = {},\n\t): () => void {\n\t\tif (actions.length === 0) return () => undefined;\n\n\t\tconst registration: ActionRegistration = {\n\t\t\tid: `registration-${nextRegistrationId++}`,\n\t\t\tscope: resolveScope(options.scope),\n\t\t\torder: this.registrations.length,\n\t\t\tactions: actions as readonly ActionDefinition[],\n\t\t};\n\n\t\tthis.registrations = [...this.registrations, registration];\n\t\tthis.publish();\n\n\t\treturn () => {\n\t\t\tthis.registrations = this.registrations.filter((item) => item.id !== registration.id);\n\t\t\tconst removedKeys = registration.actions.map((action) =>\n\t\t\t\tcreateActionKey(registration.id, action.id),\n\t\t\t);\n\t\t\tfor (const key of removedKeys) {\n\t\t\t\tthis.abortAction(key);\n\t\t\t\tdelete this.runStates[key];\n\t\t\t}\n\t\t\tif (this.active && removedKeys.includes(this.active.key)) {\n\t\t\t\tthis.active = null;\n\t\t\t}\n\t\t\tthis.publish();\n\t\t};\n\t}\n\n\tselectSurfaceActions<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\t\toptions: ActionSurfaceOptions<TPayload>,\n\t): ResolvedAction<TPayload, TValues, TResult>[] {\n\t\tconst entries = this.getEntriesForScope(options.scope, options.includeGlobal);\n\t\tconst result: ResolvedAction<TPayload, TValues, TResult>[] = [];\n\n\t\tfor (const entry of entries) {\n\t\t\tconst surfaces = getDefaultSurfaces(entry.action);\n\t\t\tif (!surfaces.includes(options.surface)) continue;\n\n\t\t\tconst resolved = this.resolveEntry<TPayload, TValues, TResult>(entry, {\n\t\t\t\tsurface: options.surface,\n\t\t\t\tpayload: options.payload,\n\t\t\t\tmetadata: options.metadata,\n\t\t\t});\n\t\t\tif (resolved.visible) result.push(resolved);\n\t\t}\n\n\t\treturn result.sort((a, b) => a.order - b.order || a.id.localeCompare(b.id));\n\t}\n\n\tselectAction<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\t\tactionId: string,\n\t\toptions: UseActionOptions<TPayload> = {},\n\t): ResolvedAction<TPayload, TValues, TResult> | null {\n\t\tconst entries = this.getEntriesForScope(options.scope, options.includeGlobal);\n\t\tfor (let index = entries.length - 1; index >= 0; index -= 1) {\n\t\t\tconst entry = entries[index];\n\t\t\tif (entry.action.id !== actionId) continue;\n\t\t\tconst resolved = this.resolveEntry<TPayload, TValues, TResult>(entry, {\n\t\t\t\tpayload: options.payload,\n\t\t\t\tmetadata: options.metadata,\n\t\t\t});\n\t\t\treturn resolved.visible ? resolved : null;\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetActiveAction<TPayload = unknown, TValues = unknown, TResult = unknown>():\n\t\t| ResolvedAction<TPayload, TValues, TResult>\n\t\t| null {\n\t\tconst active = this.snapshot.active;\n\t\tif (!active) return null;\n\t\tconst entry = this.findEntry(active.key);\n\t\tif (!entry) return null;\n\t\treturn this.resolveEntry<TPayload, TValues, TResult>(entry, {\n\t\t\tpayload: active.payload as TPayload | undefined,\n\t\t\tmetadata: active.metadata,\n\t\t});\n\t}\n\n\topenAction<TPayload = unknown>(key: string, payload?: TPayload, metadata?: ActionMetadata): void {\n\t\tconst entry = this.findEntry(key);\n\t\tif (!entry) return;\n\t\tif (this.isEntryDisabled(entry, payload, metadata)) return;\n\n\t\tif (!entry.action.modality || entry.action.modality === 'none') {\n\t\t\tvoid this.executeAction(key, { payload, metadata });\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = {\n\t\t\tkey,\n\t\t\tactionId: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tpayload,\n\t\t\tmetadata,\n\t\t};\n\t\tthis.setRunState(key, createRunState('idle', {\n\t\t\terror: null,\n\t\t\terrors: EMPTY_ERRORS,\n\t\t\tpayload,\n\t\t\tvalues: undefined,\n\t\t\tmetadata: mergeMetadata(entry.action.metadata, metadata),\n\t\t}), false);\n\t\tthis.publish();\n\t}\n\n\tcloseActive(options: { abort?: boolean } = {}): void {\n\t\tconst active = this.active;\n\t\tif (!active) return;\n\t\tif (options.abort !== false) {\n\t\t\tthis.abortAction(active.key);\n\t\t}\n\t\tthis.active = null;\n\t\tthis.publish();\n\t}\n\n\tasync submitActive<TValues = unknown, TResult = unknown>(\n\t\tvalues?: TValues,\n\t): Promise<TResult | undefined> {\n\t\tconst active = this.active;\n\t\tif (!active) return undefined;\n\t\tthis.active = { ...active, values };\n\t\tthis.publish();\n\t\tconst result = await this.executeAction<unknown, TValues, TResult>(active.key, {\n\t\t\tpayload: active.payload,\n\t\t\tvalues,\n\t\t\tmetadata: active.metadata,\n\t\t});\n\t\tconst entry = this.findEntry(active.key);\n\t\tconst closeOnSuccess =\n\t\t\tentry?.action.modality &&\n\t\t\tentry.action.modality !== 'none' &&\n\t\t\tentry.action.modality.closeOnSuccess === false\n\t\t\t\t? false\n\t\t\t\t: true;\n\t\tif (closeOnSuccess && this.active?.key === active.key) {\n\t\t\tthis.closeActive({ abort: false });\n\t\t}\n\t\treturn result;\n\t}\n\n\tasync executeAction<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\t\tkey: string,\n\t\targs: {\n\t\t\tpayload?: TPayload;\n\t\t\tvalues?: TValues;\n\t\t\tmetadata?: ActionMetadata;\n\t\t} = {},\n\t): Promise<TResult | undefined> {\n\t\tconst entry = this.findEntry(key);\n\t\tif (!entry) {\n\t\t\tthrow new Error(`Action is not registered: ${key}`);\n\t\t}\n\t\tif (this.isEntryDisabled(entry, args.payload, args.metadata)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthis.abortAction(key);\n\t\tconst token = (this.runTokens.get(key) ?? 0) + 1;\n\t\tthis.runTokens.set(key, token);\n\t\tconst abortController = new AbortController();\n\t\tthis.abortControllers.set(key, abortController);\n\t\tconst metadata = mergeMetadata(entry.action.metadata, args.metadata);\n\t\tconst startedAt = Date.now();\n\n\t\tconst context = this.createRunContext<TPayload, TValues>(entry, {\n\t\t\tpayload: args.payload,\n\t\t\tvalues: args.values,\n\t\t\tmetadata,\n\t\t\tsignal: abortController.signal,\n\t\t});\n\n\t\tthis.setRunState(key, createRunState('running', {\n\t\t\terror: null,\n\t\t\terrors: EMPTY_ERRORS,\n\t\t\tpayload: args.payload,\n\t\t\tvalues: args.values,\n\t\t\tmetadata,\n\t\t\tstartedAt,\n\t\t}));\n\t\tthis.emitLifecycle('started', entry, context, key);\n\n\t\tlet result: TResult | undefined;\n\t\tlet failedError: unknown;\n\t\tconst action = entry.action as ActionDefinition<TPayload, TValues, TResult>;\n\t\ttry {\n\t\t\tif (action.run) {\n\t\t\t\tresult = await action.run(context);\n\t\t\t}\n\t\t\tif (!this.isCurrentRun(key, token)) return undefined;\n\n\t\t\tthis.setRunState(key, createRunState('succeeded', {\n\t\t\t\terror: null,\n\t\t\t\terrors: EMPTY_ERRORS,\n\t\t\t\tresult,\n\t\t\t\tpayload: args.payload,\n\t\t\t\tvalues: args.values,\n\t\t\t\tmetadata,\n\t\t\t\tstartedAt,\n\t\t\t\tcompletedAt: Date.now(),\n\t\t\t}));\n\t\t\tthis.emitLifecycle('succeeded', entry, context, key, { result });\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tif (!this.isCurrentRun(key, token)) return undefined;\n\t\t\tfailedError = error;\n\t\t\tconst errors = extractActionFieldErrors(error);\n\t\t\tthis.setRunState(key, createRunState('failed', {\n\t\t\t\terror,\n\t\t\t\terrors,\n\t\t\t\tpayload: args.payload,\n\t\t\t\tvalues: args.values,\n\t\t\t\tmetadata,\n\t\t\t\tstartedAt,\n\t\t\t\tcompletedAt: Date.now(),\n\t\t\t}));\n\t\t\tthis.emitLifecycle('failed', entry, context, key, { error });\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.isCurrentRun(key, token)) {\n\t\t\t\tthis.abortControllers.delete(key);\n\t\t\t\tthis.emitLifecycle('settled', entry, context, key, {\n\t\t\t\t\tresult,\n\t\t\t\t\terror: failedError,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate getEntriesForScope(scope?: string, includeGlobal = true): ActionEntry[] {\n\t\tconst resolvedScope = scope ? resolveScope(scope) : ACTION_GLOBAL_SCOPE;\n\t\tconst entries: ActionEntry[] = [];\n\n\t\tfor (const registration of this.snapshot.registrations) {\n\t\t\tconst isGlobal = registration.scope === ACTION_GLOBAL_SCOPE;\n\t\t\tif (isGlobal && !includeGlobal) continue;\n\t\t\tif (!isGlobal && registration.scope !== resolvedScope) continue;\n\n\t\t\tfor (const action of registration.actions) {\n\t\t\t\tentries.push({\n\t\t\t\t\tkey: createActionKey(registration.id, action.id),\n\t\t\t\t\tregistration,\n\t\t\t\t\taction,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn entries;\n\t}\n\n\tprivate resolveEntry<TPayload, TValues, TResult>(\n\t\tentry: ActionEntry,\n\t\targs: {\n\t\t\tsurface?: ActionSurfaceOptions['surface'];\n\t\t\tpayload?: TPayload;\n\t\t\tmetadata?: ActionMetadata;\n\t\t},\n\t): ResolvedAction<TPayload, TValues, TResult> {\n\t\tconst metadata = mergeMetadata(entry.action.metadata, args.metadata);\n\t\tconst context: ActionContext<TPayload> = {\n\t\t\tactionId: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tsurface: args.surface,\n\t\t\tpayload: args.payload,\n\t\t\tmetadata,\n\t\t};\n\t\tconst runState = this.getRunState(entry.key);\n\t\tconst visible = evaluatePredicate(\n\t\t\tentry.action.visible as ActionDefinition<TPayload>['visible'],\n\t\t\tcontext,\n\t\t\ttrue,\n\t\t);\n\t\tconst disabled = evaluatePredicate(\n\t\t\tentry.action.disabled as ActionDefinition<TPayload>['visible'],\n\t\t\tcontext,\n\t\t\tfalse,\n\t\t);\n\t\tconst action = entry.action as ActionDefinition<TPayload, TValues, TResult>;\n\n\t\treturn {\n\t\t\tkey: entry.key,\n\t\t\tid: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tlabel: entry.action.label,\n\t\t\tsearchLabel: resolveSearchLabel(entry.action),\n\t\t\ticon: entry.action.icon,\n\t\t\tgroup: entry.action.group,\n\t\t\tplacement: entry.action.placement ?? 'auto',\n\t\t\torder: entry.action.order ?? entry.registration.order,\n\t\t\tsurface: args.surface,\n\t\t\tvisible,\n\t\t\tdisabled,\n\t\t\tstatus: runState.status,\n\t\t\tisIdle: runState.isIdle,\n\t\t\tisRunning: runState.isRunning,\n\t\t\tisSuccess: runState.isSuccess,\n\t\t\tisError: runState.isError,\n\t\t\terror: runState.error,\n\t\t\terrors: runState.errors,\n\t\t\tresult: runState.result as TResult | undefined,\n\t\t\trunState,\n\t\t\tpayload: args.payload,\n\t\t\tvalues: runState.values as TValues | undefined,\n\t\t\tmetadata,\n\t\t\tstartedAt: runState.startedAt,\n\t\t\tcompletedAt: runState.completedAt,\n\t\t\tdefinition: action,\n\t\t\topen: (payload?: TPayload, openMetadata?: ActionMetadata) =>\n\t\t\t\tthis.openAction(\n\t\t\t\t\tentry.key,\n\t\t\t\t\tpayload ?? args.payload,\n\t\t\t\t\tmergeMetadata(args.metadata, openMetadata),\n\t\t\t\t),\n\t\t\texecute: (values?: TValues, payload?: TPayload, executeMetadata?: ActionMetadata) =>\n\t\t\t\tthis.executeAction<TPayload, TValues, TResult>(entry.key, {\n\t\t\t\t\tpayload: payload ?? args.payload,\n\t\t\t\t\tvalues,\n\t\t\t\t\tmetadata: mergeMetadata(args.metadata, executeMetadata),\n\t\t\t\t}),\n\t\t\tclose: () => this.closeActive(),\n\t\t\tsubmit: (values?: TValues) => this.submitActive<TValues, TResult>(values),\n\t\t};\n\t}\n\n\tprivate createRunContext<TPayload, TValues>(\n\t\tentry: ActionEntry,\n\t\targs: {\n\t\t\tpayload?: TPayload;\n\t\t\tvalues?: TValues;\n\t\t\tmetadata?: ActionMetadata;\n\t\t\tsignal: AbortSignal;\n\t\t},\n\t): ActionRunContext<TPayload, TValues> {\n\t\treturn {\n\t\t\taction: entry.action,\n\t\t\tactionId: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tpayload: args.payload,\n\t\t\tvalues: args.values,\n\t\t\tmetadata: args.metadata,\n\t\t\tsignal: args.signal,\n\t\t};\n\t}\n\n\tprivate isEntryDisabled<TPayload>(\n\t\tentry: ActionEntry,\n\t\tpayload?: TPayload,\n\t\tmetadata?: ActionMetadata,\n\t): boolean {\n\t\tconst context: ActionContext<TPayload> = {\n\t\t\tactionId: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tpayload,\n\t\t\tmetadata: mergeMetadata(entry.action.metadata, metadata),\n\t\t};\n\t\treturn evaluatePredicate(\n\t\t\tentry.action.disabled as ActionDefinition<TPayload>['disabled'],\n\t\t\tcontext,\n\t\t\tfalse,\n\t\t);\n\t}\n\n\tprivate emitLifecycle<TPayload, TValues, TResult>(\n\t\ttype: ActionLifecycleType,\n\t\tentry: ActionEntry,\n\t\tcontext: ActionRunContext<TPayload, TValues>,\n\t\tkey: string,\n\t\targs: { result?: TResult; error?: unknown } = {},\n\t): void {\n\t\tconst action = entry.action as ActionDefinition<TPayload, TValues, TResult>;\n\t\tconst runState = this.getRunState(key);\n\t\tconst messageContext: ActionMessageContext<TPayload, TValues, TResult> = {\n\t\t\t...context,\n\t\t\taction: entry.action,\n\t\t\tstatus: runState.status,\n\t\t\terrors: runState.errors,\n\t\t\tresult: args.result,\n\t\t\terror: args.error,\n\t\t};\n\t\tconst message =\n\t\t\ttype === 'succeeded'\n\t\t\t\t? resolveActionMessage(action.successMessage, messageContext)\n\t\t\t\t: type === 'failed'\n\t\t\t\t\t? resolveActionMessage(action.errorMessage, messageContext)\n\t\t\t\t\t: undefined;\n\t\tconst event: ActionLifecycleEvent<TPayload, TValues, TResult> = {\n\t\t\t...messageContext,\n\t\t\ttype,\n\t\t\tkey,\n\t\t\tstatus: runState.status,\n\t\t\trunState,\n\t\t\tmessage,\n\t\t};\n\n\t\tif (type === 'started') action.onStart?.(event);\n\t\tif (type === 'succeeded') action.onAfterMutate?.(event);\n\t\tif (type === 'failed') action.onError?.(event);\n\t\tif (type === 'settled') action.onSettled?.(event);\n\n\t\tif (type === 'started') this.feedback?.onStart?.(event as ActionLifecycleEvent);\n\t\tif (type === 'succeeded') this.feedback?.onSuccess?.(event as ActionLifecycleEvent);\n\t\tif (type === 'failed') this.feedback?.onError?.(event as ActionLifecycleEvent);\n\t\tif (type === 'settled') this.feedback?.onSettled?.(event as ActionLifecycleEvent);\n\t}\n\n\tprivate findEntry(key: string): ActionEntry | null {\n\t\tfor (const registration of this.snapshot.registrations) {\n\t\t\tfor (const action of registration.actions) {\n\t\t\t\tif (createActionKey(registration.id, action.id) === key) {\n\t\t\t\t\treturn { key, registration, action };\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate getRunState(key: string): ActionRunState {\n\t\treturn this.snapshot.runStates[key] ?? createRunState('idle');\n\t}\n\n\tprivate setRunState(key: string, state: ActionRunState, shouldPublish = true): void {\n\t\tthis.runStates = {\n\t\t\t...this.runStates,\n\t\t\t[key]: {\n\t\t\t\t...state,\n\t\t\t\terrors: state.errors ?? EMPTY_ERRORS,\n\t\t\t},\n\t\t};\n\t\tif (shouldPublish) this.publish();\n\t}\n\n\tprivate abortAction(key: string): void {\n\t\tconst controller = this.abortControllers.get(key);\n\t\tif (!controller) return;\n\t\tconst previous = this.getRunState(key);\n\t\tthis.runTokens.set(key, (this.runTokens.get(key) ?? 0) + 1);\n\t\tcontroller.abort();\n\t\tthis.abortControllers.delete(key);\n\t\tthis.setRunState(key, createRunState('idle', {\n\t\t\t...previous,\n\t\t\terror: null,\n\t\t\terrors: EMPTY_ERRORS,\n\t\t\tcompletedAt: Date.now(),\n\t\t}), false);\n\t}\n\n\tprivate isCurrentRun(key: string, token: number): boolean {\n\t\treturn this.runTokens.get(key) === token;\n\t}\n\n\tprivate publish(): void {\n\t\tthis.version += 1;\n\t\tthis.snapshot = createSnapshot(\n\t\t\tthis.version,\n\t\t\tthis.registrations,\n\t\t\tthis.runStates,\n\t\t\tthis.active,\n\t\t);\n\t\tfor (const listener of this.listeners) listener();\n\t}\n}\n\nexport function createActionStore(): ActionStore {\n\treturn new ActionStore();\n}\n","import {\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\ttype ReactNode,\n} from 'react';\n\nimport { createActionStore, type ActionStore } from './action-store';\nimport { ACTION_GLOBAL_SCOPE, type ActionProviderProps } from './actions.types';\n\nexport const ActionStoreContext = createContext<ActionStore | null>(null);\nexport const ActionScopeContext = createContext<string | null>(null);\n\nexport function ActionProvider<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>({\n\tactions,\n\tfeedback,\n\tchildren,\n}: ActionProviderProps<TPayload, TValues, TResult>): ReactNode {\n\tconst storeRef = useRef<ActionStore | null>(null);\n\tif (!storeRef.current) {\n\t\tstoreRef.current = createActionStore();\n\t}\n\tconst store = storeRef.current;\n\n\tuseEffect(() => {\n\t\tstore.setFeedback(feedback);\n\t}, [feedback, store]);\n\n\tuseEffect(() => {\n\t\tif (!actions || actions.length === 0) return undefined;\n\t\treturn store.registerActions(actions, { scope: ACTION_GLOBAL_SCOPE });\n\t}, [actions, store]);\n\n\treturn (\n\t\t<ActionStoreContext.Provider value={store}>\n\t\t\t<ActionScopeContext.Provider value={ACTION_GLOBAL_SCOPE}>\n\t\t\t\t{children}\n\t\t\t</ActionScopeContext.Provider>\n\t\t</ActionStoreContext.Provider>\n\t);\n}\n\nexport function useActionStore(): ActionStore {\n\tconst store = useContext(ActionStoreContext);\n\tif (!store) {\n\t\tthrow new Error('Action hooks must be used inside <ActionProvider>.');\n\t}\n\treturn store;\n}\n","import { useContext, useEffect, useSyncExternalStore } from 'react';\n\nimport { ActionScopeContext, useActionStore } from './action-provider';\nimport {\n\tACTION_GLOBAL_SCOPE,\n\ttype ActionDefinition,\n\ttype ActionRegistrationOptions,\n\ttype ActionStoreSnapshot,\n\ttype ActionSurfaceOptions,\n\ttype ResolvedAction,\n\ttype UseActionOptions,\n} from './actions.types';\n\nexport function useActionScope(): string {\n\treturn useContext(ActionScopeContext) ?? ACTION_GLOBAL_SCOPE;\n}\n\nexport function useActionSnapshot(): ActionStoreSnapshot {\n\tconst store = useActionStore();\n\treturn useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);\n}\n\nexport function useRegisterActions<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\tactions: readonly ActionDefinition<TPayload, TValues, TResult>[],\n\toptions: ActionRegistrationOptions = {},\n): void {\n\tconst store = useActionStore();\n\tconst inheritedScope = useActionScope();\n\tconst scope = options.scope ?? inheritedScope;\n\n\tuseEffect(() => {\n\t\tif (actions.length === 0) return undefined;\n\t\treturn store.registerActions(actions, { scope });\n\t}, [actions, scope, store]);\n}\n\nexport function useActionSurface<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\toptions: ActionSurfaceOptions<TPayload>,\n): ResolvedAction<TPayload, TValues, TResult>[] {\n\tconst store = useActionStore();\n\tconst inheritedScope = useActionScope();\n\tconst scope = options.scope ?? inheritedScope;\n\tconst { surface, payload, metadata, includeGlobal } = options;\n\n\tuseActionSnapshot();\n\n\treturn store.selectSurfaceActions<TPayload, TValues, TResult>({\n\t\tsurface,\n\t\tpayload,\n\t\tmetadata,\n\t\tincludeGlobal,\n\t\tscope,\n\t});\n}\n\nexport function useAction<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\tactionId: string,\n\toptions: UseActionOptions<TPayload> = {},\n): ResolvedAction<TPayload, TValues, TResult> | null {\n\tconst store = useActionStore();\n\tconst inheritedScope = useActionScope();\n\tconst scope = options.scope ?? inheritedScope;\n\tconst { payload, metadata, includeGlobal } = options;\n\n\tuseActionSnapshot();\n\n\treturn store.selectAction<TPayload, TValues, TResult>(actionId, {\n\t\tpayload,\n\t\tmetadata,\n\t\tincludeGlobal,\n\t\tscope,\n\t});\n}\n\nexport function useActiveAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(): ResolvedAction<TPayload, TValues, TResult> | null {\n\tconst store = useActionStore();\n\tuseActionSnapshot();\n\n\treturn store.getActiveAction<TPayload, TValues, TResult>();\n}\n","import { type ReactNode } from 'react';\n\nimport { ActionScopeContext } from './action-provider';\nimport { useRegisterActions } from './hooks';\nimport { ACTION_GLOBAL_SCOPE, type ActionScopeProps } from './actions.types';\n\nexport function ActionScope<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>({\n\tscope = ACTION_GLOBAL_SCOPE,\n\tactions,\n\tchildren,\n}: ActionScopeProps<TPayload, TValues, TResult>): ReactNode {\n\tuseRegisterActions(actions, { scope });\n\n\treturn (\n\t\t<ActionScopeContext.Provider value={scope}>\n\t\t\t{children}\n\t\t</ActionScopeContext.Provider>\n\t);\n}\n","import type { ActionOverlayStrings } from './actions.types';\n\nexport const defaultActionOverlayStrings: ActionOverlayStrings = {\n\tconfirm: 'Confirm',\n\tcancel: 'Cancel',\n};\n","import { type ReactNode } from 'react';\n\nimport {\n\tAlertDialog,\n\tDialog,\n\tDrawer,\n\ttype ButtonVariant,\n\ttype DrawerDirection,\n\ttype OverlaySize,\n\ttype OverlayTone,\n} from '@/components/features/overlays';\nimport { useStrings } from '@/lib/strings';\n\nimport { resolveActionMessage } from './action-store';\nimport { defaultActionOverlayStrings } from './actions.strings';\nimport { useActiveAction } from './hooks';\nimport type {\n\tActionDrawerDirection,\n\tActionOverlayOutletProps,\n\tActionOverlaySize,\n\tActionTone,\n} from './actions.types';\n\nfunction mapTone(tone?: ActionTone): OverlayTone {\n\tif (tone === 'destructive') return 'error';\n\treturn tone ?? 'default';\n}\n\nfunction mapButtonVariant(tone?: ActionTone): ButtonVariant {\n\tif (tone === 'destructive' || tone === 'error') return 'error';\n\tif (tone === 'warning') return 'warning';\n\tif (tone === 'success') return 'success';\n\treturn 'primary';\n}\n\nfunction mapSize(size?: ActionOverlaySize): OverlaySize {\n\treturn size ?? 'lg';\n}\n\nfunction mapDirection(direction?: ActionDrawerDirection): DrawerDirection {\n\treturn direction ?? 'right';\n}\n\nexport function ActionOverlayOutlet({\n\tstrings: stringsProp,\n}: ActionOverlayOutletProps): ReactNode {\n\tconst active = useActiveAction();\n\tconst strings = useStrings(defaultActionOverlayStrings, stringsProp);\n\n\tif (!active) return null;\n\n\tconst modality = active.definition.modality;\n\tif (!modality || modality === 'none') return null;\n\n\tconst messageContext = {\n\t\taction: active.definition,\n\t\tactionId: active.id,\n\t\tscope: active.scope,\n\t\tpayload: active.payload,\n\t\tvalues: active.values,\n\t\tmetadata: active.metadata,\n\t\tstatus: active.status,\n\t\terrors: active.errors,\n\t\tresult: active.result,\n\t\terror: active.error,\n\t};\n\tconst title = resolveActionMessage(modality.title, messageContext);\n\tconst description = resolveActionMessage(modality.description, messageContext);\n\tconst confirm = resolveActionMessage(modality.confirmLabel, messageContext) ?? strings.confirm;\n\tconst cancel = resolveActionMessage(modality.cancelLabel, messageContext) ?? strings.cancel;\n\tconst alertMessage = resolveActionMessage(modality.alertMessage, messageContext);\n\tconst overlayTone = mapTone(modality.tone);\n\tconst confirmVariant = mapButtonVariant(modality.tone);\n\tconst isEmphasized = overlayTone !== 'default';\n\tconst emphasis = modality.emphasis ?? isEmphasized;\n\tconst showIcon = modality.showIcon ?? isEmphasized;\n\tconst closeOnBackdropClick =\n\t\tmodality.closeOnBackdropClick ?? (modality.type === 'alert' ? false : true);\n\n\tconst content = modality.render?.({\n\t\taction: active.definition,\n\t\tactionId: active.id,\n\t\tscope: active.scope,\n\t\tpayload: active.payload,\n\t\tvalues: active.values,\n\t\tmetadata: active.metadata,\n\t\tformId: modality.formId,\n\t\tstatus: active.status,\n\t\tisIdle: active.isIdle,\n\t\tisRunning: active.isRunning,\n\t\tisSuccess: active.isSuccess,\n\t\tisError: active.isError,\n\t\tresult: active.result,\n\t\terror: active.error,\n\t\terrors: active.errors,\n\t\tclose: active.close,\n\t\tsubmit: (values) => active.submit(values),\n\t\tgetFormProps: (options) => ({\n\t\t\tid: modality.formId,\n\t\t\tonSubmit: async (event) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst values = options?.resolveValues\n\t\t\t\t\t? await options.resolveValues(new FormData(event.currentTarget), event)\n\t\t\t\t\t: undefined;\n\t\t\t\tawait active.submit(values);\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst commonProps = {\n\t\topen: true,\n\t\tonOpenChange: (open: boolean) => {\n\t\t\tif (!open) active.close();\n\t\t},\n\t\ttitle,\n\t\tdescription,\n\t\tvisuallyHideHeader: modality.visuallyHideHeader,\n\t\tclassName: modality.className,\n\t\tcontentClassName: modality.contentClassName,\n\t\tinitialFocusRef: modality.initialFocusRef,\n\t\tcloseOnEscape: modality.closeOnEscape,\n\t\tisLoading: active.isRunning,\n\t\tshowCancel: modality.showCancel ?? true,\n\t\tshowConfirm: modality.showConfirm ?? true,\n\t\tformId: modality.formId,\n\t\tfooter: modality.footer,\n\t\tonCancel: active.close,\n\t\tonAsyncConfirm: modality.formId\n\t\t\t? undefined\n\t\t\t: async () => {\n\t\t\t\t\tawait active.submit();\n\t\t\t\t},\n\t\tcloseOnAsyncComplete: false,\n\t\tconfirmVariant,\n\t\tconfirmStyle: modality.confirmStyle,\n\t\tcloseOnBackdropClick,\n\t\tstrings: {\n\t\t\tconfirm,\n\t\t\tcancel,\n\t\t},\n\t};\n\n\tif (modality.type === 'alert') {\n\t\treturn (\n\t\t\t<AlertDialog\n\t\t\t\t{...commonProps}\n\t\t\t\ttone={overlayTone}\n\t\t\t\tshowIcon={showIcon}\n\t\t\t\talertMessage={alertMessage}\n\t\t\t\tdestructive={overlayTone === 'error'}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</AlertDialog>\n\t\t);\n\t}\n\n\tif (modality.type === 'drawer') {\n\t\treturn (\n\t\t\t<Drawer\n\t\t\t\t{...commonProps}\n\t\t\t\ttone={overlayTone}\n\t\t\t\temphasis={emphasis}\n\t\t\t\tshowIcon={showIcon}\n\t\t\t\talertMessage={alertMessage}\n\t\t\t\twidth={mapSize(modality.size)}\n\t\t\t\tdirection={mapDirection(modality.drawerDirection)}\n\t\t\t\tshowFooter={modality.showFooter ?? true}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</Drawer>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Dialog\n\t\t\t{...commonProps}\n\t\t\ttone={overlayTone}\n\t\t\temphasis={emphasis}\n\t\t\tshowIcon={showIcon}\n\t\t\talertMessage={alertMessage}\n\t\t\tsize={mapSize(modality.size)}\n\t\t>\n\t\t\t{content}\n\t\t</Dialog>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/services/actions/actions.types.ts","../../../src/services/actions/action-store.ts","../../../src/services/actions/action-provider.tsx","../../../src/services/actions/hooks.ts","../../../src/services/actions/action-scope.tsx","../../../src/services/actions/actions.strings.ts","../../../src/services/actions/action-overlay-outlet.tsx","../../../src/services/actions/action-adapters.ts"],"sourcesContent":["import type {\n\tComponentType,\n\tFormEvent,\n\tFormEventHandler,\n\tReactNode,\n\tRefObject,\n} from 'react';\n\nimport type { StringsProp } from '@/lib/strings';\n\nexport const ACTION_GLOBAL_SCOPE = '__global__';\n\nexport type ActionSurface =\n\t| 'page'\n\t| 'table'\n\t| 'table-row'\n\t| 'card'\n\t| 'command'\n\t| (string & {});\n\nexport type ActionPlacement = 'auto' | 'inline' | 'menu';\nexport type ActionModalityType = 'alert' | 'dialog' | 'drawer';\nexport type ActionTone = 'default' | 'error' | 'warning' | 'info' | 'success' | 'destructive';\nexport type ActionStatus = 'idle' | 'running' | 'succeeded' | 'failed';\nexport type ActionButtonStyle = 'solid' | 'outline';\nexport type ActionOverlaySize =\n\t| 'xs'\n\t| 'sm'\n\t| 'md'\n\t| 'lg'\n\t| 'xl'\n\t| '2xl'\n\t| '3xl'\n\t| '4xl'\n\t| '5xl'\n\t| 'full';\nexport type ActionDrawerDirection = 'left' | 'right' | 'top' | 'bottom';\nexport type ActionRequestMethod =\n\t| 'get'\n\t| 'post'\n\t| 'put'\n\t| 'patch'\n\t| 'delete';\n\nexport type ActionRequestTarget =\n\t| { type: 'url'; url: string }\n\t| { type: 'named'; name: string; params?: unknown };\n\nexport type ActionFieldErrors = Record<string, string | string[]>;\nexport type ActionMetadata = Record<string, unknown>;\ntype BivariantCallback<TArgs extends readonly unknown[], TResult> = {\n\tbivarianceHack(...args: TArgs): TResult;\n}['bivarianceHack'];\n\nexport interface ActionContext<TPayload = unknown> {\n\tactionId: string;\n\tscope: string;\n\tsurface?: ActionSurface;\n\tpayload: TPayload | undefined;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface ActionGuardContext<TPayload = unknown>\n\textends ActionContext<TPayload> {\n\taction: ActionDefinition;\n}\n\nexport interface ActionMessageContext<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> extends ActionContext<TPayload> {\n\taction: ActionDefinition;\n\tvalues: TValues | undefined;\n\tstatus?: ActionStatus;\n\terrors?: ActionFieldErrors;\n\tresult?: TResult;\n\terror?: unknown;\n}\n\nexport type ActionMessage<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> =\n\t| string\n\t| BivariantCallback<\n\t\t\t[context: ActionMessageContext<TPayload, TValues, TResult>],\n\t\t\tstring | null | undefined\n\t >;\n\nexport interface ActionRunContext<TPayload = unknown, TValues = unknown>\n\textends ActionContext<TPayload> {\n\taction: ActionDefinition;\n\tvalues: TValues | undefined;\n\tsignal: AbortSignal;\n}\n\nexport interface ActionErrorParseContext<TPayload = unknown, TValues = unknown>\n\textends ActionRunContext<TPayload, TValues> {\n\terror: unknown;\n}\n\nexport interface ActionRenderContext<TPayload = unknown, TValues = unknown>\n\textends ActionContext<TPayload> {\n\taction: ActionDefinition;\n\tvalues: TValues | undefined;\n\tformId?: string;\n\tstatus: ActionStatus;\n\tisIdle: boolean;\n\tisRunning: boolean;\n\tisSuccess: boolean;\n\tisError: boolean;\n\tresult: unknown;\n\terror: unknown;\n\terrors: ActionFieldErrors;\n\tclose: () => void;\n\tsubmit: (values?: TValues) => Promise<unknown>;\n\tgetFormProps: (options?: ActionFormSubmitOptions<TValues>) => ActionFormProps;\n}\n\nexport interface ActionFormSubmitOptions<TValues = unknown> {\n\tresolveValues?: (\n\t\tformData: FormData,\n\t\tevent: FormEvent<HTMLFormElement>,\n\t) => TValues | Promise<TValues>;\n}\n\nexport interface ActionFormProps {\n\tid?: string;\n\tonSubmit: FormEventHandler<HTMLFormElement>;\n}\n\nexport type ActionRequestValue<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTValue = unknown,\n> =\n\t| TValue\n\t| BivariantCallback<\n\t\t\t[context: ActionRunContext<TPayload, TValues>],\n\t\t\tTValue\n\t >;\n\nexport interface ActionRequestConfig<\n\tTPayload = unknown,\n\tTValues = unknown,\n> {\n\tmethod: ActionRequestMethod;\n\ttarget?: ActionRequestValue<TPayload, TValues, ActionRequestTarget>;\n\t/** @deprecated Prefer `target: { type: 'url', url }`. */\n\turl?: ActionRequestValue<TPayload, TValues, string>;\n\t/** @deprecated Prefer `target: { type: 'named', name, params }`. */\n\troute?: ActionRequestValue<TPayload, TValues, string>;\n\t/** @deprecated Prefer `target: { type: 'named', name, params }`. */\n\tparams?: ActionRequestValue<TPayload, TValues, unknown>;\n\tdata?: ActionRequestValue<TPayload, TValues, unknown>;\n\theaders?: ActionRequestValue<\n\t\tTPayload,\n\t\tTValues,\n\t\tRecord<string, string>\n\t>;\n\toptions?: ActionRequestValue<\n\t\tTPayload,\n\t\tTValues,\n\t\tRecord<string, unknown>\n\t>;\n}\n\nexport interface ResolvedActionRequest {\n\tmethod: ActionRequestMethod;\n\ttarget?: ActionRequestTarget;\n\t/** @deprecated Prefer `target: { type: 'url', url }`. */\n\turl?: string;\n\t/** @deprecated Prefer `target: { type: 'named', name, params }`. */\n\troute?: string;\n\t/** @deprecated Prefer `target: { type: 'named', name, params }`. */\n\tparams?: unknown;\n\tdata?: unknown;\n\theaders?: Record<string, string>;\n\toptions?: Record<string, unknown>;\n}\n\nexport type ActionRequestRunner<TResult = unknown> = BivariantCallback<\n\t[\n\t\trequest: ResolvedActionRequest,\n\t\tcontext: ActionRunContext,\n\t],\n\tTResult | Promise<TResult>\n>;\n\nexport interface ParsedActionError {\n\tfieldErrors?: ActionFieldErrors;\n\tmessage?: string;\n}\n\nexport type ActionErrorParser = BivariantCallback<\n\t[\n\t\terror: unknown,\n\t\tcontext: ActionErrorParseContext,\n\t],\n\tParsedActionError | ActionFieldErrors | string | null | undefined\n>;\n\nexport interface ActionModalityConfig<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> {\n\ttype: ActionModalityType;\n\ttitle: ActionMessage<TPayload, TValues, TResult>;\n\tdescription?: ActionMessage<TPayload, TValues, TResult>;\n\tconfirmLabel?: ActionMessage<TPayload, TValues, TResult>;\n\tcancelLabel?: ActionMessage<TPayload, TValues, TResult>;\n\ttone?: ActionTone;\n\tsize?: ActionOverlaySize;\n\tdrawerDirection?: ActionDrawerDirection;\n\tformId?: string;\n\tshowCancel?: boolean;\n\tshowConfirm?: boolean;\n\tshowIcon?: boolean;\n\temphasis?: boolean;\n\tshowFooter?: boolean;\n\tvisuallyHideHeader?: boolean;\n\tclassName?: string;\n\tcontentClassName?: string;\n\tinitialFocusRef?: RefObject<HTMLElement>;\n\tcloseOnEscape?: boolean;\n\tcloseOnSuccess?: boolean;\n\tcloseOnBackdropClick?: boolean;\n\tconfirmStyle?: ActionButtonStyle;\n\tfooter?: ReactNode;\n\talertMessage?: ActionMessage<TPayload, TValues, TResult>;\n\trender?: BivariantCallback<\n\t\t[context: ActionRenderContext<TPayload, TValues>],\n\t\tReactNode\n\t>;\n}\n\nexport type ActionPredicate<TPayload = unknown> =\n\t| boolean\n\t| BivariantCallback<[context: ActionContext<TPayload>], boolean>;\n\nexport type ActionPermission = string | readonly string[];\nexport type ActionRoles = string | readonly string[];\n\nexport interface ActionDefinition<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> {\n\tid: string;\n\tlabel: ReactNode;\n\tsearchLabel?: string;\n\ticon?: ComponentType<{ className?: string }>;\n\tsurfaces?: readonly ActionSurface[];\n\tgroup?: string;\n\tplacement?: ActionPlacement;\n\torder?: number;\n\tvisible?: ActionPredicate<TPayload>;\n\tdisabled?: ActionPredicate<TPayload>;\n\tpermission?: ActionPermission;\n\troles?: ActionRoles;\n\tmodality?: 'none' | ActionModalityConfig<TPayload, TValues, TResult>;\n\trequest?: ActionRequestConfig<TPayload, TValues>;\n\trequestRunner?: ActionRequestRunner<TResult>;\n\trun?: BivariantCallback<\n\t\t[context: ActionRunContext<TPayload, TValues>],\n\t\tTResult | Promise<TResult>\n\t>;\n\tparseErrors?: ActionErrorParser;\n\tsuccessMessage?: ActionMessage<TPayload, TValues, TResult>;\n\terrorMessage?: ActionMessage<TPayload, TValues, TResult>;\n\tonStart?: BivariantCallback<\n\t\t[event: ActionLifecycleEvent<TPayload, TValues, TResult>],\n\t\tvoid\n\t>;\n\tonAfterMutate?: BivariantCallback<\n\t\t[event: ActionLifecycleEvent<TPayload, TValues, TResult>],\n\t\tvoid\n\t>;\n\tonError?: BivariantCallback<\n\t\t[event: ActionLifecycleEvent<TPayload, TValues, TResult>],\n\t\tvoid\n\t>;\n\tonSettled?: BivariantCallback<\n\t\t[event: ActionLifecycleEvent<TPayload, TValues, TResult>],\n\t\tvoid\n\t>;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface ActionRegistrationOptions {\n\tscope?: string;\n}\n\nexport interface ActionRegistration {\n\tid: string;\n\tscope: string;\n\torder: number;\n\tactions: readonly ActionDefinition[];\n}\n\nexport interface ActionSurfaceOptions<TPayload = unknown> {\n\tsurface: ActionSurface;\n\tscope?: string;\n\tincludeGlobal?: boolean;\n\tpayload?: TPayload;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface UseActionOptions<TPayload = unknown> {\n\tscope?: string;\n\tincludeGlobal?: boolean;\n\tpayload?: TPayload;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface ActionRunState {\n\tstatus: ActionStatus;\n\tisIdle: boolean;\n\tisRunning: boolean;\n\tisSuccess: boolean;\n\tisError: boolean;\n\terror: unknown;\n\terrors: ActionFieldErrors;\n\tmessage?: string;\n\tresult?: unknown;\n\tpayload?: unknown;\n\tvalues?: unknown;\n\tmetadata?: ActionMetadata;\n\tstartedAt?: number;\n\tcompletedAt?: number;\n}\n\nexport interface ActiveActionState {\n\tkey: string;\n\tactionId: string;\n\tscope: string;\n\tpayload?: unknown;\n\tvalues?: unknown;\n\tmetadata?: ActionMetadata;\n}\n\nexport interface ActionStoreSnapshot {\n\tversion: number;\n\tregistrations: readonly ActionRegistration[];\n\trunStates: Readonly<Record<string, ActionRunState>>;\n\tactive: ActiveActionState | null;\n}\n\nexport interface ResolvedAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> {\n\tkey: string;\n\tid: string;\n\tscope: string;\n\tlabel: ReactNode;\n\tsearchLabel: string;\n\ticon?: ComponentType<{ className?: string }>;\n\tgroup?: string;\n\tplacement: ActionPlacement;\n\torder: number;\n\tsurface?: ActionSurface;\n\tvisible: boolean;\n\tdisabled: boolean;\n\tstatus: ActionStatus;\n\tisIdle: boolean;\n\tisRunning: boolean;\n\tisSuccess: boolean;\n\tisError: boolean;\n\terror: unknown;\n\terrors: ActionFieldErrors;\n\tmessage?: string;\n\tresult: TResult | undefined;\n\trunState: ActionRunState;\n\tpayload: TPayload | undefined;\n\tvalues: TValues | undefined;\n\tmetadata?: ActionMetadata;\n\tstartedAt?: number;\n\tcompletedAt?: number;\n\tdefinition: ActionDefinition<TPayload, TValues, TResult>;\n\topen: (payload?: TPayload, metadata?: ActionMetadata) => void;\n\texecute: (\n\t\tvalues?: TValues,\n\t\tpayload?: TPayload,\n\t\tmetadata?: ActionMetadata,\n\t) => Promise<TResult | undefined>;\n\tclose: () => void;\n\tsubmit: (values?: TValues) => Promise<TResult | undefined>;\n}\n\nexport type ActionLifecycleType = 'started' | 'succeeded' | 'failed' | 'settled';\n\nexport interface ActionLifecycleEvent<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> extends ActionMessageContext<TPayload, TValues, TResult> {\n\ttype: ActionLifecycleType;\n\tkey: string;\n\tstatus: ActionStatus;\n\trunState: ActionRunState;\n\tmessage?: string;\n}\n\nexport interface ActionFeedbackHandlers {\n\tonStart?: (event: ActionLifecycleEvent) => void;\n\tonSuccess?: (event: ActionLifecycleEvent) => void;\n\tonError?: (event: ActionLifecycleEvent) => void;\n\tonSettled?: (event: ActionLifecycleEvent) => void;\n}\n\nexport interface ActionGuards {\n\tcan?: (\n\t\tpermission: string,\n\t\tcontext: ActionGuardContext,\n\t) => boolean;\n\thasAnyRole?: (\n\t\troles: readonly string[],\n\t\tcontext: ActionGuardContext,\n\t) => boolean;\n}\n\nexport interface ActionRuntimeGlue {\n\trequestRunner?: ActionRequestRunner;\n\tparseErrors?: ActionErrorParser;\n\tguards?: ActionGuards;\n\tfeedback?: ActionFeedbackHandlers;\n\tonOverlayOpenChange?: (\n\t\topen: boolean,\n\t\tsnapshot: ActionStoreSnapshot,\n\t) => void;\n\tonRunningChange?: (\n\t\trunning: boolean,\n\t\tsnapshot: ActionStoreSnapshot,\n\t) => void;\n}\n\nexport interface ActionProviderProps<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> {\n\tactions?: readonly ActionDefinition<TPayload, TValues, TResult>[];\n\truntime?: ActionRuntimeGlue;\n\tfeedback?: ActionFeedbackHandlers;\n\tguards?: ActionGuards;\n\tparseErrors?: ActionErrorParser;\n\trequestRunner?: ActionRequestRunner;\n\tonOverlayOpenChange?: (\n\t\topen: boolean,\n\t\tsnapshot: ActionStoreSnapshot,\n\t) => void;\n\tonRunningChange?: (\n\t\trunning: boolean,\n\t\tsnapshot: ActionStoreSnapshot,\n\t) => void;\n\tchildren: ReactNode;\n}\n\nexport interface ActionScopeProps<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n> extends ActionRegistrationOptions {\n\tactions: readonly ActionDefinition<TPayload, TValues, TResult>[];\n\tchildren: ReactNode;\n}\n\nexport interface ActionOverlayStrings {\n\tconfirm: string;\n\tcancel: string;\n}\n\nexport interface ActionOverlayOutletProps {\n\tstrings?: StringsProp<ActionOverlayStrings>;\n}\n\nexport interface ActionEntry {\n\tkey: string;\n\tregistration: ActionRegistration;\n\taction: ActionDefinition;\n}\n\nexport interface UseLocalActionOptions<TPayload = unknown>\n\textends UseActionOptions<TPayload> {\n\tscope?: string;\n}\n","import {\n\tACTION_GLOBAL_SCOPE,\n\ttype ActionContext,\n\ttype ActionDefinition,\n\ttype ActionEntry,\n\ttype ActionErrorParseContext,\n\ttype ActionErrorParser,\n\ttype ActionFeedbackHandlers,\n\ttype ActionFieldErrors,\n\ttype ActionGuards,\n\ttype ActionLifecycleEvent,\n\ttype ActionLifecycleType,\n\ttype ActionMessage,\n\ttype ActionMessageContext,\n\ttype ActionMetadata,\n\ttype ActionRegistration,\n\ttype ActionRegistrationOptions,\n\ttype ActionRequestConfig,\n\ttype ActionRequestTarget,\n\ttype ActionRequestRunner,\n\ttype ActionRunContext,\n\ttype ActionRunState,\n\ttype ActionStatus,\n\ttype ParsedActionError,\n\ttype ResolvedActionRequest,\n\ttype ActionStoreSnapshot,\n\ttype ActionSurfaceOptions,\n\ttype ResolvedAction,\n\ttype UseActionOptions,\n} from './actions.types';\n\nconst EMPTY_ERRORS: ActionFieldErrors = Object.freeze({});\n\nlet nextRegistrationId = 0;\n\nfunction createRunState(\n\tstatus: ActionStatus,\n\tstate: Omit<\n\t\tPartial<ActionRunState>,\n\t\t'status' | 'isIdle' | 'isRunning' | 'isSuccess' | 'isError'\n\t> = {},\n): ActionRunState {\n\treturn {\n\t\t...state,\n\t\tstatus,\n\t\tisIdle: status === 'idle',\n\t\tisRunning: status === 'running',\n\t\tisSuccess: status === 'succeeded',\n\t\tisError: status === 'failed',\n\t\terror: state.error ?? null,\n\t\terrors: state.errors ?? EMPTY_ERRORS,\n\t};\n}\n\nfunction mergeMetadata(\n\tbase?: ActionMetadata,\n\toverride?: ActionMetadata,\n): ActionMetadata | undefined {\n\tif (!base) return override;\n\tif (!override) return base;\n\treturn { ...base, ...override };\n}\n\nfunction createSnapshot(\n\tversion: number,\n\tregistrations: readonly ActionRegistration[],\n\trunStates: Readonly<Record<string, ActionRunState>>,\n\tactive: ActionStoreSnapshot['active'],\n): ActionStoreSnapshot {\n\treturn Object.freeze({\n\t\tversion,\n\t\tregistrations: Object.freeze([...registrations]),\n\t\trunStates: Object.freeze({ ...runStates }),\n\t\tactive: active ? Object.freeze({ ...active }) : null,\n\t});\n}\n\nfunction resolveScope(scope?: string): string {\n\tconst trimmed = scope?.trim();\n\treturn trimmed ? trimmed : ACTION_GLOBAL_SCOPE;\n}\n\nfunction createActionKey(registrationId: string, actionId: string): string {\n\treturn `${registrationId}:${actionId}`;\n}\n\nfunction getDefaultSurfaces(action: ActionDefinition): readonly string[] {\n\treturn action.surfaces ?? ['page'];\n}\n\nfunction evaluatePredicate<TPayload>(\n\tpredicate: ActionDefinition<TPayload>['visible'],\n\tcontext: ActionContext<TPayload>,\n\tfallback: boolean,\n): boolean {\n\tif (predicate === undefined) return fallback;\n\tif (typeof predicate === 'function') return predicate(context);\n\treturn predicate;\n}\n\nfunction resolveSearchLabel(action: ActionDefinition): string {\n\tif (action.searchLabel) return action.searchLabel;\n\tif (typeof action.label === 'string') return action.label;\n\treturn action.id;\n}\n\nfunction toStringArray(value: string | readonly string[] | undefined): readonly string[] {\n\tif (!value) return [];\n\treturn Array.isArray(value) ? value : [value as string];\n}\n\nfunction isActionFieldErrors(value: unknown): value is ActionFieldErrors {\n\tif (!value || typeof value !== 'object' || Array.isArray(value)) return false;\n\treturn Object.values(value).every((item) =>\n\t\ttypeof item === 'string' ||\n\t\t(Array.isArray(item) && item.every((child) => typeof child === 'string')),\n\t);\n}\n\nfunction normalizeParsedError(\n\tparsed: ParsedActionError | ActionFieldErrors | string | null | undefined,\n\terror: unknown,\n): ParsedActionError {\n\tif (typeof parsed === 'string') return { message: parsed };\n\tif (parsed && typeof parsed === 'object') {\n\t\tif ('fieldErrors' in parsed || 'message' in parsed) {\n\t\t\tconst maybeParsed = parsed as ParsedActionError;\n\t\t\treturn {\n\t\t\t\tfieldErrors: maybeParsed.fieldErrors ?? extractActionFieldErrors(error),\n\t\t\t\tmessage: typeof maybeParsed.message === 'string' ? maybeParsed.message : undefined,\n\t\t\t};\n\t\t}\n\t\tif (isActionFieldErrors(parsed)) {\n\t\t\treturn { fieldErrors: parsed };\n\t\t}\n\t}\n\treturn { fieldErrors: extractActionFieldErrors(error) };\n}\n\nfunction resolveRequestValue<TPayload, TValues, TValue>(\n\tvalue:\n\t\t| TValue\n\t\t| ((context: ActionRunContext<TPayload, TValues>) => TValue)\n\t\t| undefined,\n\tcontext: ActionRunContext<TPayload, TValues>,\n): TValue | undefined {\n\tif (typeof value === 'function') {\n\t\treturn (value as (context: ActionRunContext<TPayload, TValues>) => TValue)(context);\n\t}\n\treturn value;\n}\n\nexport function extractActionFieldErrors(error: unknown): ActionFieldErrors {\n\tif (!error || typeof error !== 'object') return EMPTY_ERRORS;\n\tconst maybeErrors = (error as { errors?: unknown }).errors;\n\tif (!maybeErrors || typeof maybeErrors !== 'object' || Array.isArray(maybeErrors)) {\n\t\treturn EMPTY_ERRORS;\n\t}\n\n\tconst result: ActionFieldErrors = {};\n\tfor (const [key, value] of Object.entries(maybeErrors)) {\n\t\tif (typeof value === 'string') {\n\t\t\tresult[key] = value;\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(value) && value.every((item) => typeof item === 'string')) {\n\t\t\tresult[key] = value;\n\t\t}\n\t}\n\treturn Object.keys(result).length > 0 ? result : EMPTY_ERRORS;\n}\n\nexport function resolveActionMessage<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\tmessage: ActionMessage<TPayload, TValues, TResult> | undefined,\n\tcontext: ActionMessageContext<TPayload, TValues, TResult>,\n): string | undefined {\n\tif (message === undefined) return undefined;\n\tif (typeof message === 'function') {\n\t\tconst resolved = message(context);\n\t\treturn resolved ?? undefined;\n\t}\n\treturn message;\n}\n\nexport function resolveActionRequest<TPayload = unknown, TValues = unknown>(\n\trequest: ActionRequestConfig<TPayload, TValues>,\n\tcontext: ActionRunContext<TPayload, TValues>,\n): ResolvedActionRequest {\n\tconst url = resolveRequestValue(request.url, context);\n\tconst route = resolveRequestValue(request.route, context);\n\tconst params = resolveRequestValue(request.params, context);\n\tconst target =\n\t\tresolveRequestValue(request.target, context) ??\n\t\tresolveLegacyRequestTarget(url, route, params);\n\n\treturn {\n\t\tmethod: request.method,\n\t\ttarget,\n\t\turl,\n\t\troute,\n\t\tparams,\n\t\tdata: resolveRequestValue(request.data, context),\n\t\theaders: resolveRequestValue(request.headers, context),\n\t\toptions: resolveRequestValue(request.options, context),\n\t};\n}\n\nfunction resolveLegacyRequestTarget(\n\turl: string | undefined,\n\troute: string | undefined,\n\tparams: unknown,\n): ActionRequestTarget | undefined {\n\tif (url) return { type: 'url', url };\n\tif (route) return { type: 'named', name: route, params };\n\treturn undefined;\n}\n\nexport function parseActionError<TPayload = unknown, TValues = unknown>(\n\terror: unknown,\n\tcontext: ActionErrorParseContext<TPayload, TValues>,\n\tparser?: ActionErrorParser,\n): ParsedActionError {\n\tconst parsed = parser?.(error, context as ActionErrorParseContext);\n\treturn normalizeParsedError(parsed, error);\n}\n\nexport class ActionStore {\n\tprivate registrations: ActionRegistration[] = [];\n\tprivate runStates: Record<string, ActionRunState> = {};\n\tprivate active: ActionStoreSnapshot['active'] = null;\n\tprivate version = 0;\n\tprivate snapshot: ActionStoreSnapshot = createSnapshot(0, [], {}, null);\n\tprivate readonly listeners = new Set<() => void>();\n\tprivate feedback: ActionFeedbackHandlers | undefined;\n\tprivate guards: ActionGuards | undefined;\n\tprivate errorParser: ActionErrorParser | undefined;\n\tprivate requestRunner: ActionRequestRunner | undefined;\n\tprivate readonly abortControllers = new Map<string, AbortController>();\n\tprivate readonly runTokens = new Map<string, number>();\n\n\tsubscribe = (listener: () => void): (() => void) => {\n\t\tthis.listeners.add(listener);\n\t\treturn () => this.listeners.delete(listener);\n\t};\n\n\tgetSnapshot = (): ActionStoreSnapshot => this.snapshot;\n\n\tsetFeedback(feedback?: ActionFeedbackHandlers): void {\n\t\tthis.feedback = feedback;\n\t}\n\n\tsetOptions(options: {\n\t\tfeedback?: ActionFeedbackHandlers;\n\t\tguards?: ActionGuards;\n\t\tparseErrors?: ActionErrorParser;\n\t\trequestRunner?: ActionRequestRunner;\n\t}): void {\n\t\tconst shouldPublish =\n\t\t\tthis.feedback !== options.feedback ||\n\t\t\tthis.guards !== options.guards ||\n\t\t\tthis.errorParser !== options.parseErrors ||\n\t\t\tthis.requestRunner !== options.requestRunner;\n\t\tthis.feedback = options.feedback;\n\t\tthis.guards = options.guards;\n\t\tthis.errorParser = options.parseErrors;\n\t\tthis.requestRunner = options.requestRunner;\n\t\tif (shouldPublish) this.publish();\n\t}\n\n\tregisterActions<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\t\tactions: readonly ActionDefinition<TPayload, TValues, TResult>[],\n\t\toptions: ActionRegistrationOptions = {},\n\t): () => void {\n\t\tif (actions.length === 0) return () => undefined;\n\n\t\tconst registration: ActionRegistration = {\n\t\t\tid: `registration-${nextRegistrationId++}`,\n\t\t\tscope: resolveScope(options.scope),\n\t\t\torder: this.registrations.length,\n\t\t\tactions: actions as readonly ActionDefinition[],\n\t\t};\n\n\t\tthis.registrations = [...this.registrations, registration];\n\t\tthis.publish();\n\n\t\treturn () => {\n\t\t\tthis.registrations = this.registrations.filter((item) => item.id !== registration.id);\n\t\t\tconst removedKeys = registration.actions.map((action) =>\n\t\t\t\tcreateActionKey(registration.id, action.id),\n\t\t\t);\n\t\t\tfor (const key of removedKeys) {\n\t\t\t\tthis.abortAction(key);\n\t\t\t\tdelete this.runStates[key];\n\t\t\t}\n\t\t\tif (this.active && removedKeys.includes(this.active.key)) {\n\t\t\t\tthis.active = null;\n\t\t\t}\n\t\t\tthis.publish();\n\t\t};\n\t}\n\n\tselectSurfaceActions<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\t\toptions: ActionSurfaceOptions<TPayload>,\n\t): ResolvedAction<TPayload, TValues, TResult>[] {\n\t\tconst entries = this.getEntriesForScope(options.scope, options.includeGlobal);\n\t\tconst result: ResolvedAction<TPayload, TValues, TResult>[] = [];\n\n\t\tfor (const entry of entries) {\n\t\t\tconst surfaces = getDefaultSurfaces(entry.action);\n\t\t\tif (!surfaces.includes(options.surface)) continue;\n\n\t\t\tconst resolved = this.resolveEntry<TPayload, TValues, TResult>(entry, {\n\t\t\t\tsurface: options.surface,\n\t\t\t\tpayload: options.payload,\n\t\t\t\tmetadata: options.metadata,\n\t\t\t});\n\t\t\tif (resolved.visible) result.push(resolved);\n\t\t}\n\n\t\treturn result.sort((a, b) => a.order - b.order || a.id.localeCompare(b.id));\n\t}\n\n\tselectAction<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\t\tactionId: string,\n\t\toptions: UseActionOptions<TPayload> = {},\n\t): ResolvedAction<TPayload, TValues, TResult> | null {\n\t\tconst entries = this.getEntriesForScope(options.scope, options.includeGlobal);\n\t\tfor (let index = entries.length - 1; index >= 0; index -= 1) {\n\t\t\tconst entry = entries[index];\n\t\t\tif (entry.action.id !== actionId) continue;\n\t\t\tconst resolved = this.resolveEntry<TPayload, TValues, TResult>(entry, {\n\t\t\t\tpayload: options.payload,\n\t\t\t\tmetadata: options.metadata,\n\t\t\t});\n\t\t\treturn resolved.visible ? resolved : null;\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetActiveAction<TPayload = unknown, TValues = unknown, TResult = unknown>():\n\t\t| ResolvedAction<TPayload, TValues, TResult>\n\t\t| null {\n\t\tconst active = this.snapshot.active;\n\t\tif (!active) return null;\n\t\tconst entry = this.findEntry(active.key);\n\t\tif (!entry) return null;\n\t\treturn this.resolveEntry<TPayload, TValues, TResult>(entry, {\n\t\t\tpayload: active.payload as TPayload | undefined,\n\t\t\tmetadata: active.metadata,\n\t\t});\n\t}\n\n\topenAction<TPayload = unknown>(key: string, payload?: TPayload, metadata?: ActionMetadata): void {\n\t\tconst entry = this.findEntry(key);\n\t\tif (!entry) return;\n\t\tif (this.isEntryDisabled(entry, payload, metadata)) return;\n\n\t\tif (!entry.action.modality || entry.action.modality === 'none') {\n\t\t\tvoid this.executeAction(key, { payload, metadata });\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = {\n\t\t\tkey,\n\t\t\tactionId: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tpayload,\n\t\t\tmetadata,\n\t\t};\n\t\tthis.setRunState(key, createRunState('idle', {\n\t\t\terror: null,\n\t\t\terrors: EMPTY_ERRORS,\n\t\t\tmessage: undefined,\n\t\t\tpayload,\n\t\t\tvalues: undefined,\n\t\t\tmetadata: mergeMetadata(entry.action.metadata, metadata),\n\t\t}), false);\n\t\tthis.publish();\n\t}\n\n\tcloseActive(options: { abort?: boolean } = {}): void {\n\t\tconst active = this.active;\n\t\tif (!active) return;\n\t\tif (options.abort !== false) {\n\t\t\tthis.abortAction(active.key);\n\t\t}\n\t\tthis.active = null;\n\t\tthis.publish();\n\t}\n\n\tasync submitActive<TValues = unknown, TResult = unknown>(\n\t\tvalues?: TValues,\n\t): Promise<TResult | undefined> {\n\t\tconst active = this.active;\n\t\tif (!active) return undefined;\n\t\tthis.active = { ...active, values };\n\t\tthis.publish();\n\t\tconst result = await this.executeAction<unknown, TValues, TResult>(active.key, {\n\t\t\tpayload: active.payload,\n\t\t\tvalues,\n\t\t\tmetadata: active.metadata,\n\t\t});\n\t\tconst entry = this.findEntry(active.key);\n\t\tconst closeOnSuccess =\n\t\t\tentry?.action.modality &&\n\t\t\tentry.action.modality !== 'none' &&\n\t\t\tentry.action.modality.closeOnSuccess === false\n\t\t\t\t? false\n\t\t\t\t: true;\n\t\tif (closeOnSuccess && this.active?.key === active.key) {\n\t\t\tthis.closeActive({ abort: false });\n\t\t}\n\t\treturn result;\n\t}\n\n\tasync executeAction<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\t\tkey: string,\n\t\targs: {\n\t\t\tpayload?: TPayload;\n\t\t\tvalues?: TValues;\n\t\t\tmetadata?: ActionMetadata;\n\t\t} = {},\n\t): Promise<TResult | undefined> {\n\t\tconst entry = this.findEntry(key);\n\t\tif (!entry) {\n\t\t\tthrow new Error(`Action is not registered: ${key}`);\n\t\t}\n\t\tif (this.isEntryDisabled(entry, args.payload, args.metadata)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthis.abortAction(key);\n\t\tconst token = (this.runTokens.get(key) ?? 0) + 1;\n\t\tthis.runTokens.set(key, token);\n\t\tconst abortController = new AbortController();\n\t\tthis.abortControllers.set(key, abortController);\n\t\tconst metadata = mergeMetadata(entry.action.metadata, args.metadata);\n\t\tconst startedAt = Date.now();\n\n\t\tconst context = this.createRunContext<TPayload, TValues>(entry, {\n\t\t\tpayload: args.payload,\n\t\t\tvalues: args.values,\n\t\t\tmetadata,\n\t\t\tsignal: abortController.signal,\n\t\t});\n\n\t\tthis.setRunState(key, createRunState('running', {\n\t\t\terror: null,\n\t\t\terrors: EMPTY_ERRORS,\n\t\t\tmessage: undefined,\n\t\t\tpayload: args.payload,\n\t\t\tvalues: args.values,\n\t\t\tmetadata,\n\t\t\tstartedAt,\n\t\t}));\n\t\tthis.emitLifecycle('started', entry, context, key);\n\n\t\tlet result: TResult | undefined;\n\t\tlet failedError: unknown;\n\t\tconst action = entry.action as ActionDefinition<TPayload, TValues, TResult>;\n\t\ttry {\n\t\t\tif (action.run) {\n\t\t\t\tresult = await action.run(context);\n\t\t\t} else if (action.request) {\n\t\t\t\tconst runner = action.requestRunner ?? this.requestRunner;\n\t\t\t\tif (!runner) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Action request runner is not configured: ${action.id}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst request = resolveActionRequest(action.request, context);\n\t\t\t\tresult = await runner(request, context) as TResult;\n\t\t\t}\n\t\t\tif (!this.isCurrentRun(key, token)) return undefined;\n\n\t\t\tthis.setRunState(key, createRunState('succeeded', {\n\t\t\t\terror: null,\n\t\t\t\terrors: EMPTY_ERRORS,\n\t\t\t\tmessage: undefined,\n\t\t\t\tresult,\n\t\t\t\tpayload: args.payload,\n\t\t\t\tvalues: args.values,\n\t\t\t\tmetadata,\n\t\t\t\tstartedAt,\n\t\t\t\tcompletedAt: Date.now(),\n\t\t\t}));\n\t\t\tthis.emitLifecycle('succeeded', entry, context, key, { result });\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tif (!this.isCurrentRun(key, token)) return undefined;\n\t\t\tfailedError = error;\n\t\t\tconst parsedError = parseActionError(\n\t\t\t\terror,\n\t\t\t\t{ ...context, error },\n\t\t\t\taction.parseErrors ?? this.errorParser,\n\t\t\t);\n\t\t\tconst errors = parsedError.fieldErrors ?? EMPTY_ERRORS;\n\t\t\tthis.setRunState(key, createRunState('failed', {\n\t\t\t\terror,\n\t\t\t\terrors,\n\t\t\t\tmessage: parsedError.message,\n\t\t\t\tpayload: args.payload,\n\t\t\t\tvalues: args.values,\n\t\t\t\tmetadata,\n\t\t\t\tstartedAt,\n\t\t\t\tcompletedAt: Date.now(),\n\t\t\t}));\n\t\t\tthis.emitLifecycle('failed', entry, context, key, {\n\t\t\t\terror,\n\t\t\t\tmessage: parsedError.message,\n\t\t\t});\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tif (this.isCurrentRun(key, token)) {\n\t\t\t\tthis.abortControllers.delete(key);\n\t\t\t\tthis.emitLifecycle('settled', entry, context, key, {\n\t\t\t\t\tresult,\n\t\t\t\t\terror: failedError,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate getEntriesForScope(scope?: string, includeGlobal = true): ActionEntry[] {\n\t\tconst resolvedScope = scope ? resolveScope(scope) : ACTION_GLOBAL_SCOPE;\n\t\tconst entries: ActionEntry[] = [];\n\n\t\tfor (const registration of this.snapshot.registrations) {\n\t\t\tconst isGlobal = registration.scope === ACTION_GLOBAL_SCOPE;\n\t\t\tif (isGlobal && !includeGlobal) continue;\n\t\t\tif (!isGlobal && registration.scope !== resolvedScope) continue;\n\n\t\t\tfor (const action of registration.actions) {\n\t\t\t\tentries.push({\n\t\t\t\t\tkey: createActionKey(registration.id, action.id),\n\t\t\t\t\tregistration,\n\t\t\t\t\taction,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn entries;\n\t}\n\n\tprivate resolveEntry<TPayload, TValues, TResult>(\n\t\tentry: ActionEntry,\n\t\targs: {\n\t\t\tsurface?: ActionSurfaceOptions['surface'];\n\t\t\tpayload?: TPayload;\n\t\t\tmetadata?: ActionMetadata;\n\t\t},\n\t): ResolvedAction<TPayload, TValues, TResult> {\n\t\tconst metadata = mergeMetadata(entry.action.metadata, args.metadata);\n\t\tconst context: ActionContext<TPayload> = {\n\t\t\tactionId: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tsurface: args.surface,\n\t\t\tpayload: args.payload,\n\t\t\tmetadata,\n\t\t};\n\t\tconst runState = this.getRunState(entry.key);\n\t\tconst visible = this.isEntryVisible(entry, context);\n\t\tconst disabled = evaluatePredicate(\n\t\t\tentry.action.disabled as ActionDefinition<TPayload>['visible'],\n\t\t\tcontext,\n\t\t\tfalse,\n\t\t);\n\t\tconst action = entry.action as ActionDefinition<TPayload, TValues, TResult>;\n\n\t\treturn {\n\t\t\tkey: entry.key,\n\t\t\tid: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tlabel: entry.action.label,\n\t\t\tsearchLabel: resolveSearchLabel(entry.action),\n\t\t\ticon: entry.action.icon,\n\t\t\tgroup: entry.action.group,\n\t\t\tplacement: entry.action.placement ?? 'auto',\n\t\t\torder: entry.action.order ?? entry.registration.order,\n\t\t\tsurface: args.surface,\n\t\t\tvisible,\n\t\t\tdisabled,\n\t\t\tstatus: runState.status,\n\t\t\tisIdle: runState.isIdle,\n\t\t\tisRunning: runState.isRunning,\n\t\t\tisSuccess: runState.isSuccess,\n\t\t\tisError: runState.isError,\n\t\t\terror: runState.error,\n\t\t\terrors: runState.errors,\n\t\t\tmessage: runState.message,\n\t\t\tresult: runState.result as TResult | undefined,\n\t\t\trunState,\n\t\t\tpayload: args.payload,\n\t\t\tvalues: runState.values as TValues | undefined,\n\t\t\tmetadata,\n\t\t\tstartedAt: runState.startedAt,\n\t\t\tcompletedAt: runState.completedAt,\n\t\t\tdefinition: action,\n\t\t\topen: (payload?: TPayload, openMetadata?: ActionMetadata) =>\n\t\t\t\tthis.openAction(\n\t\t\t\t\tentry.key,\n\t\t\t\t\tpayload ?? args.payload,\n\t\t\t\t\tmergeMetadata(args.metadata, openMetadata),\n\t\t\t\t),\n\t\t\texecute: (values?: TValues, payload?: TPayload, executeMetadata?: ActionMetadata) =>\n\t\t\t\tthis.executeAction<TPayload, TValues, TResult>(entry.key, {\n\t\t\t\t\tpayload: payload ?? args.payload,\n\t\t\t\t\tvalues,\n\t\t\t\t\tmetadata: mergeMetadata(args.metadata, executeMetadata),\n\t\t\t\t}),\n\t\t\tclose: () => this.closeActive(),\n\t\t\tsubmit: (values?: TValues) => this.submitActive<TValues, TResult>(values),\n\t\t};\n\t}\n\n\tprivate createRunContext<TPayload, TValues>(\n\t\tentry: ActionEntry,\n\t\targs: {\n\t\t\tpayload?: TPayload;\n\t\t\tvalues?: TValues;\n\t\t\tmetadata?: ActionMetadata;\n\t\t\tsignal: AbortSignal;\n\t\t},\n\t): ActionRunContext<TPayload, TValues> {\n\t\treturn {\n\t\t\taction: entry.action,\n\t\t\tactionId: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tpayload: args.payload,\n\t\t\tvalues: args.values,\n\t\t\tmetadata: args.metadata,\n\t\t\tsignal: args.signal,\n\t\t};\n\t}\n\n\tprivate isEntryDisabled<TPayload>(\n\t\tentry: ActionEntry,\n\t\tpayload?: TPayload,\n\t\tmetadata?: ActionMetadata,\n\t): boolean {\n\t\tconst context: ActionContext<TPayload> = {\n\t\t\tactionId: entry.action.id,\n\t\t\tscope: entry.registration.scope,\n\t\t\tpayload,\n\t\t\tmetadata: mergeMetadata(entry.action.metadata, metadata),\n\t\t};\n\t\tif (!this.isEntryVisible(entry, context)) return true;\n\t\treturn evaluatePredicate(\n\t\t\tentry.action.disabled as ActionDefinition<TPayload>['disabled'],\n\t\t\tcontext,\n\t\t\tfalse,\n\t\t);\n\t}\n\n\tprivate isEntryVisible<TPayload>(\n\t\tentry: ActionEntry,\n\t\tcontext: ActionContext<TPayload>,\n\t): boolean {\n\t\tconst predicateVisible = evaluatePredicate(\n\t\t\tentry.action.visible as ActionDefinition<TPayload>['visible'],\n\t\t\tcontext,\n\t\t\ttrue,\n\t\t);\n\t\tif (!predicateVisible) return false;\n\n\t\tconst guardContext = {\n\t\t\t...context,\n\t\t\taction: entry.action,\n\t\t};\n\t\tconst permissions = toStringArray(entry.action.permission);\n\t\tif (permissions.length > 0) {\n\t\t\tif (!this.guards?.can) return false;\n\t\t\tif (!permissions.every((permission) =>\n\t\t\t\tthis.guards?.can?.(permission, guardContext),\n\t\t\t)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tconst roles = toStringArray(entry.action.roles);\n\t\tif (roles.length > 0) {\n\t\t\tif (!this.guards?.hasAnyRole) return false;\n\t\t\tif (!this.guards.hasAnyRole(roles, guardContext)) return false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate emitLifecycle<TPayload, TValues, TResult>(\n\t\ttype: ActionLifecycleType,\n\t\tentry: ActionEntry,\n\t\tcontext: ActionRunContext<TPayload, TValues>,\n\t\tkey: string,\n\t\targs: { result?: TResult; error?: unknown; message?: string } = {},\n\t): void {\n\t\tconst action = entry.action as ActionDefinition<TPayload, TValues, TResult>;\n\t\tconst runState = this.getRunState(key);\n\t\tconst messageContext: ActionMessageContext<TPayload, TValues, TResult> = {\n\t\t\t...context,\n\t\t\taction: entry.action,\n\t\t\tstatus: runState.status,\n\t\t\terrors: runState.errors,\n\t\t\tresult: args.result,\n\t\t\terror: args.error,\n\t\t};\n\t\tconst message =\n\t\t\ttype === 'succeeded'\n\t\t\t\t? resolveActionMessage(action.successMessage, messageContext)\n\t\t\t\t: type === 'failed'\n\t\t\t\t\t? resolveActionMessage(action.errorMessage, messageContext) ?? args.message\n\t\t\t\t\t: undefined;\n\t\tconst event: ActionLifecycleEvent<TPayload, TValues, TResult> = {\n\t\t\t...messageContext,\n\t\t\ttype,\n\t\t\tkey,\n\t\t\tstatus: runState.status,\n\t\t\trunState,\n\t\t\tmessage,\n\t\t};\n\n\t\tif (type === 'started') action.onStart?.(event);\n\t\tif (type === 'succeeded') action.onAfterMutate?.(event);\n\t\tif (type === 'failed') action.onError?.(event);\n\t\tif (type === 'settled') action.onSettled?.(event);\n\n\t\tif (type === 'started') this.feedback?.onStart?.(event as ActionLifecycleEvent);\n\t\tif (type === 'succeeded') this.feedback?.onSuccess?.(event as ActionLifecycleEvent);\n\t\tif (type === 'failed') this.feedback?.onError?.(event as ActionLifecycleEvent);\n\t\tif (type === 'settled') this.feedback?.onSettled?.(event as ActionLifecycleEvent);\n\t}\n\n\tprivate findEntry(key: string): ActionEntry | null {\n\t\tfor (const registration of this.snapshot.registrations) {\n\t\t\tfor (const action of registration.actions) {\n\t\t\t\tif (createActionKey(registration.id, action.id) === key) {\n\t\t\t\t\treturn { key, registration, action };\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate getRunState(key: string): ActionRunState {\n\t\treturn this.snapshot.runStates[key] ?? createRunState('idle');\n\t}\n\n\tprivate setRunState(key: string, state: ActionRunState, shouldPublish = true): void {\n\t\tthis.runStates = {\n\t\t\t...this.runStates,\n\t\t\t[key]: {\n\t\t\t\t...state,\n\t\t\t\terrors: state.errors ?? EMPTY_ERRORS,\n\t\t\t},\n\t\t};\n\t\tif (shouldPublish) this.publish();\n\t}\n\n\tprivate abortAction(key: string): void {\n\t\tconst controller = this.abortControllers.get(key);\n\t\tif (!controller) return;\n\t\tconst previous = this.getRunState(key);\n\t\tthis.runTokens.set(key, (this.runTokens.get(key) ?? 0) + 1);\n\t\tcontroller.abort();\n\t\tthis.abortControllers.delete(key);\n\t\tthis.setRunState(key, createRunState('idle', {\n\t\t\t...previous,\n\t\t\terror: null,\n\t\t\terrors: EMPTY_ERRORS,\n\t\t\tcompletedAt: Date.now(),\n\t\t}), false);\n\t}\n\n\tprivate isCurrentRun(key: string, token: number): boolean {\n\t\treturn this.runTokens.get(key) === token;\n\t}\n\n\tprivate publish(): void {\n\t\tthis.version += 1;\n\t\tthis.snapshot = createSnapshot(\n\t\t\tthis.version,\n\t\t\tthis.registrations,\n\t\t\tthis.runStates,\n\t\t\tthis.active,\n\t\t);\n\t\tfor (const listener of this.listeners) listener();\n\t}\n}\n\nexport function createActionStore(): ActionStore {\n\treturn new ActionStore();\n}\n","import {\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseSyncExternalStore,\n\ttype ReactNode,\n} from 'react';\n\nimport { createActionStore, type ActionStore } from './action-store';\nimport {\n\tACTION_GLOBAL_SCOPE,\n\ttype ActionProviderProps,\n\ttype ActionStoreSnapshot,\n} from './actions.types';\n\nexport const ActionStoreContext = createContext<ActionStore | null>(null);\nexport const ActionScopeContext = createContext<string | null>(null);\n\nexport function ActionProvider<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>({\n\tactions,\n\truntime,\n\tfeedback,\n\tguards,\n\tparseErrors,\n\trequestRunner,\n\tonOverlayOpenChange,\n\tonRunningChange,\n\tchildren,\n}: ActionProviderProps<TPayload, TValues, TResult>): ReactNode {\n\tconst storeRef = useRef<ActionStore | null>(null);\n\tif (!storeRef.current) {\n\t\tstoreRef.current = createActionStore();\n\t}\n\tconst store = storeRef.current;\n\tconst resolvedFeedback = feedback ?? runtime?.feedback;\n\tconst resolvedGuards = guards ?? runtime?.guards;\n\tconst resolvedParseErrors = parseErrors ?? runtime?.parseErrors;\n\tconst resolvedRequestRunner = requestRunner ?? runtime?.requestRunner;\n\tconst resolvedOverlayOpenChange =\n\t\tonOverlayOpenChange ?? runtime?.onOverlayOpenChange;\n\tconst resolvedRunningChange = onRunningChange ?? runtime?.onRunningChange;\n\n\tuseEffect(() => {\n\t\tstore.setOptions({\n\t\t\tfeedback: resolvedFeedback,\n\t\t\tguards: resolvedGuards,\n\t\t\tparseErrors: resolvedParseErrors,\n\t\t\trequestRunner: resolvedRequestRunner,\n\t\t});\n\t}, [\n\t\tresolvedFeedback,\n\t\tresolvedGuards,\n\t\tresolvedParseErrors,\n\t\tresolvedRequestRunner,\n\t\tstore,\n\t]);\n\n\tuseEffect(() => {\n\t\tif (!actions || actions.length === 0) return undefined;\n\t\treturn store.registerActions(actions, { scope: ACTION_GLOBAL_SCOPE });\n\t}, [actions, store]);\n\n\treturn (\n\t\t<ActionStoreContext.Provider value={store}>\n\t\t\t<ActionScopeContext.Provider value={ACTION_GLOBAL_SCOPE}>\n\t\t\t\t<ActionProviderStateEffects\n\t\t\t\t\tstore={store}\n\t\t\t\t\tonOverlayOpenChange={resolvedOverlayOpenChange}\n\t\t\t\t\tonRunningChange={resolvedRunningChange}\n\t\t\t\t/>\n\t\t\t\t{children}\n\t\t\t</ActionScopeContext.Provider>\n\t\t</ActionStoreContext.Provider>\n\t);\n}\n\ninterface ActionProviderStateEffectsProps {\n\tstore: ActionStore;\n\tonOverlayOpenChange?: (\n\t\topen: boolean,\n\t\tsnapshot: ActionStoreSnapshot,\n\t) => void;\n\tonRunningChange?: (\n\t\trunning: boolean,\n\t\tsnapshot: ActionStoreSnapshot,\n\t) => void;\n}\n\nfunction ActionProviderStateEffects({\n\tstore,\n\tonOverlayOpenChange,\n\tonRunningChange,\n}: ActionProviderStateEffectsProps) {\n\tconst snapshot = useSyncExternalStore(\n\t\tstore.subscribe,\n\t\tstore.getSnapshot,\n\t\tstore.getSnapshot,\n\t);\n\tconst isOverlayOpen = snapshot.active !== null;\n\tconst isRunning = Object.values(snapshot.runStates).some((state) => state.isRunning);\n\tconst previousOverlayOpenRef = useRef(isOverlayOpen);\n\tconst previousRunningRef = useRef(isRunning);\n\tconst onOverlayOpenChangeRef = useRef(onOverlayOpenChange);\n\tconst onRunningChangeRef = useRef(onRunningChange);\n\n\tuseEffect(() => {\n\t\tonOverlayOpenChangeRef.current = onOverlayOpenChange;\n\t}, [onOverlayOpenChange]);\n\n\tuseEffect(() => {\n\t\tonRunningChangeRef.current = onRunningChange;\n\t}, [onRunningChange]);\n\n\tuseEffect(() => {\n\t\tif (previousOverlayOpenRef.current === isOverlayOpen) return;\n\t\tpreviousOverlayOpenRef.current = isOverlayOpen;\n\t\tonOverlayOpenChangeRef.current?.(isOverlayOpen, snapshot);\n\t}, [isOverlayOpen, snapshot]);\n\n\tuseEffect(() => {\n\t\tif (previousRunningRef.current === isRunning) return;\n\t\tpreviousRunningRef.current = isRunning;\n\t\tonRunningChangeRef.current?.(isRunning, snapshot);\n\t}, [isRunning, snapshot]);\n\n\treturn null;\n}\n\nexport function useActionStore(): ActionStore {\n\tconst store = useContext(ActionStoreContext);\n\tif (!store) {\n\t\tthrow new Error('Action hooks must be used inside <ActionProvider>.');\n\t}\n\treturn store;\n}\n","import { useContext, useEffect, useId, useMemo, useSyncExternalStore } from 'react';\n\nimport { ActionScopeContext, useActionStore } from './action-provider';\nimport {\n\tACTION_GLOBAL_SCOPE,\n\ttype ActionDefinition,\n\ttype ActionRegistrationOptions,\n\ttype ActionStoreSnapshot,\n\ttype ActionSurfaceOptions,\n\ttype ResolvedAction,\n\ttype UseLocalActionOptions,\n\ttype UseActionOptions,\n} from './actions.types';\n\nexport function useActionScope(): string {\n\treturn useContext(ActionScopeContext) ?? ACTION_GLOBAL_SCOPE;\n}\n\nexport function useActionSnapshot(): ActionStoreSnapshot {\n\tconst store = useActionStore();\n\treturn useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);\n}\n\nexport function useRegisterActions<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\tactions: readonly ActionDefinition<TPayload, TValues, TResult>[],\n\toptions: ActionRegistrationOptions = {},\n): void {\n\tconst store = useActionStore();\n\tconst inheritedScope = useActionScope();\n\tconst scope = options.scope ?? inheritedScope;\n\n\tuseEffect(() => {\n\t\tif (actions.length === 0) return undefined;\n\t\treturn store.registerActions(actions, { scope });\n\t}, [actions, scope, store]);\n}\n\nexport function useActionSurface<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\toptions: ActionSurfaceOptions<TPayload>,\n): ResolvedAction<TPayload, TValues, TResult>[] {\n\tconst store = useActionStore();\n\tconst inheritedScope = useActionScope();\n\tconst scope = options.scope ?? inheritedScope;\n\tconst { surface, payload, metadata, includeGlobal } = options;\n\n\tuseActionSnapshot();\n\n\treturn store.selectSurfaceActions<TPayload, TValues, TResult>({\n\t\tsurface,\n\t\tpayload,\n\t\tmetadata,\n\t\tincludeGlobal,\n\t\tscope,\n\t});\n}\n\nexport function useAction<TPayload = unknown, TValues = unknown, TResult = unknown>(\n\tactionId: string,\n\toptions: UseActionOptions<TPayload> = {},\n): ResolvedAction<TPayload, TValues, TResult> | null {\n\tconst store = useActionStore();\n\tconst inheritedScope = useActionScope();\n\tconst scope = options.scope ?? inheritedScope;\n\tconst { payload, metadata, includeGlobal } = options;\n\n\tuseActionSnapshot();\n\n\treturn store.selectAction<TPayload, TValues, TResult>(actionId, {\n\t\tpayload,\n\t\tmetadata,\n\t\tincludeGlobal,\n\t\tscope,\n\t});\n}\n\nexport function useLocalAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\tdefinition: ActionDefinition<TPayload, TValues, TResult>,\n\toptions: UseLocalActionOptions<TPayload> = {},\n): ResolvedAction<TPayload, TValues, TResult> | null {\n\tconst inheritedScope = useActionScope();\n\tconst localId = useId();\n\tconst scope = options.scope ?? `${inheritedScope}:local:${localId}`;\n\tconst actions = useMemo(() => [definition], [definition]);\n\n\tuseRegisterActions(actions, { scope });\n\n\treturn useAction<TPayload, TValues, TResult>(definition.id, {\n\t\t...options,\n\t\tscope,\n\t\tincludeGlobal: false,\n\t});\n}\n\nexport function useActiveAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(): ResolvedAction<TPayload, TValues, TResult> | null {\n\tconst store = useActionStore();\n\tuseActionSnapshot();\n\n\treturn store.getActiveAction<TPayload, TValues, TResult>();\n}\n","import { type ReactNode } from 'react';\n\nimport { ActionScopeContext } from './action-provider';\nimport { useRegisterActions } from './hooks';\nimport { ACTION_GLOBAL_SCOPE, type ActionScopeProps } from './actions.types';\n\nexport function ActionScope<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>({\n\tscope = ACTION_GLOBAL_SCOPE,\n\tactions,\n\tchildren,\n}: ActionScopeProps<TPayload, TValues, TResult>): ReactNode {\n\tuseRegisterActions(actions, { scope });\n\n\treturn (\n\t\t<ActionScopeContext.Provider value={scope}>\n\t\t\t{children}\n\t\t</ActionScopeContext.Provider>\n\t);\n}\n","import type { ActionOverlayStrings } from './actions.types';\n\nexport const defaultActionOverlayStrings: ActionOverlayStrings = {\n\tconfirm: 'Confirm',\n\tcancel: 'Cancel',\n};\n","import { type ReactNode } from 'react';\n\nimport {\n\tAlertDialog,\n\tDialog,\n\tDrawer,\n\ttype ButtonVariant,\n\ttype DrawerDirection,\n\ttype OverlaySize,\n\ttype OverlayTone,\n} from '@/components/features/overlays';\nimport { useStrings } from '@/lib/strings';\n\nimport { resolveActionMessage } from './action-store';\nimport { defaultActionOverlayStrings } from './actions.strings';\nimport { useActiveAction } from './hooks';\nimport type {\n\tActionDrawerDirection,\n\tActionOverlayOutletProps,\n\tActionOverlaySize,\n\tActionTone,\n} from './actions.types';\n\nfunction mapTone(tone?: ActionTone): OverlayTone {\n\tif (tone === 'destructive') return 'error';\n\treturn tone ?? 'default';\n}\n\nfunction mapButtonVariant(tone?: ActionTone): ButtonVariant {\n\tif (tone === 'destructive' || tone === 'error') return 'error';\n\tif (tone === 'warning') return 'warning';\n\tif (tone === 'success') return 'success';\n\treturn 'primary';\n}\n\nfunction mapSize(size?: ActionOverlaySize): OverlaySize {\n\treturn size ?? 'lg';\n}\n\nfunction mapDirection(direction?: ActionDrawerDirection): DrawerDirection {\n\treturn direction ?? 'right';\n}\n\nexport function ActionOverlayOutlet({\n\tstrings: stringsProp,\n}: ActionOverlayOutletProps): ReactNode {\n\tconst active = useActiveAction();\n\tconst strings = useStrings(defaultActionOverlayStrings, stringsProp);\n\n\tif (!active) return null;\n\n\tconst modality = active.definition.modality;\n\tif (!modality || modality === 'none') return null;\n\n\tconst messageContext = {\n\t\taction: active.definition,\n\t\tactionId: active.id,\n\t\tscope: active.scope,\n\t\tpayload: active.payload,\n\t\tvalues: active.values,\n\t\tmetadata: active.metadata,\n\t\tstatus: active.status,\n\t\terrors: active.errors,\n\t\tresult: active.result,\n\t\terror: active.error,\n\t};\n\tconst title = resolveActionMessage(modality.title, messageContext);\n\tconst description = resolveActionMessage(modality.description, messageContext);\n\tconst confirm = resolveActionMessage(modality.confirmLabel, messageContext) ?? strings.confirm;\n\tconst cancel = resolveActionMessage(modality.cancelLabel, messageContext) ?? strings.cancel;\n\tconst alertMessage = resolveActionMessage(modality.alertMessage, messageContext);\n\tconst overlayTone = mapTone(modality.tone);\n\tconst confirmVariant = mapButtonVariant(modality.tone);\n\tconst isEmphasized = overlayTone !== 'default';\n\tconst emphasis = modality.emphasis ?? isEmphasized;\n\tconst showIcon = modality.showIcon ?? isEmphasized;\n\tconst closeOnBackdropClick =\n\t\tmodality.closeOnBackdropClick ?? (modality.type === 'alert' ? false : true);\n\n\tconst content = modality.render?.({\n\t\taction: active.definition,\n\t\tactionId: active.id,\n\t\tscope: active.scope,\n\t\tpayload: active.payload,\n\t\tvalues: active.values,\n\t\tmetadata: active.metadata,\n\t\tformId: modality.formId,\n\t\tstatus: active.status,\n\t\tisIdle: active.isIdle,\n\t\tisRunning: active.isRunning,\n\t\tisSuccess: active.isSuccess,\n\t\tisError: active.isError,\n\t\tresult: active.result,\n\t\terror: active.error,\n\t\terrors: active.errors,\n\t\tclose: active.close,\n\t\tsubmit: (values) => active.submit(values),\n\t\tgetFormProps: (options) => ({\n\t\t\tid: modality.formId,\n\t\t\tonSubmit: async (event) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst values = options?.resolveValues\n\t\t\t\t\t? await options.resolveValues(new FormData(event.currentTarget), event)\n\t\t\t\t\t: undefined;\n\t\t\t\tawait active.submit(values);\n\t\t\t},\n\t\t}),\n\t});\n\n\tconst commonProps = {\n\t\topen: true,\n\t\tonOpenChange: (open: boolean) => {\n\t\t\tif (!open) active.close();\n\t\t},\n\t\ttitle,\n\t\tdescription,\n\t\tvisuallyHideHeader: modality.visuallyHideHeader,\n\t\tclassName: modality.className,\n\t\tcontentClassName: modality.contentClassName,\n\t\tinitialFocusRef: modality.initialFocusRef,\n\t\tcloseOnEscape: modality.closeOnEscape,\n\t\tisLoading: active.isRunning,\n\t\tshowCancel: modality.showCancel ?? true,\n\t\tshowConfirm: modality.showConfirm ?? true,\n\t\tformId: modality.formId,\n\t\tfooter: modality.footer,\n\t\tonCancel: active.close,\n\t\tonAsyncConfirm: modality.formId\n\t\t\t? undefined\n\t\t\t: async () => {\n\t\t\t\t\tawait active.submit();\n\t\t\t\t},\n\t\tcloseOnAsyncComplete: false,\n\t\tconfirmVariant,\n\t\tconfirmStyle: modality.confirmStyle,\n\t\tcloseOnBackdropClick,\n\t\tstrings: {\n\t\t\tconfirm,\n\t\t\tcancel,\n\t\t},\n\t};\n\n\tif (modality.type === 'alert') {\n\t\treturn (\n\t\t\t<AlertDialog\n\t\t\t\t{...commonProps}\n\t\t\t\ttone={overlayTone}\n\t\t\t\tshowIcon={showIcon}\n\t\t\t\talertMessage={alertMessage}\n\t\t\t\tdestructive={overlayTone === 'error'}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</AlertDialog>\n\t\t);\n\t}\n\n\tif (modality.type === 'drawer') {\n\t\treturn (\n\t\t\t<Drawer\n\t\t\t\t{...commonProps}\n\t\t\t\ttone={overlayTone}\n\t\t\t\temphasis={emphasis}\n\t\t\t\tshowIcon={showIcon}\n\t\t\t\talertMessage={alertMessage}\n\t\t\t\twidth={mapSize(modality.size)}\n\t\t\t\tdirection={mapDirection(modality.drawerDirection)}\n\t\t\t\tshowFooter={modality.showFooter ?? true}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</Drawer>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Dialog\n\t\t\t{...commonProps}\n\t\t\ttone={overlayTone}\n\t\t\temphasis={emphasis}\n\t\t\tshowIcon={showIcon}\n\t\t\talertMessage={alertMessage}\n\t\t\tsize={mapSize(modality.size)}\n\t\t>\n\t\t\t{content}\n\t\t</Dialog>\n\t);\n}\n","import { createElement } from 'react';\n\nimport type {\n\tActionDefinition,\n\tActionFeedbackHandlers,\n\tActionLifecycleEvent,\n\tActionMetadata,\n\tActionModalityConfig,\n\tActionRequestRunner,\n\tResolvedAction,\n\tResolvedActionRequest,\n} from './actions.types';\n\ntype MaybePromise<T> = T | Promise<T>;\n\nexport interface ActionHttpErrorOptions {\n\tstatus: number;\n\tstatusText: string;\n\tbody: unknown;\n\tresponse: Response;\n}\n\nexport class ActionHttpError extends Error {\n\tstatus: number;\n\tstatusText: string;\n\tbody: unknown;\n\tresponse: Response;\n\terrors?: unknown;\n\n\tconstructor({ status, statusText, body, response }: ActionHttpErrorOptions) {\n\t\tsuper(statusText || `Request failed with status ${status}`);\n\t\tthis.name = 'ActionHttpError';\n\t\tthis.status = status;\n\t\tthis.statusText = statusText;\n\t\tthis.body = body;\n\t\tthis.response = response;\n\t\tthis.errors =\n\t\t\tbody && typeof body === 'object' && 'errors' in body\n\t\t\t\t? (body as { errors?: unknown }).errors\n\t\t\t\t: undefined;\n\t}\n}\n\nexport interface CreateHttpActionRunnerOptions {\n\tbaseUrl?: string;\n\tfetcher?: typeof fetch;\n\tparseResponse?: (response: Response) => Promise<unknown>;\n}\n\nasync function defaultParseResponse(response: Response): Promise<unknown> {\n\tif (response.status === 204) return undefined;\n\tconst contentType = response.headers.get('content-type') ?? '';\n\tif (contentType.includes('application/json')) return response.json();\n\treturn response.text();\n}\n\nfunction resolveUrlTarget(request: ResolvedActionRequest): string | undefined {\n\tif (request.target?.type === 'url') return request.target.url;\n\treturn request.url;\n}\n\nfunction joinUrl(baseUrl: string | undefined, url: string | undefined): string {\n\tif (!url) {\n\t\tthrow new Error('Action request requires a url.');\n\t}\n\tif (!baseUrl) return url;\n\treturn new URL(url, baseUrl).toString();\n}\n\nfunction serializeBody(data: unknown): BodyInit | undefined {\n\tif (data === undefined || data === null) return undefined;\n\tif (\n\t\ttypeof FormData !== 'undefined' && data instanceof FormData ||\n\t\ttypeof URLSearchParams !== 'undefined' && data instanceof URLSearchParams ||\n\t\ttypeof Blob !== 'undefined' && data instanceof Blob\n\t) {\n\t\treturn data;\n\t}\n\tif (typeof data === 'string') return data;\n\treturn JSON.stringify(data);\n}\n\nexport function createHttpActionRunner<TResult = unknown>({\n\tbaseUrl,\n\tfetcher = fetch,\n\tparseResponse = defaultParseResponse,\n}: CreateHttpActionRunnerOptions = {}): ActionRequestRunner<TResult> {\n\treturn async (request, context) => {\n\t\tconst method = request.method.toUpperCase();\n\t\tconst body = method === 'GET' ? undefined : serializeBody(request.data);\n\t\tconst isFormDataBody = typeof FormData !== 'undefined' && body instanceof FormData;\n\t\tconst headers = {\n\t\t\t...(body && !isFormDataBody ? { 'Content-Type': 'application/json' } : {}),\n\t\t\t...request.headers,\n\t\t};\n\t\tconst response = await fetcher(joinUrl(baseUrl, resolveUrlTarget(request)), {\n\t\t\t...(request.options as RequestInit | undefined),\n\t\t\tmethod,\n\t\t\theaders,\n\t\t\tbody,\n\t\t\tsignal: context.signal,\n\t\t});\n\t\tconst parsed = await parseResponse(response);\n\t\tif (!response.ok) {\n\t\t\tthrow new ActionHttpError({\n\t\t\t\tstatus: response.status,\n\t\t\t\tstatusText: response.statusText,\n\t\t\t\tbody: parsed,\n\t\t\t\tresponse,\n\t\t\t});\n\t\t}\n\t\treturn parsed as TResult;\n\t};\n}\n\n/** @deprecated Keep Inertia wiring in consumer code with `ActionRuntimeGlue`. */\nexport interface InertiaRouterLike {\n\tvisit: (url: string, options?: Record<string, unknown>) => unknown;\n}\n\n/** @deprecated Keep Inertia wiring in consumer code with `ActionRuntimeGlue`. */\nexport interface CreateInertiaActionRunnerOptions {\n\trouter: InertiaRouterLike;\n\troute?: (name: string, params?: unknown) => string;\n\tdefaults?: Record<string, unknown>;\n}\n\nfunction resolveInertiaUrl(\n\trequest: ResolvedActionRequest,\n\troute?: (name: string, params?: unknown) => string,\n): string {\n\tif (request.target?.type === 'url') return request.target.url;\n\tif (request.target?.type === 'named' && route) {\n\t\treturn route(request.target.name, request.target.params);\n\t}\n\tif (request.url) return request.url;\n\tif (request.route && route) return route(request.route, request.params);\n\tthrow new Error('Action request requires a url or named route resolver.');\n}\n\n/** @deprecated Keep Inertia wiring in consumer code with `ActionRuntimeGlue`. */\nexport function createInertiaActionRunner<TResult = unknown>({\n\trouter,\n\troute,\n\tdefaults,\n}: CreateInertiaActionRunnerOptions): ActionRequestRunner<TResult> {\n\treturn (request) =>\n\t\tnew Promise<TResult>((resolve, reject) => {\n\t\t\tlet settled = false;\n\t\t\tconst options = {\n\t\t\t\t...defaults,\n\t\t\t\t...request.options,\n\t\t\t} as Record<string, unknown>;\n\t\t\tconst originalOnSuccess = options.onSuccess as ((value: unknown) => void) | undefined;\n\t\t\tconst originalOnError = options.onError as ((errors: unknown) => void) | undefined;\n\t\t\tconst originalOnCancel = options.onCancel as (() => void) | undefined;\n\t\t\tconst originalOnFinish = options.onFinish as ((value: unknown) => void) | undefined;\n\t\t\tconst settle = (callback: () => void) => {\n\t\t\t\tif (settled) return;\n\t\t\t\tsettled = true;\n\t\t\t\tcallback();\n\t\t\t};\n\n\t\t\tconst returned = router.visit(resolveInertiaUrl(request, route), {\n\t\t\t\t...options,\n\t\t\t\tmethod: request.method,\n\t\t\t\tdata: request.data,\n\t\t\t\theaders: request.headers,\n\t\t\t\tonSuccess: (value: unknown) => {\n\t\t\t\t\toriginalOnSuccess?.(value);\n\t\t\t\t\tsettle(() => resolve(value as TResult));\n\t\t\t\t},\n\t\t\t\tonError: (errors: unknown) => {\n\t\t\t\t\toriginalOnError?.(errors);\n\t\t\t\t\tconst error = Object.assign(new Error('Action request failed.'), {\n\t\t\t\t\t\terrors,\n\t\t\t\t\t});\n\t\t\t\t\tsettle(() => reject(error));\n\t\t\t\t},\n\t\t\t\tonCancel: () => {\n\t\t\t\t\toriginalOnCancel?.();\n\t\t\t\t\tsettle(() => reject(new Error('Action request was cancelled.')));\n\t\t\t\t},\n\t\t\t\tonFinish: (value: unknown) => {\n\t\t\t\t\toriginalOnFinish?.(value);\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tif (returned && typeof (returned as Promise<TResult>).then === 'function') {\n\t\t\t\t(returned as Promise<TResult>).then(\n\t\t\t\t\t(value) => settle(() => resolve(value)),\n\t\t\t\t\t(error) => settle(() => reject(error)),\n\t\t\t\t);\n\t\t\t}\n\t\t});\n}\n\n/** @deprecated Keep query-library wiring in consumer code with `ActionRuntimeGlue`. */\nexport interface QueryClientLike {\n\tinvalidateQueries?: (...args: unknown[]) => MaybePromise<unknown>;\n}\n\nexport type QueryInvalidation =\n\t| unknown\n\t| readonly unknown[]\n\t| ((event: ActionLifecycleEvent) => unknown | readonly unknown[] | undefined);\n\nexport interface CreateReactQueryActionFeedbackOptions {\n\tqueryClient: QueryClientLike;\n\tinvalidate?: QueryInvalidation;\n\tfeedback?: ActionFeedbackHandlers;\n}\n\nfunction toInvalidationList(value: unknown | readonly unknown[] | undefined): unknown[] {\n\tif (value === undefined) return [];\n\tif (Array.isArray(value)) return value;\n\treturn [value];\n}\n\n/** @deprecated Keep query-library wiring in consumer code with `ActionRuntimeGlue`. */\nexport function createReactQueryActionFeedback({\n\tqueryClient,\n\tinvalidate,\n\tfeedback,\n}: CreateReactQueryActionFeedbackOptions): ActionFeedbackHandlers {\n\treturn {\n\t\tonStart: feedback?.onStart,\n\t\tonError: feedback?.onError,\n\t\tonSettled: feedback?.onSettled,\n\t\tonSuccess: (event) => {\n\t\t\tfeedback?.onSuccess?.(event);\n\t\t\tconst resolved =\n\t\t\t\ttypeof invalidate === 'function' ? invalidate(event) : invalidate;\n\t\t\tfor (const entry of toInvalidationList(resolved)) {\n\t\t\t\tvoid queryClient.invalidateQueries?.(entry);\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport function defineAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\tdefinition: ActionDefinition<TPayload, TValues, TResult>,\n): ActionDefinition<TPayload, TValues, TResult> {\n\treturn definition;\n}\n\nexport function defineDeleteAction<\n\tTPayload = unknown,\n\tTResult = unknown,\n>(\n\tdefinition: Omit<ActionDefinition<TPayload, undefined, TResult>, 'modality'> & {\n\t\tmodality: Omit<\n\t\t\tActionModalityConfig<TPayload, undefined, TResult>,\n\t\t\t'type' | 'tone'\n\t\t> & Partial<Pick<ActionModalityConfig<TPayload, undefined, TResult>, 'type' | 'tone'>>;\n\t},\n): ActionDefinition<TPayload, undefined, TResult> {\n\treturn {\n\t\t...definition,\n\t\tmodality: {\n\t\t\ttype: 'alert',\n\t\t\ttone: 'destructive',\n\t\t\t...definition.modality,\n\t\t},\n\t};\n}\n\nexport function defineFormAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\tdefinition: Omit<ActionDefinition<TPayload, TValues, TResult>, 'modality'> & {\n\t\tmodality: Omit<\n\t\t\tActionModalityConfig<TPayload, TValues, TResult>,\n\t\t\t'type'\n\t\t> & Partial<Pick<ActionModalityConfig<TPayload, TValues, TResult>, 'type'>>;\n\t},\n): ActionDefinition<TPayload, TValues, TResult> {\n\treturn {\n\t\t...definition,\n\t\tmodality: {\n\t\t\ttype: 'dialog',\n\t\t\t...definition.modality,\n\t\t},\n\t};\n}\n\nexport function defineSilentAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\tdefinition: Omit<ActionDefinition<TPayload, TValues, TResult>, 'modality'>,\n): ActionDefinition<TPayload, TValues, TResult> {\n\treturn {\n\t\t...definition,\n\t\tmodality: 'none',\n\t};\n}\n\ntype ActionVariant = 'primary' | 'secondary' | 'destructive' | 'success' | 'warning';\ntype ActionVariantSource = {\n\tdefinition: {\n\t\tmodality?: 'none' | {\n\t\t\ttone?: string;\n\t\t};\n\t};\n};\ntype ActionLabelSource = {\n\tid: string;\n\tsearchLabel: string;\n};\n\nfunction getActionVariant(action: ActionVariantSource): ActionVariant | undefined {\n\tconst tone =\n\t\taction.definition.modality && action.definition.modality !== 'none'\n\t\t\t? action.definition.modality.tone\n\t\t\t: undefined;\n\tif (tone === 'destructive' || tone === 'error') return 'destructive';\n\tif (tone === 'warning') return 'warning';\n\tif (tone === 'success') return 'success';\n\treturn undefined;\n}\n\nfunction getActionLabel(action: ActionLabelSource): string {\n\treturn action.searchLabel || action.id;\n}\n\nexport function toPageAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(action: ResolvedAction<TPayload, TValues, TResult>) {\n\treturn {\n\t\tid: action.id,\n\t\tlabel: action.label,\n\t\tonClick: () => action.open(),\n\t\tdisabled: action.disabled,\n\t\tloading: action.isRunning,\n\t\ticon: action.icon,\n\t\tvariant: getActionVariant(action),\n\t\tvisible: action.visible,\n\t\tgroup: action.group,\n\t\tplacement: action.placement,\n\t};\n}\n\nexport function toMenuAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(action: ResolvedAction<TPayload, TValues, TResult>) {\n\treturn {\n\t\tlabel: getActionLabel(action),\n\t\tonClick: () => action.open(),\n\t\tdisabled: action.disabled || action.isRunning,\n\t\ticon: action.icon,\n\t\tvariant: getActionVariant(action) === 'destructive' ? 'error' : 'secondary',\n\t};\n}\n\nexport function toTableAction<TData = unknown>(action: ResolvedAction<TData>) {\n\treturn {\n\t\tid: action.id,\n\t\tlabel: getActionLabel(action),\n\t\tonClick: (row: TData) => action.open(row),\n\t\tdisabled: action.disabled,\n\t\tisDisabled: () => action.disabled || action.isRunning,\n\t\tisVisible: () => action.visible,\n\t\ticon: action.icon ? createElement(action.icon, { className: 'size-4' }) : undefined,\n\t\tvariant: getActionVariant(action) === 'destructive' ? 'destructive' : 'secondary',\n\t};\n}\n\nexport function toCommandAction<\n\tTPayload = unknown,\n\tTValues = unknown,\n\tTResult = unknown,\n>(\n\taction: ResolvedAction<TPayload, TValues, TResult>,\n\tmetadata?: ActionMetadata,\n) {\n\treturn {\n\t\tid: action.id,\n\t\tlabel: getActionLabel(action),\n\t\tgroup: action.group,\n\t\tdisabled: action.disabled || action.isRunning,\n\t\ticon: action.icon,\n\t\tonSelect: () => action.open(undefined, metadata),\n\t};\n}\n"],"mappings":"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"}