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
@@ -0,0 +1,875 @@
1
+ "use client";
2
+ import { s as e, v as t } from "./ui-provider-C_U0Xma4.js";
3
+ import { useStrings as n } from "./lib/strings.js";
4
+ import { t as r } from "./utils-BRhFDwuU.js";
5
+ import { n as i } from "./buttons-DPZekJFu.js";
6
+ import { c as a, o } from "./typography-UTnveOEy.js";
7
+ import { t as s } from "./structure-BmisBK-3.js";
8
+ import { n as c } from "./tone-recipes-BPsRAvhu.js";
9
+ import { t as l } from "./feedback-BYIhtitP.js";
10
+ import { t as u } from "./layer-recipes-CCpklYME.js";
11
+ import { n as d, r as f } from "./field-affordance-recipes-DZhnIL_Y.js";
12
+ import { C as p, S as m, _ as h, a as g, b as _, g as ee, h as v, m as y, o as b, p as x, t as S, u as C, v as w, x as T } from "./combobox-xCQ2RMNE.js";
13
+ import { l as E, u as D } from "./form-sizing-BdP_Mf5p.js";
14
+ import { t as O } from "./input-DQdEd0YD.js";
15
+ import { t as k } from "./scroll-area-DcI-M1UT.js";
16
+ import { t as A } from "./use-debounced-callback-Cx1h-hdv.js";
17
+ import * as j from "react";
18
+ import { useCallback as M, useEffect as N, useMemo as P, useRef as F, useState as I } from "react";
19
+ import { Fragment as L, jsx as R, jsxs as z } from "react/jsx-runtime";
20
+ import { ChevronDownIcon as B, Loader2 as V, PlusIcon as te, XIcon as H } from "lucide-react";
21
+ import { Combobox as U } from "@base-ui/react/combobox";
22
+ //#region src/components/features/combobox/combobox.strings.ts
23
+ var W = {
24
+ placeholder: "Search...",
25
+ clear: "Clear selection",
26
+ toggle: "Open options",
27
+ dismiss: "Dismiss",
28
+ removeSelection: (e) => `Remove ${e}`,
29
+ searching: "Loading...",
30
+ noResults: "No results found.",
31
+ typeToSearch: "Type at least {min} characters to search...",
32
+ typeMore: "Type {remaining} more character{s} to search...",
33
+ createNew: "Create {value}",
34
+ loadingMore: "Loading...",
35
+ apply: "Apply",
36
+ cancel: "Cancel"
37
+ }, G = Symbol("combobox-create-option");
38
+ function K(e) {
39
+ return typeof e == "object" && !!e && G in e;
40
+ }
41
+ function q(e) {
42
+ if (!K(e)) throw Error("Item is not a create option");
43
+ return e[G];
44
+ }
45
+ function J(e) {
46
+ return { [G]: e };
47
+ }
48
+ //#endregion
49
+ //#region src/components/features/combobox/components/loading-more.tsx
50
+ function ne({ loading: e, text: t, className: n }) {
51
+ return e ? /* @__PURE__ */ z(s, {
52
+ direction: "horizontal",
53
+ gap: "sm",
54
+ justify: "center",
55
+ wrap: !1,
56
+ className: r("loading-more--component", "px-control py-space-xs text-xs text-muted-foreground", n),
57
+ role: "status",
58
+ "aria-live": "polite",
59
+ children: [/* @__PURE__ */ R(V, {
60
+ className: "size-icon-sm animate-spin",
61
+ "aria-hidden": "true"
62
+ }), /* @__PURE__ */ R(a, {
63
+ tag: "span",
64
+ size: "xs",
65
+ type: "secondary",
66
+ className: "text-inherit",
67
+ children: t
68
+ })]
69
+ }) : null;
70
+ }
71
+ ne.displayName = "LoadingMore";
72
+ //#endregion
73
+ //#region src/components/features/combobox/components/status-content.tsx
74
+ function Y({ children: e }) {
75
+ return /* @__PURE__ */ R(a, {
76
+ tag: "span",
77
+ size: "inherit",
78
+ type: "secondary",
79
+ className: "text-inherit",
80
+ children: e
81
+ });
82
+ }
83
+ function X({ loading: e, searchValue: t, minSearchLength: n, itemCount: r, strings: i }) {
84
+ let a = t.trim();
85
+ if (e) return /* @__PURE__ */ z(L, { children: [/* @__PURE__ */ R(V, { className: "size-icon-sm animate-spin" }), /* @__PURE__ */ R(Y, { children: i.searching })] });
86
+ if (a === "") return i.typeToSearch.includes("{min}") ? /* @__PURE__ */ R(Y, { children: i.typeToSearch.replace("{min}", String(n)) }) : /* @__PURE__ */ R(Y, { children: i.typeToSearch });
87
+ if (a.length < n) {
88
+ let e = n - a.length;
89
+ return i.typeMore.includes("{remaining}") || i.typeMore.includes("{s}") ? /* @__PURE__ */ R(Y, { children: i.typeMore.replace("{remaining}", String(e)).replace("{s}", e === 1 ? "" : "s") }) : /* @__PURE__ */ R(Y, { children: i.typeMore });
90
+ }
91
+ return null;
92
+ }
93
+ X.displayName = "StatusContent";
94
+ //#endregion
95
+ //#region src/components/features/combobox/components/combobox-dropdown.tsx
96
+ var Z = {
97
+ sm: "sm",
98
+ md: "md",
99
+ lg: "lg"
100
+ }, re = {
101
+ sm: "flex min-h-control-sm items-center justify-center px-row-x py-row-y text-center text-pxs leading-tight text-muted-foreground",
102
+ md: "flex min-h-control items-center justify-center px-row-x py-row-y text-center text-sm leading-tight text-muted-foreground",
103
+ lg: "flex min-h-control-lg items-center justify-center px-row-x py-row-y-lg text-center text-sm leading-tight text-muted-foreground"
104
+ };
105
+ function ie({ loading: e, showStatus: t, showEmpty: n, searchValue: c, minSearchLength: l, items: d, groupedItems: f, createOptionItem: y, renderItemContent: x, getItemReactKey: S, getItemDisabled: C, renderGroupLabel: E, loadingMore: D, strings: O, size: A = "md", portalContainer: j, listRef: M, anchor: N, applyFooter: P }) {
106
+ let F = j == null ? void 0 : u.nestedOverlay, I = Z[A];
107
+ if (!(t || n || d.length > 0 || D || P)) return null;
108
+ let B = /* @__PURE__ */ R(m, {
109
+ anchor: N,
110
+ className: F,
111
+ children: /* @__PURE__ */ z(b, {
112
+ "aria-busy": e || void 0,
113
+ className: r("combobox-dropdown--popup"),
114
+ children: [
115
+ !!t && /* @__PURE__ */ R(p, {
116
+ className: "gap-space-sm px-control py-space-xs text-xs text-muted-foreground",
117
+ children: /* @__PURE__ */ R(X, {
118
+ loading: e,
119
+ searchValue: c,
120
+ minSearchLength: l,
121
+ itemCount: d.length,
122
+ strings: O
123
+ })
124
+ }),
125
+ !!n && /* @__PURE__ */ R(ee, {
126
+ className: re[A],
127
+ children: /* @__PURE__ */ R(a, {
128
+ tag: "span",
129
+ size: "inherit",
130
+ type: "secondary",
131
+ className: "text-inherit",
132
+ children: O.noResults
133
+ })
134
+ }),
135
+ /* @__PURE__ */ R(k, {
136
+ viewportRef: M,
137
+ className: "max-h-[min(20rem,var(--available-height))]",
138
+ children: /* @__PURE__ */ R(_, {
139
+ className: "combobox-dropdown--list max-h-none overflow-visible",
140
+ children: f ? /* @__PURE__ */ z(L, { children: [Array.from(f.entries()).map(([e, t]) => {
141
+ let n = typeof E == "function" ? E(e) : e;
142
+ return /* @__PURE__ */ z(h, {
143
+ className: "combobox-dropdown--group p-0",
144
+ items: t,
145
+ children: [/* @__PURE__ */ R(w, { children: typeof n == "string" || typeof n == "number" || typeof n == "bigint" ? /* @__PURE__ */ R(o, { children: n }) : n }), /* @__PURE__ */ R(v, { children: (e) => /* @__PURE__ */ R(g, {
146
+ value: e,
147
+ size: I,
148
+ disabled: C?.(e),
149
+ children: x(e)
150
+ }, S(e)) })]
151
+ }, e);
152
+ }), y != null && /* @__PURE__ */ R(g, {
153
+ value: y,
154
+ size: I,
155
+ children: x(y)
156
+ }, S(y))] }) : /* @__PURE__ */ R(v, { children: (e) => /* @__PURE__ */ R(g, {
157
+ value: e,
158
+ size: I,
159
+ disabled: C?.(e),
160
+ children: x(e)
161
+ }, S(e)) })
162
+ })
163
+ }),
164
+ /* @__PURE__ */ R(ne, {
165
+ loading: !!D,
166
+ text: O.loadingMore
167
+ }),
168
+ !!P && /* @__PURE__ */ z(s, {
169
+ direction: "horizontal",
170
+ gap: "md",
171
+ justify: "end",
172
+ wrap: !1,
173
+ className: "border-t border-border/60 px-control py-space-xs",
174
+ children: [/* @__PURE__ */ R(i, {
175
+ type: "button",
176
+ tone: "secondary",
177
+ buttonStyle: "ghost",
178
+ onClick: (e) => {
179
+ e.preventDefault(), e.stopPropagation(), P.onCancel();
180
+ },
181
+ children: P.cancelLabel
182
+ }), /* @__PURE__ */ R(i, {
183
+ type: "button",
184
+ tone: "primary",
185
+ onClick: (e) => {
186
+ e.preventDefault(), e.stopPropagation(), P.onApply();
187
+ },
188
+ children: P.applyLabel
189
+ })]
190
+ })
191
+ ]
192
+ })
193
+ });
194
+ return j ? /* @__PURE__ */ R(T, {
195
+ container: j,
196
+ children: B
197
+ }) : /* @__PURE__ */ R(T, { children: B });
198
+ }
199
+ ie.displayName = "ComboboxDropdown";
200
+ //#endregion
201
+ //#region src/components/features/combobox/components/error-message.tsx
202
+ function ae({ error: e, size: t, className: n }) {
203
+ return e ? /* @__PURE__ */ R(a, {
204
+ tag: "p",
205
+ size: "xs",
206
+ type: "error",
207
+ className: r("error-message--component", n),
208
+ role: "alert",
209
+ "aria-live": "polite",
210
+ children: e
211
+ }) : null;
212
+ }
213
+ ae.displayName = "ErrorMessage";
214
+ //#endregion
215
+ //#region src/components/features/combobox/components/highlighted-text.tsx
216
+ function oe(e) {
217
+ return e.replace(/[$()*+.?[\\\]^{|}]/g, "\\$&");
218
+ }
219
+ function se({ text: e, highlight: t, highlightClassName: n = c.match }) {
220
+ if (!t.trim()) return /* @__PURE__ */ R(a, {
221
+ tag: "span",
222
+ size: "inherit",
223
+ lineHeight: "tight",
224
+ className: "text-inherit",
225
+ children: e
226
+ });
227
+ let r = RegExp(`(${oe(t)})`, "gi"), i = e.split(r), o = 0;
228
+ return /* @__PURE__ */ R(a, {
229
+ tag: "span",
230
+ size: "inherit",
231
+ lineHeight: "tight",
232
+ className: "text-inherit",
233
+ children: i.map((e, t) => {
234
+ let r = t % 2 == 1, i = String(o);
235
+ return o += e.length, r ? /* @__PURE__ */ R("mark", {
236
+ className: n,
237
+ children: e
238
+ }, i) : /* @__PURE__ */ R(j.Fragment, { children: e }, i);
239
+ })
240
+ });
241
+ }
242
+ se.displayName = "HighlightedText";
243
+ //#endregion
244
+ //#region src/components/features/combobox/hooks/use-debounced-search.ts
245
+ function ce({ searchValue: e, onSearch: t, debounceMs: n = 300, minSearchLength: r = 3 }) {
246
+ let i = A((e) => {
247
+ t?.(e);
248
+ }, n);
249
+ N(() => {
250
+ let t = e.trim();
251
+ if (!(t.length < r)) return i(t), i.cancel;
252
+ }, [
253
+ e,
254
+ r,
255
+ i
256
+ ]);
257
+ }
258
+ //#endregion
259
+ //#region src/components/features/combobox/hooks/use-grouped-items.ts
260
+ function le({ items: e, getItemGroup: t }) {
261
+ return P(() => {
262
+ if (!t) return null;
263
+ let n = /* @__PURE__ */ new Map();
264
+ for (let r of e) {
265
+ let e = t(r), i = n.get(e);
266
+ i ? i.push(r) : n.set(e, [r]);
267
+ }
268
+ return n;
269
+ }, [e, t]);
270
+ }
271
+ //#endregion
272
+ //#region src/components/features/combobox/hooks/use-load-more.ts
273
+ function ue({ hasMore: e, onLoadMore: t, loadingMore: n }) {
274
+ let r = F(!1), i = F(null), a = A(() => {
275
+ r.current = !0, t?.(), i.current && clearTimeout(i.current), i.current = setTimeout(() => {
276
+ r.current = !1, i.current = null;
277
+ }, 500);
278
+ }, 100);
279
+ return N(() => () => {
280
+ i.current && clearTimeout(i.current);
281
+ }, []), { handleScroll: M((i) => {
282
+ if (!e || !t || n || r.current) return;
283
+ let { scrollHeight: o, scrollTop: s, clientHeight: c } = i.target;
284
+ (s + c) / o >= .8 && a();
285
+ }, [
286
+ e,
287
+ t,
288
+ n,
289
+ a
290
+ ]) };
291
+ }
292
+ //#endregion
293
+ //#region src/components/features/combobox/hooks/use-combobox-core.tsx
294
+ function de(e) {
295
+ return n(W, e);
296
+ }
297
+ function fe(e, t, n) {
298
+ let r = t.toLowerCase();
299
+ return e.some((e) => n(e).toLowerCase() === r);
300
+ }
301
+ function pe({ items: e, searchValue: t, getItemLabel: n, getItemKey: i, loading: o = !1, showListContent: s = !0, minSearchLength: c = 3, strings: l, renderItem: u, onSearch: d, debounceMs: f = 300, creatable: p, onCreate: m, getItemGroup: h, hasMore: g, onLoadMore: _, loadingMore: ee, highlightMatch: v, ensuredItems: y = [] }) {
302
+ let b = de(l), x = i ?? n, S = F(null), C = t.trim(), w = s && (o || C.length < c);
303
+ ce({
304
+ searchValue: t,
305
+ onSearch: d,
306
+ debounceMs: f,
307
+ minSearchLength: c
308
+ });
309
+ let { handleScroll: T } = ue({
310
+ hasMore: s && !w ? g : !1,
311
+ onLoadMore: _,
312
+ loadingMore: ee
313
+ });
314
+ N(() => {
315
+ let e = S.current;
316
+ if (s && !w && e && g && _) return e.addEventListener("scroll", T), () => e.removeEventListener("scroll", T);
317
+ }, [
318
+ T,
319
+ g,
320
+ _,
321
+ s,
322
+ w
323
+ ]);
324
+ let E = P(() => {
325
+ if (!s || w) return [];
326
+ if (y.length === 0) return e;
327
+ let t = [...y];
328
+ return e.forEach((e) => {
329
+ let n = x(e);
330
+ y.some((e) => x(e) === n) || t.push(e);
331
+ }), t;
332
+ }, [
333
+ e,
334
+ y,
335
+ x,
336
+ s,
337
+ w
338
+ ]), D = le({
339
+ items: E,
340
+ getItemGroup: h
341
+ }), O = P(() => !s || w || !p || !m || C.length < c ? !1 : !fe(E, C, n), [
342
+ p,
343
+ m,
344
+ C,
345
+ c,
346
+ E,
347
+ n,
348
+ s,
349
+ w
350
+ ]), k = P(() => O ? J(C) : null, [O, C]);
351
+ return {
352
+ strings: b,
353
+ getKey: x,
354
+ trimmedSearch: C,
355
+ listRef: S,
356
+ baseItems: E,
357
+ allItems: P(() => k ? [...E, k] : E, [E, k]),
358
+ groupedItems: D,
359
+ createOptionItem: k,
360
+ showStatus: w,
361
+ showEmpty: s && !o && C.length >= c && e.length === 0 && !O,
362
+ showCreateOption: O,
363
+ renderItemContent: M((e) => {
364
+ if (K(e)) {
365
+ let t = q(e);
366
+ return /* @__PURE__ */ z("span", {
367
+ className: r("combobox-core--component", "flex items-center gap-space-sm"),
368
+ children: [/* @__PURE__ */ R(te, { className: "size-icon-sm" }), b.createNew.includes("{value}") ? /* @__PURE__ */ R(a, {
369
+ tag: "span",
370
+ size: "inherit",
371
+ weight: "medium",
372
+ lineHeight: "tight",
373
+ className: "text-inherit",
374
+ children: b.createNew.replace("{value}", t)
375
+ }) : /* @__PURE__ */ z("span", {
376
+ className: "inline-flex items-center gap-space-sm",
377
+ children: [/* @__PURE__ */ R(a, {
378
+ tag: "span",
379
+ size: "inherit",
380
+ weight: "medium",
381
+ lineHeight: "tight",
382
+ className: "text-inherit",
383
+ children: b.createNew
384
+ }), /* @__PURE__ */ R(a, {
385
+ tag: "span",
386
+ size: "inherit",
387
+ weight: "medium",
388
+ lineHeight: "tight",
389
+ className: "text-inherit",
390
+ children: t
391
+ })]
392
+ })]
393
+ });
394
+ }
395
+ if (u) return u(e);
396
+ let t = n(e);
397
+ return v && C ? /* @__PURE__ */ R(se, {
398
+ text: t,
399
+ highlight: C
400
+ }) : /* @__PURE__ */ R(a, {
401
+ tag: "span",
402
+ size: "inherit",
403
+ weight: "medium",
404
+ lineHeight: "tight",
405
+ className: "text-inherit",
406
+ children: t
407
+ });
408
+ }, [
409
+ b.createNew,
410
+ u,
411
+ n,
412
+ v,
413
+ C
414
+ ]),
415
+ itemToStringLabel: M((e) => K(e) ? q(e) : n(e), [n]),
416
+ getItemReactKey: M((e) => K(e) ? `__create__:${q(e)}` : String(x(e)), [x]),
417
+ handleScroll: T
418
+ };
419
+ }
420
+ //#endregion
421
+ //#region src/components/features/combobox/combobox.tsx
422
+ function me(e, n) {
423
+ return t(e, n, "md");
424
+ }
425
+ var he = {
426
+ sm: "sm",
427
+ md: "md",
428
+ lg: "lg"
429
+ };
430
+ function ge(e) {
431
+ return e;
432
+ }
433
+ function _e({ placeholder: e, clearLabel: t, toggleLabel: n, size: a, error: o, required: s, disabled: c, clearable: l = !0, className: u, onBlur: p }) {
434
+ return /* @__PURE__ */ z("div", {
435
+ className: "relative",
436
+ children: [/* @__PURE__ */ R(U.Input, {
437
+ render: /* @__PURE__ */ R(O, {
438
+ size: a,
439
+ invalid: o,
440
+ className: r(l ? f.clearPadding[a] : f.padding[a], u)
441
+ }),
442
+ placeholder: e,
443
+ "aria-invalid": o || void 0,
444
+ "aria-required": s,
445
+ disabled: c,
446
+ onBlur: p
447
+ }), /* @__PURE__ */ z("div", {
448
+ className: r("absolute inset-y-0 flex items-center gap-space-xs text-muted-foreground", f.track[a]),
449
+ children: [l ? /* @__PURE__ */ R(U.Clear, { render: /* @__PURE__ */ R(i, {
450
+ type: "button",
451
+ tone: "secondary",
452
+ buttonStyle: "ghost",
453
+ size: "sm",
454
+ iconOnly: !0,
455
+ className: r(d.target, d.focus, d.clear),
456
+ "aria-label": t,
457
+ children: /* @__PURE__ */ R(H, {
458
+ className: d.icon,
459
+ "aria-hidden": "true"
460
+ })
461
+ }) }) : null, /* @__PURE__ */ R(U.Trigger, { render: /* @__PURE__ */ R(i, {
462
+ type: "button",
463
+ tone: "secondary",
464
+ buttonStyle: "ghost",
465
+ size: "sm",
466
+ iconOnly: !0,
467
+ className: r(d.target, d.focus, d.toggle),
468
+ "aria-label": n,
469
+ children: /* @__PURE__ */ R(B, {
470
+ className: r("shrink-0", f.icon[a]),
471
+ "aria-hidden": "true"
472
+ })
473
+ }) })]
474
+ })]
475
+ });
476
+ }
477
+ function ve({ items: t, selectedValue: n, onSelectedValueChange: r, clearSearchOnClose: i = !0, searchValue: a, onSearchValueChange: o, getItemLabel: c, getItemKey: l, loading: u = !1, showListContent: d = !0, minSearchLength: f = 3, strings: p, disabled: m = !1, className: h, clearable: g = !0, renderItem: _, portalContainer: ee, name: v, invalid: y, error: b, required: x, onBlur: S, onSearch: w, debounceMs: T, creatable: E, onCreate: D, getItemGroup: O, renderGroupLabel: k, hasMore: A, onLoadMore: j, loadingMore: N, getItemDisabled: P, highlightMatch: F, size: L, open: B, onOpenChange: V }) {
478
+ let { defaultScale: te } = e(), H = me(L, te), U = ge(H), W = y || !!b, G = pe({
479
+ items: t,
480
+ searchValue: a,
481
+ onSearchValueChange: o,
482
+ getItemLabel: c,
483
+ getItemKey: l,
484
+ loading: u,
485
+ showListContent: d,
486
+ minSearchLength: f,
487
+ strings: p,
488
+ renderItem: _,
489
+ onSearch: w,
490
+ debounceMs: T,
491
+ creatable: E,
492
+ onCreate: D,
493
+ getItemGroup: O,
494
+ hasMore: A,
495
+ onLoadMore: j,
496
+ loadingMore: N,
497
+ highlightMatch: F,
498
+ size: H,
499
+ ensuredItems: n ? [n] : []
500
+ }), [J, ne] = I(!1), Y = M((e) => {
501
+ ne(e), !e && i && o(""), V?.(e);
502
+ }, [
503
+ i,
504
+ V,
505
+ o
506
+ ]), X = J ? a : n ? G.itemToStringLabel(n) : "", Z = M((e) => {
507
+ if (e && K(e)) {
508
+ let t = q(e);
509
+ D?.(t);
510
+ return;
511
+ }
512
+ r(e);
513
+ }, [r, D]);
514
+ return /* @__PURE__ */ z(s, {
515
+ gap: "dense",
516
+ className: "combobox--component",
517
+ children: [/* @__PURE__ */ z(C, {
518
+ dismissLabel: G.strings.dismiss,
519
+ items: G.allItems,
520
+ value: n,
521
+ onValueChange: (e, t) => {
522
+ if (t.reason === "escape-key") {
523
+ t.allowPropagation();
524
+ return;
525
+ }
526
+ Z(e);
527
+ },
528
+ inputValue: X,
529
+ onInputValueChange: (e, t) => {
530
+ let { reason: n } = t;
531
+ if (n === "escape-key") {
532
+ t.allowPropagation();
533
+ return;
534
+ }
535
+ if (n === "item-press") {
536
+ o("");
537
+ return;
538
+ }
539
+ o(e);
540
+ },
541
+ itemToStringLabel: G.itemToStringLabel,
542
+ disabled: m,
543
+ filter: null,
544
+ name: v,
545
+ required: x,
546
+ open: B,
547
+ onOpenChange: Y,
548
+ children: [/* @__PURE__ */ R(_e, {
549
+ placeholder: G.strings.placeholder,
550
+ clearLabel: G.strings.clear,
551
+ toggleLabel: G.strings.toggle,
552
+ className: h,
553
+ size: U,
554
+ error: W,
555
+ required: x,
556
+ disabled: m,
557
+ clearable: g,
558
+ onBlur: S
559
+ }), /* @__PURE__ */ R(ie, {
560
+ loading: u,
561
+ showStatus: G.showStatus,
562
+ showEmpty: G.showEmpty,
563
+ searchValue: a,
564
+ minSearchLength: f,
565
+ items: G.allItems,
566
+ groupedItems: G.groupedItems,
567
+ createOptionItem: G.createOptionItem,
568
+ renderItemContent: G.renderItemContent,
569
+ getItemReactKey: G.getItemReactKey,
570
+ getItemDisabled: P,
571
+ renderGroupLabel: k,
572
+ loadingMore: d && !G.showStatus ? N : !1,
573
+ strings: G.strings,
574
+ size: H,
575
+ portalContainer: ee,
576
+ listRef: G.listRef
577
+ })]
578
+ }), /* @__PURE__ */ R(ae, {
579
+ error: b,
580
+ size: H
581
+ })]
582
+ });
583
+ }
584
+ function ye({ items: t, selectedValues: n, onSelectedValuesChange: i, searchValue: o, onSearchValueChange: c, getItemLabel: l, getItemKey: u, loading: d = !1, showListContent: f = !0, minSearchLength: p = 3, strings: m, disabled: h = !1, className: g, renderItem: _, portalContainer: ee, name: v, invalid: b, error: w, required: T, onBlur: O, onSearch: k, debounceMs: A, creatable: j, onCreate: P, getItemGroup: L, renderGroupLabel: B, hasMore: V, onLoadMore: te, loadingMore: H, getItemDisabled: U, highlightMatch: G, size: J, open: ne, onOpenChange: Y, closeOnSelect: X = !1, applyButton: Z = !1, onApply: re, onCancel: oe }) {
585
+ let { defaultScale: se } = e(), ce = me(J, se), le = ge(ce), ue = he[ce], de = b || !!w, fe = F(null), _e = u ?? l, [ve, ye] = I(n), [be, xe] = I(!1), Se = ne !== void 0, Ce = Se ? ne : be;
586
+ N(() => {
587
+ Z && ye(n);
588
+ }, [Z, n]);
589
+ let Q = M((e) => {
590
+ Se || xe(e), Y?.(e);
591
+ }, [Se, Y]), $ = pe({
592
+ items: t,
593
+ searchValue: o,
594
+ onSearchValueChange: c,
595
+ getItemLabel: l,
596
+ getItemKey: u,
597
+ loading: d,
598
+ showListContent: f,
599
+ minSearchLength: p,
600
+ strings: m,
601
+ renderItem: _,
602
+ onSearch: k,
603
+ debounceMs: A,
604
+ creatable: j,
605
+ onCreate: P,
606
+ getItemGroup: L,
607
+ hasMore: V,
608
+ onLoadMore: te,
609
+ loadingMore: H,
610
+ highlightMatch: G,
611
+ size: ce,
612
+ ensuredItems: n
613
+ }), we = M((e) => {
614
+ let t = [], n = null;
615
+ for (let r of e) K(r) ? n = q(r) : t.push(r);
616
+ n && P?.(n);
617
+ let r = t.length !== e.length || !n ? t : null;
618
+ r && (Z ? ye(r) : i(r)), X && Q(!1);
619
+ }, [
620
+ i,
621
+ P,
622
+ Z,
623
+ X,
624
+ Q
625
+ ]), Te = M(() => {
626
+ Z && i(ve), re?.(), Q(!1);
627
+ }, [
628
+ Z,
629
+ ve,
630
+ re,
631
+ i,
632
+ Q
633
+ ]), Ee = M(() => {
634
+ Z && ye(n), oe?.(), Q(!1);
635
+ }, [
636
+ Z,
637
+ n,
638
+ oe,
639
+ Q
640
+ ]), De = Z ? ve : n, Oe = De.length > 0 ? void 0 : $.strings.placeholder;
641
+ return /* @__PURE__ */ z(s, {
642
+ gap: "dense",
643
+ className: "combobox--component",
644
+ children: [/* @__PURE__ */ z(C, {
645
+ dismissLabel: $.strings.dismiss,
646
+ items: $.allItems,
647
+ multiple: !0,
648
+ value: De,
649
+ onValueChange: (e, t) => {
650
+ if (t.reason === "escape-key") {
651
+ t.allowPropagation();
652
+ return;
653
+ }
654
+ we(e);
655
+ },
656
+ inputValue: o,
657
+ onInputValueChange: (e, t) => {
658
+ let { reason: n } = t;
659
+ if (n === "escape-key") {
660
+ t.allowPropagation();
661
+ return;
662
+ }
663
+ if (n === "item-press") {
664
+ c("");
665
+ return;
666
+ }
667
+ c(e);
668
+ },
669
+ itemToStringLabel: $.itemToStringLabel,
670
+ disabled: h,
671
+ filter: null,
672
+ name: v,
673
+ required: T,
674
+ open: Ce,
675
+ onOpenChange: (e) => {
676
+ !e && Z && ye(n), Q(e);
677
+ },
678
+ children: [/* @__PURE__ */ z(x, {
679
+ ref: fe,
680
+ className: r(E[le], D[le], le === "sm" ? "text-pxs" : "text-sm", "bg-transparent !shadow-none", g),
681
+ size: ue,
682
+ error: de,
683
+ children: [De.map((e) => /* @__PURE__ */ R(S, {
684
+ strings: { remove: ($.strings.removeSelection ?? W.removeSelection)(l(e)) },
685
+ children: /* @__PURE__ */ R(a, {
686
+ tag: "span",
687
+ size: "inherit",
688
+ weight: "medium",
689
+ lineHeight: "tight",
690
+ className: "combobox--chip-label text-inherit",
691
+ children: l(e)
692
+ })
693
+ }, _e(e))), /* @__PURE__ */ R(y, {
694
+ placeholder: Oe,
695
+ "aria-invalid": de || void 0,
696
+ "aria-required": T,
697
+ onBlur: O
698
+ })]
699
+ }), /* @__PURE__ */ R(ie, {
700
+ loading: d,
701
+ showStatus: $.showStatus,
702
+ showEmpty: $.showEmpty,
703
+ searchValue: o,
704
+ minSearchLength: p,
705
+ items: $.allItems,
706
+ groupedItems: $.groupedItems,
707
+ createOptionItem: $.createOptionItem,
708
+ renderItemContent: $.renderItemContent,
709
+ getItemReactKey: $.getItemReactKey,
710
+ getItemDisabled: U,
711
+ renderGroupLabel: B,
712
+ loadingMore: f && !$.showStatus ? H : !1,
713
+ strings: $.strings,
714
+ size: ce,
715
+ portalContainer: ee,
716
+ listRef: $.listRef,
717
+ anchor: fe,
718
+ applyFooter: f && Z ? {
719
+ applyLabel: $.strings.apply,
720
+ cancelLabel: $.strings.cancel,
721
+ onApply: Te,
722
+ onCancel: Ee
723
+ } : void 0
724
+ })]
725
+ }), /* @__PURE__ */ R(ae, {
726
+ error: w,
727
+ size: ce
728
+ })]
729
+ });
730
+ }
731
+ ve.displayName = "Combobox", ye.displayName = "MultiCombobox";
732
+ //#endregion
733
+ //#region src/components/features/combobox/async-resource-combobox.tsx
734
+ var be = {
735
+ ...W,
736
+ error: "Unable to load options.",
737
+ retry: "Retry"
738
+ };
739
+ function xe(e) {
740
+ return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
741
+ }
742
+ function Se({ fetcher: e, value: t, defaultValue: i = null, onValueChange: o, onAfterFetch: c, onError: u, getKey: d, getLabel: f, getDescription: p, getMeta: m, renderOption: h, limit: g = 10, debounceMs: _ = 300, preload: ee = !0, minSearchLength: v = 0, errorMessage: y, renderError: b, strings: x, disabled: S, size: C, ...w }) {
743
+ let T = n(be, x), E = t !== void 0, [D, O] = I(i), k = E ? t : D, [j, L] = I(""), [B, V] = I([]), [te, H] = I(!1), [U, W] = I(null), [G, K] = I(0), q = F(0), J = j.trim(), ne = M((e) => {
744
+ E || O(e), o?.(e);
745
+ }, [E, o]), Y = A((t, n) => {
746
+ H(!0), W(null), e(n).then((e) => {
747
+ n.signal?.aborted || q.current !== t || (V(e), c?.(e, n));
748
+ }).catch((e) => {
749
+ n.signal?.aborted || q.current !== t || (V([]), W({
750
+ error: e,
751
+ query: n.query
752
+ }), u?.(e, n));
753
+ }).finally(() => {
754
+ !n.signal?.aborted && q.current === t && H(!1);
755
+ });
756
+ }, _);
757
+ N(() => {
758
+ if (S) return;
759
+ if (!(J.length > 0 ? J.length >= v : ee)) {
760
+ V([]), H(!1), W(null);
761
+ return;
762
+ }
763
+ let e = q.current + 1;
764
+ q.current = e;
765
+ let t = new AbortController();
766
+ return Y(e, {
767
+ query: J,
768
+ limit: g,
769
+ signal: t.signal
770
+ }), () => {
771
+ Y.cancel(), t.abort();
772
+ };
773
+ }, [
774
+ S,
775
+ g,
776
+ v,
777
+ ee,
778
+ G,
779
+ Y,
780
+ J
781
+ ]);
782
+ let X = M(() => {
783
+ U && (L(U.query), K((e) => e + 1));
784
+ }, [U]), Z = M((e) => {
785
+ if (h) return h(e, {
786
+ query: J,
787
+ isSelected: k ? d(k) === d(e) : !1
788
+ });
789
+ let t = p?.(e), n = m?.(e);
790
+ return /* @__PURE__ */ z(s, {
791
+ render: /* @__PURE__ */ R("span", {}),
792
+ direction: "horizontal",
793
+ gap: "md",
794
+ wrap: !1,
795
+ className: "async-resource-combobox--option leading-tight",
796
+ children: [/* @__PURE__ */ R(a, {
797
+ type: "inherit",
798
+ tag: "span",
799
+ size: C === "sm" ? "pxs" : void 0,
800
+ weight: "medium",
801
+ className: "min-w-0 shrink truncate",
802
+ children: f(e)
803
+ }), (!!t || !!n) && /* @__PURE__ */ z("span", {
804
+ className: "inline-flex min-w-0 flex-1 items-center gap-space-sm overflow-hidden text-muted-foreground",
805
+ children: [!!t && (xe(t) ? /* @__PURE__ */ R(a, {
806
+ tag: "span",
807
+ size: "xs",
808
+ type: "secondary",
809
+ className: "min-w-0 truncate",
810
+ children: t
811
+ }) : t), !!n && (xe(n) ? /* @__PURE__ */ R(a, {
812
+ tag: "span",
813
+ size: "xs",
814
+ type: "secondary",
815
+ className: "min-w-0 truncate",
816
+ children: n
817
+ }) : n)]
818
+ })]
819
+ });
820
+ }, [
821
+ p,
822
+ d,
823
+ f,
824
+ m,
825
+ h,
826
+ k,
827
+ C,
828
+ J
829
+ ]), re = P(() => {
830
+ if (U) return y ?? T.error;
831
+ }, [
832
+ y,
833
+ U,
834
+ T.error
835
+ ]), ie = U !== null, ae = U ? b?.({
836
+ error: U.error,
837
+ query: U.query,
838
+ retry: X
839
+ }) ?? /* @__PURE__ */ R(l, {
840
+ variant: "inline",
841
+ title: re,
842
+ onRetry: X,
843
+ retryLabel: T.retry,
844
+ className: "async-resource-combobox--error mt-space-sm"
845
+ }) : null;
846
+ return /* @__PURE__ */ z("div", {
847
+ "data-component": "async-resource-combobox",
848
+ "data-slot": "async-resource-combobox",
849
+ className: r("async-resource-combobox--component", w.className),
850
+ children: [/* @__PURE__ */ R(ve, {
851
+ ...w,
852
+ className: void 0,
853
+ disabled: S,
854
+ size: C,
855
+ items: B,
856
+ selectedValue: k ?? null,
857
+ onSelectedValueChange: ne,
858
+ clearSearchOnClose: !1,
859
+ searchValue: j,
860
+ onSearchValueChange: L,
861
+ getItemLabel: f,
862
+ getItemKey: d,
863
+ loading: !ie && te,
864
+ showListContent: !ie,
865
+ minSearchLength: v,
866
+ strings: T,
867
+ renderItem: Z
868
+ }), ae]
869
+ });
870
+ }
871
+ Se.displayName = "AsyncResourceCombobox";
872
+ //#endregion
873
+ export { pe as a, ye as i, be as n, W as o, ve as r, Se as t };
874
+
875
+ //# sourceMappingURL=combobox-C0EQW6dr.js.map