themelia-react-ui 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/README.md +59 -13
  3. package/dist/{accordion-B-5Focs8.js → accordion-BRTcsp8J.js} +8 -8
  4. package/dist/accordion-BRTcsp8J.js.map +1 -0
  5. package/dist/{action-menu-Cx3SdfbN.js → action-menu-Drxw_vJk.js} +36 -36
  6. package/dist/action-menu-Drxw_vJk.js.map +1 -0
  7. package/dist/affordance-geometry.generated-CL84ZN9A.js +63 -0
  8. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +1 -0
  9. package/dist/{ai-artifact-B5tPpXnS.js → ai-artifact-DLVdK0Py.js} +151 -155
  10. package/dist/ai-artifact-DLVdK0Py.js.map +1 -0
  11. package/dist/{app-shell-at8Kt4l_.js → app-shell-C_fKpljx.js} +11 -10
  12. package/dist/app-shell-C_fKpljx.js.map +1 -0
  13. package/dist/{attachment-BO2R47wn.js → attachment-DbjUWsP0.js} +12 -12
  14. package/dist/{attachment-BO2R47wn.js.map → attachment-DbjUWsP0.js.map} +1 -1
  15. package/dist/auth-CAQcasMV.js +723 -0
  16. package/dist/auth-CAQcasMV.js.map +1 -0
  17. package/dist/{avatar-Bpzty83c.js → avatar-Bu2HhitA.js} +6 -6
  18. package/dist/{avatar-Bpzty83c.js.map → avatar-Bu2HhitA.js.map} +1 -1
  19. package/dist/{badge-BZXZT9wd.js → badge-CzId1Wlm.js} +4 -4
  20. package/dist/{badge-BZXZT9wd.js.map → badge-CzId1Wlm.js.map} +1 -1
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/buttons.js +3 -2
  27. package/dist/base/cards.js +3 -3
  28. package/dist/base/carousel.js +25 -27
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +150 -148
  31. package/dist/base/cascader.js.map +1 -1
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +2 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +1 -1
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +3 -3
  39. package/dist/base/display.js +7 -7
  40. package/dist/base/feedback.js +4 -4
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +40 -43
  44. package/dist/base/inline-edit.js.map +1 -1
  45. package/dist/base/item.js +1 -1
  46. package/dist/base/media-gallery.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +1 -1
  51. package/dist/base/repeaters.js +33 -33
  52. package/dist/base/repeaters.js.map +1 -1
  53. package/dist/base/sheet.js +1 -1
  54. package/dist/base/sidebar.js +1 -1
  55. package/dist/base/signature-pad.js +83 -81
  56. package/dist/base/signature-pad.js.map +1 -1
  57. package/dist/base/skeleton.js +1 -1
  58. package/dist/base/spinner.js +1 -1
  59. package/dist/base/structure.js +1 -1
  60. package/dist/base/table.js +1 -1
  61. package/dist/base/text-inputs.js +2 -2
  62. package/dist/base/toaster.js +6 -6
  63. package/dist/base/toaster.js.map +1 -1
  64. package/dist/base/tree.js +1 -1
  65. package/dist/base/upload-queue.js +1 -1
  66. package/dist/base/upload.js +3 -3
  67. package/dist/base/value-inputs.js +1 -1
  68. package/dist/blocks/admin.js +134 -134
  69. package/dist/blocks/admin.js.map +1 -1
  70. package/dist/blocks/ai.js +120 -117
  71. package/dist/blocks/ai.js.map +1 -1
  72. package/dist/blocks/analytics/usage-card.js +1 -1
  73. package/dist/blocks/analytics.js +510 -472
  74. package/dist/blocks/analytics.js.map +1 -1
  75. package/dist/blocks/collaboration.js +2 -2
  76. package/dist/blocks/commerce/receipt.js +1 -1
  77. package/dist/blocks/commerce.js +395 -383
  78. package/dist/blocks/commerce.js.map +1 -1
  79. package/dist/blocks/data-display.js +1 -1
  80. package/dist/blocks/onboarding.js +6 -6
  81. package/dist/blocks/onboarding.js.map +1 -1
  82. package/dist/blocks/planning.js +36 -36
  83. package/dist/blocks/planning.js.map +1 -1
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-DdQ_I5ra.js → breadcrumbs-BuYz5SDU.js} +9 -8
  86. package/dist/breadcrumbs-BuYz5SDU.js.map +1 -0
  87. package/dist/button-BZDasD04.js +651 -0
  88. package/dist/button-BZDasD04.js.map +1 -0
  89. package/dist/{button-BS6l5JUw.js → button-BZyfTvwm.js} +3 -3
  90. package/dist/button-BZyfTvwm.js.map +1 -0
  91. package/dist/buttons-D_6KJvEE.js +99 -0
  92. package/dist/buttons-D_6KJvEE.js.map +1 -0
  93. package/dist/{cards-Cum56XOF.js → cards-qGSErLw_.js} +12 -12
  94. package/dist/{cards-Cum56XOF.js.map → cards-qGSErLw_.js.map} +1 -1
  95. package/dist/chart-Bsc5BICK.js +150 -0
  96. package/dist/chart-Bsc5BICK.js.map +1 -0
  97. package/dist/{checkbox-BavDRjF7.js → checkbox-BQNDjUCh.js} +3 -3
  98. package/dist/checkbox-BQNDjUCh.js.map +1 -0
  99. package/dist/choice-inputs-Mk3iWbhr.js +725 -0
  100. package/dist/choice-inputs-Mk3iWbhr.js.map +1 -0
  101. package/dist/{code-block-xHKbAJDj.js → code-block-DzHKRybS.js} +23 -23
  102. package/dist/code-block-DzHKRybS.js.map +1 -0
  103. package/dist/{collapsible-DsnktFNv.js → collapsible-ClvC7Bj3.js} +3 -3
  104. package/dist/{collapsible-DsnktFNv.js.map → collapsible-ClvC7Bj3.js.map} +1 -1
  105. package/dist/{collection-content-C4fthJV_.js → collection-content-D6S8cv_n.js} +3 -3
  106. package/dist/{collection-content-C4fthJV_.js.map → collection-content-D6S8cv_n.js.map} +1 -1
  107. package/dist/{combobox-DEbdr-3u.js → combobox-BFnbJJp3.js} +18 -18
  108. package/dist/combobox-BFnbJJp3.js.map +1 -0
  109. package/dist/{combobox-xv3yJbzl.js → combobox-hozNwUcc.js} +313 -316
  110. package/dist/combobox-hozNwUcc.js.map +1 -0
  111. package/dist/{command-C0xe7u9B.js → command-BnmSchli.js} +9 -9
  112. package/dist/command-BnmSchli.js.map +1 -0
  113. package/dist/comments-u5L0OGip.js +1156 -0
  114. package/dist/comments-u5L0OGip.js.map +1 -0
  115. package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
  116. package/dist/components/base/buttons/button.recipes.d.ts +10 -19
  117. package/dist/components/base/buttons/use-pending-button-focus.d.ts +3 -0
  118. package/dist/components/base/cards/card.recipes.d.ts +13 -5
  119. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -4
  120. package/dist/components/base/cards/smart-card.types.d.ts +1 -1
  121. package/dist/components/base/date-pickers/date-picker.recipes.d.ts +5 -18
  122. package/dist/components/base/date-pickers/datepicker.types.d.ts +3 -0
  123. package/dist/components/base/forms/form-field.d.ts +1 -0
  124. package/dist/components/base/forms/form-sizing.d.ts +3 -3
  125. package/dist/components/base/navigation/tabs.d.ts +3 -5
  126. package/dist/components/base/popover/popover.recipes.d.ts +3 -3
  127. package/dist/components/base/table/index.d.ts +1 -1
  128. package/dist/components/base/text-inputs/clear-native-field.d.ts +2 -0
  129. package/dist/components/base/text-inputs/input-trailing-action.d.ts +3 -0
  130. package/dist/components/blocks/analytics/types.d.ts +1 -1
  131. package/dist/components/blocks/collaboration/message/message.recipes.d.ts +12 -0
  132. package/dist/components/blocks/data-display/empty-state/partials/illustrations/document-stack.d.ts +1 -4
  133. package/dist/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.d.ts +1 -4
  134. package/dist/components/blocks/data-display/empty-state/partials/illustrations/index.d.ts +3 -3
  135. package/dist/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.d.ts +1 -6
  136. package/dist/components/features/combobox/components/error-message.d.ts +1 -1
  137. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -0
  138. package/dist/components/features/filters/facets/search-facet.d.ts +0 -12
  139. package/dist/components/features/filters/facets/tags-facet.d.ts +1 -1
  140. package/dist/components/features/media-library/media-library.d.ts +1 -1
  141. package/dist/components/features/media-library/media-library.types.d.ts +9 -1
  142. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  143. package/dist/components/features/overlays/hooks/use-pending-overlay-focus.d.ts +2 -0
  144. package/dist/components/features/overlays/overlays.types.d.ts +5 -4
  145. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +2 -1
  146. package/dist/components/features/table/data-table.d.ts +1 -1
  147. package/dist/components/features/table/table.types.d.ts +1 -1
  148. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +3 -1
  149. package/dist/components/layout/auth/auth.types.d.ts +1 -0
  150. package/dist/components/layout/page/page.d.ts +0 -1
  151. package/dist/components/layout/page/page.types.d.ts +9 -3
  152. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -1
  153. package/dist/components/layout/sidebar/sidebar.types.d.ts +4 -0
  154. package/dist/components/layout/workspace/workspace.types.d.ts +3 -0
  155. package/dist/components/typography/heading.d.ts +5 -2
  156. package/dist/components/typography/index.d.ts +1 -1
  157. package/dist/components/typography/text.styles.d.ts +10 -0
  158. package/dist/components/ui/popover.d.ts +1 -1
  159. package/dist/components/ui/sidebar.d.ts +1 -1
  160. package/dist/components/ui/table.d.ts +2 -1
  161. package/dist/container.recipes-D9t8MHR3.js +27 -0
  162. package/dist/container.recipes-D9t8MHR3.js.map +1 -0
  163. package/dist/{containers-6s-ucRQQ.js → containers-DqB-bSYE.js} +33 -56
  164. package/dist/containers-DqB-bSYE.js.map +1 -0
  165. package/dist/control-group-recipes-DBXmfh2E.js +21 -0
  166. package/dist/control-group-recipes-DBXmfh2E.js.map +1 -0
  167. package/dist/{copyable-B7SBXJMr.js → copyable-BTSByfmq.js} +6 -6
  168. package/dist/{copyable-B7SBXJMr.js.map → copyable-BTSByfmq.js.map} +1 -1
  169. package/dist/{data-display-cWIRdeaf.js → data-display-Bihs9Ven.js} +545 -332
  170. package/dist/data-display-Bihs9Ven.js.map +1 -0
  171. package/dist/{date-BFNMnrS5.js → date-DOKhJPu7.js} +4 -4
  172. package/dist/{date-BFNMnrS5.js.map → date-DOKhJPu7.js.map} +1 -1
  173. package/dist/{date-picker-CA6ogMQB.js → date-picker-DzP5HQq7.js} +492 -472
  174. package/dist/date-picker-DzP5HQq7.js.map +1 -0
  175. package/dist/date-pickers-BpgGz7S-.js +196 -0
  176. package/dist/date-pickers-BpgGz7S-.js.map +1 -0
  177. package/dist/{display-CFM5myut.js → display-CS6Hbk18.js} +8 -8
  178. package/dist/{display-CFM5myut.js.map → display-CS6Hbk18.js.map} +1 -1
  179. package/dist/{dropdown-menu-BlnyHr-9.js → dropdown-menu-D-boNgGO.js} +7 -7
  180. package/dist/{dropdown-menu-BlnyHr-9.js.map → dropdown-menu-D-boNgGO.js.map} +1 -1
  181. package/dist/features/activities.js +152 -141
  182. package/dist/features/activities.js.map +1 -1
  183. package/dist/features/ai-chat.js +182 -179
  184. package/dist/features/ai-chat.js.map +1 -1
  185. package/dist/features/async-preview.js +9 -9
  186. package/dist/features/async-preview.js.map +1 -1
  187. package/dist/features/combobox.js +1 -1
  188. package/dist/features/comments.js +1 -1
  189. package/dist/features/data-view.js +25 -23
  190. package/dist/features/data-view.js.map +1 -1
  191. package/dist/features/email-composer/engine.js +1 -1
  192. package/dist/features/email-composer.js +103 -104
  193. package/dist/features/email-composer.js.map +1 -1
  194. package/dist/features/event-calendar.js +375 -373
  195. package/dist/features/event-calendar.js.map +1 -1
  196. package/dist/features/filters.js +1 -1
  197. package/dist/features/global-search.js +222 -224
  198. package/dist/features/global-search.js.map +1 -1
  199. package/dist/features/kanban.js +29 -29
  200. package/dist/features/kanban.js.map +1 -1
  201. package/dist/features/map.js +59 -58
  202. package/dist/features/map.js.map +1 -1
  203. package/dist/features/media-library.js +856 -855
  204. package/dist/features/media-library.js.map +1 -1
  205. package/dist/features/mentions.js +1 -1
  206. package/dist/features/overlays.js +1 -1
  207. package/dist/features/products.js +1209 -1209
  208. package/dist/features/products.js.map +1 -1
  209. package/dist/features/questionnaire.js +52 -52
  210. package/dist/features/questionnaire.js.map +1 -1
  211. package/dist/features/resource-assignment.js +29 -31
  212. package/dist/features/resource-assignment.js.map +1 -1
  213. package/dist/features/resource.js +13 -13
  214. package/dist/features/resource.js.map +1 -1
  215. package/dist/features/rich-text-editor.js +2 -2
  216. package/dist/features/schema-form.js +82 -82
  217. package/dist/features/schema-form.js.map +1 -1
  218. package/dist/features/suggestions.js +3 -3
  219. package/dist/features/sync.js +4 -4
  220. package/dist/features/sync.js.map +1 -1
  221. package/dist/features/table.js +1 -1
  222. package/dist/features/theme-tweaker.js +456 -450
  223. package/dist/features/theme-tweaker.js.map +1 -1
  224. package/dist/{feedback-DWUkgEjR.js → feedback-CJkUAapr.js} +29 -29
  225. package/dist/feedback-CJkUAapr.js.map +1 -0
  226. package/dist/field-affordance-recipes-uKY4MsZ_.js +25 -0
  227. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +1 -0
  228. package/dist/{field-state-recipes-CBTRt9Bt.js → field-state-recipes-DQQpiLWC.js} +3 -3
  229. package/dist/field-state-recipes-DQQpiLWC.js.map +1 -0
  230. package/dist/{filters-BhsUtsxW.js → filters-D6FF8L6s.js} +715 -720
  231. package/dist/filters-D6FF8L6s.js.map +1 -0
  232. package/dist/{form-field-Bn7ZH1rA.js → form-field-CZwrkP7m.js} +17 -9
  233. package/dist/form-field-CZwrkP7m.js.map +1 -0
  234. package/dist/{form-sizing-BWs70_a2.js → form-sizing-QP8aIRaW.js} +8 -5
  235. package/dist/form-sizing-QP8aIRaW.js.map +1 -0
  236. package/dist/{forms-B7pzS25o.js → forms-B5NCbkSC.js} +35 -35
  237. package/dist/{forms-B7pzS25o.js.map → forms-B5NCbkSC.js.map} +1 -1
  238. package/dist/forms-numeric-Crrm80Lm.js +867 -0
  239. package/dist/forms-numeric-Crrm80Lm.js.map +1 -0
  240. package/dist/{header-C59QZyxV.js → header-kxruN3RM.js} +53 -49
  241. package/dist/header-kxruN3RM.js.map +1 -0
  242. package/dist/{hooks-CM1Vp9Pe.js → hooks-BrlnCwQd.js} +2 -2
  243. package/dist/{hooks-CM1Vp9Pe.js.map → hooks-BrlnCwQd.js.map} +1 -1
  244. package/dist/{http-CLTVJc5I.js → http-CdEIHyQf.js} +2 -2
  245. package/dist/http-CdEIHyQf.js.map +1 -0
  246. package/dist/{icon-badge-Dv0RYQwj.js → icon-badge-Btc6pQrp.js} +4 -4
  247. package/dist/{icon-badge-Dv0RYQwj.js.map → icon-badge-Btc6pQrp.js.map} +1 -1
  248. package/dist/index.js +2 -2
  249. package/dist/input-SX9V0AL3.js +255 -0
  250. package/dist/input-SX9V0AL3.js.map +1 -0
  251. package/dist/input-vxcaNCYC.js +20 -0
  252. package/dist/input-vxcaNCYC.js.map +1 -0
  253. package/dist/{item-pJ0GsOiJ.js → item-DE4YnuJx.js} +18 -17
  254. package/dist/item-DE4YnuJx.js.map +1 -0
  255. package/dist/layout/app-shell.js +1 -1
  256. package/dist/layout/auth.js +1 -1
  257. package/dist/layout/containers.js +1 -1
  258. package/dist/layout/header.js +1 -1
  259. package/dist/layout/hooks.js +1 -1
  260. package/dist/layout/navigation.js +1 -1
  261. package/dist/layout/page.js +1 -1
  262. package/dist/layout/settings.js +1 -1
  263. package/dist/layout/sidebar.js +2 -2
  264. package/dist/layout/workspace.js +1 -1
  265. package/dist/layout.js +10 -10
  266. package/dist/lib/affordance-geometry.generated.d.ts +40 -9
  267. package/dist/lib/control-group-recipes.d.ts +22 -0
  268. package/dist/lib/field-affordance-recipes.d.ts +35 -2
  269. package/dist/lib/field-state-recipes.d.ts +2 -2
  270. package/dist/lib/navigation-row-recipes.d.ts +3 -2
  271. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -1
  272. package/dist/lib/surface-recipes.d.ts +5 -2
  273. package/dist/lib/token-merge.generated.d.ts +144 -2
  274. package/dist/lib/ui-provider/types.d.ts +4 -2
  275. package/dist/lib/use-prefers-reduced-motion.d.ts +2 -0
  276. package/dist/lib/utils.js +1 -1
  277. package/dist/{media-gallery-DhDRgnVZ.js → media-gallery-DLp3HAz0.js} +75 -74
  278. package/dist/media-gallery-DLp3HAz0.js.map +1 -0
  279. package/dist/{mentions-B8Ko-fhS.js → mentions-Cl0Kt_Pd.js} +52 -50
  280. package/dist/{mentions-B8Ko-fhS.js.map → mentions-Cl0Kt_Pd.js.map} +1 -1
  281. package/dist/message-SZUNB1eX.js +127 -0
  282. package/dist/message-SZUNB1eX.js.map +1 -0
  283. package/dist/{navigation-DBEu4POU.js → navigation-DnQSNMT0.js} +64 -55
  284. package/dist/navigation-DnQSNMT0.js.map +1 -0
  285. package/dist/{navigation-BUIn2Qxx.js → navigation-DyytsLRB.js} +37 -37
  286. package/dist/navigation-DyytsLRB.js.map +1 -0
  287. package/dist/{navigation-row-recipes-GVh11KiT.js → navigation-row-recipes-DQEXQcqY.js} +3 -3
  288. package/dist/navigation-row-recipes-DQEXQcqY.js.map +1 -0
  289. package/dist/{number-BNT_BIzJ.js → number-DasMFWEG.js} +4 -4
  290. package/dist/{number-BNT_BIzJ.js.map → number-DasMFWEG.js.map} +1 -1
  291. package/dist/overlays-DUbs1KEi.js +1011 -0
  292. package/dist/overlays-DUbs1KEi.js.map +1 -0
  293. package/dist/{page-BV6ioQg3.js → page-hGmT4nWK.js} +75 -64
  294. package/dist/page-hGmT4nWK.js.map +1 -0
  295. package/dist/{page-header-DQRa0jug.js → page-header-D8nERkn5.js} +9 -9
  296. package/dist/page-header-D8nERkn5.js.map +1 -0
  297. package/dist/{pagination-C29vvt3I.js → pagination-NLGqRirf.js} +20 -20
  298. package/dist/pagination-NLGqRirf.js.map +1 -0
  299. package/dist/{popover-CoLDEg19.js → popover-CghIYdQf.js} +23 -22
  300. package/dist/popover-CghIYdQf.js.map +1 -0
  301. package/dist/{popover-menu-GLIQTJTx.js → popover-menu-B4PoWhRl.js} +6 -6
  302. package/dist/{popover-menu-GLIQTJTx.js.map → popover-menu-B4PoWhRl.js.map} +1 -1
  303. package/dist/{popover.recipes-zgBhMlUu.js → popover.recipes-QlD4JenO.js} +5 -5
  304. package/dist/popover.recipes-QlD4JenO.js.map +1 -0
  305. package/dist/{primitives-DKPOGVpj.js → primitives-C7ff0QaI.js} +120 -113
  306. package/dist/primitives-C7ff0QaI.js.map +1 -0
  307. package/dist/primitives.js +3 -3
  308. package/dist/{progress-BOe8l_FZ.js → progress-BroqrAyV.js} +10 -9
  309. package/dist/progress-BroqrAyV.js.map +1 -0
  310. package/dist/{receipt-BM8xsGFy.js → receipt-BuJynLgf.js} +8 -8
  311. package/dist/{receipt-BM8xsGFy.js.map → receipt-BuJynLgf.js.map} +1 -1
  312. package/dist/{rich-text-B7sBAdDG.js → rich-text-DlxDOtf4.js} +4 -4
  313. package/dist/{rich-text-B7sBAdDG.js.map → rich-text-DlxDOtf4.js.map} +1 -1
  314. package/dist/rich-text-editor-BKyG7rWz.js +574 -0
  315. package/dist/rich-text-editor-BKyG7rWz.js.map +1 -0
  316. package/dist/{rich-text-editor.recipes-DxvOE0Lp.js → rich-text-editor.recipes-B72Nfuze.js} +35 -26
  317. package/dist/rich-text-editor.recipes-B72Nfuze.js.map +1 -0
  318. package/dist/{scroll-area-BheMQ270.js → scroll-area-D-pIhEKl.js} +3 -3
  319. package/dist/scroll-area-D-pIhEKl.js.map +1 -0
  320. package/dist/{separator-Gk_WXH-l.js → separator-BNIgG3au.js} +3 -3
  321. package/dist/{separator-Gk_WXH-l.js.map → separator-BNIgG3au.js.map} +1 -1
  322. package/dist/{separator-DO0EbCEm.js → separator-BhtFyo4x.js} +2 -2
  323. package/dist/{separator-DO0EbCEm.js.map → separator-BhtFyo4x.js.map} +1 -1
  324. package/dist/services/actions.js +1 -1
  325. package/dist/{settings-BnCyyPOJ.js → settings-DOTOzeZ2.js} +10 -9
  326. package/dist/{settings-BnCyyPOJ.js.map → settings-DOTOzeZ2.js.map} +1 -1
  327. package/dist/{sheet-B-q914Ad.js → sheet-BFhrNehm.js} +11 -11
  328. package/dist/sheet-BFhrNehm.js.map +1 -0
  329. package/dist/{sidebar-DPR7fmqN.js → sidebar-CyR4XKwR.js} +219 -200
  330. package/dist/sidebar-CyR4XKwR.js.map +1 -0
  331. package/dist/{sidebar-C_2p3Tfj.js → sidebar-SvGJ0Zwi.js} +63 -58
  332. package/dist/sidebar-SvGJ0Zwi.js.map +1 -0
  333. package/dist/{skeleton-CmT1ppqb.js → skeleton-3F0uhYn3.js} +4 -4
  334. package/dist/{skeleton-CmT1ppqb.js.map → skeleton-3F0uhYn3.js.map} +1 -1
  335. package/dist/{smart-card-CYLn46e6.js → smart-card-DjGVV2xr.js} +171 -165
  336. package/dist/smart-card-DjGVV2xr.js.map +1 -0
  337. package/dist/{spinner-BY9HbUEh.js → spinner-Cpf7oRkF.js} +5 -5
  338. package/dist/{spinner-BY9HbUEh.js.map → spinner-Cpf7oRkF.js.map} +1 -1
  339. package/dist/{structure-MvKVq-oL.js → structure-CRdqVawd.js} +2 -2
  340. package/dist/{structure-MvKVq-oL.js.map → structure-CRdqVawd.js.map} +1 -1
  341. package/dist/style.css +1 -1
  342. package/dist/{surface-recipes-CQfRr-VL.js → surface-recipes-Dd__PD-w.js} +4 -3
  343. package/dist/surface-recipes-Dd__PD-w.js.map +1 -0
  344. package/dist/{table-DnlAJ-xR.js → table-CLtJTxoR.js} +17 -16
  345. package/dist/table-CLtJTxoR.js.map +1 -0
  346. package/dist/table-CcRDZiLP.js +1444 -0
  347. package/dist/table-CcRDZiLP.js.map +1 -0
  348. package/dist/tabs-BNgu7g0u.js +188 -0
  349. package/dist/tabs-BNgu7g0u.js.map +1 -0
  350. package/dist/text-inputs-DsR56TR-.js +330 -0
  351. package/dist/text-inputs-DsR56TR-.js.map +1 -0
  352. package/dist/{text.styles-BwB7vAF2.js → text.styles-Q4sGAIgA.js} +18 -10
  353. package/dist/text.styles-Q4sGAIgA.js.map +1 -0
  354. package/dist/theme.css +77 -115
  355. package/dist/{timelines-B9ICkQcV.js → timelines-D1pkt3se.js} +84 -78
  356. package/dist/timelines-D1pkt3se.js.map +1 -0
  357. package/dist/{tree-BdWSaoFT.js → tree-BtmYyMZV.js} +8 -8
  358. package/dist/{tree-BdWSaoFT.js.map → tree-BtmYyMZV.js.map} +1 -1
  359. package/dist/typography/rich-text.js +1 -1
  360. package/dist/typography-BxQgiZyw.js +96 -0
  361. package/dist/typography-BxQgiZyw.js.map +1 -0
  362. package/dist/typography.js +1 -1
  363. package/dist/{ui-provider-CftIB6TY.js → ui-provider-DRPn3qNl.js} +3 -2
  364. package/dist/ui-provider-DRPn3qNl.js.map +1 -0
  365. package/dist/ui-provider.js +1 -1
  366. package/dist/{upload-D8Za5x_c.js → upload-CDbYw1WN.js} +326 -323
  367. package/dist/upload-CDbYw1WN.js.map +1 -0
  368. package/dist/{upload-queue-hIIYBLS7.js → upload-queue-CNd_hH_a.js} +25 -25
  369. package/dist/upload-queue-CNd_hH_a.js.map +1 -0
  370. package/dist/{usage-card-DnmnJ58D.js → usage-card-VyJLUwRr.js} +53 -54
  371. package/dist/usage-card-VyJLUwRr.js.map +1 -0
  372. package/dist/utils-BvH9PSmq.js +4275 -0
  373. package/dist/utils-BvH9PSmq.js.map +1 -0
  374. package/dist/value-inputs-D0KCrfVC.js +840 -0
  375. package/dist/value-inputs-D0KCrfVC.js.map +1 -0
  376. package/dist/{workspace-C1PZmk8L.js → workspace-CcR8r-Nt.js} +115 -122
  377. package/dist/workspace-CcR8r-Nt.js.map +1 -0
  378. package/docs/consumer-skill/SKILL.md +110 -119
  379. package/docs/consumer-skill/examples/analytics.tsx +34 -0
  380. package/docs/consumer-skill/examples/app-layout.tsx +42 -12
  381. package/docs/consumer-skill/examples/detail.tsx +20 -4
  382. package/docs/consumer-skill/examples/manifest.json +13 -1
  383. package/docs/consumer-skill/examples/website.tsx +56 -0
  384. package/docs/consumer-skill/references/analytics.md +70 -0
  385. package/docs/consumer-skill/references/composition.md +116 -2
  386. package/docs/consumer-skill/references/design-contract.md +33 -7
  387. package/docs/consumer-skill/references/discovery.md +76 -5
  388. package/docs/consumer-skill/references/integration.md +14 -0
  389. package/docs/consumer-skill/references/public-api.json +2023 -218
  390. package/docs/consumer-skill/references/review.md +55 -3
  391. package/docs/consumer-skill/references/theming.md +52 -7
  392. package/docs/consumer-skill/references/tokens.json +177 -9
  393. package/docs/consumer-skill/references/workflows.md +32 -0
  394. package/docs/consumer-skill/scripts/check-composition.mjs +1 -1
  395. package/docs/consumer-skill/scripts/composition-policy.mjs +179 -17
  396. package/docs/consumer-skill/scripts/discovery.mjs +61 -9
  397. package/docs/consumer-skill/scripts/surface-policy.mjs +44 -0
  398. package/package.json +7 -4
  399. package/dist/accordion-B-5Focs8.js.map +0 -1
  400. package/dist/action-menu-Cx3SdfbN.js.map +0 -1
  401. package/dist/affordance-geometry.generated-D8Jcfb0G.js +0 -32
  402. package/dist/affordance-geometry.generated-D8Jcfb0G.js.map +0 -1
  403. package/dist/ai-artifact-B5tPpXnS.js.map +0 -1
  404. package/dist/app-shell-at8Kt4l_.js.map +0 -1
  405. package/dist/auth-OFwWSAap.js +0 -704
  406. package/dist/auth-OFwWSAap.js.map +0 -1
  407. package/dist/breadcrumbs-DdQ_I5ra.js.map +0 -1
  408. package/dist/button-BS6l5JUw.js.map +0 -1
  409. package/dist/buttons-Co6GavvM.js +0 -674
  410. package/dist/buttons-Co6GavvM.js.map +0 -1
  411. package/dist/chart-DVfcwQu6.js +0 -149
  412. package/dist/chart-DVfcwQu6.js.map +0 -1
  413. package/dist/checkbox-BavDRjF7.js.map +0 -1
  414. package/dist/choice-inputs-CC7XqPQO.js +0 -619
  415. package/dist/choice-inputs-CC7XqPQO.js.map +0 -1
  416. package/dist/code-block-xHKbAJDj.js.map +0 -1
  417. package/dist/combobox-DEbdr-3u.js.map +0 -1
  418. package/dist/combobox-xv3yJbzl.js.map +0 -1
  419. package/dist/command-C0xe7u9B.js.map +0 -1
  420. package/dist/comments-DviPLnwy.js +0 -1132
  421. package/dist/comments-DviPLnwy.js.map +0 -1
  422. package/dist/containers-6s-ucRQQ.js.map +0 -1
  423. package/dist/data-display-cWIRdeaf.js.map +0 -1
  424. package/dist/date-picker-CA6ogMQB.js.map +0 -1
  425. package/dist/date-pickers-BPIKLdsD.js +0 -224
  426. package/dist/date-pickers-BPIKLdsD.js.map +0 -1
  427. package/dist/feedback-DWUkgEjR.js.map +0 -1
  428. package/dist/field-affordance-recipes-IjzPrCTw.js +0 -17
  429. package/dist/field-affordance-recipes-IjzPrCTw.js.map +0 -1
  430. package/dist/field-state-recipes-CBTRt9Bt.js.map +0 -1
  431. package/dist/filters-BhsUtsxW.js.map +0 -1
  432. package/dist/form-field-Bn7ZH1rA.js.map +0 -1
  433. package/dist/form-sizing-BWs70_a2.js.map +0 -1
  434. package/dist/forms-numeric-BUBxELBv.js +0 -867
  435. package/dist/forms-numeric-BUBxELBv.js.map +0 -1
  436. package/dist/header-C59QZyxV.js.map +0 -1
  437. package/dist/http-CLTVJc5I.js.map +0 -1
  438. package/dist/input-WwYQZJzG.js +0 -202
  439. package/dist/input-WwYQZJzG.js.map +0 -1
  440. package/dist/input-ci9fIgFH.js +0 -20
  441. package/dist/input-ci9fIgFH.js.map +0 -1
  442. package/dist/item-pJ0GsOiJ.js.map +0 -1
  443. package/dist/media-gallery-DhDRgnVZ.js.map +0 -1
  444. package/dist/message-COsdEvXT.js +0 -108
  445. package/dist/message-COsdEvXT.js.map +0 -1
  446. package/dist/navigation-BUIn2Qxx.js.map +0 -1
  447. package/dist/navigation-DBEu4POU.js.map +0 -1
  448. package/dist/navigation-row-recipes-GVh11KiT.js.map +0 -1
  449. package/dist/overlays-B11wZka6.js +0 -982
  450. package/dist/overlays-B11wZka6.js.map +0 -1
  451. package/dist/page-BV6ioQg3.js.map +0 -1
  452. package/dist/page-header-DQRa0jug.js.map +0 -1
  453. package/dist/pagination-C29vvt3I.js.map +0 -1
  454. package/dist/popover-CoLDEg19.js.map +0 -1
  455. package/dist/popover.recipes-zgBhMlUu.js.map +0 -1
  456. package/dist/primitives-DKPOGVpj.js.map +0 -1
  457. package/dist/progress-BOe8l_FZ.js.map +0 -1
  458. package/dist/rich-text-editor-CoVrTiSv.js +0 -575
  459. package/dist/rich-text-editor-CoVrTiSv.js.map +0 -1
  460. package/dist/rich-text-editor.recipes-DxvOE0Lp.js.map +0 -1
  461. package/dist/scroll-area-BheMQ270.js.map +0 -1
  462. package/dist/select-B2mb-qN2.js +0 -108
  463. package/dist/select-B2mb-qN2.js.map +0 -1
  464. package/dist/sheet-B-q914Ad.js.map +0 -1
  465. package/dist/sidebar-C_2p3Tfj.js.map +0 -1
  466. package/dist/sidebar-DPR7fmqN.js.map +0 -1
  467. package/dist/smart-card-CYLn46e6.js.map +0 -1
  468. package/dist/surface-recipes-CQfRr-VL.js.map +0 -1
  469. package/dist/table-BS39xnlq.js +0 -1424
  470. package/dist/table-BS39xnlq.js.map +0 -1
  471. package/dist/table-DnlAJ-xR.js.map +0 -1
  472. package/dist/tabs-B5cNMWiP.js +0 -187
  473. package/dist/tabs-B5cNMWiP.js.map +0 -1
  474. package/dist/text-inputs-Dh9XGyiS.js +0 -331
  475. package/dist/text-inputs-Dh9XGyiS.js.map +0 -1
  476. package/dist/text.styles-BwB7vAF2.js.map +0 -1
  477. package/dist/timelines-B9ICkQcV.js.map +0 -1
  478. package/dist/typography-Cv8MT-82.js +0 -96
  479. package/dist/typography-Cv8MT-82.js.map +0 -1
  480. package/dist/ui-provider-CftIB6TY.js.map +0 -1
  481. package/dist/upload-D8Za5x_c.js.map +0 -1
  482. package/dist/upload-queue-hIIYBLS7.js.map +0 -1
  483. package/dist/usage-card-DnmnJ58D.js.map +0 -1
  484. package/dist/utils-C2EKeIw3.js +0 -72
  485. package/dist/utils-C2EKeIw3.js.map +0 -1
  486. package/dist/value-inputs-DX2dbxjj.js +0 -824
  487. package/dist/value-inputs-DX2dbxjj.js.map +0 -1
  488. package/dist/workspace-C1PZmk8L.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  "use client";
2
- import { t as e } from "./utils-C2EKeIw3.js";
3
- import { n as t } from "./buttons-Co6GavvM.js";
4
- import { a as n } from "./typography-Cv8MT-82.js";
5
- import { t as r } from "./structure-MvKVq-oL.js";
6
- import { t as i } from "./progress-BOe8l_FZ.js";
7
- import { t as a } from "./skeleton-CmT1ppqb.js";
2
+ import { t as e } from "./utils-BvH9PSmq.js";
3
+ import { a as t } from "./typography-BxQgiZyw.js";
4
+ import { t as n } from "./button-BZDasD04.js";
5
+ import { t as r } from "./structure-CRdqVawd.js";
6
+ import { t as i } from "./progress-BroqrAyV.js";
7
+ import { t as a } from "./skeleton-3F0uhYn3.js";
8
8
  import { forwardRef as o } from "react";
9
9
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
10
10
  import { AlertCircle as u, Loader2 as d } from "lucide-react";
@@ -13,14 +13,14 @@ import { cva as f } from "class-variance-authority";
13
13
  function p({ className: t, ...n }) {
14
14
  return /* @__PURE__ */ c("div", {
15
15
  "data-slot": "empty",
16
- className: e("gap-4 rounded-lg border-dashed p-12 flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance", t),
16
+ className: e("rounded-lg border-dashed flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance", t),
17
17
  ...n
18
18
  });
19
19
  }
20
20
  function m({ className: t, ...n }) {
21
21
  return /* @__PURE__ */ c("div", {
22
22
  "data-slot": "empty-header",
23
- className: e("gap-2 flex max-w-sm flex-col items-center", t),
23
+ className: e("flex max-w-sm flex-col items-center", t),
24
24
  ...n
25
25
  });
26
26
  }
@@ -59,7 +59,7 @@ function v({ className: t, ...n }) {
59
59
  function y({ className: t, ...n }) {
60
60
  return /* @__PURE__ */ c("div", {
61
61
  "data-slot": "empty-content",
62
- className: e("gap-4 text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance", t),
62
+ className: e("text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance", t),
63
63
  ...n
64
64
  });
65
65
  }
@@ -70,7 +70,7 @@ function b(e) {
70
70
  }
71
71
  function x({ className: t, ...n }) {
72
72
  return /* @__PURE__ */ c(p, {
73
- className: e("empty--component gap-space-lg rounded-radius-lg p-surface", t),
73
+ className: e("empty--component gap-space-lg rounded-radius p-surface", t),
74
74
  ...n
75
75
  });
76
76
  }
@@ -86,14 +86,14 @@ function C({ className: t, ...n }) {
86
86
  ...n
87
87
  });
88
88
  }
89
- function w({ className: t, headingLevel: r = 3, role: i, "aria-level": a, children: o, ...s }) {
89
+ function w({ className: n, headingLevel: r = 3, role: i, "aria-level": a, children: o, ...s }) {
90
90
  let l = i ?? "heading";
91
91
  return /* @__PURE__ */ c(_, {
92
92
  role: l,
93
93
  "aria-level": a ?? (l === "heading" ? r : void 0),
94
- className: e("empty-title--component tracking-normal", t),
94
+ className: e("empty-title--component tracking-normal", n),
95
95
  ...s,
96
- children: b(o) ? /* @__PURE__ */ c(n, {
96
+ children: b(o) ? /* @__PURE__ */ c(t, {
97
97
  tag: "span",
98
98
  size: "base",
99
99
  weight: "semibold",
@@ -102,11 +102,11 @@ function w({ className: t, headingLevel: r = 3, role: i, "aria-level": a, childr
102
102
  }) : o
103
103
  });
104
104
  }
105
- function T({ className: t, children: r, ...i }) {
105
+ function T({ className: n, children: r, ...i }) {
106
106
  return /* @__PURE__ */ c(v, {
107
- className: e("empty-description--component", t),
107
+ className: e("empty-description--component", n),
108
108
  ...i,
109
- children: b(r) ? /* @__PURE__ */ c(n, {
109
+ children: b(r) ? /* @__PURE__ */ c(t, {
110
110
  tag: "span",
111
111
  type: "secondary",
112
112
  lineHeight: "relaxed",
@@ -114,11 +114,11 @@ function T({ className: t, children: r, ...i }) {
114
114
  }) : r
115
115
  });
116
116
  }
117
- function E({ className: t, children: r, ...i }) {
117
+ function E({ className: n, children: r, ...i }) {
118
118
  return /* @__PURE__ */ c(y, {
119
- className: e("empty-content--component gap-space-md", t),
119
+ className: e("empty-content--component gap-space-md", n),
120
120
  ...i,
121
- children: b(r) ? /* @__PURE__ */ c(n, { children: r }) : r
121
+ children: b(r) ? /* @__PURE__ */ c(t, { children: r }) : r
122
122
  });
123
123
  }
124
124
  x.displayName = "Empty", S.displayName = "EmptyHeader", C.displayName = "EmptyMedia", w.displayName = "EmptyTitle", T.displayName = "EmptyDescription", E.displayName = "EmptyContent";
@@ -126,7 +126,7 @@ x.displayName = "Empty", S.displayName = "EmptyHeader", C.displayName = "EmptyMe
126
126
  //#region src/components/base/feedback/state-display.tsx
127
127
  var D = {
128
128
  inline: "w-full max-w-full py-row-y",
129
- panel: "w-full rounded-radius-lg border p-surface"
129
+ panel: "w-full rounded-radius border p-surface"
130
130
  }, O = {
131
131
  neutral: "border-border bg-card",
132
132
  destructive: "border-destructive/30 bg-destructive/5"
@@ -134,13 +134,13 @@ var D = {
134
134
  function k(e) {
135
135
  return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
136
136
  }
137
- var A = o(function({ componentClassName: t, variant: i, tone: a, icon: o, title: s, description: u, action: d, details: f, className: p, ...m }, h) {
138
- let g = t.replace("--component", "");
137
+ var A = o(function({ componentClassName: n, variant: i, tone: a, icon: o, title: s, description: u, action: d, details: f, className: p, ...m }, h) {
138
+ let g = n.replace("--component", "");
139
139
  return /* @__PURE__ */ l("div", {
140
140
  ref: h,
141
141
  "data-variant": i,
142
142
  "data-tone": a,
143
- className: e(t, "grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-start gap-x-space-sm", "sm:grid-cols-[auto_minmax(0,1fr)_auto]", D[i], i === "panel" && O[a], p),
143
+ className: e(n, "grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-start gap-x-space-sm", "sm:grid-cols-[auto_minmax(0,1fr)_auto]", D[i], i === "panel" && O[a], p),
144
144
  ...m,
145
145
  children: [
146
146
  /* @__PURE__ */ c("span", {
@@ -150,7 +150,7 @@ var A = o(function({ componentClassName: t, variant: i, tone: a, icon: o, title:
150
150
  }),
151
151
  (s !== void 0 || u !== void 0) && /* @__PURE__ */ l("div", {
152
152
  className: e(`${g}--message`, "grid min-w-0", i === "inline" ? "gap-dense" : "gap-normal"),
153
- children: [s !== void 0 && (k(s) ? /* @__PURE__ */ c(n, {
153
+ children: [s !== void 0 && (k(s) ? /* @__PURE__ */ c(t, {
154
154
  tag: "span",
155
155
  weight: "semibold",
156
156
  className: e(`${g}--title`, "block min-w-0"),
@@ -158,7 +158,7 @@ var A = o(function({ componentClassName: t, variant: i, tone: a, icon: o, title:
158
158
  }) : /* @__PURE__ */ c("div", {
159
159
  className: e(`${g}--title`, "min-w-0"),
160
160
  children: s
161
- })), u !== void 0 && (k(u) ? /* @__PURE__ */ c(n, {
161
+ })), u !== void 0 && (k(u) ? /* @__PURE__ */ c(t, {
162
162
  tag: "span",
163
163
  size: i === "inline" ? "xs" : void 0,
164
164
  type: "secondary",
@@ -205,7 +205,7 @@ var j = o(function({ label: e, description: t, progress: n, variant: r = "inline
205
205
  });
206
206
  });
207
207
  j.displayName = "LoadingState";
208
- var M = o(function({ title: e, description: n, action: r, onRetry: i, retryLabel: a, variant: o = "panel", icon: s, className: l, ...d }, f) {
208
+ var M = o(function({ title: e, description: t, action: r, onRetry: i, retryLabel: a, variant: o = "panel", icon: s, className: l, ...d }, f) {
209
209
  return /* @__PURE__ */ c(A, {
210
210
  ref: f,
211
211
  role: "alert",
@@ -214,8 +214,8 @@ var M = o(function({ title: e, description: n, action: r, onRetry: i, retryLabel
214
214
  tone: "destructive",
215
215
  icon: s ?? /* @__PURE__ */ c(u, { className: "size-icon text-destructive" }),
216
216
  title: e,
217
- description: n,
218
- action: r ?? (i && a ? /* @__PURE__ */ c(t, {
217
+ description: t,
218
+ action: r ?? (i && a ? /* @__PURE__ */ c(n, {
219
219
  type: "button",
220
220
  tone: "destructive",
221
221
  buttonStyle: "ghost",
@@ -230,4 +230,4 @@ M.displayName = "ErrorState";
230
230
  //#endregion
231
231
  export { T as a, w as c, E as i, j as n, S as o, x as r, C as s, M as t };
232
232
 
233
- //# sourceMappingURL=feedback-DWUkgEjR.js.map
233
+ //# sourceMappingURL=feedback-CJkUAapr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-CJkUAapr.js","names":["Empty","EmptyHeader","EmptyMedia","EmptyTitle","EmptyDescription","EmptyContent","isSimpleText","EmptyPrimitive","EmptyHeaderPrimitive","EmptyMediaPrimitive","EmptyTitlePrimitive","EmptyDescriptionPrimitive","EmptyContentPrimitive","_Fragment","cn","Text","Button","Stack","Progress","ContentSkeleton","Fragment$1","Empty$1","props","className","EmptyHeader$1","emptyMediaVariants","cva","EmptyMedia$1","variant","EmptyTitle$1","EmptyDescription$1","EmptyContent$1","isSimpleText$1","value","Empty","EmptyHeader","EmptyMedia","EmptyTitle","ariaLevel","resolvedRole","role","headingLevel","children","EmptyDescription","EmptyContent","frameVariantClass","frameToneClass","isSimpleText","StateDisplayFrame","forwardRef","regionPrefix","componentClassName","tone","icon","title","description","action","details","LoadingState","resolvedProgress","progress","Loader2","label","skeleton","ErrorState","AlertCircle","onRetry","retryLabel"],"sources":["../src/components/ui/empty.tsx","../src/components/base/feedback/empty.tsx","../src/components/base/feedback/state-display.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"rounded-lg border-dashed flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"flex max-w-sm flex-col items-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"mb-space-md flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-sm/relaxed text-muted-foreground [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n","/**\n * Tokenized low-level empty-state parts.\n *\n * Use the blocks `EmptyState` for an opinionated ready-made state. These\n * parts are for consumers that need to assemble their own media/content/action\n * anatomy without importing the internal shadcn primitive.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport {\n\tEmpty as EmptyPrimitive,\n\tEmptyContent as EmptyContentPrimitive,\n\tEmptyDescription as EmptyDescriptionPrimitive,\n\tEmptyHeader as EmptyHeaderPrimitive,\n\tEmptyMedia as EmptyMediaPrimitive,\n\tEmptyTitle as EmptyTitlePrimitive,\n} from '../../ui/empty';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nexport type EmptyProps = ComponentProps<typeof EmptyPrimitive>;\nexport type EmptyContentProps = ComponentProps<typeof EmptyContentPrimitive>;\nexport type EmptyDescriptionProps = ComponentProps<typeof EmptyDescriptionPrimitive>;\nexport type EmptyHeaderProps = ComponentProps<typeof EmptyHeaderPrimitive>;\nexport type EmptyMediaProps = ComponentProps<typeof EmptyMediaPrimitive>;\nexport interface EmptyTitleProps extends ComponentProps<typeof EmptyTitlePrimitive> {\n\t/** Accessible heading level used by the default `role=\"heading\"` output. */\n\theadingLevel?: 2 | 3 | 4 | 5 | 6;\n}\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/** Root layout for a consumer-blocks empty state. */\nexport function Empty({ className, ...props }: EmptyProps) {\n\treturn (\n\t\t<EmptyPrimitive\n\t\t\tclassName={cn('empty--component gap-space-lg rounded-radius p-surface', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\n/** Centered title and description stack. */\nexport function EmptyHeader({ className, ...props }: EmptyHeaderProps) {\n\treturn <EmptyHeaderPrimitive className={cn('empty-header--component gap-normal', className)} {...props} />;\n}\n\n/** Optional icon or illustration region. */\nexport function EmptyMedia({ className, ...props }: EmptyMediaProps) {\n\treturn <EmptyMediaPrimitive className={cn('empty-media--component mb-space-sm', className)} {...props} />;\n}\n\n/** Empty-state heading calibrated to the admin typography scale. */\nexport function EmptyTitle({ className, headingLevel = 3, role, 'aria-level': ariaLevel, children, ...props }: EmptyTitleProps) {\n\tconst resolvedRole = role ?? 'heading';\n\treturn (\n\t\t<EmptyTitlePrimitive\n\t\t\trole={resolvedRole}\n\t\t\taria-level={ariaLevel ?? (resolvedRole === 'heading' ? headingLevel : undefined)}\n\t\t\tclassName={cn('empty-title--component tracking-normal', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"base\" weight=\"semibold\" lineHeight=\"tight\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</EmptyTitlePrimitive>\n\t);\n}\n\n/** Supporting explanation for the absence of content. */\nexport function EmptyDescription({ className, children, ...props }: EmptyDescriptionProps) {\n\treturn (\n\t\t<EmptyDescriptionPrimitive className={cn('empty-description--component', className)} {...props}>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" type=\"secondary\" lineHeight=\"relaxed\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</EmptyDescriptionPrimitive>\n\t);\n}\n\n/** Actions or next-step content rendered below the explanation. */\nexport function EmptyContent({ className, children, ...props }: EmptyContentProps) {\n\treturn (\n\t\t<EmptyContentPrimitive className={cn('empty-content--component gap-space-md', className)} {...props}>\n\t\t\t{isSimpleText(children) ? <Text>{children}</Text> : children}\n\t\t</EmptyContentPrimitive>\n\t);\n}\n\nEmpty.displayName = 'Empty';\nEmptyHeader.displayName = 'EmptyHeader';\nEmptyMedia.displayName = 'EmptyMedia';\nEmptyTitle.displayName = 'EmptyTitle';\nEmptyDescription.displayName = 'EmptyDescription';\nEmptyContent.displayName = 'EmptyContent';\n","/**\n * Shared async-state presentations for bounded admin surfaces.\n *\n * `inline` is a compact, chrome-free status for menus, table regions, and\n * existing panels. `panel` owns one deliberate frame so consumers do not\n * have to recreate card padding around loading and error states. Loading and\n * error use the same icon/message/action grid, which keeps transitions between\n * states visually stable.\n */\nimport { AlertCircle, Loader2 } from 'lucide-react';\nimport {\n\tforwardRef,\n\ttype ComponentPropsWithoutRef,\n\ttype ReactNode,\n} from 'react';\n\nimport { Button } from '../buttons';\nimport { Stack } from '../structure';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nimport { Progress } from './progress';\nimport { ContentSkeleton } from '../skeleton/skeleton';\n\ntype DivProps = ComponentPropsWithoutRef<'div'>;\ntype StateDisplayVariant = 'inline' | 'panel';\ntype StateDisplayTone = 'neutral' | 'destructive';\n\ninterface StateDisplayFrameProps extends Omit<DivProps, 'title'> {\n\tcomponentClassName: string;\n\t/** Which state is shown — loading, empty, or error. */\n\tvariant: StateDisplayVariant;\n\ttone: StateDisplayTone;\n\t/** Glyph shown above the message. */\n\ticon: ReactNode;\n\t/** Heading above the description. */\n\ttitle?: ReactNode;\n\t/** Supporting copy under the label. */\n\tdescription?: ReactNode;\n\t/** Control offered alongside the message. */\n\taction?: ReactNode;\n\tdetails?: ReactNode;\n}\n\nconst frameVariantClass: Record<StateDisplayVariant, string> = {\n\tinline: 'w-full max-w-full py-row-y',\n\tpanel: 'w-full rounded-radius border p-surface',\n};\n\nconst frameToneClass: Record<StateDisplayTone, string> = {\n\tneutral: 'border-border bg-card',\n\tdestructive: 'border-destructive/30 bg-destructive/5',\n};\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nconst StateDisplayFrame = forwardRef<HTMLDivElement, StateDisplayFrameProps>(\n\tfunction StateDisplayFrame({\n\t\tcomponentClassName,\n\t\tvariant,\n\t\ttone,\n\t\ticon,\n\t\ttitle,\n\t\tdescription,\n\t\taction,\n\t\tdetails,\n\t\tclassName,\n\t\t...props\n\t}, ref) {\n\t\tconst regionPrefix = componentClassName.replace('--component', '');\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tdata-variant={variant}\n\t\t\t\tdata-tone={tone}\n\t\t\t\tclassName={cn(\n\t\t\t\t\tcomponentClassName,\n\t\t\t\t\t'grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-start gap-x-space-sm',\n\t\t\t\t\t'sm:grid-cols-[auto_minmax(0,1fr)_auto]',\n\t\t\t\t\tframeVariantClass[variant],\n\t\t\t\t\tvariant === 'panel' && frameToneClass[tone],\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t`${regionPrefix}--icon`,\n\t\t\t\t\t\t'mt-space-2xs inline-flex size-icon shrink-0 items-center justify-center',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{icon}\n\t\t\t\t</span>\n\t\t\t\t{(title !== undefined || description !== undefined) && (\n\t\t\t\t\t<div className={cn(`${regionPrefix}--message`, 'grid min-w-0', variant === 'inline' ? 'gap-dense' : 'gap-normal')}>\n\t\t\t\t\t\t{title !== undefined && (\n\t\t\t\t\t\t\tisSimpleText(title) ? (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\" className={cn(`${regionPrefix}--title`, 'block min-w-0')}>\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t) : <div className={cn(`${regionPrefix}--title`, 'min-w-0')}>{title}</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{description !== undefined && (\n\t\t\t\t\t\t\tisSimpleText(description) ? (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\tsize={variant === 'inline' ? 'xs' : undefined}\n\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\tclassName={cn(`${regionPrefix}--description`, 'block min-w-0')}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className={cn(`${regionPrefix}--description`, 'min-w-0')}>\n\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{action !== undefined && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t`${regionPrefix}--action`,\n\t\t\t\t\t\t\t'col-start-2 row-start-2 mt-space-sm justify-self-start',\n\t\t\t\t\t\t\t'sm:col-start-3 sm:row-start-1 sm:mt-0 sm:justify-self-end sm:self-start',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{action}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{details !== undefined && (\n\t\t\t\t\t<Stack\n\t\t\t\t\t\tgap=\"md\"\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t`${regionPrefix}--details`,\n\t\t\t\t\t\t\t'col-start-2 col-end-[-1] mt-space-md',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{details}\n\t\t\t\t\t</Stack>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t},\n);\nStateDisplayFrame.displayName = 'StateDisplayFrame';\n\nexport type LoadingStateVariant = StateDisplayVariant;\n\nexport interface LoadingStateProps extends DivProps {\n\t/** Primary line of the state message. */\n\tlabel?: ReactNode;\n\t/** Supporting copy under the label. */\n\tdescription?: ReactNode;\n\t/** Completion percentage, 0-100, for determinate loading. */\n\tprogress?: number;\n\t/** Which state is shown — loading, empty, or error. */\n\tvariant?: LoadingStateVariant;\n\t/** Renders placeholder bars instead of a message. */\n\tskeleton?: boolean | ReactNode;\n\t/** How many skeleton bars to draw. */\n\tlines?: number;\n\t/** Glyph shown above the message. */\n\ticon?: ReactNode;\n}\n\nexport const LoadingState = forwardRef<HTMLDivElement, LoadingStateProps>(\n\tfunction LoadingState({\n\t\tlabel,\n\t\tdescription,\n\t\tprogress,\n\t\tvariant = 'inline',\n\t\tskeleton = false,\n\t\tlines = 3,\n\t\ticon,\n\t\tclassName,\n\t\t...props\n\t}, ref) {\n\t\tconst resolvedProgress = typeof progress === 'number'\n\t\t\t? Math.min(100, Math.max(0, progress))\n\t\t\t: undefined;\n\t\tconst details = resolvedProgress !== undefined || skeleton\n\t\t\t? (\n\t\t\t\t<>\n\t\t\t\t\t{resolvedProgress !== undefined && (\n\t\t\t\t\t\t<Progress\n\t\t\t\t\t\t\tvalue={resolvedProgress}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tshowValue={false}\n\t\t\t\t\t\t\taria-label={typeof label === 'string' ? label : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{skeleton === true ? <ContentSkeleton lines={lines} /> : skeleton}\n\t\t\t\t</>\n\t\t\t)\n\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t<StateDisplayFrame\n\t\t\t\tref={ref}\n\t\t\t\trole=\"status\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\tcomponentClassName=\"loading-state--component\"\n\t\t\t\tvariant={variant}\n\t\t\t\ttone=\"neutral\"\n\t\t\t\ticon={icon ?? (\n\t\t\t\t\t<Loader2 className=\"size-icon animate-spin text-muted-foreground\" />\n\t\t\t\t)}\n\t\t\t\ttitle={label}\n\t\t\t\tdescription={description}\n\t\t\t\tdetails={details}\n\t\t\t\tclassName={className}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nLoadingState.displayName = 'LoadingState';\n\nexport type ErrorStateVariant = StateDisplayVariant;\n\nexport interface ErrorStateProps extends Omit<DivProps, 'title'> {\n\t/** Heading above the description. */\n\ttitle?: ReactNode;\n\t/** Supporting copy under the label. */\n\tdescription?: ReactNode;\n\t/** Control offered alongside the message. */\n\taction?: ReactNode;\n\tonRetry?: () => void;\n\t/** Copy for the retry action in the error state. */\n\tretryLabel?: ReactNode;\n\t/** Which state is shown — loading, empty, or error. */\n\tvariant?: ErrorStateVariant;\n\t/** Glyph shown above the message. */\n\ticon?: ReactNode;\n}\n\nexport const ErrorState = forwardRef<HTMLDivElement, ErrorStateProps>(\n\tfunction ErrorState({\n\t\ttitle,\n\t\tdescription,\n\t\taction,\n\t\tonRetry,\n\t\tretryLabel,\n\t\tvariant = 'panel',\n\t\ticon,\n\t\tclassName,\n\t\t...props\n\t}, ref) {\n\t\tconst retryAction = action ?? (onRetry && retryLabel ? (\n\t\t\t<Button\n\t\t\t\ttype=\"button\"\n\t\t\t\ttone=\"destructive\"\n\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\tonClick={onRetry}\n\t\t\t>\n\t\t\t\t{retryLabel}\n\t\t\t</Button>\n\t\t) : undefined);\n\n\t\treturn (\n\t\t\t<StateDisplayFrame\n\t\t\t\tref={ref}\n\t\t\t\trole=\"alert\"\n\t\t\t\tcomponentClassName=\"error-state--component\"\n\t\t\t\tvariant={variant}\n\t\t\t\ttone=\"destructive\"\n\t\t\t\ticon={icon ?? <AlertCircle className=\"size-icon text-destructive\" />}\n\t\t\t\ttitle={title}\n\t\t\t\tdescription={description}\n\t\t\t\taction={retryAction}\n\t\t\t\tclassName={className}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nErrorState.displayName = 'ErrorState';\n"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { t as e } from "./affordance-geometry.generated-CL84ZN9A.js";
2
+ //#region src/lib/field-affordance-recipes.ts
3
+ var t = {
4
+ inline: "box-border m-0 inline-flex shrink-0 items-center justify-center rounded-inner border-0 bg-transparent p-0 font-sans outline-none transition-[color,box-shadow]",
5
+ target: "box-border border-0 bg-transparent font-sans inline-flex size-control-clear shrink-0 items-center justify-center rounded-inner p-0 outline-none transition-[color,box-shadow]",
6
+ focus: "focus-visible:z-10 focus-visible:border-input focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
7
+ clear: "text-muted-foreground hover:text-foreground",
8
+ toggle: "text-muted-foreground hover:bg-accent hover:text-accent-foreground",
9
+ icon: "size-control-clear-icon shrink-0 max-h-full max-w-full",
10
+ centered: "absolute top-1/2 -translate-y-1/2",
11
+ clearEnd: e.clearEnd,
12
+ clearPadding: e.clearPadding,
13
+ togglePadding: e.togglePadding,
14
+ textareaCountPadding: e.textareaCountPadding,
15
+ measuredPadding: e.measuredPadding,
16
+ measuredStartPadding: e.measuredStartPadding,
17
+ pairedClearPadding: e.pairedClearPadding,
18
+ pairedIconPadding: e.pairedIconPadding,
19
+ pairedAddonPadding: e.pairedAddonPadding,
20
+ pairedCountPadding: e.pairedCountPadding
21
+ };
22
+ //#endregion
23
+ export { t };
24
+
25
+ //# sourceMappingURL=field-affordance-recipes-uKY4MsZ_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-affordance-recipes-uKY4MsZ_.js","names":["affordanceGeometry","fieldAffordanceRecipes"],"sources":["../src/lib/field-affordance-recipes.ts"],"sourcesContent":["import { affordanceGeometry } from './affordance-geometry.generated';\n\n/** Field affordances have one target/clearance owner. Primitives own behavior. */\nexport const fieldAffordanceRecipes = {\n\t/** Content-sized targets for a chip/reaction that already owns its chrome. */\n\tinline: 'box-border m-0 inline-flex shrink-0 items-center justify-center rounded-inner border-0 bg-transparent p-0 font-sans outline-none transition-[color,box-shadow]',\n\ttarget: 'box-border border-0 bg-transparent font-sans inline-flex size-control-clear shrink-0 items-center justify-center rounded-inner p-0 outline-none transition-[color,box-shadow]',\n\tfocus: 'focus-visible:z-10 focus-visible:border-input focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n\tclear: 'text-muted-foreground hover:text-foreground',\n\ttoggle: 'text-muted-foreground hover:bg-accent hover:text-accent-foreground',\n\ticon: 'size-control-clear-icon shrink-0 max-h-full max-w-full',\n\tcentered: 'absolute top-1/2 -translate-y-1/2',\n\tclearEnd: affordanceGeometry.clearEnd,\n\tclearPadding: affordanceGeometry.clearPadding,\n\ttogglePadding: affordanceGeometry.togglePadding,\n\ttextareaCountPadding: affordanceGeometry.textareaCountPadding,\n\tmeasuredPadding: affordanceGeometry.measuredPadding,\n\tmeasuredStartPadding: affordanceGeometry.measuredStartPadding,\n\tpairedClearPadding: affordanceGeometry.pairedClearPadding,\n\tpairedIconPadding: affordanceGeometry.pairedIconPadding,\n\tpairedAddonPadding: affordanceGeometry.pairedAddonPadding,\n\tpairedCountPadding: affordanceGeometry.pairedCountPadding,\n} as const;\n"],"mappings":";;AAGA,IAAaC,IAAyB;CAErC,QAAQ;CACR,QAAQ;CACR,OAAO;CACP,OAAO;CACP,QAAQ;CACR,MAAM;CACN,UAAU;CACV,UAAUD,EAAmB;CAC7B,cAAcA,EAAmB;CACjC,eAAeA,EAAmB;CAClC,sBAAsBA,EAAmB;CACzC,iBAAiBA,EAAmB;CACpC,sBAAsBA,EAAmB;CACzC,oBAAoBA,EAAmB;CACvC,mBAAmBA,EAAmB;CACtC,oBAAoBA,EAAmB;CACvC,oBAAoBA,EAAmB;AACxC"}
@@ -1,11 +1,11 @@
1
1
  //#region src/lib/field-state-recipes.ts
2
2
  var e = {
3
- focus: "focus-visible:border-input focus-visible:ring-ring/50 focus-visible:ring-2",
3
+ focus: "focus-visible:border-input focus-visible:ring-ring focus-visible:ring-2",
4
4
  invalid: "aria-invalid:ring-2 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
5
- groupFocus: "has-[[data-slot=input-group-control]:focus-visible]:border-input has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-2",
5
+ groupFocus: "has-[[data-slot=input-group-control]:focus-visible]:border-input has-[[data-slot=input-group-control]:focus-visible]:ring-ring has-[[data-slot=input-group-control]:focus-visible]:ring-2",
6
6
  groupInvalid: "has-[[data-slot][aria-invalid=true]]:ring-2 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[[data-slot][aria-invalid=true]]:border-destructive"
7
7
  };
8
8
  //#endregion
9
9
  export { e as t };
10
10
 
11
- //# sourceMappingURL=field-state-recipes-CBTRt9Bt.js.map
11
+ //# sourceMappingURL=field-state-recipes-DQQpiLWC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-state-recipes-DQQpiLWC.js","names":["fieldStateRecipes"],"sources":["../src/lib/field-state-recipes.ts"],"sourcesContent":["/** Native fields and field-shaped triggers share one frame-state contract.\n * Validation marks the frame; editable values retain the semantic foreground.\n * Compound fields apply the same state to their outer frame, never each child.\n */\nexport const fieldStateRecipes = {\n\tfocus: 'focus-visible:border-input focus-visible:ring-ring focus-visible:ring-2',\n\tinvalid: 'aria-invalid:ring-2 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n\tgroupFocus: 'has-[[data-slot=input-group-control]:focus-visible]:border-input has-[[data-slot=input-group-control]:focus-visible]:ring-ring has-[[data-slot=input-group-control]:focus-visible]:ring-2',\n\tgroupInvalid: 'has-[[data-slot][aria-invalid=true]]:ring-2 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[[data-slot][aria-invalid=true]]:border-destructive',\n} as const;\n"],"mappings":";AAIA,IAAaA,IAAoB;CAChC,OAAO;CACP,SAAS;CACT,YAAY;CACZ,cAAc;AACf"}