themelia-react-ui 2.0.1 → 2.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 (480) hide show
  1. package/CHANGELOG.md +307 -131
  2. package/README.md +28 -8
  3. package/THIRD_PARTY_NOTICES.md +13 -0
  4. package/dist/{accordion-B6a3vVgA.js → accordion-Cjb6sx0G.js} +14 -13
  5. package/dist/accordion-Cjb6sx0G.js.map +1 -0
  6. package/dist/action-menu-CllU52Mm.js +280 -0
  7. package/dist/action-menu-CllU52Mm.js.map +1 -0
  8. package/dist/affordance-geometry.generated-tF36bREk.js +140 -0
  9. package/dist/affordance-geometry.generated-tF36bREk.js.map +1 -0
  10. package/dist/ai-artifact-DvTwDVyL.js +1148 -0
  11. package/dist/ai-artifact-DvTwDVyL.js.map +1 -0
  12. package/dist/{app-shell-ZK5RWdo6.js → app-shell-C4FhvCqF.js} +5 -5
  13. package/dist/{app-shell-ZK5RWdo6.js.map → app-shell-C4FhvCqF.js.map} +1 -1
  14. package/dist/attachment-BxDfL2mw.js +246 -0
  15. package/dist/attachment-BxDfL2mw.js.map +1 -0
  16. package/dist/{auth-CYxKfo69.js → auth-ax2BqjrI.js} +58 -54
  17. package/dist/auth-ax2BqjrI.js.map +1 -0
  18. package/dist/{avatar-BBnEJIx8.js → avatar-DAPlDvhJ.js} +7 -7
  19. package/dist/avatar-DAPlDvhJ.js.map +1 -0
  20. package/dist/{badge-MrKVNzW9.js → badge-HpFqoqSY.js} +40 -40
  21. package/dist/badge-HpFqoqSY.js.map +1 -0
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +1 -1
  28. package/dist/base/buttons.js +1 -1
  29. package/dist/base/cards.js +2 -2
  30. package/dist/base/carousel.js +40 -36
  31. package/dist/base/carousel.js.map +1 -1
  32. package/dist/base/cascader.js +92 -92
  33. package/dist/base/cascader.js.map +1 -1
  34. package/dist/base/chart.js +1 -1
  35. package/dist/base/choice-inputs.js +2 -2
  36. package/dist/base/code-block.js +1 -1
  37. package/dist/base/combobox.js +2 -2
  38. package/dist/base/command.js +1 -1
  39. package/dist/base/copyable.js +1 -1
  40. package/dist/base/date-pickers.js +2 -2
  41. package/dist/base/display.js +6 -6
  42. package/dist/base/feedback.js +3 -3
  43. package/dist/base/forms-numeric.js +1 -1
  44. package/dist/base/forms.js +2 -2
  45. package/dist/base/inline-edit.js +14 -14
  46. package/dist/base/inline-edit.js.map +1 -1
  47. package/dist/base/item.js +1 -1
  48. package/dist/base/media-gallery.js +1 -1
  49. package/dist/base/metadata-list.js +1 -1
  50. package/dist/base/navigation.js +6 -6
  51. package/dist/base/popover-menu.js +1 -1
  52. package/dist/base/popover.js +1 -1
  53. package/dist/base/qr-code.js +1 -1
  54. package/dist/base/repeaters.js +171 -176
  55. package/dist/base/repeaters.js.map +1 -1
  56. package/dist/base/sheet.js +1 -1
  57. package/dist/base/sidebar.js +1 -1
  58. package/dist/base/signature-pad.js +6 -6
  59. package/dist/base/skeleton.js +1 -1
  60. package/dist/base/spinner.js +79 -2
  61. package/dist/base/spinner.js.map +1 -0
  62. package/dist/base/structure.js +1 -1
  63. package/dist/base/table.js +1 -1
  64. package/dist/base/text-inputs.js +2 -2
  65. package/dist/base/toaster.js +46 -45
  66. package/dist/base/toaster.js.map +1 -1
  67. package/dist/base/tree.js +1 -1
  68. package/dist/base/upload-queue.js +1 -1
  69. package/dist/base/upload.js +3 -3
  70. package/dist/base/value-inputs.js +1 -1
  71. package/dist/{batch-action-bar-BZGDG-Si.js → batch-action-bar-DnUJ21NQ.js} +6 -5
  72. package/dist/batch-action-bar-DnUJ21NQ.js.map +1 -0
  73. package/dist/blocks/admin.js +42 -42
  74. package/dist/blocks/admin.js.map +1 -1
  75. package/dist/blocks/ai.js +260 -240
  76. package/dist/blocks/ai.js.map +1 -1
  77. package/dist/blocks/analytics/usage-card.js +1 -1
  78. package/dist/blocks/analytics.js +620 -585
  79. package/dist/blocks/analytics.js.map +1 -1
  80. package/dist/blocks/collaboration.js +1 -1
  81. package/dist/blocks/commerce/receipt.js +1 -1
  82. package/dist/blocks/commerce.js +1152 -1109
  83. package/dist/blocks/commerce.js.map +1 -1
  84. package/dist/blocks/data-display.js +2 -2
  85. package/dist/blocks/onboarding.js +48 -39
  86. package/dist/blocks/onboarding.js.map +1 -1
  87. package/dist/blocks/planning.js +13 -12
  88. package/dist/blocks/planning.js.map +1 -1
  89. package/dist/blocks/timelines.js +1 -1
  90. package/dist/{breadcrumbs-D5t7I023.js → breadcrumbs-C-oqs1sQ.js} +5 -5
  91. package/dist/breadcrumbs-C-oqs1sQ.js.map +1 -0
  92. package/dist/{button-QYwiyhD2.js → button-DVzspB_G.js} +2 -2
  93. package/dist/{button-QYwiyhD2.js.map → button-DVzspB_G.js.map} +1 -1
  94. package/dist/{buttons-SbIcm1HJ.js → buttons-DPZekJFu.js} +20 -15
  95. package/dist/buttons-DPZekJFu.js.map +1 -0
  96. package/dist/cards-BaBZR-AU.js +68 -0
  97. package/dist/cards-BaBZR-AU.js.map +1 -0
  98. package/dist/{chart-QfrARkXl.js → chart-ZOYyK2xG.js} +58 -55
  99. package/dist/chart-ZOYyK2xG.js.map +1 -0
  100. package/dist/{checkbox-DhB6K0bK.js → checkbox-AWIhNhmo.js} +2 -2
  101. package/dist/{checkbox-DhB6K0bK.js.map → checkbox-AWIhNhmo.js.map} +1 -1
  102. package/dist/{choice-inputs-t6w3ATNz.js → choice-inputs-CNHvARCJ.js} +49 -45
  103. package/dist/choice-inputs-CNHvARCJ.js.map +1 -0
  104. package/dist/{code-block-Dgbu-CU3.js → code-block-DeneBJR_.js} +8 -8
  105. package/dist/code-block-DeneBJR_.js.map +1 -0
  106. package/dist/{collapsible-D8AEGU1-.js → collapsible-C-_l4hpy.js} +3 -3
  107. package/dist/{collapsible-D8AEGU1-.js.map → collapsible-C-_l4hpy.js.map} +1 -1
  108. package/dist/{collection-content-uK16Grv0.js → collection-content-By56pLog.js} +3 -3
  109. package/dist/{collection-content-uK16Grv0.js.map → collection-content-By56pLog.js.map} +1 -1
  110. package/dist/combobox-C0EQW6dr.js +875 -0
  111. package/dist/combobox-C0EQW6dr.js.map +1 -0
  112. package/dist/combobox-xCQ2RMNE.js +309 -0
  113. package/dist/combobox-xCQ2RMNE.js.map +1 -0
  114. package/dist/{command-kNR20o7x.js → command-C25VMRII.js} +7 -7
  115. package/dist/{command-kNR20o7x.js.map → command-C25VMRII.js.map} +1 -1
  116. package/dist/{comments-BpDuCUUu.js → comments-BYYlTA8E.js} +114 -105
  117. package/dist/comments-BYYlTA8E.js.map +1 -0
  118. package/dist/components/base/badge/badge.recipes.d.ts +1 -1
  119. package/dist/components/base/buttons/loader-button.d.ts +2 -1
  120. package/dist/components/base/cards/card.recipes.d.ts +2 -3
  121. package/dist/components/base/cards/partials/smart-card-skeleton.d.ts +3 -13
  122. package/dist/components/base/cards/smart-card.types.d.ts +11 -4
  123. package/dist/components/base/chart/chart.d.ts +2 -5
  124. package/dist/components/base/combobox/combobox.strings.d.ts +7 -0
  125. package/dist/components/base/combobox/index.d.ts +30 -4
  126. package/dist/components/base/forms/form-sizing.d.ts +11 -3
  127. package/dist/components/base/navigation/pagination.d.ts +5 -2
  128. package/dist/components/base/popover/popover.recipes.d.ts +15 -1
  129. package/dist/components/base/table/index.d.ts +9 -2
  130. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  131. package/dist/components/blocks/ai/ai-shimmer/ai-shimmer.d.ts +1 -1
  132. package/dist/components/blocks/ai/ai-shimmer/types.d.ts +3 -0
  133. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +3 -1
  134. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +16 -8
  135. package/dist/components/features/activities/partials/activity-marker.d.ts +6 -3
  136. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +5 -0
  137. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +220 -0
  138. package/dist/components/features/appointment-calendar/appointment-calendar.utils.d.ts +41 -0
  139. package/dist/components/features/appointment-calendar/index.d.ts +3 -0
  140. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +32 -0
  141. package/dist/components/features/appointment-calendar/partials/appointment-month.d.ts +13 -0
  142. package/dist/components/features/combobox/combobox.strings.d.ts +15 -1
  143. package/dist/components/features/combobox/types.d.ts +4 -0
  144. package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
  145. package/dist/components/features/rich-text-editor/index.d.ts +1 -1
  146. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +6 -0
  147. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +9 -1
  148. package/dist/components/features/table/table-header.d.ts +1 -1
  149. package/dist/components/features/table/table.strings.d.ts +55 -1
  150. package/dist/components/features/table/table.types.d.ts +17 -4
  151. package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +5 -0
  152. package/dist/components/primitives/number.d.ts +4 -2
  153. package/dist/components/primitives/value.d.ts +3 -1
  154. package/dist/components/typography/text-link.d.ts +4 -0
  155. package/dist/components/ui/combobox.d.ts +6 -2
  156. package/dist/components/ui/item.d.ts +8 -8
  157. package/dist/components/ui/tabs.d.ts +1 -1
  158. package/dist/{containers-DmWiJa2I.js → containers-Mu1LMGV1.js} +2 -2
  159. package/dist/{containers-DmWiJa2I.js.map → containers-Mu1LMGV1.js.map} +1 -1
  160. package/dist/{copyable-B3Gwgdqc.js → copyable-ClBuk_UK.js} +4 -4
  161. package/dist/{copyable-B3Gwgdqc.js.map → copyable-ClBuk_UK.js.map} +1 -1
  162. package/dist/{data-display-DafIvCl5.js → data-display-DT_khPl_.js} +98 -87
  163. package/dist/data-display-DT_khPl_.js.map +1 -0
  164. package/dist/{date-BgK3bTdo.js → date-DCrsDTZc.js} +5 -5
  165. package/dist/{date-BgK3bTdo.js.map → date-DCrsDTZc.js.map} +1 -1
  166. package/dist/{date-picker-CF-DtUpF.js → date-picker-ay0Pha_a.js} +594 -593
  167. package/dist/date-picker-ay0Pha_a.js.map +1 -0
  168. package/dist/date-pickers-Ccw8DL2b.js +175 -0
  169. package/dist/date-pickers-Ccw8DL2b.js.map +1 -0
  170. package/dist/{display-DsQTVzMz.js → display-hAc1HjpI.js} +49 -49
  171. package/dist/display-hAc1HjpI.js.map +1 -0
  172. package/dist/dropdown-menu-Cl4X7L5S.js +193 -0
  173. package/dist/dropdown-menu-Cl4X7L5S.js.map +1 -0
  174. package/dist/editable-text-recipe-Cn61kEcv.js +10 -0
  175. package/dist/editable-text-recipe-Cn61kEcv.js.map +1 -0
  176. package/dist/features/activities.js +398 -375
  177. package/dist/features/activities.js.map +1 -1
  178. package/dist/features/ai-chat.js +188 -179
  179. package/dist/features/ai-chat.js.map +1 -1
  180. package/dist/features/appointment-calendar.js +683 -0
  181. package/dist/features/appointment-calendar.js.map +1 -0
  182. package/dist/features/async-preview.js +109 -107
  183. package/dist/features/async-preview.js.map +1 -1
  184. package/dist/features/combobox.js +1 -1
  185. package/dist/features/comments.js +1 -1
  186. package/dist/features/data-view.js +137 -137
  187. package/dist/features/data-view.js.map +1 -1
  188. package/dist/features/email-composer.js +255 -255
  189. package/dist/features/email-composer.js.map +1 -1
  190. package/dist/features/event-calendar.js +254 -248
  191. package/dist/features/event-calendar.js.map +1 -1
  192. package/dist/features/filters.js +1 -1
  193. package/dist/features/global-search.js +35 -32
  194. package/dist/features/global-search.js.map +1 -1
  195. package/dist/features/kanban.js +118 -117
  196. package/dist/features/kanban.js.map +1 -1
  197. package/dist/features/map.js +233 -231
  198. package/dist/features/map.js.map +1 -1
  199. package/dist/features/media-library.js +789 -775
  200. package/dist/features/media-library.js.map +1 -1
  201. package/dist/features/mentions.js +1 -1
  202. package/dist/features/overlays.js +1 -1
  203. package/dist/features/products.js +922 -902
  204. package/dist/features/products.js.map +1 -1
  205. package/dist/features/questionnaire.js +28 -24
  206. package/dist/features/questionnaire.js.map +1 -1
  207. package/dist/features/resource-assignment.js +18 -15
  208. package/dist/features/resource-assignment.js.map +1 -1
  209. package/dist/features/resource.js +12 -12
  210. package/dist/features/resource.js.map +1 -1
  211. package/dist/features/rich-text-editor.js +2 -2
  212. package/dist/features/schema-form.js +15 -13
  213. package/dist/features/schema-form.js.map +1 -1
  214. package/dist/features/suggestions.js +3 -3
  215. package/dist/features/sync.js +11 -5
  216. package/dist/features/sync.js.map +1 -1
  217. package/dist/features/table.js +1 -1
  218. package/dist/features/theme-tweaker.js +493 -489
  219. package/dist/features/theme-tweaker.js.map +1 -1
  220. package/dist/feedback-BYIhtitP.js +239 -0
  221. package/dist/feedback-BYIhtitP.js.map +1 -0
  222. package/dist/{field-affordance-recipes-qQeIf4lG.js → field-affordance-recipes-DZhnIL_Y.js} +11 -18
  223. package/dist/field-affordance-recipes-DZhnIL_Y.js.map +1 -0
  224. package/dist/{filters-BkHH53uv.js → filters-BGfvjP4d.js} +589 -580
  225. package/dist/filters-BGfvjP4d.js.map +1 -0
  226. package/dist/{form-field-DUt4UxSV.js → form-field-CwH9y77i.js} +6 -5
  227. package/dist/form-field-CwH9y77i.js.map +1 -0
  228. package/dist/{form-sizing-By94KzXE.js → form-sizing-BdP_Mf5p.js} +39 -44
  229. package/dist/form-sizing-BdP_Mf5p.js.map +1 -0
  230. package/dist/{forms-Bzha-Y3B.js → forms-B9G_xwzi.js} +8 -8
  231. package/dist/{forms-Bzha-Y3B.js.map → forms-B9G_xwzi.js.map} +1 -1
  232. package/dist/{forms-numeric-C0bvjRPZ.js → forms-numeric-B_jraJaQ.js} +309 -309
  233. package/dist/forms-numeric-B_jraJaQ.js.map +1 -0
  234. package/dist/{header-BOefOKd1.js → header-CGXuhcRm.js} +160 -153
  235. package/dist/header-CGXuhcRm.js.map +1 -0
  236. package/dist/{hooks-9k_TtmKh.js → hooks-Dkz0K2WT.js} +2 -2
  237. package/dist/{hooks-9k_TtmKh.js.map → hooks-Dkz0K2WT.js.map} +1 -1
  238. package/dist/{icon-badge-CAuKupo9.js → icon-badge-DYKIwvOV.js} +4 -4
  239. package/dist/{icon-badge-CAuKupo9.js.map → icon-badge-DYKIwvOV.js.map} +1 -1
  240. package/dist/index.js +3 -3
  241. package/dist/input-CZw8iU99.js +21 -0
  242. package/dist/input-CZw8iU99.js.map +1 -0
  243. package/dist/input-DQdEd0YD.js +263 -0
  244. package/dist/input-DQdEd0YD.js.map +1 -0
  245. package/dist/{interaction-recipes-CHr0dJUs.js → interaction-recipes-XR9ZpVYL.js} +2 -1
  246. package/dist/interaction-recipes-XR9ZpVYL.js.map +1 -0
  247. package/dist/item-K5_ghvze.js +275 -0
  248. package/dist/item-K5_ghvze.js.map +1 -0
  249. package/dist/layout/app-shell.js +1 -1
  250. package/dist/layout/auth.js +1 -1
  251. package/dist/layout/containers.js +1 -1
  252. package/dist/layout/header.js +1 -1
  253. package/dist/layout/hooks.js +1 -1
  254. package/dist/layout/navigation.js +1 -1
  255. package/dist/layout/page.js +1 -1
  256. package/dist/layout/settings.js +1 -1
  257. package/dist/layout/sidebar.js +2 -2
  258. package/dist/layout/workspace.js +1 -1
  259. package/dist/layout.js +10 -10
  260. package/dist/lib/affordance-geometry.generated.d.ts +71 -0
  261. package/dist/lib/editable-text-recipe.d.ts +4 -4
  262. package/dist/lib/field-affordance-recipes.d.ts +2 -2
  263. package/dist/lib/interaction-recipes.d.ts +5 -0
  264. package/dist/lib/theme-mode-css.d.ts +7 -0
  265. package/dist/lib/tone-recipes.d.ts +8 -0
  266. package/dist/lib/ui-provider/types.d.ts +2 -2
  267. package/dist/lib/utils.js +1 -1
  268. package/dist/{media-gallery-DcTtAaeC.js → media-gallery-3zIVLMWH.js} +8 -8
  269. package/dist/media-gallery-3zIVLMWH.js.map +1 -0
  270. package/dist/{mentions-D-uyCh01.js → mentions-utuUvH1K.js} +144 -142
  271. package/dist/mentions-utuUvH1K.js.map +1 -0
  272. package/dist/{message-CdHgIWKf.js → message-DZ_ruyUV.js} +6 -5
  273. package/dist/message-DZ_ruyUV.js.map +1 -0
  274. package/dist/{metadata-list-X5rYAKSB.js → metadata-list-8N16ZMW_.js} +130 -119
  275. package/dist/metadata-list-8N16ZMW_.js.map +1 -0
  276. package/dist/{navigation-D3KwXmaq.js → navigation-Bnotn4AQ.js} +19 -19
  277. package/dist/navigation-Bnotn4AQ.js.map +1 -0
  278. package/dist/{navigation-HJf5zxlH.js → navigation-BzhHI3lo.js} +36 -35
  279. package/dist/navigation-BzhHI3lo.js.map +1 -0
  280. package/dist/{navigation-row-recipes-BVowojQw.js → navigation-row-recipes-BFLCk_Aq.js} +2 -2
  281. package/dist/{navigation-row-recipes-BVowojQw.js.map → navigation-row-recipes-BFLCk_Aq.js.map} +1 -1
  282. package/dist/{number-DMhe-Vsk.js → number-DbV1Dija.js} +36 -34
  283. package/dist/{number-DMhe-Vsk.js.map → number-DbV1Dija.js.map} +1 -1
  284. package/dist/{overflow-tab-bar-sQHXLlwQ.js → overflow-tab-bar-CWY7Nogn.js} +105 -103
  285. package/dist/overflow-tab-bar-CWY7Nogn.js.map +1 -0
  286. package/dist/{overlays-I0axtYA6.js → overlays-DNWmZrJ4.js} +14 -12
  287. package/dist/overlays-DNWmZrJ4.js.map +1 -0
  288. package/dist/{page-B5dTH9gE.js → page-Bgl1F560.js} +8 -8
  289. package/dist/{page-B5dTH9gE.js.map → page-Bgl1F560.js.map} +1 -1
  290. package/dist/{page-header-commands-DjzFEq3E.js → page-header-commands-DOb6WsfD.js} +5 -5
  291. package/dist/{page-header-commands-DjzFEq3E.js.map → page-header-commands-DOb6WsfD.js.map} +1 -1
  292. package/dist/pagination-BL25hu2s.js +158 -0
  293. package/dist/pagination-BL25hu2s.js.map +1 -0
  294. package/dist/{popover-Di55PyAI.js → popover-7_m66eYW.js} +8 -7
  295. package/dist/{popover-Di55PyAI.js.map → popover-7_m66eYW.js.map} +1 -1
  296. package/dist/popover-menu-B9WWygpa.js +100 -0
  297. package/dist/popover-menu-B9WWygpa.js.map +1 -0
  298. package/dist/{popover.recipes-Bdyhj2db.js → popover.recipes-D3j8R8Yp.js} +17 -10
  299. package/dist/popover.recipes-D3j8R8Yp.js.map +1 -0
  300. package/dist/{primitives-B-CkiEMU.js → primitives-BFK08r9M.js} +45 -44
  301. package/dist/primitives-BFK08r9M.js.map +1 -0
  302. package/dist/primitives.js +4 -4
  303. package/dist/{progress-rnS8-uAW.js → progress-B1VnCT0K.js} +5 -5
  304. package/dist/{progress-rnS8-uAW.js.map → progress-B1VnCT0K.js.map} +1 -1
  305. package/dist/{receipt-D0oswZ0p.js → receipt-BVSOH3Xo.js} +9 -6
  306. package/dist/{receipt-D0oswZ0p.js.map → receipt-BVSOH3Xo.js.map} +1 -1
  307. package/dist/{rich-text-DvGulsNJ.js → rich-text-GOUyKQ-s.js} +3 -3
  308. package/dist/{rich-text-DvGulsNJ.js.map → rich-text-GOUyKQ-s.js.map} +1 -1
  309. package/dist/{rich-text-editor-sMU_Scqm.js → rich-text-editor-cRLC-eBK.js} +418 -426
  310. package/dist/rich-text-editor-cRLC-eBK.js.map +1 -0
  311. package/dist/rich-text-editor-toolbar-DfXg0-VC.js +94 -0
  312. package/dist/rich-text-editor-toolbar-DfXg0-VC.js.map +1 -0
  313. package/dist/{scroll-area-Bt_vXY2b.js → scroll-area-DcI-M1UT.js} +2 -2
  314. package/dist/{scroll-area-Bt_vXY2b.js.map → scroll-area-DcI-M1UT.js.map} +1 -1
  315. package/dist/{separator-C8DlRGwF.js → separator-BDV-Y648.js} +3 -3
  316. package/dist/{separator-C8DlRGwF.js.map → separator-BDV-Y648.js.map} +1 -1
  317. package/dist/{separator-CYHnjsAb.js → separator-Bom7NsGO.js} +2 -2
  318. package/dist/{separator-CYHnjsAb.js.map → separator-Bom7NsGO.js.map} +1 -1
  319. package/dist/services/actions.js +1 -1
  320. package/dist/{settings-CQW3b-Cu.js → settings-ybnjVwbd.js} +20 -19
  321. package/dist/settings-ybnjVwbd.js.map +1 -0
  322. package/dist/{sheet-4SEvVYzA.js → sheet-CGpB3omz.js} +8 -7
  323. package/dist/{sheet-4SEvVYzA.js.map → sheet-CGpB3omz.js.map} +1 -1
  324. package/dist/{sidebar-d7Dg80ln.js → sidebar-A0ElHINE.js} +14 -13
  325. package/dist/{sidebar-d7Dg80ln.js.map → sidebar-A0ElHINE.js.map} +1 -1
  326. package/dist/{sidebar-C7WWR29L.js → sidebar-CPx_7YBa.js} +183 -182
  327. package/dist/sidebar-CPx_7YBa.js.map +1 -0
  328. package/dist/{skeleton-Cz890JZF.js → skeleton-Byjnt7qr.js} +3 -3
  329. package/dist/{skeleton-Cz890JZF.js.map → skeleton-Byjnt7qr.js.map} +1 -1
  330. package/dist/smart-card-DiC5aac3.js +604 -0
  331. package/dist/smart-card-DiC5aac3.js.map +1 -0
  332. package/dist/{structure-DC2dygdA.js → structure-BmisBK-3.js} +2 -2
  333. package/dist/{structure-DC2dygdA.js.map → structure-BmisBK-3.js.map} +1 -1
  334. package/dist/style.css +1 -1
  335. package/dist/table-BweFy_P9.js +1530 -0
  336. package/dist/table-BweFy_P9.js.map +1 -0
  337. package/dist/{table-CIKyLUsy.js → table-DsfzoUia.js} +75 -63
  338. package/dist/table-DsfzoUia.js.map +1 -0
  339. package/dist/{tabs-DwBJfjxX.js → tabs-CDocW5D1.js} +14 -13
  340. package/dist/tabs-CDocW5D1.js.map +1 -0
  341. package/dist/text-inputs-f9Ia-aCi.js +353 -0
  342. package/dist/text-inputs-f9Ia-aCi.js.map +1 -0
  343. package/dist/theme-mode-css-BB-_RYab.js +14 -0
  344. package/dist/theme-mode-css-BB-_RYab.js.map +1 -0
  345. package/dist/theme-scope-BJ6eE2xt.js +50 -0
  346. package/dist/theme-scope-BJ6eE2xt.js.map +1 -0
  347. package/dist/theme.css +285 -228
  348. package/dist/themes/green.css +16 -12
  349. package/dist/timelines-CwM_9IhD.js +457 -0
  350. package/dist/timelines-CwM_9IhD.js.map +1 -0
  351. package/dist/{tone-recipes-CPoExcTE.js → tone-recipes-BPsRAvhu.js} +5 -2
  352. package/dist/tone-recipes-BPsRAvhu.js.map +1 -0
  353. package/dist/{tooltip-CsfgrfS7.js → tooltip-yiRJUFjp.js} +4 -4
  354. package/dist/{tooltip-CsfgrfS7.js.map → tooltip-yiRJUFjp.js.map} +1 -1
  355. package/dist/{tree-BiKhg8AY.js → tree-WnKQzwbq.js} +9 -9
  356. package/dist/{tree-BiKhg8AY.js.map → tree-WnKQzwbq.js.map} +1 -1
  357. package/dist/typography/rich-text.js +1 -1
  358. package/dist/{typography-DTRkE9zL.js → typography-UTnveOEy.js} +6 -6
  359. package/dist/typography-UTnveOEy.js.map +1 -0
  360. package/dist/typography.js +2 -2
  361. package/dist/{ui-provider-1D_NSYzO.js → ui-provider-C_U0Xma4.js} +3 -3
  362. package/dist/ui-provider-C_U0Xma4.js.map +1 -0
  363. package/dist/ui-provider.js +2 -2
  364. package/dist/{upload-BO8-CLN6.js → upload-CXyxmQBP.js} +13 -12
  365. package/dist/upload-CXyxmQBP.js.map +1 -0
  366. package/dist/{upload-queue-EOC8g1gf.js → upload-queue-Boscubn9.js} +11 -9
  367. package/dist/upload-queue-Boscubn9.js.map +1 -0
  368. package/dist/{usage-card-obRaBskq.js → usage-card-BhO5eqkX.js} +53 -37
  369. package/dist/usage-card-BhO5eqkX.js.map +1 -0
  370. package/dist/{utils-l5LpDw2z.js → utils-BRhFDwuU.js} +59 -44
  371. package/dist/utils-BRhFDwuU.js.map +1 -0
  372. package/dist/{value-inputs-TAYMX111.js → value-inputs-DXPDjvBU.js} +268 -252
  373. package/dist/value-inputs-DXPDjvBU.js.map +1 -0
  374. package/dist/{value-typography-b8wpz1eX.js → value-typography-BP8OG6h5.js} +2 -2
  375. package/dist/{value-typography-b8wpz1eX.js.map → value-typography-BP8OG6h5.js.map} +1 -1
  376. package/dist/{workspace-DH0v0KcB.js → workspace-Cdrg7k9f.js} +34 -33
  377. package/dist/workspace-Cdrg7k9f.js.map +1 -0
  378. package/docs/consumer-skill/SKILL.md +2 -2
  379. package/docs/consumer-skill/references/agents-md.md +1 -1
  380. package/docs/consumer-skill/references/composition.md +8 -6
  381. package/docs/consumer-skill/references/integration.md +4 -3
  382. package/docs/consumer-skill/references/public-api.json +105 -2
  383. package/docs/consumer-skill/references/review.md +7 -0
  384. package/docs/consumer-skill/references/theming.md +71 -6
  385. package/docs/consumer-skill/references/tokens.json +1 -1
  386. package/docs/consumer-skill/references/workflows.md +25 -0
  387. package/docs/consumer-skill/scripts/composition-policy.mjs +3 -2
  388. package/docs/consumer-skill/scripts/surface-policy.mjs +11 -0
  389. package/package.json +8 -4
  390. package/dist/accordion-B6a3vVgA.js.map +0 -1
  391. package/dist/action-menu-TzCoSlwL.js +0 -280
  392. package/dist/action-menu-TzCoSlwL.js.map +0 -1
  393. package/dist/affordance-geometry.generated-B5iu-Mkr.js +0 -69
  394. package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +0 -1
  395. package/dist/ai-artifact-BMJdv-6q.js +0 -1115
  396. package/dist/ai-artifact-BMJdv-6q.js.map +0 -1
  397. package/dist/attachment-BtfhGm8i.js +0 -245
  398. package/dist/attachment-BtfhGm8i.js.map +0 -1
  399. package/dist/auth-CYxKfo69.js.map +0 -1
  400. package/dist/avatar-BBnEJIx8.js.map +0 -1
  401. package/dist/badge-MrKVNzW9.js.map +0 -1
  402. package/dist/batch-action-bar-BZGDG-Si.js.map +0 -1
  403. package/dist/breadcrumbs-D5t7I023.js.map +0 -1
  404. package/dist/buttons-SbIcm1HJ.js.map +0 -1
  405. package/dist/cards-CiiHpKYd.js +0 -66
  406. package/dist/cards-CiiHpKYd.js.map +0 -1
  407. package/dist/chart-QfrARkXl.js.map +0 -1
  408. package/dist/choice-inputs-t6w3ATNz.js.map +0 -1
  409. package/dist/code-block-Dgbu-CU3.js.map +0 -1
  410. package/dist/combobox-2Ic8N9bL.js +0 -278
  411. package/dist/combobox-2Ic8N9bL.js.map +0 -1
  412. package/dist/combobox-DLl0bfiq.js +0 -867
  413. package/dist/combobox-DLl0bfiq.js.map +0 -1
  414. package/dist/comments-BpDuCUUu.js.map +0 -1
  415. package/dist/data-display-DafIvCl5.js.map +0 -1
  416. package/dist/date-picker-CF-DtUpF.js.map +0 -1
  417. package/dist/date-pickers-BmzxJl5l.js +0 -174
  418. package/dist/date-pickers-BmzxJl5l.js.map +0 -1
  419. package/dist/display-DsQTVzMz.js.map +0 -1
  420. package/dist/dropdown-menu-E2qmdC7o.js +0 -193
  421. package/dist/dropdown-menu-E2qmdC7o.js.map +0 -1
  422. package/dist/editable-text-recipe-Bkm6wKHp.js +0 -10
  423. package/dist/editable-text-recipe-Bkm6wKHp.js.map +0 -1
  424. package/dist/feedback-qNuMBtRH.js +0 -233
  425. package/dist/feedback-qNuMBtRH.js.map +0 -1
  426. package/dist/field-affordance-recipes-qQeIf4lG.js.map +0 -1
  427. package/dist/filters-BkHH53uv.js.map +0 -1
  428. package/dist/form-field-DUt4UxSV.js.map +0 -1
  429. package/dist/form-sizing-By94KzXE.js.map +0 -1
  430. package/dist/forms-numeric-C0bvjRPZ.js.map +0 -1
  431. package/dist/header-BOefOKd1.js.map +0 -1
  432. package/dist/input-DWhBBBww.js +0 -262
  433. package/dist/input-DWhBBBww.js.map +0 -1
  434. package/dist/input-Ddi_LSYv.js +0 -20
  435. package/dist/input-Ddi_LSYv.js.map +0 -1
  436. package/dist/interaction-recipes-CHr0dJUs.js.map +0 -1
  437. package/dist/item-DEmDiTlD.js +0 -265
  438. package/dist/item-DEmDiTlD.js.map +0 -1
  439. package/dist/media-gallery-DcTtAaeC.js.map +0 -1
  440. package/dist/mentions-D-uyCh01.js.map +0 -1
  441. package/dist/message-CdHgIWKf.js.map +0 -1
  442. package/dist/metadata-list-X5rYAKSB.js.map +0 -1
  443. package/dist/navigation-D3KwXmaq.js.map +0 -1
  444. package/dist/navigation-HJf5zxlH.js.map +0 -1
  445. package/dist/overflow-tab-bar-sQHXLlwQ.js.map +0 -1
  446. package/dist/overlays-I0axtYA6.js.map +0 -1
  447. package/dist/pagination-3bPA_a6K.js +0 -149
  448. package/dist/pagination-3bPA_a6K.js.map +0 -1
  449. package/dist/popover-menu-B71Tn2Qz.js +0 -99
  450. package/dist/popover-menu-B71Tn2Qz.js.map +0 -1
  451. package/dist/popover.recipes-Bdyhj2db.js.map +0 -1
  452. package/dist/primitives-B-CkiEMU.js.map +0 -1
  453. package/dist/rich-text-editor-sMU_Scqm.js.map +0 -1
  454. package/dist/rich-text-editor.recipes-CadiF_Uu.js +0 -88
  455. package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +0 -1
  456. package/dist/settings-CQW3b-Cu.js.map +0 -1
  457. package/dist/sidebar-C7WWR29L.js.map +0 -1
  458. package/dist/smart-card-lFKxn5Hu.js +0 -595
  459. package/dist/smart-card-lFKxn5Hu.js.map +0 -1
  460. package/dist/spinner-fa3h1Aif.js +0 -80
  461. package/dist/spinner-fa3h1Aif.js.map +0 -1
  462. package/dist/table-CIKyLUsy.js.map +0 -1
  463. package/dist/table-CrcLN9Io.js +0 -1458
  464. package/dist/table-CrcLN9Io.js.map +0 -1
  465. package/dist/tabs-DwBJfjxX.js.map +0 -1
  466. package/dist/text-inputs-aaK9wcDT.js +0 -326
  467. package/dist/text-inputs-aaK9wcDT.js.map +0 -1
  468. package/dist/theme-scope-kStaAer0.js +0 -39
  469. package/dist/theme-scope-kStaAer0.js.map +0 -1
  470. package/dist/timelines-C_SBwHNP.js +0 -442
  471. package/dist/timelines-C_SBwHNP.js.map +0 -1
  472. package/dist/tone-recipes-CPoExcTE.js.map +0 -1
  473. package/dist/typography-DTRkE9zL.js.map +0 -1
  474. package/dist/ui-provider-1D_NSYzO.js.map +0 -1
  475. package/dist/upload-BO8-CLN6.js.map +0 -1
  476. package/dist/upload-queue-EOC8g1gf.js.map +0 -1
  477. package/dist/usage-card-obRaBskq.js.map +0 -1
  478. package/dist/utils-l5LpDw2z.js.map +0 -1
  479. package/dist/value-inputs-TAYMX111.js.map +0 -1
  480. package/dist/workspace-DH0v0KcB.js.map +0 -1
@@ -1,13 +1,13 @@
1
1
  "use client";
2
- import { o as e, s as t, v as n } from "./ui-provider-1D_NSYzO.js";
2
+ import { o as e, s as t, v as n } from "./ui-provider-C_U0Xma4.js";
3
3
  import { useStrings as r } from "./lib/strings.js";
4
- import { t as i } from "./utils-l5LpDw2z.js";
5
- import { a, s as o } from "./typography-DTRkE9zL.js";
6
- import { t as s } from "./structure-DC2dygdA.js";
7
- import { r as c } from "./tone-recipes-CPoExcTE.js";
8
- import { t as l } from "./smart-card-lFKxn5Hu.js";
9
- import { s as u } from "./date-BgK3bTdo.js";
10
- import { t as d } from "./badge-MrKVNzW9.js";
4
+ import { t as i } from "./utils-BRhFDwuU.js";
5
+ import { c as a, o } from "./typography-UTnveOEy.js";
6
+ import { t as s } from "./structure-BmisBK-3.js";
7
+ import { i as c } from "./tone-recipes-BPsRAvhu.js";
8
+ import { t as l } from "./smart-card-DiC5aac3.js";
9
+ import { s as u } from "./date-DCrsDTZc.js";
10
+ import { t as d } from "./badge-HpFqoqSY.js";
11
11
  import { forwardRef as f, useId as p } from "react";
12
12
  import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
13
13
  import { CheckCircle2 as _, XCircle as v } from "lucide-react";
@@ -46,7 +46,7 @@ b.displayName = "PlaceholderPattern";
46
46
  //#endregion
47
47
  //#region src/components/base/display/visually-hidden.tsx
48
48
  function x({ children: e, className: t }) {
49
- let n = typeof e == "string" || typeof e == "number" || typeof e == "bigint" ? /* @__PURE__ */ h(o, {
49
+ let n = typeof e == "string" || typeof e == "number" || typeof e == "bigint" ? /* @__PURE__ */ h(a, {
50
50
  tag: "span",
51
51
  size: "inherit",
52
52
  lineHeight: "none",
@@ -67,8 +67,8 @@ var S = {
67
67
  }, C = {
68
68
  neutral: {
69
69
  frame: "border-border bg-card",
70
- header: "border-border/60 bg-muted/50 text-foreground",
71
- primary: "text-foreground",
70
+ header: "border-border/60 bg-muted/50 text-card-foreground",
71
+ primary: "text-card-foreground",
72
72
  secondary: "text-muted-foreground"
73
73
  },
74
74
  secondary: {
@@ -162,49 +162,49 @@ function ee(e) {
162
162
  function D(e) {
163
163
  return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
164
164
  }
165
- function O({ date: a, time: s, dateTime: c, locale: l, layout: d = "stacked", timePlacement: f, tone: p = "neutral", variant: _ = "default", size: v, boxed: b, showWeekday: x = !0, showMonth: O = !0, showYear: k = !1, emptyLabel: A = "—", dayFormat: j = "d", weekdayFormat: M = "EEE", monthFormat: N = "MMM", yearFormat: te = "yyyy", className: P, strings: ne, "aria-label": re, ...F }) {
166
- let I = e(), { defaultScale: L } = t(), R = n(v, L), z = l ?? I.locale, B = r(S, ne), V = u(a), H = C[p], U = w[_], W = b ?? d === "stacked", G = f ?? (d === "inline" ? "inline" : "below"), K = ee(s) && G !== "hidden", q = z ? { locale: z } : void 0, J = V ? y(V, M, q) : null, Y = V ? y(V, j, q) : null, X = V ? y(V, N, q) : null, Z = V ? y(V, te, q) : null, Q = c ?? (V ? y(V, "yyyy-MM-dd") : void 0), $ = re ?? (V ? void 0 : B.unavailableLabel);
165
+ function O({ date: o, time: s, dateTime: c, locale: l, layout: d = "stacked", timePlacement: f, tone: p = "neutral", variant: _ = "default", size: v, boxed: b, showWeekday: x = !0, showMonth: O = !0, showYear: k = !1, emptyLabel: A = "—", dayFormat: j = "d", weekdayFormat: M = "EEE", monthFormat: N = "MMM", yearFormat: te = "yyyy", className: P, strings: ne, "aria-label": re, ...F }) {
166
+ let I = e(), { defaultScale: ie } = t(), L = n(v, ie), R = l ?? I.locale, z = r(S, ne), B = u(o), V = C[p], H = w[_], U = b ?? d === "stacked", W = i(V.primary, H.primary, !U && p === "neutral" && _ === "default" && "text-foreground"), G = f ?? (d === "inline" ? "inline" : "below"), K = ee(s) && G !== "hidden", q = R ? { locale: R } : void 0, J = B ? y(B, M, q) : null, Y = B ? y(B, j, q) : null, X = B ? y(B, N, q) : null, Z = B ? y(B, te, q) : null, Q = c ?? (B ? y(B, "yyyy-MM-dd") : void 0), $ = re ?? (B ? void 0 : z.unavailableLabel);
167
167
  if (d === "inline") {
168
168
  let e = /* @__PURE__ */ h("span", {
169
- className: i("date-block--frame inline-flex min-w-0 items-center rounded-radius tabular-nums", E[R].gap, W && i("border", E[R].padding, H.frame, U.frame)),
170
- children: V ? /* @__PURE__ */ g(m, { children: [
171
- !!x && /* @__PURE__ */ h(o, {
169
+ className: i("date-block--frame box-border inline-flex min-w-0 items-center rounded-radius tabular-nums", E[L].gap, U && i("border", E[L].padding, V.frame, H.frame)),
170
+ children: B ? /* @__PURE__ */ g(m, { children: [
171
+ !!x && /* @__PURE__ */ h(a, {
172
172
  tag: "span",
173
173
  size: "xs",
174
174
  weight: "medium",
175
- className: i("date-block--weekday", H.secondary, U.secondary),
175
+ className: i("date-block--weekday", V.secondary, H.secondary),
176
176
  children: J
177
177
  }),
178
- /* @__PURE__ */ h(o, {
178
+ /* @__PURE__ */ h(a, {
179
179
  tag: "span",
180
180
  weight: "semibold",
181
- className: i("date-block--day", H.primary, U.primary),
181
+ className: i("date-block--day", W),
182
182
  children: Y
183
183
  }),
184
- (O || k) && /* @__PURE__ */ h(o, {
184
+ (O || k) && /* @__PURE__ */ h(a, {
185
185
  tag: "span",
186
186
  size: "xs",
187
187
  type: "secondary",
188
- className: i("date-block--month-year", H.secondary, U.secondary),
188
+ className: i("date-block--month-year", V.secondary, H.secondary),
189
189
  children: [O ? X : null, k ? Z : null].filter(Boolean).join(" ")
190
190
  }),
191
- K && G === "inline" && /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(o, {
191
+ K && G === "inline" && /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(a, {
192
192
  tag: "span",
193
193
  size: "xs",
194
- className: i(H.secondary, U.secondary),
194
+ className: i(V.secondary, H.secondary),
195
195
  "aria-hidden": !0,
196
- children: B.separator
197
- }), D(s) ? /* @__PURE__ */ h(o, {
196
+ children: z.separator
197
+ }), D(s) ? /* @__PURE__ */ h(a, {
198
198
  tag: "span",
199
199
  size: "xs",
200
200
  weight: "medium",
201
- className: i("date-block--time tabular-nums", H.primary, U.primary),
201
+ className: i("date-block--time tabular-nums", W),
202
202
  children: s
203
203
  }) : s] })
204
- ] }) : D(A) ? /* @__PURE__ */ h(o, {
204
+ ] }) : D(A) ? /* @__PURE__ */ h(a, {
205
205
  tag: "span",
206
206
  type: "secondary",
207
- className: i("date-block--empty", H.secondary, U.secondary),
207
+ className: i("date-block--empty", V.secondary, H.secondary),
208
208
  children: A
209
209
  }) : A
210
210
  });
@@ -212,48 +212,48 @@ function O({ date: a, time: s, dateTime: c, locale: l, layout: d = "stacked", ti
212
212
  dateTime: Q,
213
213
  "aria-label": $,
214
214
  "data-layout": d,
215
- "data-size": R,
215
+ "data-size": L,
216
216
  "data-tone": p,
217
217
  "data-variant": _,
218
218
  className: i("date-block--component inline-flex min-w-0", G === "below" ? "flex-col items-start gap-space-xs" : "items-center", P),
219
219
  ...F,
220
- children: [e, K && G === "below" && (D(s) ? /* @__PURE__ */ h(o, {
220
+ children: [e, K && G === "below" && (D(s) ? /* @__PURE__ */ h(a, {
221
221
  tag: "span",
222
222
  size: "xs",
223
223
  type: "secondary",
224
- className: i("date-block--time tabular-nums", H.secondary, U.secondary),
224
+ className: i("date-block--time tabular-nums", V.secondary, H.secondary),
225
225
  children: s
226
226
  }) : s)]
227
227
  });
228
228
  }
229
- let ie = /* @__PURE__ */ g("span", {
230
- className: i("date-block--frame inline-flex shrink-0 flex-col overflow-hidden rounded-radius tabular-nums", T[R].frame, W && i("border", H.frame, U.frame)),
231
- children: [V && x && /* @__PURE__ */ h(o, {
229
+ let ae = /* @__PURE__ */ g("span", {
230
+ className: i("date-block--frame box-border inline-flex shrink-0 flex-col overflow-hidden rounded-radius tabular-nums", T[L].frame, U && i("border", V.frame, H.frame)),
231
+ children: [B && x && /* @__PURE__ */ h(a, {
232
232
  tag: "span",
233
233
  size: "xs",
234
234
  weight: "medium",
235
235
  lineHeight: "tight",
236
- className: i("date-block--weekday block text-center", T[R].header, W ? i("border-b", H.header, U.header) : i(H.secondary, U.secondary)),
236
+ className: i("date-block--weekday block text-center", T[L].header, U ? i("border-b", V.header, H.header) : i(V.secondary, H.secondary)),
237
237
  children: J
238
238
  }), /* @__PURE__ */ h("span", {
239
- className: i("date-block--body flex flex-col items-center justify-center gap-space-2xs text-center", T[R].body),
240
- children: V ? /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(o, {
239
+ className: i("date-block--body box-border flex flex-col items-center justify-center gap-space-2xs text-center", T[L].body),
240
+ children: B ? /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(a, {
241
241
  tag: "span",
242
- size: R === "sm" ? "sm" : R === "lg" ? "lg" : "base",
242
+ size: L === "sm" ? "sm" : L === "lg" ? "lg" : "base",
243
243
  weight: "semibold",
244
244
  lineHeight: "none",
245
- className: i("date-block--day", H.primary, U.primary),
245
+ className: i("date-block--day", W),
246
246
  children: Y
247
- }), (O || k) && /* @__PURE__ */ h(o, {
247
+ }), (O || k) && /* @__PURE__ */ h(a, {
248
248
  tag: "span",
249
249
  size: "xs",
250
250
  lineHeight: "tight",
251
- className: i("date-block--month-year", H.secondary, U.secondary),
251
+ className: i("date-block--month-year", V.secondary, H.secondary),
252
252
  children: [O ? X : null, k ? Z : null].filter(Boolean).join(" ")
253
- })] }) : D(A) ? /* @__PURE__ */ h(o, {
253
+ })] }) : D(A) ? /* @__PURE__ */ h(a, {
254
254
  tag: "span",
255
255
  type: "secondary",
256
- className: i("date-block--empty", H.secondary, U.secondary),
256
+ className: i("date-block--empty", V.secondary, H.secondary),
257
257
  children: A
258
258
  }) : A
259
259
  })]
@@ -262,16 +262,16 @@ function O({ date: a, time: s, dateTime: c, locale: l, layout: d = "stacked", ti
262
262
  dateTime: Q,
263
263
  "aria-label": $,
264
264
  "data-layout": d,
265
- "data-size": R,
265
+ "data-size": L,
266
266
  "data-tone": p,
267
267
  "data-variant": _,
268
268
  className: i("date-block--component inline-flex", K && G === "inline" ? "flex-row items-center gap-space-sm" : "flex-col items-center gap-space-xs", P),
269
269
  ...F,
270
- children: [ie, K && (D(s) ? /* @__PURE__ */ h(o, {
270
+ children: [ae, K && (D(s) ? /* @__PURE__ */ h(a, {
271
271
  tag: "span",
272
272
  size: "xs",
273
273
  type: "secondary",
274
- className: i("date-block--time tabular-nums", H.secondary, U.secondary),
274
+ className: i("date-block--time tabular-nums", V.secondary, H.secondary),
275
275
  children: s
276
276
  }) : s)]
277
277
  });
@@ -320,13 +320,13 @@ var N = f(function({ label: e, value: t = !1, showIcon: n = !0, trueTone: c = "s
320
320
  wrap: !1,
321
321
  className: i("boolean-indicator--component", "min-w-0 px-row-x py-row-y", u),
322
322
  ...m,
323
- children: [M(e) ? /* @__PURE__ */ h(a, {
323
+ children: [M(e) ? /* @__PURE__ */ h(o, {
324
324
  className: "min-w-0 wrap-anywhere",
325
325
  children: e
326
326
  }) : e, /* @__PURE__ */ g(d, {
327
327
  tone: C,
328
328
  className: i("shrink-0 whitespace-nowrap", f),
329
- children: [!!n && /* @__PURE__ */ h(S, { className: "size-icon-sm" }), M(w) ? /* @__PURE__ */ h(o, {
329
+ children: [!!n && /* @__PURE__ */ h(S, { className: "size-icon-sm" }), M(w) ? /* @__PURE__ */ h(a, {
330
330
  tag: "span",
331
331
  size: "inherit",
332
332
  weight: "medium",
@@ -341,4 +341,4 @@ N.displayName = "BooleanIndicator";
341
341
  //#endregion
342
342
  export { S as a, O as i, A as n, x as o, k as r, b as s, N as t };
343
343
 
344
- //# sourceMappingURL=display-DsQTVzMz.js.map
344
+ //# sourceMappingURL=display-hAc1HjpI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-hAc1HjpI.js","names":["isSimpleText","_Fragment","useDatesConfig","useDensityConfig","resolveComponentScale","cn","Text","Stack","toneRecipes","Card","parseDateInput","Badge","Fragment$1","PlaceholderPattern","patternId","useId","className","VisuallyHidden","content","children","defaultDateBlockStrings","toneClassMap","variantClassMap","stackedSizeClass","inlineSizeClass","hasContent","value","isSimpleText$1","DateBlock","localeProp","sizeProp","stringsProp","ariaLabel","props","dates","size","defaultScale","locale","strings","useStrings","resolved","date","tones","tone","variants","variant","useBox","boxed","layout","primaryClass","resolvedTimePlacement","timePlacement","showsTime","time","formatOptions","weekday","format","weekdayFormat","day","dayFormat","month","monthFormat","year","yearFormat","machineValue","dateTime","resolvedAriaLabel","dateRow","showWeekday","showMonth","showYear","emptyLabel","tile","defaultContentBlockStrings","ContentBlock","forwardRef","surface","padding","headerClassName","contentClassName","footerClassName","defaultBooleanIndicatorStrings","isSimpleText","BooleanIndicator","isTrue","Icon","CheckCircle2","XCircle","badgeTone","trueTone","falseTone","label","DisplayLabel","badgeClassName","showIcon"],"sources":["../src/components/base/display/placeholder-pattern.tsx","../src/components/base/display/visually-hidden.tsx","../src/components/base/display/date-block.tsx","../src/components/base/display/content-block.strings.ts","../src/components/base/display/content-block.tsx","../src/components/base/display/boolean-indicator.tsx"],"sourcesContent":["/**\n * PlaceholderPattern — diagonal-stripe SVG fill suitable as a skeleton or\n * empty-region indicator. Uses a unique pattern id per instance so multiple\n * copies on the same page don't collide.\n */\nimport { useId } from 'react';\n\nimport { cn } from '../../../lib/utils';\nexport interface PlaceholderPatternProps {\n\tclassName?: string;\n}\n\nexport function PlaceholderPattern({ className }: PlaceholderPatternProps) {\n\tconst patternId = useId();\n\n\treturn (\n\t\t<svg\n\t\t\tclassName={cn('placeholder-pattern--component', className)}\n\t\t\tfill=\"none\"\n\t\t\tstroke=\"currentColor\"\n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t<defs>\n\t\t\t\t<pattern\n\t\t\t\t\tid={patternId}\n\t\t\t\t\tx=\"0\"\n\t\t\t\t\ty=\"0\"\n\t\t\t\t\twidth=\"10\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\tpatternUnits=\"userSpaceOnUse\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M-3 13 15-5M-5 5l18-18M-1 21 17 3\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstrokeWidth=\"0.75\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t/>\n\t\t\t\t</pattern>\n\t\t\t</defs>\n\t\t\t<rect\n\t\t\t\tstroke=\"none\"\n\t\t\t\tfill={`url(#${patternId})`}\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"100%\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n\nPlaceholderPattern.displayName = 'PlaceholderPattern';\n\n","/**\n * VisuallyHidden — hides content from sighted users while keeping it readable\n * by assistive tech (screen readers, voice). Use to label icon-only buttons,\n * give context to status changes, or expose extra structure for AT users.\n */\nimport * as React from 'react';\n\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nexport interface VisuallyHiddenProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function VisuallyHidden({ children, className }: VisuallyHiddenProps) {\n\tconst content =\n\t\ttypeof children === 'string' || typeof children === 'number' || typeof children === 'bigint'\n\t\t\t? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t)\n\t\t\t: children;\n\n\treturn (\n\t\t<span\n\t\t\tclassName={cn('visually-hidden--component', \n\t\t\t\t'absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0',\n\t\t\t\t'[clip:rect(0,0,0,0)]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{content}\n\t\t</span>\n\t);\n}\n\nVisuallyHidden.displayName = 'VisuallyHidden';\n","/**\n * DateBlock — a semantic calendar tile for event, schedule, and timeline rows.\n *\n * The stacked layout owns a compact fixed-format tile; the inline layout is a\n * lower-emphasis date stamp. Both share locale resolution, machine-readable\n * `<time>` semantics, size/tone variants, optional year display, and flexible\n * time metadata (including time ranges supplied as consumer content).\n */\nimport { format, type Locale } from 'date-fns';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport {\n\tparseDateInput,\n\ttype DateInput,\n} from '../../primitives';\nimport { Text } from '../../typography';\nimport {\n\ttype ComponentScale,\n\tuseDatesConfig,\n\tuseDensityConfig,\n} from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\nimport type { SemanticTone } from '../../../lib/component-vocabulary';\nimport { toneRecipes } from '../../../lib/tone-recipes';\n\nexport type DateBlockLayout = 'stacked' | 'inline';\nexport type DateBlockTimePlacement = 'inline' | 'below' | 'hidden';\nexport type DateBlockTone = SemanticTone;\nexport type DateBlockVariant = 'default' | 'muted' | 'inverse';\nexport type DateBlockSize = ComponentScale;\n\nexport interface DateBlockStrings {\n\t/** Separator between the inline date and time metadata. */\n\tseparator: string;\n\t/** Accessible name used when `date` is empty or invalid. */\n\tunavailableLabel: string;\n}\n\nexport const defaultDateBlockStrings: DateBlockStrings = {\n\tseparator: '·',\n\tunavailableLabel: 'Date unavailable',\n};\n\nexport interface DateBlockProps\n\textends Omit<ComponentPropsWithoutRef<'time'>, 'children' | 'dateTime'> {\n\t/** Date instance, ISO string, unix timestamp, or an empty value. */\n\tdate?: DateInput;\n\t/** Time or time-range metadata, already formatted by the consumer. */\n\ttime?: ReactNode;\n\t/** Override the machine-readable value placed on the native `<time>`. */\n\tdateTime?: string;\n\t/** date-fns locale. Falls back to `<UIProvider config={{ dates: { locale } }}>`. */\n\tlocale?: Locale;\n\t/** Visual layout. @default \"stacked\" */\n\tlayout?: DateBlockLayout;\n\t/** Where time metadata renders. Defaults to `inline` for inline layout and `below` for stacked. */\n\ttimePlacement?: DateBlockTimePlacement;\n\t/** Semantic color treatment. @default \"neutral\" */\n\ttone?: DateBlockTone;\n\t/** Structural surface treatment. @default \"default\" */\n\tvariant?: DateBlockVariant;\n\t/** Structural scale. Falls back to `UIProvider.density.defaultScale`, then `md`. */\n\tsize?: DateBlockSize;\n\t/** Render a bounded surface. Defaults to `true` for stacked and `false` for inline. */\n\tboxed?: boolean;\n\t/** Show the weekday heading. @default true */\n\tshowWeekday?: boolean;\n\t/** Show the month label. @default true */\n\tshowMonth?: boolean;\n\t/** Show the year label for cross-year schedules and timelines. @default false */\n\tshowYear?: boolean;\n\t/** Visual fallback for an empty or invalid date. @default \"—\" */\n\temptyLabel?: ReactNode;\n\t/** date-fns day-of-month format. @default \"d\" */\n\tdayFormat?: string;\n\t/** date-fns weekday format. @default \"EEE\" */\n\tweekdayFormat?: string;\n\t/** date-fns month format. @default \"MMM\" */\n\tmonthFormat?: string;\n\t/** date-fns year format. @default \"yyyy\" */\n\tyearFormat?: string;\n\t/** Overrides this surface's own copy. */\n\tstrings?: StringsProp<DateBlockStrings>;\n}\n\ninterface DateBlockToneClasses {\n\tframe: string;\n\t/** Content above the body. */\n\theader: string;\n\tprimary: string;\n\tsecondary: string;\n}\n\nconst toneClassMap: Record<DateBlockTone, DateBlockToneClasses> = {\n\tneutral: {\n\t\tframe: 'border-border bg-card',\n\t\theader: 'border-border/60 bg-muted/50 text-card-foreground',\n\t\tprimary: 'text-card-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tsecondary: {\n\t\tframe: 'border-border bg-muted/30',\n\t\theader: 'border-border/60 bg-muted text-foreground',\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tprimary: {\n\t\tframe: `${toneRecipes.primary.edge} ${toneRecipes.primary.wash}`,\n\t\theader: `${toneRecipes.primary.edge} ${toneRecipes.primary.tint} ${toneRecipes.primary.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tdestructive: {\n\t\tframe: `${toneRecipes.destructive.edge} ${toneRecipes.destructive.wash}`,\n\t\theader: `${toneRecipes.destructive.edge} ${toneRecipes.destructive.tint} ${toneRecipes.destructive.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tinfo: {\n\t\tframe: `${toneRecipes.info.edge} ${toneRecipes.info.wash}`,\n\t\theader: `${toneRecipes.info.edge} ${toneRecipes.info.tint} ${toneRecipes.info.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tsuccess: {\n\t\tframe: `${toneRecipes.success.edge} ${toneRecipes.success.wash}`,\n\t\theader: `${toneRecipes.success.edge} ${toneRecipes.success.tint} ${toneRecipes.success.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\twarning: {\n\t\tframe: `${toneRecipes.warning.edge} ${toneRecipes.warning.wash}`,\n\t\theader: `${toneRecipes.warning.edge} ${toneRecipes.warning.tint} ${toneRecipes.warning.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n};\n\nconst variantClassMap: Record<DateBlockVariant, DateBlockToneClasses> = {\n\tdefault: { frame: '', header: '', primary: '', secondary: '' },\n\tmuted: {\n\t\tframe: 'border-border bg-muted/30',\n\t\theader: 'border-border/60 bg-muted text-foreground',\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tinverse: {\n\t\tframe: 'border-inverse-border bg-inverse-background',\n\t\theader: 'border-inverse-border bg-inverse-surface text-inverse-muted',\n\t\tprimary: 'text-inverse-foreground',\n\t\tsecondary: 'text-inverse-muted',\n\t},\n};\n\nconst stackedSizeClass: Record<DateBlockSize, { frame: string; header: string; body: string }> = {\n\tsm: {\n\t\tframe: 'w-12',\n\t\theader: 'px-control-xs py-space-2xs',\n\t\tbody: 'min-h-control px-control-xs py-space-xs',\n\t},\n\tmd: {\n\t\tframe: 'w-14',\n\t\theader: 'px-control-sm py-space-xs',\n\t\tbody: 'min-h-control-lg px-control-sm py-space-sm',\n\t},\n\tlg: {\n\t\tframe: 'w-16',\n\t\theader: 'px-control py-space-sm',\n\t\tbody: 'min-h-control-lg px-control py-space-md',\n\t},\n};\n\nconst inlineSizeClass: Record<DateBlockSize, { gap: string; padding: string }> = {\n\tsm: { gap: 'gap-space-sm', padding: 'px-control-xs py-space-xs' },\n\tmd: { gap: 'gap-space-md', padding: 'px-control-sm py-space-sm' },\n\tlg: { gap: 'gap-space-lg', padding: 'px-control py-space-md' },\n};\n\nfunction hasContent(value: ReactNode): boolean {\n\treturn value !== null && value !== undefined && value !== '';\n}\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nexport function DateBlock({\n\tdate,\n\ttime,\n\tdateTime,\n\tlocale: localeProp,\n\tlayout = 'stacked',\n\ttimePlacement,\n\ttone = 'neutral',\n\tvariant = 'default',\n\tsize: sizeProp,\n\tboxed,\n\tshowWeekday = true,\n\tshowMonth = true,\n\tshowYear = false,\n\temptyLabel = '—',\n\tdayFormat = 'd',\n\tweekdayFormat = 'EEE',\n\tmonthFormat = 'MMM',\n\tyearFormat = 'yyyy',\n\tclassName,\n\tstrings: stringsProp,\n\t'aria-label': ariaLabel,\n\t...props\n}: DateBlockProps) {\n\tconst dates = useDatesConfig();\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\tconst locale = localeProp ?? dates.locale;\n\tconst strings = useStrings(defaultDateBlockStrings, stringsProp);\n\tconst resolved = parseDateInput(date);\n\tconst tones = toneClassMap[tone];\n\tconst variants = variantClassMap[variant];\n\tconst useBox = boxed ?? layout === 'stacked';\n\tconst primaryClass = cn(tones.primary, variants.primary, !useBox && tone === 'neutral' && variant === 'default' && 'text-foreground');\n\tconst resolvedTimePlacement = timePlacement ?? (layout === 'inline' ? 'inline' : 'below');\n\tconst showsTime = hasContent(time) && resolvedTimePlacement !== 'hidden';\n\tconst formatOptions = locale ? { locale } : undefined;\n\n\tconst weekday = resolved ? format(resolved, weekdayFormat, formatOptions) : null;\n\tconst day = resolved ? format(resolved, dayFormat, formatOptions) : null;\n\tconst month = resolved ? format(resolved, monthFormat, formatOptions) : null;\n\tconst year = resolved ? format(resolved, yearFormat, formatOptions) : null;\n\tconst machineValue = dateTime ?? (resolved ? format(resolved, 'yyyy-MM-dd') : undefined);\n\tconst resolvedAriaLabel = ariaLabel ?? (resolved ? undefined : strings.unavailableLabel);\n\n\tif (layout === 'inline') {\n\t\tconst dateRow = (\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'date-block--frame box-border inline-flex min-w-0 items-center rounded-radius tabular-nums',\n\t\t\t\t\tinlineSizeClass[size].gap,\n\t\t\t\t\tuseBox && cn('border', inlineSizeClass[size].padding, tones.frame, variants.frame),\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{resolved ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{!!showWeekday && (\n\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className={cn('date-block--weekday', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t\t{weekday}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\" className={cn('date-block--day', primaryClass)}>\n\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t{(showMonth || showYear) && (\n\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className={cn('date-block--month-year', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t\t{[showMonth ? month : null, showYear ? year : null].filter(Boolean).join(' ')}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{showsTime && resolvedTimePlacement === 'inline' && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className={cn(tones.secondary, variants.secondary)} aria-hidden>\n\t\t\t\t\t\t\t\t\t{strings.separator}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t{isSimpleText(time) ? (\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className={cn('date-block--time tabular-nums', primaryClass)}>\n\t\t\t\t\t\t\t\t\t\t{time}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) : time}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tisSimpleText(emptyLabel) ? (\n\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\" className={cn('date-block--empty', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t{emptyLabel}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : emptyLabel\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\n\t\treturn (\n\t\t\t<time\n\t\t\t\tdateTime={machineValue}\n\t\t\t\taria-label={resolvedAriaLabel}\n\t\t\t\tdata-layout={layout}\n\t\t\t\tdata-size={size}\n\t\t\t\tdata-tone={tone}\n\t\t\t\tdata-variant={variant}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'date-block--component inline-flex min-w-0',\n\t\t\t\t\tresolvedTimePlacement === 'below'\n\t\t\t\t\t\t? 'flex-col items-start gap-space-xs'\n\t\t\t\t\t\t: 'items-center',\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{dateRow}\n\t\t\t\t{showsTime && resolvedTimePlacement === 'below' && (\n\t\t\t\t\tisSimpleText(time) ? (\n\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className={cn('date-block--time tabular-nums', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t{time}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : time\n\t\t\t\t)}\n\t\t\t</time>\n\t\t);\n\t}\n\n\tconst tile = (\n\t\t<span\n\t\t\tclassName={cn(\n\t\t\t\t'date-block--frame box-border inline-flex shrink-0 flex-col overflow-hidden rounded-radius tabular-nums',\n\t\t\t\tstackedSizeClass[size].frame,\n\t\t\t\tuseBox && cn('border', tones.frame, variants.frame),\n\t\t\t)}\n\t\t>\n\t\t\t{resolved && showWeekday && (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\tlineHeight=\"tight\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'date-block--weekday block text-center',\n\t\t\t\t\t\tstackedSizeClass[size].header,\n\t\t\t\t\t\tuseBox ? cn('border-b', tones.header, variants.header) : cn(tones.secondary, variants.secondary),\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{weekday}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'date-block--body box-border flex flex-col items-center justify-center gap-space-2xs text-center',\n\t\t\t\t\tstackedSizeClass[size].body,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{resolved ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\tsize={size === 'sm' ? 'sm' : size === 'lg' ? 'lg' : 'base'}\n\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\tlineHeight=\"none\"\n\t\t\t\t\t\t\tclassName={cn('date-block--day', primaryClass)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t{(showMonth || showYear) && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\tlineHeight=\"tight\"\n\t\t\t\t\t\t\t\tclassName={cn('date-block--month-year', tones.secondary, variants.secondary)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{[showMonth ? month : null, showYear ? year : null].filter(Boolean).join(' ')}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tisSimpleText(emptyLabel) ? (\n\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\" className={cn('date-block--empty', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t{emptyLabel}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : emptyLabel\n\t\t\t\t)}\n\t\t\t</span>\n\t\t</span>\n\t);\n\n\treturn (\n\t\t<time\n\t\t\tdateTime={machineValue}\n\t\t\taria-label={resolvedAriaLabel}\n\t\t\tdata-layout={layout}\n\t\t\tdata-size={size}\n\t\t\tdata-tone={tone}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t'date-block--component inline-flex',\n\t\t\t\tshowsTime && resolvedTimePlacement === 'inline'\n\t\t\t\t\t? 'flex-row items-center gap-space-sm'\n\t\t\t\t\t: 'flex-col items-center gap-space-xs',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{tile}\n\t\t\t{showsTime && (\n\t\t\t\tisSimpleText(time) ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className={cn('date-block--time tabular-nums', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t{time}\n\t\t\t\t\t</Text>\n\t\t\t\t) : time\n\t\t\t)}\n\t\t</time>\n\t);\n}\n\nDateBlock.displayName = 'DateBlock';\n","export interface ContentBlockStrings {\n\tactionsLabel: string;\n\ttooltipLabel: string;\n}\n\nexport const defaultContentBlockStrings: ContentBlockStrings = {\n\tactionsLabel: 'More actions',\n\ttooltipLabel: 'More information',\n};\n","import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { Card } from '../cards';\nimport type { ActionMenuAction } from '../action-menu';\nimport type { StructureGap } from '../structure';\nimport type { AlertTone } from '../feedback';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport type { CardSurface, ComponentScale } from '../../../lib/component-vocabulary';\nimport { cn } from '../../../lib/utils';\nimport { defaultContentBlockStrings, type ContentBlockStrings } from './content-block.strings';\nexport type ContentBlockPadding = ComponentScale;\nexport type ContentBlockSurface = CardSurface;\nexport type ContentBlockTitleSize = ComponentScale;\nexport interface ContentBlockProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n\t/** Leading glyph on the title line, muted and shrink-proof. */\n\ticon?: ReactNode;\n\t/** Block title. */\n\ttitle?: ReactNode;\n\t/** Supporting sentence under the title. */\n\tdescription?: ReactNode;\n\t/** Content immediately after the title, before the tooltip affordance. */\n\ttitleSuffix?: ReactNode;\n\t/** Explanatory copy behind an info affordance on the title line. */\n\ttooltip?: ReactNode;\n\t/** Accessible name for the tooltip trigger. Defaults to the `tooltipLabel` string. */\n\ttooltipAriaLabel?: string;\n\t/** Full-width row above the title, inside the header. */\n\theaderStart?: ReactNode;\n\t/**\n\t * Single control at the end of the header, before the overflow menu.\n\t * Use `actions` instead for a list of commands.\n\t */\n\theaderAction?: ReactNode;\n\t/** Content at the end of the header, before `headerAction` and the overflow menu. */\n\theaderEnd?: ReactNode;\n\t/** Overflow menu at the far end of the header. */\n\tactions?: readonly ActionMenuAction[];\n\t/** Accessible name for the overflow trigger. Defaults to the `actionsLabel` string. */\n\tactionsLabel?: string;\n\t/** Content between the alert and `children`. */\n\tcontentTop?: ReactNode;\n\t/** Content after `children`. */\n\tcontentBottom?: ReactNode;\n\t/** Muted text in the footer band. Renders alongside `footerSlot`. */\n\tfooterText?: ReactNode;\n\t/** Full-width footer band under the content, for a single primary action. */\n\tfooterSlot?: ReactNode;\n\t/** Banner between the header and the content. */\n\talert?: ReactNode;\n\t/** Tone of the `alert` banner. */\n\talertTone?: AlertTone;\n\t/** Optional structural padding. Omit it to keep the block card-free. */\n\tpadding?: ContentBlockPadding;\n\t/** Optional surface chrome. Omit it to inherit the caller's surface. */\n\tsurface?: ContentBlockSurface;\n\t/** Title typography. Defaults to the compact title size. */\n\ttitleSize?: ContentBlockTitleSize;\n\t/** Draws a rule between the header and the content. */\n\theaderDivider?: boolean;\n\t/** Draws a rule between the content and the footer. */\n\tfooterDivider?: boolean;\n\t/** Merged onto the header region. */\n\theaderClassName?: string;\n\t/** Merged onto the content region. */\n\tcontentClassName?: string;\n\t/** Optional semantic spacing between direct content children. */\n\tcontentGap?: StructureGap;\n\t/** Merged onto the footer region. */\n\tfooterClassName?: string;\n\t/** Overrides the block's own copy (overflow-menu and tooltip labels). */\n\tstrings?: StringsProp<ContentBlockStrings>;\n}\n\n\n/**\n * Migration adapter only; Card owns all rendering, slots and surface recipes.\n * @deprecated Use Card with surface=\"flat\" and padding=\"none\" for unframed content.\n */\nexport const ContentBlock = forwardRef<HTMLDivElement, ContentBlockProps>(function ContentBlock({\n padding, surface, strings: stringsProp, className, headerClassName, contentClassName, footerClassName, ...props\n}, ref) {\n const strings = useStrings(defaultContentBlockStrings, stringsProp);\n return <Card\n {...props}\n ref={ref}\n surface={surface ?? 'flat'}\n padding={padding ?? (surface && surface !== 'flat' ? 'md' : 'none')}\n strings={strings}\n data-component=\"content-block\"\n data-slot=\"content-block\"\n data-padding={padding}\n className={cn('content-block--component', className)}\n headerClassName={cn('content-block--header', headerClassName)}\n contentClassName={cn('content-block--content', contentClassName)}\n footerClassName={cn('content-block--footer', footerClassName)}\n />;\n});\nContentBlock.displayName = 'ContentBlock';\nexport { defaultContentBlockStrings, type ContentBlockStrings } from './content-block.strings';\n","/**\n * BooleanIndicator — labelled yes/no chip showing the truth of a value with an\n * optional check/cross icon. Use for compact metadata grids where each row\n * answers a single boolean question. Strings overridable for i18n.\n */\nimport { CheckCircle2, XCircle } from 'lucide-react';\nimport React, { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { Badge, type BadgeTone } from '../badge';\nimport { Stack } from '../structure';\nimport { DisplayLabel, Text } from '../../typography';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nexport interface BooleanIndicatorStrings {\n\ttrue: string;\n\tfalse: string;\n}\n\nexport const defaultBooleanIndicatorStrings: BooleanIndicatorStrings = {\n\ttrue: 'Yes',\n\tfalse: 'No',\n};\n\nexport interface BooleanIndicatorProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n\t/** What the flag describes, rendered as the row's `DisplayLabel`. */\n\tlabel: React.ReactNode;\n\t/** The flag. `null` reads as unknown and uses the false presentation. Defaults to `false`. */\n\tvalue?: boolean | null;\n\t/** Shows the check/cross glyph beside the badge text. Defaults to `true`. */\n\tshowIcon?: boolean;\n\t/** Badge tone when `value` is true. Defaults to `success`. */\n\ttrueTone?: BadgeTone;\n\t/** Badge tone when `value` is false. Defaults to `secondary`. */\n\tfalseTone?: BadgeTone;\n\t/** Merged onto the badge. */\n\tbadgeClassName?: string;\n\t/** Overrides the yes/no copy. */\n\tstrings?: StringsProp<BooleanIndicatorStrings>;\n}\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nexport const BooleanIndicator = forwardRef<HTMLDivElement, BooleanIndicatorProps>(function BooleanIndicator({\n\tlabel,\n\tvalue = false,\n\tshowIcon = true,\n\ttrueTone = 'success',\n\tfalseTone = 'secondary',\n\tclassName,\n\tbadgeClassName,\n\tstrings: stringsProp,\n\t...props\n}, ref) {\n\tconst strings = useStrings(defaultBooleanIndicatorStrings, stringsProp);\n\tconst isTrue = Boolean(value);\n\tconst Icon = isTrue ? CheckCircle2 : XCircle;\n\tconst badgeTone = isTrue ? trueTone : falseTone;\n\tconst content = isTrue ? strings.true : strings.false;\n\n\treturn (\n\t\t<Stack\n\t\t\tref={ref}\n\t\t\tdirection=\"horizontal\"\n\t\t\talign=\"center\"\n\t\t\tgap=\"md\"\n\t\t\tjustify=\"between\"\n\t\t\twrap={false}\n\t\t\tclassName={cn('boolean-indicator--component', \n\t\t\t\t'min-w-0 px-row-x py-row-y',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(label) ? <DisplayLabel className=\"min-w-0 wrap-anywhere\">{label}</DisplayLabel> : label}\n\t\t\t<Badge\n\t\t\t\ttone={badgeTone}\n\t\t\t\tclassName={cn('shrink-0 whitespace-nowrap', badgeClassName)}\n\t\t\t>\n\t\t\t\t{/*\n\t\t\t\t * `size-icon-sm` pairs with the badge's 12px label, matching the\n\t\t\t\t * rest of the package's badge icons. At `size-icon` the glyph\n\t\t\t\t * outgrew the text and pushed this badge to 26px, 4px taller\n\t\t\t\t * than every other badge in the library.\n\t\t\t\t */}\n\t\t\t\t{!!showIcon && <Icon className=\"size-icon-sm\" />}\n\t\t\t\t{isSimpleText(content) ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</Text>\n\t\t\t\t) : content}\n\t\t\t</Badge>\n\t\t</Stack>\n\t);\n});\n\nBooleanIndicator.displayName = 'BooleanIndicator';\n"],"mappings":"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"}
@@ -0,0 +1,193 @@
1
+ "use client";
2
+ import { m as e } from "./ui-provider-C_U0Xma4.js";
3
+ import { r as t } from "./theme-scope-BJ6eE2xt.js";
4
+ import { t as n } from "./utils-BRhFDwuU.js";
5
+ import { c as r } from "./typography-UTnveOEy.js";
6
+ import { a as i, i as a } from "./text.styles-g4He6UIW.js";
7
+ import { t as o } from "./anchored-positioning-DPnKTvNs.js";
8
+ import { t as s } from "./motion-recipes-ChBg4HBq.js";
9
+ import { i as c, n as l, r as u, t as d } from "./popover.recipes-D3j8R8Yp.js";
10
+ import { n as f } from "./collection-content-By56pLog.js";
11
+ import * as p from "react";
12
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
13
+ import { CheckIcon as g, ChevronRightIcon as _ } from "lucide-react";
14
+ import { Menu as v } from "@base-ui/react/menu";
15
+ //#region src/components/base/navigation/dropdown-menu.tsx
16
+ var y = p.createContext("default");
17
+ function b() {
18
+ return l(p.useContext(y));
19
+ }
20
+ function x(e, t) {
21
+ return typeof e != "string" && typeof e != "number" && typeof e != "bigint" || typeof e == "string" && e.trim().length === 0 ? e : /* @__PURE__ */ m(f, {
22
+ className: n("dropdown-menu--text", t),
23
+ children: e
24
+ });
25
+ }
26
+ function S({ ...e }) {
27
+ return /* @__PURE__ */ m(v.Root, {
28
+ "data-slot": "dropdown-menu",
29
+ ...e
30
+ });
31
+ }
32
+ function C({ container: e, ...n }) {
33
+ let r = t(e);
34
+ return /* @__PURE__ */ m(v.Portal, {
35
+ "data-slot": "dropdown-menu-portal",
36
+ container: r,
37
+ ...n
38
+ });
39
+ }
40
+ function w({ children: t, ...n }) {
41
+ let { defaultTextSize: r } = e();
42
+ return /* @__PURE__ */ m(v.Trigger, {
43
+ "data-slot": "dropdown-menu-trigger",
44
+ ...n,
45
+ children: x(t, i[r ?? "sm"])
46
+ });
47
+ }
48
+ function T({ positionMethod: t = o, align: r = "start", alignOffset: l = 0, side: d = "bottom", sideOffset: f = 4, className: h, density: g, ..._ }) {
49
+ let { defaultTextSize: b } = e(), x = p.useContext(y), S = g ?? x;
50
+ return /* @__PURE__ */ m(y.Provider, {
51
+ value: S,
52
+ children: /* @__PURE__ */ m(C, { children: /* @__PURE__ */ m(v.Positioner, {
53
+ positionMethod: t,
54
+ className: "isolate z-50 outline-none",
55
+ align: r,
56
+ alignOffset: l,
57
+ side: d,
58
+ sideOffset: f,
59
+ children: /* @__PURE__ */ m(v.Popup, {
60
+ "data-slot": "dropdown-menu-content",
61
+ "data-surface-type": "menu",
62
+ className: n(u.surface, u.menu, c.menuMin, s.popup, "dropdown-menu-content--component z-50 max-h-(--available-height) w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto outline-none", i[b ?? "sm"], a.tight, h),
63
+ ..._
64
+ })
65
+ }) })
66
+ });
67
+ }
68
+ function E({ ...e }) {
69
+ return /* @__PURE__ */ m(v.Group, {
70
+ "data-slot": "dropdown-menu-group",
71
+ ...e
72
+ });
73
+ }
74
+ function D({ className: e, inset: t, children: i, ...a }) {
75
+ let o = typeof i == "string" || typeof i == "number" || typeof i == "bigint" ? /* @__PURE__ */ m(r, {
76
+ tag: "span",
77
+ size: "xs",
78
+ type: "secondary",
79
+ weight: "medium",
80
+ lineHeight: "tight",
81
+ children: i
82
+ }) : i;
83
+ return /* @__PURE__ */ m(v.GroupLabel, {
84
+ "data-slot": "dropdown-menu-label",
85
+ "data-inset": t,
86
+ className: n("dropdown-menu-label--component px-row-x py-row-y-sm text-muted-foreground data-inset:ps-control-icon", e),
87
+ ...a,
88
+ children: o
89
+ });
90
+ }
91
+ function O({ className: e, inset: t, variant: r = "default", children: i, ...a }) {
92
+ let o = b();
93
+ return /* @__PURE__ */ m(v.Item, {
94
+ "data-slot": "dropdown-menu-item",
95
+ "data-inset": t,
96
+ "data-variant": r,
97
+ className: n("dropdown-menu-item--component group/dropdown-menu-item whitespace-nowrap data-inset:ps-control-icon", d.interactive, o, d.highlighted, d.disabled, d.icons, d.destructive, e),
98
+ ...a,
99
+ children: x(i)
100
+ });
101
+ }
102
+ function k({ className: e, inset: t, variant: r = "default", children: i, ...a }) {
103
+ let o = b();
104
+ return /* @__PURE__ */ m(v.LinkItem, {
105
+ "data-slot": "dropdown-menu-link-item",
106
+ "data-inset": t,
107
+ "data-variant": r,
108
+ className: n("dropdown-menu-link-item--component group/dropdown-menu-item whitespace-nowrap text-inherit no-underline data-inset:ps-control-icon", d.interactive, o, d.highlighted, d.disabled, d.icons, d.destructive, e),
109
+ ...a,
110
+ children: x(i)
111
+ });
112
+ }
113
+ function A({ ...e }) {
114
+ return /* @__PURE__ */ m(v.SubmenuRoot, {
115
+ "data-slot": "dropdown-menu-sub",
116
+ ...e
117
+ });
118
+ }
119
+ function j({ className: e, inset: t, children: r, ...i }) {
120
+ let a = b();
121
+ return /* @__PURE__ */ h(v.SubmenuTrigger, {
122
+ "data-slot": "dropdown-menu-sub-trigger",
123
+ "data-inset": t,
124
+ className: n("dropdown-menu-sub-trigger--component whitespace-nowrap data-inset:ps-control-icon", d.interactive, a, d.highlighted, d.disabled, d.icons, "data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground", e),
125
+ ...i,
126
+ children: [x(r), /* @__PURE__ */ m(_, { className: "ms-auto rtl:rotate-180" })]
127
+ });
128
+ }
129
+ function M({ align: e = "start", alignOffset: t = -3, side: r = "inline-end", sideOffset: i = 0, className: a, ...o }) {
130
+ return /* @__PURE__ */ m(T, {
131
+ "data-slot": "dropdown-menu-sub-content",
132
+ className: n("dropdown-menu-sub-content--component w-auto min-w-32", a),
133
+ align: e,
134
+ alignOffset: t,
135
+ side: r,
136
+ sideOffset: i,
137
+ ...o
138
+ });
139
+ }
140
+ function N({ className: e, children: t, checked: r, inset: i, ...a }) {
141
+ let o = b();
142
+ return /* @__PURE__ */ h(v.CheckboxItem, {
143
+ "data-slot": "dropdown-menu-checkbox-item",
144
+ "data-inset": i,
145
+ className: n("dropdown-menu-checkbox-item--component whitespace-nowrap data-inset:ps-control-icon", d.interactive, o, d.highlighted, d.disabled, d.icons, e),
146
+ checked: r,
147
+ ...a,
148
+ children: [x(t), /* @__PURE__ */ m("span", {
149
+ className: "pointer-events-none ms-auto flex shrink-0 items-center justify-center",
150
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
151
+ children: /* @__PURE__ */ m(v.CheckboxItemIndicator, { children: /* @__PURE__ */ m(g, {}) })
152
+ })]
153
+ });
154
+ }
155
+ function P({ ...e }) {
156
+ return /* @__PURE__ */ m(v.RadioGroup, {
157
+ "data-slot": "dropdown-menu-radio-group",
158
+ ...e
159
+ });
160
+ }
161
+ function F({ className: e, children: t, inset: r, ...i }) {
162
+ let a = b();
163
+ return /* @__PURE__ */ h(v.RadioItem, {
164
+ "data-slot": "dropdown-menu-radio-item",
165
+ "data-inset": r,
166
+ className: n("dropdown-menu-radio-item--component whitespace-nowrap data-inset:ps-control-icon", d.interactive, a, d.highlighted, d.disabled, d.icons, e),
167
+ ...i,
168
+ children: [x(t), /* @__PURE__ */ m("span", {
169
+ className: "pointer-events-none ms-auto flex shrink-0 items-center justify-center",
170
+ "data-slot": "dropdown-menu-radio-item-indicator",
171
+ children: /* @__PURE__ */ m(v.RadioItemIndicator, { children: /* @__PURE__ */ m(g, {}) })
172
+ })]
173
+ });
174
+ }
175
+ function I({ className: e, ...t }) {
176
+ return /* @__PURE__ */ m(v.Separator, {
177
+ "data-slot": "dropdown-menu-separator",
178
+ className: n("dropdown-menu-separator--component", u.separator, e),
179
+ ...t
180
+ });
181
+ }
182
+ function L({ className: e, children: t, ...r }) {
183
+ return /* @__PURE__ */ m("span", {
184
+ "data-slot": "dropdown-menu-shortcut",
185
+ className: n("dropdown-menu-shortcut--component ms-auto text-xxs tracking-normal text-muted-foreground group-data-[highlighted]/dropdown-menu-item:text-accent-foreground", e),
186
+ ...r,
187
+ children: x(t)
188
+ });
189
+ }
190
+ //#endregion
191
+ export { O as a, C as c, I as d, L as f, w as g, j as h, E as i, P as l, M as m, N as n, D as o, A as p, T as r, k as s, S as t, F as u };
192
+
193
+ //# sourceMappingURL=dropdown-menu-Cl4X7L5S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu-Cl4X7L5S.js","names":["React","MenuPrimitive","useTypographyConfig","useThemePortalContainer","cn","Text","textSizes","textLineHeights","anchoredPositionMethod","motionRecipes","popoverWidthRecipes","collectionRowClasses","popoverRecipes","collectionRecipes","CollectionLabel","React$1","DropdownMenuDensityContext","useMenuRowClasses","renderMenuText","children","className","DropdownMenu","props","Menu","DropdownMenuPortal","resolvedContainer","container","DropdownMenuTrigger","defaultTextSize","DropdownMenuContent","densityProp","inheritedDensity","density","DropdownMenuGroup","DropdownMenuLabel","content","inset","DropdownMenuItem","rowClasses","variant","DropdownMenuLinkItem","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRightIcon","DropdownMenuSubContent","DropdownMenuCheckboxItem","CheckIcon","DropdownMenuRadioGroup","DropdownMenuRadioItem","DropdownMenuSeparator","DropdownMenuShortcut"],"sources":["../src/components/base/navigation/dropdown-menu.tsx"],"sourcesContent":["import { anchoredPositionMethod } from '../../../lib/anchored-positioning';\nimport { motionRecipes } from '../../../lib/motion-recipes';\nimport * as React from 'react';\nimport { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { Text } from '../../typography';\nimport { textSizes, textLineHeights } from '../../typography/text.styles';\nimport { useTypographyConfig } from '../../../lib/ui-provider';\nimport { cn } from '../../../lib/utils';\nimport { collectionRecipes, collectionRowClasses, popoverRecipes, popoverWidthRecipes, type CollectionDensity } from '../popover/popover.recipes';\nimport { useThemePortalContainer } from '../../../lib/theme-scope';\nimport { CollectionLabel } from '../popover/collection-content';\n\nconst DropdownMenuDensityContext = React.createContext<CollectionDensity>('default');\n\nfunction useMenuRowClasses() {\n\treturn collectionRowClasses(React.useContext(DropdownMenuDensityContext));\n}\n\nfunction renderMenuText(children: React.ReactNode, className?: string) {\n\tif (\n\t\ttypeof children !== 'string'\n\t\t&& typeof children !== 'number'\n\t\t&& typeof children !== 'bigint'\n\t) return children;\n\tif (typeof children === 'string' && children.trim().length === 0) return children;\n\n\treturn (\n\t\t<CollectionLabel className={cn('dropdown-menu--text', className)}>\n\t\t\t{children}\n\t\t</CollectionLabel>\n\t);\n}\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n\treturn <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ container, ...props }: MenuPrimitive.Portal.Props) {\n\tconst resolvedContainer = useThemePortalContainer(container);\n\treturn <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" container={resolvedContainer} {...props} />;\n}\n\nfunction DropdownMenuTrigger({ children, ...props }: MenuPrimitive.Trigger.Props) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\treturn (\n\t\t<MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props}>\n\t\t\t{renderMenuText(children, textSizes[defaultTextSize ?? 'sm'])}\n\t\t</MenuPrimitive.Trigger>\n\t);\n}\n\nfunction DropdownMenuContent({\n\tpositionMethod = anchoredPositionMethod,\n\talign = 'start',\n\talignOffset = 0,\n\tside = 'bottom',\n\tsideOffset = 4,\n\tclassName,\n\tdensity: densityProp,\n\t...props\n}: MenuPrimitive.Popup.Props &\n\tPick<\n\t\tMenuPrimitive.Positioner.Props,\n\t\t'align' | 'alignOffset' | 'side' | 'sideOffset' | 'positionMethod'\n\t> & {\n\t/** Vertical row rhythm. Inherits in submenus; defaults to default. */\n\tdensity?: CollectionDensity;\n}) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst inheritedDensity = React.useContext(DropdownMenuDensityContext);\n\tconst density = densityProp ?? inheritedDensity;\n\treturn (\n\t\t<DropdownMenuDensityContext.Provider value={density}>\n\t\t\t<DropdownMenuPortal>\n\t\t\t\t<MenuPrimitive.Positioner\n\t\t\t\t\tpositionMethod={positionMethod}\n\t\t\t\t\tclassName=\"isolate z-50 outline-none\"\n\t\t\t\t\talign={align}\n\t\t\t\t\talignOffset={alignOffset}\n\t\t\t\t\tside={side}\n\t\t\t\t\tsideOffset={sideOffset}\n\t\t\t\t>\n\t\t\t\t\t<MenuPrimitive.Popup\n\t\t\t\t\t\tdata-slot=\"dropdown-menu-content\"\n\t\t\t\t\t\tdata-surface-type=\"menu\"\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\tpopoverRecipes.surface,\n\t\t\t\t\t\t\tpopoverRecipes.menu,\n\t\t\t\t\t\t\tpopoverWidthRecipes.menuMin,\n\t\t\t\t\t\t\tmotionRecipes.popup,\n\t\t\t\t\t\t\t'dropdown-menu-content--component z-50 max-h-(--available-height) w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto outline-none',\n\t\t\t\t\t\t\ttextSizes[defaultTextSize ?? 'sm'],\n\t\t\t\t\t\t\ttextLineHeights.tight,\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>\n\t\t\t\t</MenuPrimitive.Positioner>\n\t\t\t</DropdownMenuPortal>\n\t\t</DropdownMenuDensityContext.Provider>\n\t);\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n\treturn <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuLabel({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: MenuPrimitive.GroupLabel.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\t// A group caption is supporting copy, not another item: the smaller secondary\n\t// role keeps it from reading as an unclickable row.\n\tconst content =\n\t\ttypeof children === 'string' || typeof children === 'number' || typeof children === 'bigint'\n\t\t\t? <Text tag=\"span\" size=\"xs\" type=\"secondary\" weight=\"medium\" lineHeight=\"tight\">{children}</Text>\n\t\t\t: children;\n\n\treturn (\n\t\t<MenuPrimitive.GroupLabel\n\t\t\tdata-slot=\"dropdown-menu-label\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-label--component px-row-x py-row-y-sm text-muted-foreground data-inset:ps-control-icon',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{content}\n\t\t</MenuPrimitive.GroupLabel>\n\t);\n}\n\nfunction DropdownMenuItem({\n\tclassName,\n\tinset,\n\tvariant = 'default',\n\tchildren,\n\t...props\n}: MenuPrimitive.Item.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n\t/** Row treatment. `destructive` marks a command that removes or destroys data. Defaults to `default`. */\n\tvariant?: 'default' | 'destructive';\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.Item\n\t\t\tdata-slot=\"dropdown-menu-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-item--component group/dropdown-menu-item whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tcollectionRecipes.destructive,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</MenuPrimitive.Item>\n\t);\n}\n\nfunction DropdownMenuLinkItem({\n\tclassName,\n\tinset,\n\tvariant = 'default',\n\tchildren,\n\t...props\n}: MenuPrimitive.LinkItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n\t/** Row treatment. `destructive` marks a command that removes or destroys data. Defaults to `default`. */\n\tvariant?: 'default' | 'destructive';\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.LinkItem\n\t\t\tdata-slot=\"dropdown-menu-link-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-link-item--component group/dropdown-menu-item whitespace-nowrap text-inherit no-underline data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tcollectionRecipes.destructive,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</MenuPrimitive.LinkItem>\n\t);\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n\treturn <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.SubmenuTrigger\n\t\t\tdata-slot=\"dropdown-menu-sub-trigger\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-sub-trigger--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\t'data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<ChevronRightIcon className=\"ms-auto rtl:rotate-180\" />\n\t\t</MenuPrimitive.SubmenuTrigger>\n\t);\n}\n\nfunction DropdownMenuSubContent({\n\talign = 'start',\n\talignOffset = -3,\n\tside = 'inline-end',\n\tsideOffset = 0,\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n\treturn (\n\t\t<DropdownMenuContent\n\t\t\tdata-slot=\"dropdown-menu-sub-content\"\n\t\t\tclassName={cn('dropdown-menu-sub-content--component w-auto min-w-32', className)}\n\t\t\talign={align}\n\t\t\talignOffset={alignOffset}\n\t\t\tside={side}\n\t\t\tsideOffset={sideOffset}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuCheckboxItem({\n\tclassName,\n\tchildren,\n\tchecked,\n\tinset,\n\t...props\n}: MenuPrimitive.CheckboxItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.CheckboxItem\n\t\t\tdata-slot=\"dropdown-menu-checkbox-item\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-checkbox-item--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tchecked={checked}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<span\n\t\t\t\tclassName=\"pointer-events-none ms-auto flex shrink-0 items-center justify-center\"\n\t\t\t\tdata-slot=\"dropdown-menu-checkbox-item-indicator\"\n\t\t\t>\n\t\t\t\t<MenuPrimitive.CheckboxItemIndicator>\n\t\t\t\t\t<CheckIcon />\n\t\t\t\t</MenuPrimitive.CheckboxItemIndicator>\n\t\t\t</span>\n\t\t</MenuPrimitive.CheckboxItem>\n\t);\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n\treturn (\n\t\t<MenuPrimitive.RadioGroup\n\t\t\tdata-slot=\"dropdown-menu-radio-group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuRadioItem({\n\tclassName,\n\tchildren,\n\tinset,\n\t...props\n}: MenuPrimitive.RadioItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.RadioItem\n\t\t\tdata-slot=\"dropdown-menu-radio-item\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-radio-item--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<span\n\t\t\t\tclassName=\"pointer-events-none ms-auto flex shrink-0 items-center justify-center\"\n\t\t\t\tdata-slot=\"dropdown-menu-radio-item-indicator\"\n\t\t\t>\n\t\t\t\t<MenuPrimitive.RadioItemIndicator>\n\t\t\t\t\t<CheckIcon />\n\t\t\t\t</MenuPrimitive.RadioItemIndicator>\n\t\t\t</span>\n\t\t</MenuPrimitive.RadioItem>\n\t);\n}\n\nfunction DropdownMenuSeparator({\n\tclassName,\n\t...props\n}: MenuPrimitive.Separator.Props) {\n\treturn (\n\t\t<MenuPrimitive.Separator\n\t\t\tdata-slot=\"dropdown-menu-separator\"\n\t\t\tclassName={cn('dropdown-menu-separator--component', popoverRecipes.separator, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuShortcut({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"dropdown-menu-shortcut\"\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-shortcut--component ms-auto text-xxs tracking-normal text-muted-foreground group-data-[highlighted]/dropdown-menu-item:text-accent-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</span>\n\t);\n}\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuPortal,\n\tDropdownMenuTrigger,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuLabel,\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuSubContent,\n};\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ //#region src/lib/editable-text-recipe.ts
2
+ var e = {
3
+ sm: "font-normal text-pxs pointer-coarse:text-base",
4
+ md: "font-normal text-sm pointer-coarse:text-base",
5
+ lg: "font-normal text-sm pointer-coarse:text-base"
6
+ };
7
+ //#endregion
8
+ export { e as t };
9
+
10
+ //# sourceMappingURL=editable-text-recipe-Cn61kEcv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable-text-recipe-Cn61kEcv.js","names":["editableTextSizeClasses"],"sources":["../src/lib/editable-text-recipe.ts"],"sourcesContent":["/** Editable values own regular weight; coarse pointers retain the touch input size at every width. */\nexport const editableTextSizeClasses = {\n sm: 'font-normal text-pxs pointer-coarse:text-base',\n md: 'font-normal text-sm pointer-coarse:text-base',\n lg: 'font-normal text-sm pointer-coarse:text-base',\n} as const;\n"],"mappings":";AACA,IAAaA,IAA0B;CACrC,IAAI;CACJ,IAAI;CACJ,IAAI;AACN"}