@mastra/playground-ui 33.0.0-alpha.3 → 33.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1009) hide show
  1. package/CHANGELOG.md +344 -0
  2. package/dist/Avatar-Dcmi3-pN.js +42 -0
  3. package/dist/Avatar-Dcmi3-pN.js.map +1 -0
  4. package/dist/Avatar-Y-1fas25.cjs +44 -0
  5. package/dist/Avatar-Y-1fas25.cjs.map +1 -0
  6. package/dist/Badge-C5MzMyCa.js +34 -0
  7. package/dist/Badge-C5MzMyCa.js.map +1 -0
  8. package/dist/Badge-CQD9T1Yd.cjs +36 -0
  9. package/dist/Badge-CQD9T1Yd.cjs.map +1 -0
  10. package/dist/Breadcrumb-BT_nzL3M.cjs +39 -0
  11. package/dist/Breadcrumb-BT_nzL3M.cjs.map +1 -0
  12. package/dist/Breadcrumb-CxbCgAij.js +35 -0
  13. package/dist/Breadcrumb-CxbCgAij.js.map +1 -0
  14. package/dist/Button-DoOEJwa_.js +105 -0
  15. package/dist/Button-DoOEJwa_.js.map +1 -0
  16. package/dist/Button-DpIX8JMz.cjs +108 -0
  17. package/dist/Button-DpIX8JMz.cjs.map +1 -0
  18. package/dist/Card-Xx0_PeuI.cjs +90 -0
  19. package/dist/Card-Xx0_PeuI.cjs.map +1 -0
  20. package/dist/Card-cFJPRQ9O.js +64 -0
  21. package/dist/Card-cFJPRQ9O.js.map +1 -0
  22. package/dist/EmptyState-DfXdX6I8.js +31 -0
  23. package/dist/EmptyState-DfXdX6I8.js.map +1 -0
  24. package/dist/EmptyState-vw7dhSKP.cjs +33 -0
  25. package/dist/EmptyState-vw7dhSKP.cjs.map +1 -0
  26. package/dist/Entity-CVzaJDXu.js +42 -0
  27. package/dist/Entity-CVzaJDXu.js.map +1 -0
  28. package/dist/Entity-DALpbsRa.cjs +48 -0
  29. package/dist/Entity-DALpbsRa.cjs.map +1 -0
  30. package/dist/ErrorBoundary-6_BD8AkH.js +154 -0
  31. package/dist/ErrorBoundary-6_BD8AkH.js.map +1 -0
  32. package/dist/ErrorBoundary-BqiUSXyJ.cjs +175 -0
  33. package/dist/ErrorBoundary-BqiUSXyJ.cjs.map +1 -0
  34. package/dist/ErrorState-DH5KsoFs.js +14 -0
  35. package/dist/ErrorState-DH5KsoFs.js.map +1 -0
  36. package/dist/ErrorState-Dq9BVWmR.cjs +16 -0
  37. package/dist/ErrorState-Dq9BVWmR.cjs.map +1 -0
  38. package/dist/Header-Cfc5fIp6.js +31 -0
  39. package/dist/Header-Cfc5fIp6.js.map +1 -0
  40. package/dist/Header-wkLHG26m.cjs +36 -0
  41. package/dist/Header-wkLHG26m.cjs.map +1 -0
  42. package/dist/Icon-CJEjdbjB.js +14 -0
  43. package/dist/Icon-CJEjdbjB.js.map +1 -0
  44. package/dist/Icon-C_Ooy-cP.cjs +16 -0
  45. package/dist/Icon-C_Ooy-cP.cjs.map +1 -0
  46. package/dist/Notice-D5nzvm08.js +89 -0
  47. package/dist/Notice-D5nzvm08.js.map +1 -0
  48. package/dist/Notice-Mjo3MJi2.cjs +91 -0
  49. package/dist/Notice-Mjo3MJi2.cjs.map +1 -0
  50. package/dist/PermissionDenied-DFCUFnNH.js +22 -0
  51. package/dist/PermissionDenied-DFCUFnNH.js.map +1 -0
  52. package/dist/PermissionDenied-DjZjq-3E.cjs +24 -0
  53. package/dist/PermissionDenied-DjZjq-3E.cjs.map +1 -0
  54. package/dist/SessionExpired-DGk3CXNp.cjs +47 -0
  55. package/dist/SessionExpired-DGk3CXNp.cjs.map +1 -0
  56. package/dist/SessionExpired-Dhmm8eLq.js +45 -0
  57. package/dist/SessionExpired-Dhmm8eLq.js.map +1 -0
  58. package/dist/StatusBadge-Bow-zeGQ.cjs +74 -0
  59. package/dist/StatusBadge-Bow-zeGQ.cjs.map +1 -0
  60. package/dist/StatusBadge-CBbwykMh.js +72 -0
  61. package/dist/StatusBadge-CBbwykMh.js.map +1 -0
  62. package/dist/Txt-AhytBlTj.js +26 -0
  63. package/dist/Txt-AhytBlTj.js.map +1 -0
  64. package/dist/Txt-Cmn4ug68.cjs +28 -0
  65. package/dist/Txt-Cmn4ug68.cjs.map +1 -0
  66. package/dist/alert-dialog-DfQhrc2F.cjs +120 -0
  67. package/dist/alert-dialog-DfQhrc2F.cjs.map +1 -0
  68. package/dist/alert-dialog-bKOBpddM.js +99 -0
  69. package/dist/alert-dialog-bKOBpddM.js.map +1 -0
  70. package/dist/as-child-Dgr1RHLO.cjs +29 -0
  71. package/dist/as-child-Dgr1RHLO.cjs.map +1 -0
  72. package/dist/as-child-N1qMDCr8.js +8 -0
  73. package/dist/as-child-N1qMDCr8.js.map +1 -0
  74. package/dist/brand-loader-Bxz0bWdp.js +52 -0
  75. package/dist/brand-loader-Bxz0bWdp.js.map +1 -0
  76. package/dist/brand-loader-DNMY5ZK7.cjs +54 -0
  77. package/dist/brand-loader-DNMY5ZK7.cjs.map +1 -0
  78. package/dist/brand-loader.css +68 -0
  79. package/dist/buttons-group-BAU7uXE9.js +161 -0
  80. package/dist/buttons-group-BAU7uXE9.js.map +1 -0
  81. package/dist/buttons-group-BvLg2kpv.cjs +185 -0
  82. package/dist/buttons-group-BvLg2kpv.cjs.map +1 -0
  83. package/dist/checkbox-Bda6srNY.cjs +109 -0
  84. package/dist/checkbox-Bda6srNY.cjs.map +1 -0
  85. package/dist/checkbox-DmKlRClz.js +88 -0
  86. package/dist/checkbox-DmKlRClz.js.map +1 -0
  87. package/dist/chip-Cx5D5DkA.cjs +68 -0
  88. package/dist/chip-Cx5D5DkA.cjs.map +1 -0
  89. package/dist/chip-Dgrpa03p.js +66 -0
  90. package/dist/chip-Dgrpa03p.js.map +1 -0
  91. package/dist/chips-group-CaxAKuxv.cjs +23 -0
  92. package/dist/chips-group-CaxAKuxv.cjs.map +1 -0
  93. package/dist/chips-group-DgaAmiHe.js +21 -0
  94. package/dist/chips-group-DgaAmiHe.js.map +1 -0
  95. package/dist/code-B3WONxnA.cjs +68 -0
  96. package/dist/code-B3WONxnA.cjs.map +1 -0
  97. package/dist/code-C5KVVzOZ.js +47 -0
  98. package/dist/code-C5KVVzOZ.js.map +1 -0
  99. package/dist/code-block-53x4kvYO.js +73 -0
  100. package/dist/code-block-53x4kvYO.js.map +1 -0
  101. package/dist/code-block-UyWLLMZ0.cjs +75 -0
  102. package/dist/code-block-UyWLLMZ0.cjs.map +1 -0
  103. package/dist/code-diff-C2vuR6Ti.cjs +136 -0
  104. package/dist/code-diff-C2vuR6Ti.cjs.map +1 -0
  105. package/dist/code-diff-lktH1err.js +134 -0
  106. package/dist/code-diff-lktH1err.js.map +1 -0
  107. package/dist/code-editor-BuzhLm2a.cjs +446 -0
  108. package/dist/code-editor-BuzhLm2a.cjs.map +1 -0
  109. package/dist/code-editor-XAfFI9V8.js +438 -0
  110. package/dist/code-editor-XAfFI9V8.js.map +1 -0
  111. package/dist/collapsible-CDSgJ39O.cjs +61 -0
  112. package/dist/collapsible-CDSgJ39O.cjs.map +1 -0
  113. package/dist/collapsible-PODbdTuV.js +57 -0
  114. package/dist/collapsible-PODbdTuV.js.map +1 -0
  115. package/dist/combobox-B2TriE9Z.cjs +77 -0
  116. package/dist/combobox-B2TriE9Z.cjs.map +1 -0
  117. package/dist/combobox-q2xPfCZc.js +75 -0
  118. package/dist/combobox-q2xPfCZc.js.map +1 -0
  119. package/dist/command-D0tQ1Lpz.cjs +151 -0
  120. package/dist/command-D0tQ1Lpz.cjs.map +1 -0
  121. package/dist/command-DPEUOKZw.js +122 -0
  122. package/dist/command-DPEUOKZw.js.map +1 -0
  123. package/dist/components/AlertDialog.cjs.js +10 -0
  124. package/dist/components/AlertDialog.cjs.js.map +1 -0
  125. package/dist/components/AlertDialog.d.ts +2 -0
  126. package/dist/components/AlertDialog.es.js +2 -0
  127. package/dist/components/AlertDialog.es.js.map +1 -0
  128. package/dist/components/Avatar.cjs.js +10 -0
  129. package/dist/components/Avatar.cjs.js.map +1 -0
  130. package/dist/components/Avatar.d.ts +2 -0
  131. package/dist/components/Avatar.es.js +2 -0
  132. package/dist/components/Avatar.es.js.map +1 -0
  133. package/dist/components/Badge.cjs.js +10 -0
  134. package/dist/components/Badge.cjs.js.map +1 -0
  135. package/dist/components/Badge.d.ts +2 -0
  136. package/dist/components/Badge.es.js +2 -0
  137. package/dist/components/Badge.es.js.map +1 -0
  138. package/dist/components/BrandLoader.cjs.js +10 -0
  139. package/dist/components/BrandLoader.cjs.js.map +1 -0
  140. package/dist/components/BrandLoader.d.ts +2 -0
  141. package/dist/components/BrandLoader.es.js +2 -0
  142. package/dist/components/BrandLoader.es.js.map +1 -0
  143. package/dist/components/Breadcrumb.cjs.js +11 -0
  144. package/dist/components/Breadcrumb.cjs.js.map +1 -0
  145. package/dist/components/Breadcrumb.d.ts +2 -0
  146. package/dist/components/Breadcrumb.es.js +2 -0
  147. package/dist/components/Breadcrumb.es.js.map +1 -0
  148. package/dist/components/Button.cjs.js +11 -0
  149. package/dist/components/Button.cjs.js.map +1 -0
  150. package/dist/components/Button.d.ts +2 -0
  151. package/dist/components/Button.es.js +2 -0
  152. package/dist/components/Button.es.js.map +1 -0
  153. package/dist/components/ButtonsGroup.cjs.js +13 -0
  154. package/dist/components/ButtonsGroup.cjs.js.map +1 -0
  155. package/dist/components/ButtonsGroup.d.ts +2 -0
  156. package/dist/components/ButtonsGroup.es.js +2 -0
  157. package/dist/components/ButtonsGroup.es.js.map +1 -0
  158. package/dist/components/Card.cjs.js +15 -0
  159. package/dist/components/Card.cjs.js.map +1 -0
  160. package/dist/components/Card.d.ts +2 -0
  161. package/dist/components/Card.es.js +2 -0
  162. package/dist/components/Card.es.js.map +1 -0
  163. package/dist/components/Checkbox.cjs.js +10 -0
  164. package/dist/components/Checkbox.cjs.js.map +1 -0
  165. package/dist/components/Checkbox.d.ts +2 -0
  166. package/dist/components/Checkbox.es.js +2 -0
  167. package/dist/components/Checkbox.es.js.map +1 -0
  168. package/dist/components/Chip.cjs.js +12 -0
  169. package/dist/components/Chip.cjs.js.map +1 -0
  170. package/dist/components/Chip.d.ts +2 -0
  171. package/dist/components/Chip.es.js +3 -0
  172. package/dist/components/Chip.es.js.map +1 -0
  173. package/dist/components/Code.cjs.js +10 -0
  174. package/dist/components/Code.cjs.js.map +1 -0
  175. package/dist/components/Code.d.ts +2 -0
  176. package/dist/components/Code.es.js +2 -0
  177. package/dist/components/Code.es.js.map +1 -0
  178. package/dist/components/CodeBlock.cjs.js +10 -0
  179. package/dist/components/CodeBlock.cjs.js.map +1 -0
  180. package/dist/components/CodeBlock.d.ts +2 -0
  181. package/dist/components/CodeBlock.es.js +2 -0
  182. package/dist/components/CodeBlock.es.js.map +1 -0
  183. package/dist/components/CodeDiff.cjs.js +10 -0
  184. package/dist/components/CodeDiff.cjs.js.map +1 -0
  185. package/dist/components/CodeDiff.d.ts +2 -0
  186. package/dist/components/CodeDiff.es.js +2 -0
  187. package/dist/components/CodeDiff.es.js.map +1 -0
  188. package/dist/components/CodeEditor.cjs.js +18 -0
  189. package/dist/components/CodeEditor.cjs.js.map +1 -0
  190. package/dist/components/CodeEditor.d.ts +2 -0
  191. package/dist/components/CodeEditor.es.js +3 -0
  192. package/dist/components/CodeEditor.es.js.map +1 -0
  193. package/dist/components/Collapsible.cjs.js +12 -0
  194. package/dist/components/Collapsible.cjs.js.map +1 -0
  195. package/dist/components/Collapsible.d.ts +2 -0
  196. package/dist/components/Collapsible.es.js +2 -0
  197. package/dist/components/Collapsible.es.js.map +1 -0
  198. package/dist/components/Columns.cjs.js +12 -0
  199. package/dist/components/Columns.cjs.js.map +1 -0
  200. package/dist/components/Columns.d.ts +2 -0
  201. package/dist/components/Columns.es.js +2 -0
  202. package/dist/components/Columns.es.js.map +1 -0
  203. package/dist/components/Combobox.cjs.js +18 -0
  204. package/dist/components/Combobox.cjs.js.map +1 -0
  205. package/dist/components/Combobox.d.ts +2 -0
  206. package/dist/components/Combobox.es.js +4 -0
  207. package/dist/components/Combobox.es.js.map +1 -0
  208. package/dist/components/Command.cjs.js +18 -0
  209. package/dist/components/Command.cjs.js.map +1 -0
  210. package/dist/components/Command.d.ts +2 -0
  211. package/dist/components/Command.es.js +2 -0
  212. package/dist/components/Command.es.js.map +1 -0
  213. package/dist/components/ContentBlocks.cjs.js +11 -0
  214. package/dist/components/ContentBlocks.cjs.js.map +1 -0
  215. package/dist/components/ContentBlocks.d.ts +2 -0
  216. package/dist/components/ContentBlocks.es.js +2 -0
  217. package/dist/components/ContentBlocks.es.js.map +1 -0
  218. package/dist/components/ContextMenu.cjs.js +212 -0
  219. package/dist/components/ContextMenu.cjs.js.map +1 -0
  220. package/dist/components/ContextMenu.d.ts +2 -0
  221. package/dist/components/ContextMenu.es.js +189 -0
  222. package/dist/components/ContextMenu.es.js.map +1 -0
  223. package/dist/components/CopyButton.cjs.js +10 -0
  224. package/dist/components/CopyButton.cjs.js.map +1 -0
  225. package/dist/components/CopyButton.d.ts +2 -0
  226. package/dist/components/CopyButton.es.js +2 -0
  227. package/dist/components/CopyButton.es.js.map +1 -0
  228. package/dist/components/DashboardCard.cjs.js +10 -0
  229. package/dist/components/DashboardCard.cjs.js.map +1 -0
  230. package/dist/components/DashboardCard.d.ts +2 -0
  231. package/dist/components/DashboardCard.es.js +2 -0
  232. package/dist/components/DashboardCard.es.js.map +1 -0
  233. package/dist/components/DataCodeSection.cjs.js +10 -0
  234. package/dist/components/DataCodeSection.cjs.js.map +1 -0
  235. package/dist/components/DataCodeSection.d.ts +2 -0
  236. package/dist/components/DataCodeSection.es.js +2 -0
  237. package/dist/components/DataCodeSection.es.js.map +1 -0
  238. package/dist/components/DataDetailsPanel.cjs.js +228 -0
  239. package/dist/components/DataDetailsPanel.cjs.js.map +1 -0
  240. package/dist/components/DataDetailsPanel.d.ts +2 -0
  241. package/dist/components/DataDetailsPanel.es.js +224 -0
  242. package/dist/components/DataDetailsPanel.es.js.map +1 -0
  243. package/dist/components/DataFilter.cjs.js +10 -0
  244. package/dist/components/DataFilter.cjs.js.map +1 -0
  245. package/dist/components/DataFilter.d.ts +2 -0
  246. package/dist/components/DataFilter.es.js +2 -0
  247. package/dist/components/DataFilter.es.js.map +1 -0
  248. package/dist/components/DataKeysAndValues.cjs.js +10 -0
  249. package/dist/components/DataKeysAndValues.cjs.js.map +1 -0
  250. package/dist/components/DataKeysAndValues.d.ts +2 -0
  251. package/dist/components/DataKeysAndValues.es.js +2 -0
  252. package/dist/components/DataKeysAndValues.es.js.map +1 -0
  253. package/dist/components/DataList.cjs.js +14 -0
  254. package/dist/components/DataList.cjs.js.map +1 -0
  255. package/dist/components/DataList.d.ts +2 -0
  256. package/dist/components/DataList.es.js +3 -0
  257. package/dist/components/DataList.es.js.map +1 -0
  258. package/dist/components/DataPanel.cjs.js +10 -0
  259. package/dist/components/DataPanel.cjs.js.map +1 -0
  260. package/dist/components/DataPanel.d.ts +2 -0
  261. package/dist/components/DataPanel.es.js +2 -0
  262. package/dist/components/DataPanel.es.js.map +1 -0
  263. package/dist/components/DateTimePicker.cjs.js +15 -0
  264. package/dist/components/DateTimePicker.cjs.js.map +1 -0
  265. package/dist/components/DateTimePicker.d.ts +2 -0
  266. package/dist/components/DateTimePicker.es.js +3 -0
  267. package/dist/components/DateTimePicker.es.js.map +1 -0
  268. package/dist/components/DateTimeRangePicker.cjs.js +10 -0
  269. package/dist/components/DateTimeRangePicker.cjs.js.map +1 -0
  270. package/dist/components/DateTimeRangePicker.d.ts +2 -0
  271. package/dist/components/DateTimeRangePicker.es.js +2 -0
  272. package/dist/components/DateTimeRangePicker.es.js.map +1 -0
  273. package/dist/components/Dialog.cjs.js +20 -0
  274. package/dist/components/Dialog.cjs.js.map +1 -0
  275. package/dist/components/Dialog.d.ts +2 -0
  276. package/dist/components/Dialog.es.js +2 -0
  277. package/dist/components/Dialog.es.js.map +1 -0
  278. package/dist/components/Drawer.cjs.js +29 -0
  279. package/dist/components/Drawer.cjs.js.map +1 -0
  280. package/dist/components/Drawer.d.ts +2 -0
  281. package/dist/components/Drawer.es.js +2 -0
  282. package/dist/components/Drawer.es.js.map +1 -0
  283. package/dist/components/DropdownMenu.cjs.js +10 -0
  284. package/dist/components/DropdownMenu.cjs.js.map +1 -0
  285. package/dist/components/DropdownMenu.d.ts +2 -0
  286. package/dist/components/DropdownMenu.es.js +2 -0
  287. package/dist/components/DropdownMenu.es.js.map +1 -0
  288. package/dist/components/EmptyState.cjs.js +10 -0
  289. package/dist/components/EmptyState.cjs.js.map +1 -0
  290. package/dist/components/EmptyState.d.ts +2 -0
  291. package/dist/components/EmptyState.es.js +2 -0
  292. package/dist/components/EmptyState.es.js.map +1 -0
  293. package/dist/components/Entity.cjs.js +14 -0
  294. package/dist/components/Entity.cjs.js.map +1 -0
  295. package/dist/components/Entity.d.ts +2 -0
  296. package/dist/components/Entity.es.js +2 -0
  297. package/dist/components/Entity.es.js.map +1 -0
  298. package/dist/components/EntityHeader.cjs.js +10 -0
  299. package/dist/components/EntityHeader.cjs.js.map +1 -0
  300. package/dist/components/EntityHeader.d.ts +2 -0
  301. package/dist/components/EntityHeader.es.js +2 -0
  302. package/dist/components/EntityHeader.es.js.map +1 -0
  303. package/dist/components/Entry.cjs.js +10 -0
  304. package/dist/components/Entry.cjs.js.map +1 -0
  305. package/dist/components/Entry.d.ts +2 -0
  306. package/dist/components/Entry.es.js +2 -0
  307. package/dist/components/Entry.es.js.map +1 -0
  308. package/dist/components/ErrorBoundary.cjs.js +10 -0
  309. package/dist/components/ErrorBoundary.cjs.js.map +1 -0
  310. package/dist/components/ErrorBoundary.d.ts +2 -0
  311. package/dist/components/ErrorBoundary.es.js +2 -0
  312. package/dist/components/ErrorBoundary.es.js.map +1 -0
  313. package/dist/components/ErrorState.cjs.js +10 -0
  314. package/dist/components/ErrorState.cjs.js.map +1 -0
  315. package/dist/components/ErrorState.d.ts +2 -0
  316. package/dist/components/ErrorState.es.js +2 -0
  317. package/dist/components/ErrorState.es.js.map +1 -0
  318. package/dist/components/FormFieldBlocks.cjs.js +18 -0
  319. package/dist/components/FormFieldBlocks.cjs.js.map +1 -0
  320. package/dist/components/FormFieldBlocks.d.ts +2 -0
  321. package/dist/components/FormFieldBlocks.es.js +6 -0
  322. package/dist/components/FormFieldBlocks.es.js.map +1 -0
  323. package/dist/components/Header.cjs.js +13 -0
  324. package/dist/components/Header.cjs.js.map +1 -0
  325. package/dist/components/Header.d.ts +2 -0
  326. package/dist/components/Header.es.js +2 -0
  327. package/dist/components/Header.es.js.map +1 -0
  328. package/dist/components/HorizontalBars.cjs.js +10 -0
  329. package/dist/components/HorizontalBars.cjs.js.map +1 -0
  330. package/dist/components/HorizontalBars.d.ts +2 -0
  331. package/dist/components/HorizontalBars.es.js +2 -0
  332. package/dist/components/HorizontalBars.es.js.map +1 -0
  333. package/dist/components/HoverCard.cjs.js +12 -0
  334. package/dist/components/HoverCard.cjs.js.map +1 -0
  335. package/dist/components/HoverCard.d.ts +2 -0
  336. package/dist/components/HoverCard.es.js +2 -0
  337. package/dist/components/HoverCard.es.js.map +1 -0
  338. package/dist/components/Input.cjs.js +10 -0
  339. package/dist/components/Input.cjs.js.map +1 -0
  340. package/dist/components/Input.d.ts +2 -0
  341. package/dist/components/Input.es.js +2 -0
  342. package/dist/components/Input.es.js.map +1 -0
  343. package/dist/components/InputGroup.cjs.js +15 -0
  344. package/dist/components/InputGroup.cjs.js.map +1 -0
  345. package/dist/components/InputGroup.d.ts +2 -0
  346. package/dist/components/InputGroup.es.js +2 -0
  347. package/dist/components/InputGroup.es.js.map +1 -0
  348. package/dist/components/ItemList.cjs.js +14 -0
  349. package/dist/components/ItemList.cjs.js.map +1 -0
  350. package/dist/components/ItemList.d.ts +2 -0
  351. package/dist/components/ItemList.es.js +2 -0
  352. package/dist/components/ItemList.es.js.map +1 -0
  353. package/dist/components/JSONSchemaForm.cjs.js +547 -0
  354. package/dist/components/JSONSchemaForm.cjs.js.map +1 -0
  355. package/dist/components/JSONSchemaForm.d.ts +2 -0
  356. package/dist/components/JSONSchemaForm.es.js +507 -0
  357. package/dist/components/JSONSchemaForm.es.js.map +1 -0
  358. package/dist/components/Kbd.cjs.js +10 -0
  359. package/dist/components/Kbd.cjs.js.map +1 -0
  360. package/dist/components/Kbd.d.ts +2 -0
  361. package/dist/components/Kbd.es.js +2 -0
  362. package/dist/components/Kbd.es.js.map +1 -0
  363. package/dist/components/KeyValueList.cjs.js +10 -0
  364. package/dist/components/KeyValueList.cjs.js.map +1 -0
  365. package/dist/components/KeyValueList.d.ts +2 -0
  366. package/dist/components/KeyValueList.es.js +2 -0
  367. package/dist/components/KeyValueList.es.js.map +1 -0
  368. package/dist/components/Label.cjs.js +10 -0
  369. package/dist/components/Label.cjs.js.map +1 -0
  370. package/dist/components/Label.d.ts +2 -0
  371. package/dist/components/Label.es.js +2 -0
  372. package/dist/components/Label.es.js.map +1 -0
  373. package/dist/components/ListSearch.cjs.js +10 -0
  374. package/dist/components/ListSearch.cjs.js.map +1 -0
  375. package/dist/components/ListSearch.d.ts +2 -0
  376. package/dist/components/ListSearch.es.js +2 -0
  377. package/dist/components/ListSearch.es.js.map +1 -0
  378. package/dist/components/Logo.cjs.js +11 -0
  379. package/dist/components/Logo.cjs.js.map +1 -0
  380. package/dist/components/Logo.d.ts +2 -0
  381. package/dist/components/Logo.es.js +2 -0
  382. package/dist/components/Logo.es.js.map +1 -0
  383. package/dist/components/LogsDataList.cjs.js +12 -0
  384. package/dist/components/LogsDataList.cjs.js.map +1 -0
  385. package/dist/components/LogsDataList.d.ts +2 -0
  386. package/dist/components/LogsDataList.es.js +3 -0
  387. package/dist/components/LogsDataList.es.js.map +1 -0
  388. package/dist/components/MainContent.cjs.js +12 -0
  389. package/dist/components/MainContent.cjs.js.map +1 -0
  390. package/dist/components/MainContent.d.ts +2 -0
  391. package/dist/components/MainContent.es.js +2 -0
  392. package/dist/components/MainContent.es.js.map +1 -0
  393. package/dist/components/MainHeader.cjs.js +10 -0
  394. package/dist/components/MainHeader.cjs.js.map +1 -0
  395. package/dist/components/MainHeader.d.ts +2 -0
  396. package/dist/components/MainHeader.es.js +2 -0
  397. package/dist/components/MainHeader.es.js.map +1 -0
  398. package/dist/components/MainSidebar.cjs.js +17 -0
  399. package/dist/components/MainSidebar.cjs.js.map +1 -0
  400. package/dist/components/MainSidebar.d.ts +2 -0
  401. package/dist/components/MainSidebar.es.js +2 -0
  402. package/dist/components/MainSidebar.es.js.map +1 -0
  403. package/dist/components/MarkdownRenderer.cjs.js +10 -0
  404. package/dist/components/MarkdownRenderer.cjs.js.map +1 -0
  405. package/dist/components/MarkdownRenderer.d.ts +2 -0
  406. package/dist/components/MarkdownRenderer.es.js +2 -0
  407. package/dist/components/MarkdownRenderer.es.js.map +1 -0
  408. package/dist/components/MetricsCard.cjs.js +10 -0
  409. package/dist/components/MetricsCard.cjs.js.map +1 -0
  410. package/dist/components/MetricsCard.d.ts +2 -0
  411. package/dist/components/MetricsCard.es.js +2 -0
  412. package/dist/components/MetricsCard.es.js.map +1 -0
  413. package/dist/components/MetricsDataTable.cjs.js +10 -0
  414. package/dist/components/MetricsDataTable.cjs.js.map +1 -0
  415. package/dist/components/MetricsDataTable.d.ts +2 -0
  416. package/dist/components/MetricsDataTable.es.js +2 -0
  417. package/dist/components/MetricsDataTable.es.js.map +1 -0
  418. package/dist/components/MetricsFlexGrid.cjs.js +10 -0
  419. package/dist/components/MetricsFlexGrid.cjs.js.map +1 -0
  420. package/dist/components/MetricsFlexGrid.d.ts +2 -0
  421. package/dist/components/MetricsFlexGrid.es.js +2 -0
  422. package/dist/components/MetricsFlexGrid.es.js.map +1 -0
  423. package/dist/components/MetricsKpiCard.cjs.js +10 -0
  424. package/dist/components/MetricsKpiCard.cjs.js.map +1 -0
  425. package/dist/components/MetricsKpiCard.d.ts +2 -0
  426. package/dist/components/MetricsKpiCard.es.js +2 -0
  427. package/dist/components/MetricsKpiCard.es.js.map +1 -0
  428. package/dist/components/MetricsLineChart.cjs.js +11 -0
  429. package/dist/components/MetricsLineChart.cjs.js.map +1 -0
  430. package/dist/components/MetricsLineChart.d.ts +2 -0
  431. package/dist/components/MetricsLineChart.es.js +2 -0
  432. package/dist/components/MetricsLineChart.es.js.map +1 -0
  433. package/dist/components/Notice.cjs.js +10 -0
  434. package/dist/components/Notice.cjs.js.map +1 -0
  435. package/dist/components/Notice.d.ts +2 -0
  436. package/dist/components/Notice.es.js +2 -0
  437. package/dist/components/Notice.es.js.map +1 -0
  438. package/dist/components/PageHeader.cjs.js +10 -0
  439. package/dist/components/PageHeader.cjs.js.map +1 -0
  440. package/dist/components/PageHeader.d.ts +2 -0
  441. package/dist/components/PageHeader.es.js +2 -0
  442. package/dist/components/PageHeader.es.js.map +1 -0
  443. package/dist/components/PageLayout.cjs.js +14 -0
  444. package/dist/components/PageLayout.cjs.js.map +1 -0
  445. package/dist/components/PageLayout.d.ts +2 -0
  446. package/dist/components/PageLayout.es.js +3 -0
  447. package/dist/components/PageLayout.es.js.map +1 -0
  448. package/dist/components/PendingIndicator.cjs.js +10 -0
  449. package/dist/components/PendingIndicator.cjs.js.map +1 -0
  450. package/dist/components/PendingIndicator.d.ts +2 -0
  451. package/dist/components/PendingIndicator.es.js +2 -0
  452. package/dist/components/PendingIndicator.es.js.map +1 -0
  453. package/dist/components/PermissionDenied.cjs.js +10 -0
  454. package/dist/components/PermissionDenied.cjs.js.map +1 -0
  455. package/dist/components/PermissionDenied.d.ts +2 -0
  456. package/dist/components/PermissionDenied.es.js +2 -0
  457. package/dist/components/PermissionDenied.es.js.map +1 -0
  458. package/dist/components/Popover.cjs.js +13 -0
  459. package/dist/components/Popover.cjs.js.map +1 -0
  460. package/dist/components/Popover.d.ts +2 -0
  461. package/dist/components/Popover.es.js +2 -0
  462. package/dist/components/Popover.es.js.map +1 -0
  463. package/dist/components/PrevNextNav.cjs.js +29 -0
  464. package/dist/components/PrevNextNav.cjs.js.map +1 -0
  465. package/dist/components/PrevNextNav.d.ts +2 -0
  466. package/dist/components/PrevNextNav.es.js +25 -0
  467. package/dist/components/PrevNextNav.es.js.map +1 -0
  468. package/dist/components/PropertyFilter.cjs.js +13 -0
  469. package/dist/components/PropertyFilter.cjs.js.map +1 -0
  470. package/dist/components/PropertyFilter.d.ts +2 -0
  471. package/dist/components/PropertyFilter.es.js +2 -0
  472. package/dist/components/PropertyFilter.es.js.map +1 -0
  473. package/dist/components/RadioGroup.cjs.js +11 -0
  474. package/dist/components/RadioGroup.cjs.js.map +1 -0
  475. package/dist/components/RadioGroup.d.ts +2 -0
  476. package/dist/components/RadioGroup.es.js +2 -0
  477. package/dist/components/RadioGroup.es.js.map +1 -0
  478. package/dist/components/ScrollArea.cjs.js +11 -0
  479. package/dist/components/ScrollArea.cjs.js.map +1 -0
  480. package/dist/components/ScrollArea.d.ts +2 -0
  481. package/dist/components/ScrollArea.es.js +2 -0
  482. package/dist/components/ScrollArea.es.js.map +1 -0
  483. package/dist/components/ScrollableContainer.cjs.js +10 -0
  484. package/dist/components/ScrollableContainer.cjs.js.map +1 -0
  485. package/dist/components/ScrollableContainer.d.ts +2 -0
  486. package/dist/components/ScrollableContainer.es.js +2 -0
  487. package/dist/components/ScrollableContainer.es.js.map +1 -0
  488. package/dist/components/Searchbar.cjs.js +11 -0
  489. package/dist/components/Searchbar.cjs.js.map +1 -0
  490. package/dist/components/Searchbar.d.ts +2 -0
  491. package/dist/components/Searchbar.es.js +2 -0
  492. package/dist/components/Searchbar.es.js.map +1 -0
  493. package/dist/components/Section.cjs.js +12 -0
  494. package/dist/components/Section.cjs.js.map +1 -0
  495. package/dist/components/Section.d.ts +2 -0
  496. package/dist/components/Section.es.js +2 -0
  497. package/dist/components/Section.es.js.map +1 -0
  498. package/dist/components/SectionCard.cjs.js +11 -0
  499. package/dist/components/SectionCard.cjs.js.map +1 -0
  500. package/dist/components/SectionCard.d.ts +2 -0
  501. package/dist/components/SectionCard.es.js +2 -0
  502. package/dist/components/SectionCard.es.js.map +1 -0
  503. package/dist/components/Sections.cjs.js +10 -0
  504. package/dist/components/Sections.cjs.js.map +1 -0
  505. package/dist/components/Sections.d.ts +2 -0
  506. package/dist/components/Sections.es.js +2 -0
  507. package/dist/components/Sections.es.js.map +1 -0
  508. package/dist/components/Select.cjs.js +15 -0
  509. package/dist/components/Select.cjs.js.map +1 -0
  510. package/dist/components/Select.d.ts +2 -0
  511. package/dist/components/Select.es.js +2 -0
  512. package/dist/components/Select.es.js.map +1 -0
  513. package/dist/components/SessionExpired.cjs.js +10 -0
  514. package/dist/components/SessionExpired.cjs.js.map +1 -0
  515. package/dist/components/SessionExpired.d.ts +2 -0
  516. package/dist/components/SessionExpired.es.js +2 -0
  517. package/dist/components/SessionExpired.es.js.map +1 -0
  518. package/dist/components/SettingsRow.cjs.js +27 -0
  519. package/dist/components/SettingsRow.cjs.js.map +1 -0
  520. package/dist/components/SettingsRow.d.ts +2 -0
  521. package/dist/components/SettingsRow.es.js +23 -0
  522. package/dist/components/SettingsRow.es.js.map +1 -0
  523. package/dist/components/Shimmer.cjs.js +10 -0
  524. package/dist/components/Shimmer.cjs.js.map +1 -0
  525. package/dist/components/Shimmer.d.ts +2 -0
  526. package/dist/components/Shimmer.es.js +2 -0
  527. package/dist/components/Shimmer.es.js.map +1 -0
  528. package/dist/components/SideDialog.cjs.js +297 -0
  529. package/dist/components/SideDialog.cjs.js.map +1 -0
  530. package/dist/components/SideDialog.d.ts +2 -0
  531. package/dist/components/SideDialog.es.js +275 -0
  532. package/dist/components/SideDialog.es.js.map +1 -0
  533. package/dist/components/Skeleton.cjs.js +10 -0
  534. package/dist/components/Skeleton.cjs.js.map +1 -0
  535. package/dist/components/Skeleton.d.ts +2 -0
  536. package/dist/components/Skeleton.es.js +2 -0
  537. package/dist/components/Skeleton.es.js.map +1 -0
  538. package/dist/components/Slider.cjs.js +10 -0
  539. package/dist/components/Slider.cjs.js.map +1 -0
  540. package/dist/components/Slider.d.ts +2 -0
  541. package/dist/components/Slider.es.js +2 -0
  542. package/dist/components/Slider.es.js.map +1 -0
  543. package/dist/components/Spinner.cjs.js +10 -0
  544. package/dist/components/Spinner.cjs.js.map +1 -0
  545. package/dist/components/Spinner.d.ts +2 -0
  546. package/dist/components/Spinner.es.js +2 -0
  547. package/dist/components/Spinner.es.js.map +1 -0
  548. package/dist/components/StatusBadge.cjs.js +10 -0
  549. package/dist/components/StatusBadge.cjs.js.map +1 -0
  550. package/dist/components/StatusBadge.d.ts +2 -0
  551. package/dist/components/StatusBadge.es.js +2 -0
  552. package/dist/components/StatusBadge.es.js.map +1 -0
  553. package/dist/components/Steps.cjs.js +13 -0
  554. package/dist/components/Steps.cjs.js.map +1 -0
  555. package/dist/components/Steps.d.ts +2 -0
  556. package/dist/components/Steps.es.js +2 -0
  557. package/dist/components/Steps.es.js.map +1 -0
  558. package/dist/components/Switch.cjs.js +10 -0
  559. package/dist/components/Switch.cjs.js.map +1 -0
  560. package/dist/components/Switch.d.ts +2 -0
  561. package/dist/components/Switch.es.js +2 -0
  562. package/dist/components/Switch.es.js.map +1 -0
  563. package/dist/components/Table.cjs.js +19 -0
  564. package/dist/components/Table.cjs.js.map +1 -0
  565. package/dist/components/Table.d.ts +2 -0
  566. package/dist/components/Table.es.js +2 -0
  567. package/dist/components/Table.es.js.map +1 -0
  568. package/dist/components/Tabs.cjs.js +14 -0
  569. package/dist/components/Tabs.cjs.js.map +1 -0
  570. package/dist/components/Tabs.d.ts +2 -0
  571. package/dist/components/Tabs.es.js +3 -0
  572. package/dist/components/Tabs.es.js.map +1 -0
  573. package/dist/components/Text.cjs.js +11 -0
  574. package/dist/components/Text.cjs.js.map +1 -0
  575. package/dist/components/Text.d.ts +2 -0
  576. package/dist/components/Text.es.js +2 -0
  577. package/dist/components/Text.es.js.map +1 -0
  578. package/dist/components/Textarea.cjs.js +10 -0
  579. package/dist/components/Textarea.cjs.js.map +1 -0
  580. package/dist/components/Textarea.d.ts +2 -0
  581. package/dist/components/Textarea.es.js +2 -0
  582. package/dist/components/Textarea.es.js.map +1 -0
  583. package/dist/components/ThemeProvider.cjs.js +11 -0
  584. package/dist/components/ThemeProvider.cjs.js.map +1 -0
  585. package/dist/components/ThemeProvider.d.ts +2 -0
  586. package/dist/components/ThemeProvider.es.js +2 -0
  587. package/dist/components/ThemeProvider.es.js.map +1 -0
  588. package/dist/components/ThemeToggle.cjs.js +10 -0
  589. package/dist/components/ThemeToggle.cjs.js.map +1 -0
  590. package/dist/components/ThemeToggle.d.ts +2 -0
  591. package/dist/components/ThemeToggle.es.js +2 -0
  592. package/dist/components/ThemeToggle.es.js.map +1 -0
  593. package/dist/components/Tooltip.cjs.js +13 -0
  594. package/dist/components/Tooltip.cjs.js.map +1 -0
  595. package/dist/components/Tooltip.d.ts +2 -0
  596. package/dist/components/Tooltip.es.js +2 -0
  597. package/dist/components/Tooltip.es.js.map +1 -0
  598. package/dist/components/Tree.cjs.js +10 -0
  599. package/dist/components/Tree.cjs.js.map +1 -0
  600. package/dist/components/Tree.d.ts +2 -0
  601. package/dist/components/Tree.es.js +2 -0
  602. package/dist/components/Tree.es.js.map +1 -0
  603. package/dist/components/Truncate.cjs.js +10 -0
  604. package/dist/components/Truncate.cjs.js.map +1 -0
  605. package/dist/components/Truncate.d.ts +2 -0
  606. package/dist/components/Truncate.es.js +2 -0
  607. package/dist/components/Truncate.es.js.map +1 -0
  608. package/dist/components/Txt.cjs.js +10 -0
  609. package/dist/components/Txt.cjs.js.map +1 -0
  610. package/dist/components/Txt.d.ts +2 -0
  611. package/dist/components/Txt.es.js +2 -0
  612. package/dist/components/Txt.es.js.map +1 -0
  613. package/dist/content-block-BTpK7gPz.js +38 -0
  614. package/dist/content-block-BTpK7gPz.js.map +1 -0
  615. package/dist/content-block-Csb01oxE.cjs +41 -0
  616. package/dist/content-block-Csb01oxE.cjs.map +1 -0
  617. package/dist/control-size-BdDLgGX4.js +22 -0
  618. package/dist/control-size-BdDLgGX4.js.map +1 -0
  619. package/dist/control-size-D67C0kPZ.cjs +26 -0
  620. package/dist/control-size-D67C0kPZ.cjs.map +1 -0
  621. package/dist/copy-button-DDKn1NUS.js +42 -0
  622. package/dist/copy-button-DDKn1NUS.js.map +1 -0
  623. package/dist/copy-button-lrxHKwwi.cjs +44 -0
  624. package/dist/copy-button-lrxHKwwi.cjs.map +1 -0
  625. package/dist/dashboard-card-B9enj4NG.cjs +11 -0
  626. package/dist/dashboard-card-B9enj4NG.cjs.map +1 -0
  627. package/dist/dashboard-card-C7nmBU5A.js +9 -0
  628. package/dist/dashboard-card-C7nmBU5A.js.map +1 -0
  629. package/dist/data-code-section-BYhkWiIy.js +332 -0
  630. package/dist/data-code-section-BYhkWiIy.js.map +1 -0
  631. package/dist/data-code-section-Bz_B8nrw.cjs +335 -0
  632. package/dist/data-code-section-Bz_B8nrw.cjs.map +1 -0
  633. package/dist/data-keys-and-values-BSeQG7jb.js +122 -0
  634. package/dist/data-keys-and-values-BSeQG7jb.js.map +1 -0
  635. package/dist/data-keys-and-values-Spy2O_IE.cjs +124 -0
  636. package/dist/data-keys-and-values-Spy2O_IE.cjs.map +1 -0
  637. package/dist/data-list-skeleton-Bges_t5u.cjs +416 -0
  638. package/dist/data-list-skeleton-Bges_t5u.cjs.map +1 -0
  639. package/dist/data-list-skeleton-C9Ncz3jM.js +389 -0
  640. package/dist/data-list-skeleton-C9Ncz3jM.js.map +1 -0
  641. package/dist/data-panel-CaS60apX.js +87 -0
  642. package/dist/data-panel-CaS60apX.js.map +1 -0
  643. package/dist/data-panel-CbV9Ycys.cjs +89 -0
  644. package/dist/data-panel-CbV9Ycys.cjs.map +1 -0
  645. package/dist/date-time-picker-BKqGpw5w.cjs +268 -0
  646. package/dist/date-time-picker-BKqGpw5w.cjs.map +1 -0
  647. package/dist/date-time-picker-t67keTZg.js +245 -0
  648. package/dist/date-time-picker-t67keTZg.js.map +1 -0
  649. package/dist/date-time-range-picker-Do-3VVvo.cjs +170 -0
  650. package/dist/date-time-range-picker-Do-3VVvo.cjs.map +1 -0
  651. package/dist/date-time-range-picker-iMvwOfiZ.js +168 -0
  652. package/dist/date-time-range-picker-iMvwOfiZ.js.map +1 -0
  653. package/dist/dialog-46zkb32X.cjs +105 -0
  654. package/dist/dialog-46zkb32X.cjs.map +1 -0
  655. package/dist/dialog-CSSfcjSX.js +74 -0
  656. package/dist/dialog-CSSfcjSX.js.map +1 -0
  657. package/dist/dialog.css +70 -0
  658. package/dist/drawer-BaUXhUlI.cjs +177 -0
  659. package/dist/drawer-BaUXhUlI.cjs.map +1 -0
  660. package/dist/drawer-wvz8SreU.js +137 -0
  661. package/dist/drawer-wvz8SreU.js.map +1 -0
  662. package/dist/drawer.css +131 -0
  663. package/dist/dropdown-menu-Dh-CMMjl.js +203 -0
  664. package/dist/dropdown-menu-Dh-CMMjl.js.map +1 -0
  665. package/dist/dropdown-menu-Vl_C0N5e.cjs +224 -0
  666. package/dist/dropdown-menu-Vl_C0N5e.cjs.map +1 -0
  667. package/dist/entity-header-CpClAdJT.js +17 -0
  668. package/dist/entity-header-CpClAdJT.js.map +1 -0
  669. package/dist/entity-header-D2q5PizE.cjs +19 -0
  670. package/dist/entity-header-D2q5PizE.cjs.map +1 -0
  671. package/dist/entry-B53NXi9c.js +12 -0
  672. package/dist/entry-B53NXi9c.js.map +1 -0
  673. package/dist/entry-BwpOISbt.cjs +14 -0
  674. package/dist/entry-BwpOISbt.cjs.map +1 -0
  675. package/dist/field-block-CdCFQi7X.js +85 -0
  676. package/dist/field-block-CdCFQi7X.js.map +1 -0
  677. package/dist/field-block-D9R9O6XE.cjs +87 -0
  678. package/dist/field-block-D9R9O6XE.cjs.map +1 -0
  679. package/dist/field-blocks-layout-BpbpaIev.js +31 -0
  680. package/dist/field-blocks-layout-BpbpaIev.js.map +1 -0
  681. package/dist/field-blocks-layout-Bqock2Nu.cjs +33 -0
  682. package/dist/field-blocks-layout-Bqock2Nu.cjs.map +1 -0
  683. package/dist/form-element-Cy7aV1Ds.cjs +22 -0
  684. package/dist/form-element-Cy7aV1Ds.cjs.map +1 -0
  685. package/dist/form-element-DUtZESwq.js +12 -0
  686. package/dist/form-element-DUtZESwq.js.map +1 -0
  687. package/dist/get-short-id-B4_2mLzM.js +25 -0
  688. package/dist/get-short-id-B4_2mLzM.js.map +1 -0
  689. package/dist/get-short-id-DtN4BmrD.cjs +28 -0
  690. package/dist/get-short-id-DtN4BmrD.cjs.map +1 -0
  691. package/dist/helpers-BH-wPlF0.js +346 -0
  692. package/dist/helpers-BH-wPlF0.js.map +1 -0
  693. package/dist/helpers-BbJUaSrW.cjs +352 -0
  694. package/dist/helpers-BbJUaSrW.cjs.map +1 -0
  695. package/dist/highlight-C2uRVhiA.cjs +68 -0
  696. package/dist/highlight-C2uRVhiA.cjs.map +1 -0
  697. package/dist/highlight-Dis62bkj.js +66 -0
  698. package/dist/highlight-Dis62bkj.js.map +1 -0
  699. package/dist/horizontal-bars-B43f5B_S.js +106 -0
  700. package/dist/horizontal-bars-B43f5B_S.js.map +1 -0
  701. package/dist/horizontal-bars-DkJlf6-x.cjs +108 -0
  702. package/dist/horizontal-bars-DkJlf6-x.cjs.map +1 -0
  703. package/dist/hover-card-ByLYfB05.cjs +56 -0
  704. package/dist/hover-card-ByLYfB05.cjs.map +1 -0
  705. package/dist/hover-card-CV2ASE_w.js +33 -0
  706. package/dist/hover-card-CV2ASE_w.js.map +1 -0
  707. package/dist/index-CsyK0ihk.js +45 -0
  708. package/dist/index-CsyK0ihk.js.map +1 -0
  709. package/dist/index-DPkWrpVb.cjs +47 -0
  710. package/dist/index-DPkWrpVb.cjs.map +1 -0
  711. package/dist/index.cjs.js +1477 -15901
  712. package/dist/index.cjs.js.map +1 -1
  713. package/dist/index.css +343 -1960
  714. package/dist/index.es.js +881 -15301
  715. package/dist/index.es.js.map +1 -1
  716. package/dist/input-DGvJg7no.cjs +86 -0
  717. package/dist/input-DGvJg7no.cjs.map +1 -0
  718. package/dist/input-DsX-P_dO.js +65 -0
  719. package/dist/input-DsX-P_dO.js.map +1 -0
  720. package/dist/input-group-Bi_4j-WW.cjs +245 -0
  721. package/dist/input-group-Bi_4j-WW.cjs.map +1 -0
  722. package/dist/input-group-DpQPpHRU.js +219 -0
  723. package/dist/input-group-DpQPpHRU.js.map +1 -0
  724. package/dist/kbd-CnIg1L19.cjs +29 -0
  725. package/dist/kbd-CnIg1L19.cjs.map +1 -0
  726. package/dist/kbd-DRd56y7q.js +27 -0
  727. package/dist/kbd-DRd56y7q.js.map +1 -0
  728. package/dist/key-value-list-BFGuMFbL.js +84 -0
  729. package/dist/key-value-list-BFGuMFbL.js.map +1 -0
  730. package/dist/key-value-list-D067I300.cjs +86 -0
  731. package/dist/key-value-list-D067I300.cjs.map +1 -0
  732. package/dist/label-Dgz2hRMg.js +13 -0
  733. package/dist/label-Dgz2hRMg.js.map +1 -0
  734. package/dist/label-U8omtW8w.cjs +34 -0
  735. package/dist/label-U8omtW8w.cjs.map +1 -0
  736. package/dist/list-search-DY84ZCM-.cjs +59 -0
  737. package/dist/list-search-DY84ZCM-.cjs.map +1 -0
  738. package/dist/list-search-Dk2A1fUf.js +57 -0
  739. package/dist/list-search-Dk2A1fUf.js.map +1 -0
  740. package/dist/logo-BvzT5a1s.cjs +70 -0
  741. package/dist/logo-BvzT5a1s.cjs.map +1 -0
  742. package/dist/logo-CaqfKyP7.js +67 -0
  743. package/dist/logo-CaqfKyP7.js.map +1 -0
  744. package/dist/logo.css +70 -0
  745. package/dist/logs-data-list-B0Y5AHWL.js +87 -0
  746. package/dist/logs-data-list-B0Y5AHWL.js.map +1 -0
  747. package/dist/logs-data-list-DikL8ZQ0.cjs +90 -0
  748. package/dist/logs-data-list-DikL8ZQ0.cjs.map +1 -0
  749. package/dist/main-content-CR0j00N1.js +75 -0
  750. package/dist/main-content-CR0j00N1.js.map +1 -0
  751. package/dist/main-content-CnmMWNin.cjs +79 -0
  752. package/dist/main-content-CnmMWNin.cjs.map +1 -0
  753. package/dist/main-header-Bp0d1TMi.js +96 -0
  754. package/dist/main-header-Bp0d1TMi.js.map +1 -0
  755. package/dist/main-header-DJLRceP9.cjs +98 -0
  756. package/dist/main-header-DJLRceP9.cjs.map +1 -0
  757. package/dist/main-sidebar-0q7MXh2j.js +761 -0
  758. package/dist/main-sidebar-0q7MXh2j.js.map +1 -0
  759. package/dist/main-sidebar-H8NQ7njm.cjs +771 -0
  760. package/dist/main-sidebar-H8NQ7njm.cjs.map +1 -0
  761. package/dist/markdown-renderer-BjWUNVYf.cjs +88 -0
  762. package/dist/markdown-renderer-BjWUNVYf.cjs.map +1 -0
  763. package/dist/markdown-renderer-fXSUbDkK.js +86 -0
  764. package/dist/markdown-renderer-fXSUbDkK.js.map +1 -0
  765. package/dist/metrics-card-Bk3X19xx.js +93 -0
  766. package/dist/metrics-card-Bk3X19xx.js.map +1 -0
  767. package/dist/metrics-card-hs1pqY2Y.cjs +95 -0
  768. package/dist/metrics-card-hs1pqY2Y.cjs.map +1 -0
  769. package/dist/metrics-data-table-BpEAlJi0.cjs +77 -0
  770. package/dist/metrics-data-table-BpEAlJi0.cjs.map +1 -0
  771. package/dist/metrics-data-table-Dds2TkvE.js +75 -0
  772. package/dist/metrics-data-table-Dds2TkvE.js.map +1 -0
  773. package/dist/metrics-flex-grid-BqtZ5emh.js +9 -0
  774. package/dist/metrics-flex-grid-BqtZ5emh.js.map +1 -0
  775. package/dist/metrics-flex-grid-DzlyAgr7.cjs +11 -0
  776. package/dist/metrics-flex-grid-DzlyAgr7.cjs.map +1 -0
  777. package/dist/metrics-kpi-card-CNUpkoQO.js +77 -0
  778. package/dist/metrics-kpi-card-CNUpkoQO.js.map +1 -0
  779. package/dist/metrics-kpi-card-D_SaIWBc.cjs +79 -0
  780. package/dist/metrics-kpi-card-D_SaIWBc.cjs.map +1 -0
  781. package/dist/metrics-line-chart-BUUqDQPW.js +106 -0
  782. package/dist/metrics-line-chart-BUUqDQPW.js.map +1 -0
  783. package/dist/metrics-line-chart-D1ZGVepo.cjs +109 -0
  784. package/dist/metrics-line-chart-D1ZGVepo.cjs.map +1 -0
  785. package/dist/multi-column-BzL86JPK.cjs +136 -0
  786. package/dist/multi-column-BzL86JPK.cjs.map +1 -0
  787. package/dist/multi-column-C1sXoVG3.js +132 -0
  788. package/dist/multi-column-C1sXoVG3.js.map +1 -0
  789. package/dist/multi-combobox-DkFLK64B.cjs +193 -0
  790. package/dist/multi-combobox-DkFLK64B.cjs.map +1 -0
  791. package/dist/multi-combobox-Y3gT0MqV.js +189 -0
  792. package/dist/multi-combobox-Y3gT0MqV.js.map +1 -0
  793. package/dist/no-data-page-layout-CZzEj0NE.js +101 -0
  794. package/dist/no-data-page-layout-CZzEj0NE.js.map +1 -0
  795. package/dist/no-data-page-layout-CiNBx-vK.cjs +104 -0
  796. package/dist/no-data-page-layout-CiNBx-vK.cjs.map +1 -0
  797. package/dist/page-header-BS_LNnKw.js +51 -0
  798. package/dist/page-header-BS_LNnKw.js.map +1 -0
  799. package/dist/page-header-C1ZlL4Ua.cjs +53 -0
  800. package/dist/page-header-C1ZlL4Ua.cjs.map +1 -0
  801. package/dist/page-heading-context-D3yjYoJE.js +9 -0
  802. package/dist/page-heading-context-D3yjYoJE.js.map +1 -0
  803. package/dist/page-heading-context-Du-CpxAx.cjs +12 -0
  804. package/dist/page-heading-context-Du-CpxAx.cjs.map +1 -0
  805. package/dist/pending-indicator-BxD-kwEk.cjs +9 -0
  806. package/dist/pending-indicator-BxD-kwEk.cjs.map +1 -0
  807. package/dist/pending-indicator-DmowRHLo.js +7 -0
  808. package/dist/pending-indicator-DmowRHLo.js.map +1 -0
  809. package/dist/popover-CRLP2Ay_.js +75 -0
  810. package/dist/popover-CRLP2Ay_.js.map +1 -0
  811. package/dist/popover-ttQgAb0m.cjs +99 -0
  812. package/dist/popover-ttQgAb0m.cjs.map +1 -0
  813. package/dist/portal-container-BlQ6JKob.js +17 -0
  814. package/dist/portal-container-BlQ6JKob.js.map +1 -0
  815. package/dist/portal-container-BsvHZxj7.cjs +39 -0
  816. package/dist/portal-container-BsvHZxj7.cjs.map +1 -0
  817. package/dist/process-step-progress-bar-C0mArMKD.js +136 -0
  818. package/dist/process-step-progress-bar-C0mArMKD.js.map +1 -0
  819. package/dist/process-step-progress-bar-D74Y-8Jo.cjs +141 -0
  820. package/dist/process-step-progress-bar-D74Y-8Jo.cjs.map +1 -0
  821. package/dist/property-filter-creator-Cl7xhaML.cjs +673 -0
  822. package/dist/property-filter-creator-Cl7xhaML.cjs.map +1 -0
  823. package/dist/property-filter-creator-CnuA0Otn.js +668 -0
  824. package/dist/property-filter-creator-CnuA0Otn.js.map +1 -0
  825. package/dist/radio-group-CcZMn-TY.cjs +77 -0
  826. package/dist/radio-group-CcZMn-TY.cjs.map +1 -0
  827. package/dist/radio-group-DIbajvIk.js +55 -0
  828. package/dist/radio-group-DIbajvIk.js.map +1 -0
  829. package/dist/scroll-area-BCZiAvhR.js +199 -0
  830. package/dist/scroll-area-BCZiAvhR.js.map +1 -0
  831. package/dist/scroll-area-KogxLVrV.cjs +221 -0
  832. package/dist/scroll-area-KogxLVrV.cjs.map +1 -0
  833. package/dist/scrollable-container-BqOFHwdb.js +151 -0
  834. package/dist/scrollable-container-BqOFHwdb.js.map +1 -0
  835. package/dist/scrollable-container-Btq-TfCL.cjs +153 -0
  836. package/dist/scrollable-container-Btq-TfCL.cjs.map +1 -0
  837. package/dist/search-field-block-Cn_Ffn5P.cjs +117 -0
  838. package/dist/search-field-block-Cn_Ffn5P.cjs.map +1 -0
  839. package/dist/search-field-block-CuyiDT1k.js +115 -0
  840. package/dist/search-field-block-CuyiDT1k.js.map +1 -0
  841. package/dist/searchbar-8KtQRL0s.cjs +105 -0
  842. package/dist/searchbar-8KtQRL0s.cjs.map +1 -0
  843. package/dist/searchbar-HmTfVgXd.js +102 -0
  844. package/dist/searchbar-HmTfVgXd.js.map +1 -0
  845. package/dist/section-BUngbrvn.js +36 -0
  846. package/dist/section-BUngbrvn.js.map +1 -0
  847. package/dist/section-card-23Os1QRs.cjs +96 -0
  848. package/dist/section-card-23Os1QRs.cjs.map +1 -0
  849. package/dist/section-card-BMArnkcD.js +93 -0
  850. package/dist/section-card-BMArnkcD.js.map +1 -0
  851. package/dist/section-muObW4n-.cjs +40 -0
  852. package/dist/section-muObW4n-.cjs.map +1 -0
  853. package/dist/sections-BgrvBjOR.cjs +11 -0
  854. package/dist/sections-BgrvBjOR.cjs.map +1 -0
  855. package/dist/sections-SdJxf4JD.js +9 -0
  856. package/dist/sections-SdJxf4JD.js.map +1 -0
  857. package/dist/select-D2w0zRz4.js +138 -0
  858. package/dist/select-D2w0zRz4.js.map +1 -0
  859. package/dist/select-DDgw1wG-.cjs +164 -0
  860. package/dist/select-DDgw1wG-.cjs.map +1 -0
  861. package/dist/select-data-filter-BFGZYkQ_.js +192 -0
  862. package/dist/select-data-filter-BFGZYkQ_.js.map +1 -0
  863. package/dist/select-data-filter-DxoxTXk2.cjs +194 -0
  864. package/dist/select-data-filter-DxoxTXk2.cjs.map +1 -0
  865. package/dist/select-field-block-BA6vHkOP.js +48 -0
  866. package/dist/select-field-block-BA6vHkOP.js.map +1 -0
  867. package/dist/select-field-block-BpXYm4K0.cjs +50 -0
  868. package/dist/select-field-block-BpXYm4K0.cjs.map +1 -0
  869. package/dist/shimmer-CTVYNDBn.js +22 -0
  870. package/dist/shimmer-CTVYNDBn.js.map +1 -0
  871. package/dist/shimmer-DK8TWAV-.cjs +24 -0
  872. package/dist/shimmer-DK8TWAV-.cjs.map +1 -0
  873. package/dist/skeleton-Bo71UMWV.cjs +25 -0
  874. package/dist/skeleton-Bo71UMWV.cjs.map +1 -0
  875. package/dist/skeleton-Dbr54vol.js +23 -0
  876. package/dist/skeleton-Dbr54vol.js.map +1 -0
  877. package/dist/slider-BhA0bVR8.js +88 -0
  878. package/dist/slider-BhA0bVR8.js.map +1 -0
  879. package/dist/slider-b9_82QLR.cjs +90 -0
  880. package/dist/slider-b9_82QLR.cjs.map +1 -0
  881. package/dist/spacings-0Zbr65EW.js +208 -0
  882. package/dist/spacings-0Zbr65EW.js.map +1 -0
  883. package/dist/spacings-BP8L49kn.cjs +218 -0
  884. package/dist/spacings-BP8L49kn.cjs.map +1 -0
  885. package/dist/spinner-DuizqJj9.js +51 -0
  886. package/dist/spinner-DuizqJj9.js.map +1 -0
  887. package/dist/spinner-PSUHmhye.cjs +53 -0
  888. package/dist/spinner-PSUHmhye.cjs.map +1 -0
  889. package/dist/spinner.css +114 -0
  890. package/dist/src/domains/metrics/components/index.d.ts +1 -0
  891. package/dist/src/domains/metrics/components/token-usage-timeline-card-view.d.ts +10 -0
  892. package/dist/src/domains/metrics/hooks/index.d.ts +1 -0
  893. package/dist/src/domains/metrics/hooks/use-token-usage-timeseries.d.ts +15 -0
  894. package/dist/src/domains/traces/hooks/index.d.ts +1 -0
  895. package/dist/src/domains/traces/hooks/use-download-trace-json.d.ts +4 -0
  896. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +6 -0
  897. package/dist/src/ds/components/AlertDialog/alert-dialog.d.ts +1 -0
  898. package/dist/src/ds/components/Breadcrumb/Breadcrumb.d.ts +1 -0
  899. package/dist/src/ds/components/Button/Button.d.ts +3 -2
  900. package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +4 -4
  901. package/dist/src/ds/components/Code/code.d.ts +14 -0
  902. package/dist/src/ds/components/Code/code.stories.d.ts +9 -0
  903. package/dist/src/ds/components/Code/index.d.ts +1 -0
  904. package/dist/src/ds/components/CodeBlock/code-block.d.ts +5 -1
  905. package/dist/src/ds/components/CodeBlock/code-block.stories.d.ts +1 -0
  906. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +27 -12
  907. package/dist/src/ds/components/Combobox/combobox.d.ts +4 -3
  908. package/dist/src/ds/components/Combobox/multi-combobox.d.ts +5 -5
  909. package/dist/src/ds/components/DataList/data-list-cells.d.ts +2 -2
  910. package/dist/src/ds/components/DataList/data-list-row-wrapper-context.d.ts +2 -0
  911. package/dist/src/ds/components/DataList/data-list.stories.d.ts +2 -0
  912. package/dist/src/ds/components/DataList/shared.d.ts +8 -6
  913. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +1 -1
  914. package/dist/src/ds/components/Dialog/dialog.d.ts +2 -0
  915. package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +1 -0
  916. package/dist/src/ds/components/Input/input.d.ts +2 -2
  917. package/dist/src/ds/components/InputGroup/input-group.d.ts +3 -3
  918. package/dist/src/ds/components/MetricsCard/index.d.ts +0 -1
  919. package/dist/src/ds/components/PendingIndicator/index.d.ts +1 -0
  920. package/dist/src/ds/components/PendingIndicator/pending-indicator.d.ts +9 -0
  921. package/dist/src/ds/components/Popover/popover.d.ts +1 -0
  922. package/dist/src/ds/components/Searchbar/searchbar.d.ts +2 -2
  923. package/dist/src/ds/components/Select/select.d.ts +12 -5
  924. package/dist/src/ds/components/Select/select.stories.d.ts +8 -0
  925. package/dist/src/ds/components/Shimmer/index.d.ts +1 -0
  926. package/dist/src/ds/components/Shimmer/shimmer.d.ts +6 -0
  927. package/dist/src/ds/components/Textarea/textarea.d.ts +2 -2
  928. package/dist/src/ds/primitives/control-size.d.ts +5 -0
  929. package/dist/src/ds/primitives/form-element.d.ts +1 -9
  930. package/dist/src/ds/primitives/resize-handle-indicator.d.ts +9 -0
  931. package/dist/src/ds/tokens/sizes.d.ts +1 -0
  932. package/dist/src/index.d.ts +4 -5
  933. package/dist/src/lib/as-child.d.ts +22 -0
  934. package/dist/src/lib/file/downloadJson.d.ts +1 -0
  935. package/dist/src/lib/file/index.d.ts +1 -0
  936. package/dist/src/lib/resize/separator.d.ts +5 -1
  937. package/dist/switch-DJRX_Onf.cjs +124 -0
  938. package/dist/switch-DJRX_Onf.cjs.map +1 -0
  939. package/dist/switch-VX4iYp3j.js +103 -0
  940. package/dist/switch-VX4iYp3j.js.map +1 -0
  941. package/dist/switch.css +51 -0
  942. package/dist/tabs-content-D-fKCtLW.js +18 -0
  943. package/dist/tabs-content-D-fKCtLW.js.map +1 -0
  944. package/dist/tabs-content-m86TGI_b.cjs +20 -0
  945. package/dist/tabs-content-m86TGI_b.cjs.map +1 -0
  946. package/dist/tabs-tab-Cjv_3xGC.js +118 -0
  947. package/dist/tabs-tab-Cjv_3xGC.js.map +1 -0
  948. package/dist/tabs-tab-Dl9FqQhm.cjs +122 -0
  949. package/dist/tabs-tab-Dl9FqQhm.cjs.map +1 -0
  950. package/dist/text-field-block-CGzVPqnF.cjs +50 -0
  951. package/dist/text-field-block-CGzVPqnF.cjs.map +1 -0
  952. package/dist/text-field-block-gjrZyIFr.js +48 -0
  953. package/dist/text-field-block-gjrZyIFr.js.map +1 -0
  954. package/dist/textarea-DTTTODYL.js +62 -0
  955. package/dist/textarea-DTTTODYL.js.map +1 -0
  956. package/dist/textarea-DdUaiUA3.cjs +83 -0
  957. package/dist/textarea-DdUaiUA3.cjs.map +1 -0
  958. package/dist/theme-provider-C9ih9jSS.js +117 -0
  959. package/dist/theme-provider-C9ih9jSS.js.map +1 -0
  960. package/dist/theme-provider-aO5-jZVp.cjs +120 -0
  961. package/dist/theme-provider-aO5-jZVp.cjs.map +1 -0
  962. package/dist/theme-toggle-AzjABhTN.js +85 -0
  963. package/dist/theme-toggle-AzjABhTN.js.map +1 -0
  964. package/dist/theme-toggle-DWtjTo-a.cjs +87 -0
  965. package/dist/theme-toggle-DWtjTo-a.cjs.map +1 -0
  966. package/dist/time-picker-BtJz6IU2.js +110 -0
  967. package/dist/time-picker-BtJz6IU2.js.map +1 -0
  968. package/dist/time-picker-DWrxHBfR.cjs +113 -0
  969. package/dist/time-picker-DWrxHBfR.cjs.map +1 -0
  970. package/dist/tokens.cjs.js +11 -214
  971. package/dist/tokens.cjs.js.map +1 -1
  972. package/dist/tokens.es.js +3 -206
  973. package/dist/tokens.es.js.map +1 -1
  974. package/dist/tooltip-DehuxlSR.js +90 -0
  975. package/dist/tooltip-DehuxlSR.js.map +1 -0
  976. package/dist/tooltip-j8gUR1Qk.cjs +114 -0
  977. package/dist/tooltip-j8gUR1Qk.cjs.map +1 -0
  978. package/dist/traces-data-list-5GA3JumQ.cjs +238 -0
  979. package/dist/traces-data-list-5GA3JumQ.cjs.map +1 -0
  980. package/dist/traces-data-list-Dru2XnRN.js +234 -0
  981. package/dist/traces-data-list-Dru2XnRN.js.map +1 -0
  982. package/dist/transitions-DpczSjmD.cjs +39 -0
  983. package/dist/transitions-DpczSjmD.cjs.map +1 -0
  984. package/dist/transitions-tFfqxz40.js +35 -0
  985. package/dist/transitions-tFfqxz40.js.map +1 -0
  986. package/dist/tree-D04KhP5w.js +212 -0
  987. package/dist/tree-D04KhP5w.js.map +1 -0
  988. package/dist/tree-P2k9UCFX.cjs +233 -0
  989. package/dist/tree-P2k9UCFX.cjs.map +1 -0
  990. package/dist/truncate-B2kAcoie.js +47 -0
  991. package/dist/truncate-B2kAcoie.js.map +1 -0
  992. package/dist/truncate-mOutaqxm.cjs +49 -0
  993. package/dist/truncate-mOutaqxm.cjs.map +1 -0
  994. package/dist/use-copy-to-clipboard-CGqfkXnN.js +73 -0
  995. package/dist/use-copy-to-clipboard-CGqfkXnN.js.map +1 -0
  996. package/dist/use-copy-to-clipboard-CQgIuR1c.cjs +77 -0
  997. package/dist/use-copy-to-clipboard-CQgIuR1c.cjs.map +1 -0
  998. package/dist/use-copy-to-clipboard.css +126 -0
  999. package/dist/use-table-keyboard-navigation-D9tbkeqJ.cjs +214 -0
  1000. package/dist/use-table-keyboard-navigation-D9tbkeqJ.cjs.map +1 -0
  1001. package/dist/use-table-keyboard-navigation-TaCn1tec.js +203 -0
  1002. package/dist/use-table-keyboard-navigation-TaCn1tec.js.map +1 -0
  1003. package/dist/utils-CzYGxqbG.js +3290 -0
  1004. package/dist/utils-CzYGxqbG.js.map +1 -0
  1005. package/dist/utils-vA5sWo9W.cjs +3293 -0
  1006. package/dist/utils-vA5sWo9W.cjs.map +1 -0
  1007. package/package.json +19 -8
  1008. package/theme.css +412 -0
  1009. package/dist/vite.config.d.ts +0 -3
@@ -0,0 +1,192 @@
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import { FilterIcon, SearchIcon, XIcon } from 'lucide-react';
3
+ import { useState, useCallback, useMemo } from 'react';
4
+ import { B as Button } from './Button-DoOEJwa_.js';
5
+ import { D as DropdownMenu } from './dropdown-menu-Dh-CMMjl.js';
6
+ import { c as cn } from './utils-CzYGxqbG.js';
7
+
8
+ const SUBMENU_SEARCH_THRESHOLD = 6;
9
+ function SubMenuSearch({
10
+ value,
11
+ onChange,
12
+ label = "Search"
13
+ }) {
14
+ return /* @__PURE__ */ jsx("div", { className: cn("px-2 pb-2"), children: /* @__PURE__ */ jsxs(
15
+ "div",
16
+ {
17
+ className: cn(
18
+ "flex items-center gap-2 border border-border1 rounded-md px-2 py-1",
19
+ "focus-within:border-neutral2"
20
+ ),
21
+ children: [
22
+ /* @__PURE__ */ jsx(SearchIcon, { className: cn("text-neutral3 h-3.5 w-3.5 shrink-0") }),
23
+ /* @__PURE__ */ jsx(
24
+ "input",
25
+ {
26
+ type: "text",
27
+ placeholder: "Search...",
28
+ "aria-label": label,
29
+ value,
30
+ onChange: (e) => onChange(e.target.value),
31
+ onKeyDown: (e) => e.stopPropagation(),
32
+ className: cn("bg-transparent text-ui-sm text-neutral4 placeholder:text-neutral3 outline-none w-full")
33
+ }
34
+ )
35
+ ]
36
+ }
37
+ ) });
38
+ }
39
+ function SelectDataFilter({
40
+ categories,
41
+ value,
42
+ onChange,
43
+ disabled,
44
+ label = "Filter",
45
+ align = "end",
46
+ searchThreshold = SUBMENU_SEARCH_THRESHOLD
47
+ }) {
48
+ const [filterSearch, setFilterSearch] = useState("");
49
+ const [subSearch, setSubSearch] = useState("");
50
+ const resetSubSearch = useCallback((open) => {
51
+ if (!open) setSubSearch("");
52
+ }, []);
53
+ const activeFilterCount = useMemo(() => {
54
+ let count = 0;
55
+ for (const selections of Object.values(value)) {
56
+ if (selections.length > 0) count++;
57
+ }
58
+ return count;
59
+ }, [value]);
60
+ const grouped = useMemo(() => {
61
+ const q = filterSearch.toLowerCase();
62
+ const groups = [];
63
+ const groupMap = /* @__PURE__ */ new Map();
64
+ const ungrouped = [];
65
+ for (const cat of categories) {
66
+ if (cat.values.length === 0) continue;
67
+ if (q) {
68
+ const matchesLabel = cat.label.toLowerCase().includes(q);
69
+ const matchesValues = cat.values.some((v) => v.label.toLowerCase().includes(q));
70
+ if (!matchesLabel && !matchesValues) continue;
71
+ }
72
+ if (cat.group) {
73
+ let items = groupMap.get(cat.group);
74
+ if (!items) {
75
+ items = [];
76
+ groupMap.set(cat.group, items);
77
+ }
78
+ items.push(cat);
79
+ } else {
80
+ ungrouped.push(cat);
81
+ }
82
+ }
83
+ for (const cat of ungrouped) {
84
+ groups.push({ key: cat.id, items: [cat] });
85
+ }
86
+ for (const [groupLabel, items] of groupMap) {
87
+ groups.push({ key: `group-${groupLabel}`, label: groupLabel, items });
88
+ }
89
+ return groups;
90
+ }, [categories, filterSearch]);
91
+ const handleSelect = (categoryId, selectedValue, mode) => {
92
+ const current = value[categoryId] ?? [];
93
+ let next;
94
+ if (mode === "single") {
95
+ next = current.includes(selectedValue) ? [] : [selectedValue];
96
+ } else {
97
+ next = current.includes(selectedValue) ? current.filter((v) => v !== selectedValue) : [...current, selectedValue];
98
+ }
99
+ onChange({ ...value, [categoryId]: next });
100
+ };
101
+ const handleClearAll = () => {
102
+ onChange({});
103
+ };
104
+ const renderCategory = (cat) => {
105
+ const mode = cat.mode ?? "multi";
106
+ const selected = value[cat.id] ?? [];
107
+ const selectedCount = selected.length;
108
+ return /* @__PURE__ */ jsxs(DropdownMenu.Sub, { onOpenChange: resetSubSearch, children: [
109
+ /* @__PURE__ */ jsxs(DropdownMenu.SubTrigger, { children: [
110
+ /* @__PURE__ */ jsx("span", { className: cn("truncate"), children: cat.label }),
111
+ selectedCount > 0 && /* @__PURE__ */ jsx("span", { className: cn("ml-auto text-ui-sm text-accent1"), children: selectedCount })
112
+ ] }),
113
+ /* @__PURE__ */ jsxs(DropdownMenu.SubContent, { className: cn("max-h-[20rem]"), children: [
114
+ cat.values.length >= searchThreshold && /* @__PURE__ */ jsx(SubMenuSearch, { value: subSearch, onChange: setSubSearch, label: `Search ${cat.label.toLowerCase()}` }),
115
+ mode === "single" ? /* @__PURE__ */ jsx(DropdownMenu.RadioGroup, { value: selected[0] ?? "", onValueChange: (val) => handleSelect(cat.id, val, mode), children: cat.values.filter((v) => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase())).map((v) => /* @__PURE__ */ jsx(DropdownMenu.RadioItem, { value: v.value, children: /* @__PURE__ */ jsx("span", { className: cn("truncate"), children: v.label }) }, v.value)) }) : cat.values.filter((v) => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase())).map((v) => /* @__PURE__ */ jsx(
116
+ DropdownMenu.CheckboxItem,
117
+ {
118
+ checked: selected.includes(v.value),
119
+ onCheckedChange: () => handleSelect(cat.id, v.value, mode),
120
+ onSelect: (e) => e.preventDefault(),
121
+ children: /* @__PURE__ */ jsx("span", { className: cn("truncate"), children: v.label })
122
+ },
123
+ v.value
124
+ ))
125
+ ] })
126
+ ] }, cat.id);
127
+ };
128
+ return /* @__PURE__ */ jsxs(DropdownMenu, { modal: false, children: [
129
+ /* @__PURE__ */ jsx(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { variant: "outline", disabled, size: "md", children: [
130
+ /* @__PURE__ */ jsx(FilterIcon, {}),
131
+ label,
132
+ activeFilterCount > 0 && /* @__PURE__ */ jsx(
133
+ "span",
134
+ {
135
+ className: cn(
136
+ "ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5"
137
+ ),
138
+ children: activeFilterCount
139
+ }
140
+ )
141
+ ] }) }),
142
+ /* @__PURE__ */ jsxs(DropdownMenu.Content, { align, className: cn("min-w-[12rem]"), children: [
143
+ /* @__PURE__ */ jsx("div", { className: cn("px-2 pb-2"), children: /* @__PURE__ */ jsxs(
144
+ "div",
145
+ {
146
+ className: cn(
147
+ "flex items-center gap-2 border border-border1 rounded-md px-2 py-1",
148
+ "focus-within:border-neutral2"
149
+ ),
150
+ children: [
151
+ /* @__PURE__ */ jsx(SearchIcon, { className: cn("text-neutral3 h-3.5 w-3.5 shrink-0") }),
152
+ /* @__PURE__ */ jsx(
153
+ "input",
154
+ {
155
+ type: "text",
156
+ placeholder: "Search filters...",
157
+ "aria-label": "Search filters",
158
+ value: filterSearch,
159
+ onChange: (e) => setFilterSearch(e.target.value),
160
+ onKeyDown: (e) => e.stopPropagation(),
161
+ className: cn("bg-transparent text-ui-sm text-neutral4 placeholder:text-neutral3 outline-none w-full")
162
+ }
163
+ )
164
+ ]
165
+ }
166
+ ) }),
167
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
168
+ grouped.map((group) => {
169
+ if (group.items.length === 1 && !group.label) {
170
+ return renderCategory(group.items[0]);
171
+ }
172
+ if (group.label && group.items.length === 1) {
173
+ return renderCategory(group.items[0]);
174
+ }
175
+ return /* @__PURE__ */ jsxs(DropdownMenu.Sub, { children: [
176
+ /* @__PURE__ */ jsx(DropdownMenu.SubTrigger, { children: group.label }),
177
+ /* @__PURE__ */ jsx(DropdownMenu.SubContent, { className: cn("max-h-[20rem]"), children: group.items.map((cat) => renderCategory(cat)) })
178
+ ] }, group.key);
179
+ }),
180
+ activeFilterCount > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
181
+ /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
182
+ /* @__PURE__ */ jsxs(DropdownMenu.Item, { onSelect: handleClearAll, children: [
183
+ /* @__PURE__ */ jsx(XIcon, {}),
184
+ "Clear all filters"
185
+ ] })
186
+ ] })
187
+ ] })
188
+ ] });
189
+ }
190
+
191
+ export { SelectDataFilter as S };
192
+ //# sourceMappingURL=select-data-filter-BFGZYkQ_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-data-filter-BFGZYkQ_.js","sources":["../src/ds/components/DataFilter/select-data-filter.tsx"],"sourcesContent":["import { FilterIcon, SearchIcon, XIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useState, useMemo, useCallback } from 'react';\n\nimport { Button } from '@/ds/components/Button/Button';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** A single selectable value within a filter category */\nexport type SelectDataFilterValue = {\n value: string;\n label: string;\n};\n\n/** Selection mode for a filter category */\nexport type SelectDataFilterMode = 'single' | 'multi';\n\n/** A filter category that appears in the filter dropdown */\nexport type SelectDataFilterCategory = {\n /** Unique identifier */\n id: string;\n /** Display label */\n label: string;\n /** Optional group header (categories with the same group are nested under it) */\n group?: string;\n /** Available values to pick from */\n values: SelectDataFilterValue[];\n /** 'single' = radio, 'multi' = checkboxes. Defaults to 'multi'. */\n mode?: SelectDataFilterMode;\n};\n\n/** Current selected state: category id -> selected value(s) */\nexport type SelectDataFilterState = Record<string, string[]>;\n\nexport type SelectDataFilterProps = {\n /** Filter categories to display */\n categories: SelectDataFilterCategory[];\n /** Current filter selections */\n value: SelectDataFilterState;\n /** Called when selections change */\n onChange: (next: SelectDataFilterState) => void;\n /** Disable the trigger button */\n disabled?: boolean;\n /** Override the trigger label */\n label?: ReactNode;\n /** Content alignment */\n align?: 'start' | 'center' | 'end';\n /** Minimum items before showing search in a submenu */\n searchThreshold?: number;\n};\n\n// ---------------------------------------------------------------------------\n// Internal helpers\n// ---------------------------------------------------------------------------\n\nconst SUBMENU_SEARCH_THRESHOLD = 6;\n\nfunction SubMenuSearch({\n value,\n onChange,\n label = 'Search',\n}: {\n value: string;\n onChange: (v: string) => void;\n label?: string;\n}) {\n return (\n <div className={cn('px-2 pb-2')}>\n <div\n className={cn(\n 'flex items-center gap-2 border border-border1 rounded-md px-2 py-1',\n 'focus-within:border-neutral2',\n )}\n >\n <SearchIcon className={cn('text-neutral3 h-3.5 w-3.5 shrink-0')} />\n <input\n type=\"text\"\n placeholder=\"Search...\"\n aria-label={label}\n value={value}\n onChange={e => onChange(e.target.value)}\n onKeyDown={e => e.stopPropagation()}\n className={cn('bg-transparent text-ui-sm text-neutral4 placeholder:text-neutral3 outline-none w-full')}\n />\n </div>\n </div>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function SelectDataFilter({\n categories,\n value,\n onChange,\n disabled,\n label = 'Filter',\n align = 'end',\n searchThreshold = SUBMENU_SEARCH_THRESHOLD,\n}: SelectDataFilterProps) {\n const [filterSearch, setFilterSearch] = useState('');\n const [subSearch, setSubSearch] = useState('');\n\n const resetSubSearch = useCallback((open: boolean) => {\n if (!open) setSubSearch('');\n }, []);\n\n // Count active filters\n const activeFilterCount = useMemo(() => {\n let count = 0;\n for (const selections of Object.values(value)) {\n if (selections.length > 0) count++;\n }\n return count;\n }, [value]);\n\n // Group categories\n const grouped = useMemo(() => {\n const q = filterSearch.toLowerCase();\n const groups: { key: string; label?: string; items: SelectDataFilterCategory[] }[] = [];\n const groupMap = new Map<string, SelectDataFilterCategory[]>();\n const ungrouped: SelectDataFilterCategory[] = [];\n\n for (const cat of categories) {\n if (cat.values.length === 0) continue;\n // Filter by search\n if (q) {\n const matchesLabel = cat.label.toLowerCase().includes(q);\n const matchesValues = cat.values.some(v => v.label.toLowerCase().includes(q));\n if (!matchesLabel && !matchesValues) continue;\n }\n if (cat.group) {\n let items = groupMap.get(cat.group);\n if (!items) {\n items = [];\n groupMap.set(cat.group, items);\n }\n items.push(cat);\n } else {\n ungrouped.push(cat);\n }\n }\n\n // Ungrouped items first\n for (const cat of ungrouped) {\n groups.push({ key: cat.id, items: [cat] });\n }\n // Then grouped\n for (const [groupLabel, items] of groupMap) {\n groups.push({ key: `group-${groupLabel}`, label: groupLabel, items });\n }\n\n return groups;\n }, [categories, filterSearch]);\n\n const handleSelect = (categoryId: string, selectedValue: string, mode: SelectDataFilterMode) => {\n const current = value[categoryId] ?? [];\n let next: string[];\n\n if (mode === 'single') {\n next = current.includes(selectedValue) ? [] : [selectedValue];\n } else {\n next = current.includes(selectedValue) ? current.filter(v => v !== selectedValue) : [...current, selectedValue];\n }\n\n onChange({ ...value, [categoryId]: next });\n };\n\n const handleClearAll = () => {\n onChange({});\n };\n\n const renderCategory = (cat: SelectDataFilterCategory) => {\n const mode = cat.mode ?? 'multi';\n const selected = value[cat.id] ?? [];\n const selectedCount = selected.length;\n\n return (\n <DropdownMenu.Sub key={cat.id} onOpenChange={resetSubSearch}>\n <DropdownMenu.SubTrigger>\n <span className={cn('truncate')}>{cat.label}</span>\n {selectedCount > 0 && <span className={cn('ml-auto text-ui-sm text-accent1')}>{selectedCount}</span>}\n </DropdownMenu.SubTrigger>\n <DropdownMenu.SubContent className={cn('max-h-[20rem]')}>\n {cat.values.length >= searchThreshold && (\n <SubMenuSearch value={subSearch} onChange={setSubSearch} label={`Search ${cat.label.toLowerCase()}`} />\n )}\n {mode === 'single' ? (\n <DropdownMenu.RadioGroup value={selected[0] ?? ''} onValueChange={val => handleSelect(cat.id, val, mode)}>\n {cat.values\n .filter(v => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase()))\n .map(v => (\n <DropdownMenu.RadioItem key={v.value} value={v.value}>\n <span className={cn('truncate')}>{v.label}</span>\n </DropdownMenu.RadioItem>\n ))}\n </DropdownMenu.RadioGroup>\n ) : (\n cat.values\n .filter(v => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase()))\n .map(v => (\n <DropdownMenu.CheckboxItem\n key={v.value}\n checked={selected.includes(v.value)}\n onCheckedChange={() => handleSelect(cat.id, v.value, mode)}\n onSelect={e => e.preventDefault()}\n >\n <span className={cn('truncate')}>{v.label}</span>\n </DropdownMenu.CheckboxItem>\n ))\n )}\n </DropdownMenu.SubContent>\n </DropdownMenu.Sub>\n );\n };\n\n return (\n <DropdownMenu modal={false}>\n <DropdownMenu.Trigger asChild>\n <Button variant=\"outline\" disabled={disabled} size=\"md\">\n <FilterIcon />\n {label}\n {activeFilterCount > 0 && (\n <span\n className={cn(\n 'ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5',\n )}\n >\n {activeFilterCount}\n </span>\n )}\n </Button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align={align} className={cn('min-w-[12rem]')}>\n {/* Search */}\n <div className={cn('px-2 pb-2')}>\n <div\n className={cn(\n 'flex items-center gap-2 border border-border1 rounded-md px-2 py-1',\n 'focus-within:border-neutral2',\n )}\n >\n <SearchIcon className={cn('text-neutral3 h-3.5 w-3.5 shrink-0')} />\n <input\n type=\"text\"\n placeholder=\"Search filters...\"\n aria-label=\"Search filters\"\n value={filterSearch}\n onChange={e => setFilterSearch(e.target.value)}\n onKeyDown={e => e.stopPropagation()}\n className={cn('bg-transparent text-ui-sm text-neutral4 placeholder:text-neutral3 outline-none w-full')}\n />\n </div>\n </div>\n\n <DropdownMenu.Separator />\n\n {grouped.map(group => {\n if (group.items.length === 1 && !group.label) {\n return renderCategory(group.items[0]);\n }\n\n if (group.label && group.items.length === 1) {\n // Single item in a named group — render directly with group as context\n return renderCategory(group.items[0]);\n }\n\n // Multiple items under a group label — nest under a sub-trigger\n return (\n <DropdownMenu.Sub key={group.key}>\n <DropdownMenu.SubTrigger>{group.label}</DropdownMenu.SubTrigger>\n <DropdownMenu.SubContent className={cn('max-h-[20rem]')}>\n {group.items.map(cat => renderCategory(cat))}\n </DropdownMenu.SubContent>\n </DropdownMenu.Sub>\n );\n })}\n\n {/* Clear all */}\n {activeFilterCount > 0 && (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.Item onSelect={handleClearAll}>\n <XIcon />\n Clear all filters\n </DropdownMenu.Item>\n </>\n )}\n </DropdownMenu.Content>\n </DropdownMenu>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const lucideReact = require('lucide-react');
5
+ const React = require('react');
6
+ const Button = require('./Button-DpIX8JMz.cjs');
7
+ const dropdownMenu = require('./dropdown-menu-Vl_C0N5e.cjs');
8
+ const utils = require('./utils-vA5sWo9W.cjs');
9
+
10
+ const SUBMENU_SEARCH_THRESHOLD = 6;
11
+ function SubMenuSearch({
12
+ value,
13
+ onChange,
14
+ label = "Search"
15
+ }) {
16
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("px-2 pb-2"), children: /* @__PURE__ */ jsxRuntime.jsxs(
17
+ "div",
18
+ {
19
+ className: utils.cn(
20
+ "flex items-center gap-2 border border-border1 rounded-md px-2 py-1",
21
+ "focus-within:border-neutral2"
22
+ ),
23
+ children: [
24
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SearchIcon, { className: utils.cn("text-neutral3 h-3.5 w-3.5 shrink-0") }),
25
+ /* @__PURE__ */ jsxRuntime.jsx(
26
+ "input",
27
+ {
28
+ type: "text",
29
+ placeholder: "Search...",
30
+ "aria-label": label,
31
+ value,
32
+ onChange: (e) => onChange(e.target.value),
33
+ onKeyDown: (e) => e.stopPropagation(),
34
+ className: utils.cn("bg-transparent text-ui-sm text-neutral4 placeholder:text-neutral3 outline-none w-full")
35
+ }
36
+ )
37
+ ]
38
+ }
39
+ ) });
40
+ }
41
+ function SelectDataFilter({
42
+ categories,
43
+ value,
44
+ onChange,
45
+ disabled,
46
+ label = "Filter",
47
+ align = "end",
48
+ searchThreshold = SUBMENU_SEARCH_THRESHOLD
49
+ }) {
50
+ const [filterSearch, setFilterSearch] = React.useState("");
51
+ const [subSearch, setSubSearch] = React.useState("");
52
+ const resetSubSearch = React.useCallback((open) => {
53
+ if (!open) setSubSearch("");
54
+ }, []);
55
+ const activeFilterCount = React.useMemo(() => {
56
+ let count = 0;
57
+ for (const selections of Object.values(value)) {
58
+ if (selections.length > 0) count++;
59
+ }
60
+ return count;
61
+ }, [value]);
62
+ const grouped = React.useMemo(() => {
63
+ const q = filterSearch.toLowerCase();
64
+ const groups = [];
65
+ const groupMap = /* @__PURE__ */ new Map();
66
+ const ungrouped = [];
67
+ for (const cat of categories) {
68
+ if (cat.values.length === 0) continue;
69
+ if (q) {
70
+ const matchesLabel = cat.label.toLowerCase().includes(q);
71
+ const matchesValues = cat.values.some((v) => v.label.toLowerCase().includes(q));
72
+ if (!matchesLabel && !matchesValues) continue;
73
+ }
74
+ if (cat.group) {
75
+ let items = groupMap.get(cat.group);
76
+ if (!items) {
77
+ items = [];
78
+ groupMap.set(cat.group, items);
79
+ }
80
+ items.push(cat);
81
+ } else {
82
+ ungrouped.push(cat);
83
+ }
84
+ }
85
+ for (const cat of ungrouped) {
86
+ groups.push({ key: cat.id, items: [cat] });
87
+ }
88
+ for (const [groupLabel, items] of groupMap) {
89
+ groups.push({ key: `group-${groupLabel}`, label: groupLabel, items });
90
+ }
91
+ return groups;
92
+ }, [categories, filterSearch]);
93
+ const handleSelect = (categoryId, selectedValue, mode) => {
94
+ const current = value[categoryId] ?? [];
95
+ let next;
96
+ if (mode === "single") {
97
+ next = current.includes(selectedValue) ? [] : [selectedValue];
98
+ } else {
99
+ next = current.includes(selectedValue) ? current.filter((v) => v !== selectedValue) : [...current, selectedValue];
100
+ }
101
+ onChange({ ...value, [categoryId]: next });
102
+ };
103
+ const handleClearAll = () => {
104
+ onChange({});
105
+ };
106
+ const renderCategory = (cat) => {
107
+ const mode = cat.mode ?? "multi";
108
+ const selected = value[cat.id] ?? [];
109
+ const selectedCount = selected.length;
110
+ return /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.Sub, { onOpenChange: resetSubSearch, children: [
111
+ /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.SubTrigger, { children: [
112
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("truncate"), children: cat.label }),
113
+ selectedCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("ml-auto text-ui-sm text-accent1"), children: selectedCount })
114
+ ] }),
115
+ /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.SubContent, { className: utils.cn("max-h-[20rem]"), children: [
116
+ cat.values.length >= searchThreshold && /* @__PURE__ */ jsxRuntime.jsx(SubMenuSearch, { value: subSearch, onChange: setSubSearch, label: `Search ${cat.label.toLowerCase()}` }),
117
+ mode === "single" ? /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenu.RadioGroup, { value: selected[0] ?? "", onValueChange: (val) => handleSelect(cat.id, val, mode), children: cat.values.filter((v) => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase())).map((v) => /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenu.RadioItem, { value: v.value, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("truncate"), children: v.label }) }, v.value)) }) : cat.values.filter((v) => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase())).map((v) => /* @__PURE__ */ jsxRuntime.jsx(
118
+ dropdownMenu.DropdownMenu.CheckboxItem,
119
+ {
120
+ checked: selected.includes(v.value),
121
+ onCheckedChange: () => handleSelect(cat.id, v.value, mode),
122
+ onSelect: (e) => e.preventDefault(),
123
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("truncate"), children: v.label })
124
+ },
125
+ v.value
126
+ ))
127
+ ] })
128
+ ] }, cat.id);
129
+ };
130
+ return /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu, { modal: false, children: [
131
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(Button.Button, { variant: "outline", disabled, size: "md", children: [
132
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FilterIcon, {}),
133
+ label,
134
+ activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
135
+ "span",
136
+ {
137
+ className: utils.cn(
138
+ "ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5"
139
+ ),
140
+ children: activeFilterCount
141
+ }
142
+ )
143
+ ] }) }),
144
+ /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.Content, { align, className: utils.cn("min-w-[12rem]"), children: [
145
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("px-2 pb-2"), children: /* @__PURE__ */ jsxRuntime.jsxs(
146
+ "div",
147
+ {
148
+ className: utils.cn(
149
+ "flex items-center gap-2 border border-border1 rounded-md px-2 py-1",
150
+ "focus-within:border-neutral2"
151
+ ),
152
+ children: [
153
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SearchIcon, { className: utils.cn("text-neutral3 h-3.5 w-3.5 shrink-0") }),
154
+ /* @__PURE__ */ jsxRuntime.jsx(
155
+ "input",
156
+ {
157
+ type: "text",
158
+ placeholder: "Search filters...",
159
+ "aria-label": "Search filters",
160
+ value: filterSearch,
161
+ onChange: (e) => setFilterSearch(e.target.value),
162
+ onKeyDown: (e) => e.stopPropagation(),
163
+ className: utils.cn("bg-transparent text-ui-sm text-neutral4 placeholder:text-neutral3 outline-none w-full")
164
+ }
165
+ )
166
+ ]
167
+ }
168
+ ) }),
169
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenu.Separator, {}),
170
+ grouped.map((group) => {
171
+ if (group.items.length === 1 && !group.label) {
172
+ return renderCategory(group.items[0]);
173
+ }
174
+ if (group.label && group.items.length === 1) {
175
+ return renderCategory(group.items[0]);
176
+ }
177
+ return /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.Sub, { children: [
178
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenu.SubTrigger, { children: group.label }),
179
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenu.SubContent, { className: utils.cn("max-h-[20rem]"), children: group.items.map((cat) => renderCategory(cat)) })
180
+ ] }, group.key);
181
+ }),
182
+ activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
183
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenu.Separator, {}),
184
+ /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.Item, { onSelect: handleClearAll, children: [
185
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, {}),
186
+ "Clear all filters"
187
+ ] })
188
+ ] })
189
+ ] })
190
+ ] });
191
+ }
192
+
193
+ exports.SelectDataFilter = SelectDataFilter;
194
+ //# sourceMappingURL=select-data-filter-DxoxTXk2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-data-filter-DxoxTXk2.cjs","sources":["../src/ds/components/DataFilter/select-data-filter.tsx"],"sourcesContent":["import { FilterIcon, SearchIcon, XIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useState, useMemo, useCallback } from 'react';\n\nimport { Button } from '@/ds/components/Button/Button';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** A single selectable value within a filter category */\nexport type SelectDataFilterValue = {\n value: string;\n label: string;\n};\n\n/** Selection mode for a filter category */\nexport type SelectDataFilterMode = 'single' | 'multi';\n\n/** A filter category that appears in the filter dropdown */\nexport type SelectDataFilterCategory = {\n /** Unique identifier */\n id: string;\n /** Display label */\n label: string;\n /** Optional group header (categories with the same group are nested under it) */\n group?: string;\n /** Available values to pick from */\n values: SelectDataFilterValue[];\n /** 'single' = radio, 'multi' = checkboxes. Defaults to 'multi'. */\n mode?: SelectDataFilterMode;\n};\n\n/** Current selected state: category id -> selected value(s) */\nexport type SelectDataFilterState = Record<string, string[]>;\n\nexport type SelectDataFilterProps = {\n /** Filter categories to display */\n categories: SelectDataFilterCategory[];\n /** Current filter selections */\n value: SelectDataFilterState;\n /** Called when selections change */\n onChange: (next: SelectDataFilterState) => void;\n /** Disable the trigger button */\n disabled?: boolean;\n /** Override the trigger label */\n label?: ReactNode;\n /** Content alignment */\n align?: 'start' | 'center' | 'end';\n /** Minimum items before showing search in a submenu */\n searchThreshold?: number;\n};\n\n// ---------------------------------------------------------------------------\n// Internal helpers\n// ---------------------------------------------------------------------------\n\nconst SUBMENU_SEARCH_THRESHOLD = 6;\n\nfunction SubMenuSearch({\n value,\n onChange,\n label = 'Search',\n}: {\n value: string;\n onChange: (v: string) => void;\n label?: string;\n}) {\n return (\n <div className={cn('px-2 pb-2')}>\n <div\n className={cn(\n 'flex items-center gap-2 border border-border1 rounded-md px-2 py-1',\n 'focus-within:border-neutral2',\n )}\n >\n <SearchIcon className={cn('text-neutral3 h-3.5 w-3.5 shrink-0')} />\n <input\n type=\"text\"\n placeholder=\"Search...\"\n aria-label={label}\n value={value}\n onChange={e => onChange(e.target.value)}\n onKeyDown={e => e.stopPropagation()}\n className={cn('bg-transparent text-ui-sm text-neutral4 placeholder:text-neutral3 outline-none w-full')}\n />\n </div>\n </div>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function SelectDataFilter({\n categories,\n value,\n onChange,\n disabled,\n label = 'Filter',\n align = 'end',\n searchThreshold = SUBMENU_SEARCH_THRESHOLD,\n}: SelectDataFilterProps) {\n const [filterSearch, setFilterSearch] = useState('');\n const [subSearch, setSubSearch] = useState('');\n\n const resetSubSearch = useCallback((open: boolean) => {\n if (!open) setSubSearch('');\n }, []);\n\n // Count active filters\n const activeFilterCount = useMemo(() => {\n let count = 0;\n for (const selections of Object.values(value)) {\n if (selections.length > 0) count++;\n }\n return count;\n }, [value]);\n\n // Group categories\n const grouped = useMemo(() => {\n const q = filterSearch.toLowerCase();\n const groups: { key: string; label?: string; items: SelectDataFilterCategory[] }[] = [];\n const groupMap = new Map<string, SelectDataFilterCategory[]>();\n const ungrouped: SelectDataFilterCategory[] = [];\n\n for (const cat of categories) {\n if (cat.values.length === 0) continue;\n // Filter by search\n if (q) {\n const matchesLabel = cat.label.toLowerCase().includes(q);\n const matchesValues = cat.values.some(v => v.label.toLowerCase().includes(q));\n if (!matchesLabel && !matchesValues) continue;\n }\n if (cat.group) {\n let items = groupMap.get(cat.group);\n if (!items) {\n items = [];\n groupMap.set(cat.group, items);\n }\n items.push(cat);\n } else {\n ungrouped.push(cat);\n }\n }\n\n // Ungrouped items first\n for (const cat of ungrouped) {\n groups.push({ key: cat.id, items: [cat] });\n }\n // Then grouped\n for (const [groupLabel, items] of groupMap) {\n groups.push({ key: `group-${groupLabel}`, label: groupLabel, items });\n }\n\n return groups;\n }, [categories, filterSearch]);\n\n const handleSelect = (categoryId: string, selectedValue: string, mode: SelectDataFilterMode) => {\n const current = value[categoryId] ?? [];\n let next: string[];\n\n if (mode === 'single') {\n next = current.includes(selectedValue) ? [] : [selectedValue];\n } else {\n next = current.includes(selectedValue) ? current.filter(v => v !== selectedValue) : [...current, selectedValue];\n }\n\n onChange({ ...value, [categoryId]: next });\n };\n\n const handleClearAll = () => {\n onChange({});\n };\n\n const renderCategory = (cat: SelectDataFilterCategory) => {\n const mode = cat.mode ?? 'multi';\n const selected = value[cat.id] ?? [];\n const selectedCount = selected.length;\n\n return (\n <DropdownMenu.Sub key={cat.id} onOpenChange={resetSubSearch}>\n <DropdownMenu.SubTrigger>\n <span className={cn('truncate')}>{cat.label}</span>\n {selectedCount > 0 && <span className={cn('ml-auto text-ui-sm text-accent1')}>{selectedCount}</span>}\n </DropdownMenu.SubTrigger>\n <DropdownMenu.SubContent className={cn('max-h-[20rem]')}>\n {cat.values.length >= searchThreshold && (\n <SubMenuSearch value={subSearch} onChange={setSubSearch} label={`Search ${cat.label.toLowerCase()}`} />\n )}\n {mode === 'single' ? (\n <DropdownMenu.RadioGroup value={selected[0] ?? ''} onValueChange={val => handleSelect(cat.id, val, mode)}>\n {cat.values\n .filter(v => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase()))\n .map(v => (\n <DropdownMenu.RadioItem key={v.value} value={v.value}>\n <span className={cn('truncate')}>{v.label}</span>\n </DropdownMenu.RadioItem>\n ))}\n </DropdownMenu.RadioGroup>\n ) : (\n cat.values\n .filter(v => !subSearch || v.label.toLowerCase().includes(subSearch.toLowerCase()))\n .map(v => (\n <DropdownMenu.CheckboxItem\n key={v.value}\n checked={selected.includes(v.value)}\n onCheckedChange={() => handleSelect(cat.id, v.value, mode)}\n onSelect={e => e.preventDefault()}\n >\n <span className={cn('truncate')}>{v.label}</span>\n </DropdownMenu.CheckboxItem>\n ))\n )}\n </DropdownMenu.SubContent>\n </DropdownMenu.Sub>\n );\n };\n\n return (\n <DropdownMenu modal={false}>\n <DropdownMenu.Trigger asChild>\n <Button variant=\"outline\" disabled={disabled} size=\"md\">\n <FilterIcon />\n {label}\n {activeFilterCount > 0 && (\n <span\n className={cn(\n 'ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5',\n )}\n >\n {activeFilterCount}\n </span>\n )}\n </Button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align={align} className={cn('min-w-[12rem]')}>\n {/* Search */}\n <div className={cn('px-2 pb-2')}>\n <div\n className={cn(\n 'flex items-center gap-2 border border-border1 rounded-md px-2 py-1',\n 'focus-within:border-neutral2',\n )}\n >\n <SearchIcon className={cn('text-neutral3 h-3.5 w-3.5 shrink-0')} />\n <input\n type=\"text\"\n placeholder=\"Search filters...\"\n aria-label=\"Search filters\"\n value={filterSearch}\n onChange={e => setFilterSearch(e.target.value)}\n onKeyDown={e => e.stopPropagation()}\n className={cn('bg-transparent text-ui-sm text-neutral4 placeholder:text-neutral3 outline-none w-full')}\n />\n </div>\n </div>\n\n <DropdownMenu.Separator />\n\n {grouped.map(group => {\n if (group.items.length === 1 && !group.label) {\n return renderCategory(group.items[0]);\n }\n\n if (group.label && group.items.length === 1) {\n // Single item in a named group — render directly with group as context\n return renderCategory(group.items[0]);\n }\n\n // Multiple items under a group label — nest under a sub-trigger\n return (\n <DropdownMenu.Sub key={group.key}>\n <DropdownMenu.SubTrigger>{group.label}</DropdownMenu.SubTrigger>\n <DropdownMenu.SubContent className={cn('max-h-[20rem]')}>\n {group.items.map(cat => renderCategory(cat))}\n </DropdownMenu.SubContent>\n </DropdownMenu.Sub>\n );\n })}\n\n {/* Clear all */}\n {activeFilterCount > 0 && (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.Item onSelect={handleClearAll}>\n <XIcon />\n Clear all filters\n </DropdownMenu.Item>\n </>\n )}\n </DropdownMenu.Content>\n </DropdownMenu>\n );\n}\n"],"names":["jsx","cn","jsxs","SearchIcon","useState","useCallback","useMemo","DropdownMenu","Button","FilterIcon","Fragment","XIcon"],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { F as FieldBlock } from './field-block-CdCFQi7X.js';
3
+ import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-D2w0zRz4.js';
4
+ import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
5
+
6
+ function SelectFieldBlock({
7
+ name,
8
+ helpText,
9
+ errorMsg,
10
+ required = false,
11
+ disabled = false,
12
+ size = "md",
13
+ value,
14
+ label,
15
+ labelIsHidden = false,
16
+ layout = "vertical",
17
+ labelColumnWidth,
18
+ options,
19
+ placeholder = "Select an option",
20
+ onValueChange,
21
+ className
22
+ }) {
23
+ return /* @__PURE__ */ jsxs(FieldBlock.Layout, { layout, labelColumnWidth, className, children: [
24
+ layout === "horizontal" ? /* @__PURE__ */ jsx(FieldBlock.Column, { children: /* @__PURE__ */ jsx(FieldBlock.Label, { name, required, children: labelIsHidden ? /* @__PURE__ */ jsx(VisuallyHidden, { children: label }) : label }) }) : null,
25
+ /* @__PURE__ */ jsxs(FieldBlock.Column, { children: [
26
+ layout === "vertical" && label && !labelIsHidden ? /* @__PURE__ */ jsx(FieldBlock.Label, { name, required, children: label }) : null,
27
+ /* @__PURE__ */ jsxs(
28
+ Select,
29
+ {
30
+ "aria-label": labelIsHidden ? label : void 0,
31
+ name,
32
+ value,
33
+ onValueChange,
34
+ disabled,
35
+ children: [
36
+ /* @__PURE__ */ jsx(SelectTrigger, { size, children: /* @__PURE__ */ jsx(SelectValue, { placeholder }) }),
37
+ /* @__PURE__ */ jsx(SelectContent, { children: options.map((option) => /* @__PURE__ */ jsx(SelectItem, { value: option.value, children: option.label }, option.value)) })
38
+ ]
39
+ }
40
+ ),
41
+ helpText && /* @__PURE__ */ jsx(FieldBlock.HelpText, { children: helpText }),
42
+ errorMsg && /* @__PURE__ */ jsx(FieldBlock.ErrorMsg, { children: errorMsg })
43
+ ] })
44
+ ] });
45
+ }
46
+
47
+ export { SelectFieldBlock as S };
48
+ //# sourceMappingURL=select-field-block-BA6vHkOP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-field-block-BA6vHkOP.js","sources":["../src/ds/components/FormFieldBlocks/fields/select-field-block.tsx"],"sourcesContent":["import type { SelectTriggerProps } from '../../Select/select';\nimport { FieldBlock } from '../block/field-block';\nimport type { FieldBlockErrorMsgProps } from '../block/field-block-error-msg';\nimport type { FieldBlockHelpTextProps } from '../block/field-block-help-text';\nimport type { FieldBlockLabelProps } from '../block/field-block-label';\nimport type { FieldBlockLayoutProps } from '../block/field-block-layout';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\n\nexport type SelectFieldBlockProps = Pick<FieldBlockLayoutProps, 'layout' | 'labelColumnWidth'> &\n Pick<FieldBlockLabelProps, 'name' | 'required'> & {\n testId?: string;\n label?: string | null;\n labelIsHidden?: boolean;\n labelSize?: FieldBlockLabelProps['size'];\n disabled?: boolean;\n value?: string;\n options: { value: string; label: string }[];\n placeholder?: string;\n onValueChange: (value: string) => void;\n helpText?: FieldBlockHelpTextProps['children'];\n errorMsg?: FieldBlockErrorMsgProps['children'];\n error?: boolean;\n className?: string;\n size?: SelectTriggerProps['size'];\n };\n\nexport function SelectFieldBlock({\n name,\n helpText,\n errorMsg,\n required = false,\n disabled = false,\n size = 'md',\n value,\n label,\n labelIsHidden = false,\n layout = 'vertical',\n labelColumnWidth,\n options,\n placeholder = 'Select an option',\n onValueChange,\n className,\n}: SelectFieldBlockProps) {\n return (\n <FieldBlock.Layout layout={layout} labelColumnWidth={labelColumnWidth} className={className}>\n {layout === 'horizontal' ? (\n <FieldBlock.Column>\n <FieldBlock.Label name={name} required={required}>\n {labelIsHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </FieldBlock.Label>\n </FieldBlock.Column>\n ) : null}\n <FieldBlock.Column>\n {layout === 'vertical' && label && !labelIsHidden ? (\n <FieldBlock.Label name={name} required={required}>\n {label}\n </FieldBlock.Label>\n ) : null}\n <Select\n aria-label={labelIsHidden ? label : undefined}\n name={name}\n value={value}\n onValueChange={onValueChange}\n disabled={disabled}\n >\n <SelectTrigger size={size}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.map(option => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {helpText && <FieldBlock.HelpText>{helpText}</FieldBlock.HelpText>}\n {errorMsg && <FieldBlock.ErrorMsg>{errorMsg}</FieldBlock.ErrorMsg>}\n </FieldBlock.Column>\n </FieldBlock.Layout>\n );\n}\n"],"names":[],"mappings":";;;;;AA2BO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,IAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,MAAA,GAAS,UAAA;AAAA,EACT,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,GAAc,kBAAA;AAAA,EACd,aAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,4BACG,UAAA,CAAW,MAAA,EAAX,EAAkB,MAAA,EAAgB,kBAAoC,SAAA,EACpE,QAAA,EAAA;AAAA,IAAA,MAAA,KAAW,+BACV,GAAA,CAAC,UAAA,CAAW,QAAX,EACC,QAAA,kBAAA,GAAA,CAAC,WAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAC3B,0CAAgB,GAAA,CAAC,cAAA,EAAA,EAAgB,iBAAM,CAAA,GAAoB,KAAA,EAC9D,GACF,CAAA,GACE,IAAA;AAAA,oBACJ,IAAA,CAAC,UAAA,CAAW,MAAA,EAAX,EACE,QAAA,EAAA;AAAA,MAAA,MAAA,KAAW,UAAA,IAAc,KAAA,IAAS,CAAC,aAAA,mBAClC,GAAA,CAAC,UAAA,CAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAC3B,QAAA,EAAA,KAAA,EACH,CAAA,GACE,IAAA;AAAA,sBACJ,IAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,YAAA,EAAY,gBAAgB,KAAA,GAAQ,MAAA;AAAA,UACpC,IAAA;AAAA,UACA,KAAA;AAAA,UACA,aAAA;AAAA,UACA,QAAA;AAAA,UAEA,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EACb,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,aAA0B,CAAA,EACzC,CAAA;AAAA,4BACA,GAAA,CAAC,aAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,4BACX,GAAA,CAAC,UAAA,EAAA,EAA8B,KAAA,EAAO,MAAA,CAAO,OAC1C,QAAA,EAAA,MAAA,CAAO,KAAA,EAAA,EADO,MAAA,CAAO,KAExB,CACD,CAAA,EACH;AAAA;AAAA;AAAA,OACF;AAAA,MACC,QAAA,oBAAY,GAAA,CAAC,UAAA,CAAW,QAAA,EAAX,EAAqB,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,MAC3C,QAAA,oBAAY,GAAA,CAAC,UAAA,CAAW,QAAA,EAAX,EAAqB,QAAA,EAAA,QAAA,EAAS;AAAA,KAAA,EAC9C;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const fieldBlock = require('./field-block-D9R9O6XE.cjs');
5
+ const select = require('./select-DDgw1wG-.cjs');
6
+ const reactVisuallyHidden = require('@radix-ui/react-visually-hidden');
7
+
8
+ function SelectFieldBlock({
9
+ name,
10
+ helpText,
11
+ errorMsg,
12
+ required = false,
13
+ disabled = false,
14
+ size = "md",
15
+ value,
16
+ label,
17
+ labelIsHidden = false,
18
+ layout = "vertical",
19
+ labelColumnWidth,
20
+ options,
21
+ placeholder = "Select an option",
22
+ onValueChange,
23
+ className
24
+ }) {
25
+ return /* @__PURE__ */ jsxRuntime.jsxs(fieldBlock.FieldBlock.Layout, { layout, labelColumnWidth, className, children: [
26
+ layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.Column, { children: /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.Label, { name, required, children: labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: label }) : label }) }) : null,
27
+ /* @__PURE__ */ jsxRuntime.jsxs(fieldBlock.FieldBlock.Column, { children: [
28
+ layout === "vertical" && label && !labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.Label, { name, required, children: label }) : null,
29
+ /* @__PURE__ */ jsxRuntime.jsxs(
30
+ select.Select,
31
+ {
32
+ "aria-label": labelIsHidden ? label : void 0,
33
+ name,
34
+ value,
35
+ onValueChange,
36
+ disabled,
37
+ children: [
38
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectTrigger, { size, children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, { placeholder }) }),
39
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectContent, { children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: option.value, children: option.label }, option.value)) })
40
+ ]
41
+ }
42
+ ),
43
+ helpText && /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.HelpText, { children: helpText }),
44
+ errorMsg && /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.ErrorMsg, { children: errorMsg })
45
+ ] })
46
+ ] });
47
+ }
48
+
49
+ exports.SelectFieldBlock = SelectFieldBlock;
50
+ //# sourceMappingURL=select-field-block-BpXYm4K0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-field-block-BpXYm4K0.cjs","sources":["../src/ds/components/FormFieldBlocks/fields/select-field-block.tsx"],"sourcesContent":["import type { SelectTriggerProps } from '../../Select/select';\nimport { FieldBlock } from '../block/field-block';\nimport type { FieldBlockErrorMsgProps } from '../block/field-block-error-msg';\nimport type { FieldBlockHelpTextProps } from '../block/field-block-help-text';\nimport type { FieldBlockLabelProps } from '../block/field-block-label';\nimport type { FieldBlockLayoutProps } from '../block/field-block-layout';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\n\nexport type SelectFieldBlockProps = Pick<FieldBlockLayoutProps, 'layout' | 'labelColumnWidth'> &\n Pick<FieldBlockLabelProps, 'name' | 'required'> & {\n testId?: string;\n label?: string | null;\n labelIsHidden?: boolean;\n labelSize?: FieldBlockLabelProps['size'];\n disabled?: boolean;\n value?: string;\n options: { value: string; label: string }[];\n placeholder?: string;\n onValueChange: (value: string) => void;\n helpText?: FieldBlockHelpTextProps['children'];\n errorMsg?: FieldBlockErrorMsgProps['children'];\n error?: boolean;\n className?: string;\n size?: SelectTriggerProps['size'];\n };\n\nexport function SelectFieldBlock({\n name,\n helpText,\n errorMsg,\n required = false,\n disabled = false,\n size = 'md',\n value,\n label,\n labelIsHidden = false,\n layout = 'vertical',\n labelColumnWidth,\n options,\n placeholder = 'Select an option',\n onValueChange,\n className,\n}: SelectFieldBlockProps) {\n return (\n <FieldBlock.Layout layout={layout} labelColumnWidth={labelColumnWidth} className={className}>\n {layout === 'horizontal' ? (\n <FieldBlock.Column>\n <FieldBlock.Label name={name} required={required}>\n {labelIsHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </FieldBlock.Label>\n </FieldBlock.Column>\n ) : null}\n <FieldBlock.Column>\n {layout === 'vertical' && label && !labelIsHidden ? (\n <FieldBlock.Label name={name} required={required}>\n {label}\n </FieldBlock.Label>\n ) : null}\n <Select\n aria-label={labelIsHidden ? label : undefined}\n name={name}\n value={value}\n onValueChange={onValueChange}\n disabled={disabled}\n >\n <SelectTrigger size={size}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.map(option => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {helpText && <FieldBlock.HelpText>{helpText}</FieldBlock.HelpText>}\n {errorMsg && <FieldBlock.ErrorMsg>{errorMsg}</FieldBlock.ErrorMsg>}\n </FieldBlock.Column>\n </FieldBlock.Layout>\n );\n}\n"],"names":["FieldBlock","jsx","VisuallyHidden","jsxs","Select","SelectTrigger","SelectValue","SelectContent","SelectItem"],"mappings":";;;;;;;AA2BO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,IAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,IAAA,GAAO,IAAA;AAAA,EACP,KAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,MAAA,GAAS,UAAA;AAAA,EACT,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,GAAc,kBAAA;AAAA,EACd,aAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,uCACGA,qBAAA,CAAW,MAAA,EAAX,EAAkB,MAAA,EAAgB,kBAAoC,SAAA,EACpE,QAAA,EAAA;AAAA,IAAA,MAAA,KAAW,+BACVC,cAAA,CAACD,qBAAA,CAAW,QAAX,EACC,QAAA,kBAAAC,cAAA,CAACD,sBAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAC3B,0CAAgBC,cAAA,CAACC,kCAAA,EAAA,EAAgB,iBAAM,CAAA,GAAoB,KAAA,EAC9D,GACF,CAAA,GACE,IAAA;AAAA,oBACJC,eAAA,CAACH,qBAAA,CAAW,MAAA,EAAX,EACE,QAAA,EAAA;AAAA,MAAA,MAAA,KAAW,UAAA,IAAc,KAAA,IAAS,CAAC,aAAA,mBAClCC,cAAA,CAACD,qBAAA,CAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAC3B,QAAA,EAAA,KAAA,EACH,CAAA,GACE,IAAA;AAAA,sBACJG,eAAA;AAAA,QAACC,aAAA;AAAA,QAAA;AAAA,UACC,YAAA,EAAY,gBAAgB,KAAA,GAAQ,MAAA;AAAA,UACpC,IAAA;AAAA,UACA,KAAA;AAAA,UACA,aAAA;AAAA,UACA,QAAA;AAAA,UAEA,QAAA,EAAA;AAAA,4BAAAH,cAAA,CAACI,oBAAA,EAAA,EAAc,IAAA,EACb,QAAA,kBAAAJ,cAAA,CAACK,kBAAA,EAAA,EAAY,aAA0B,CAAA,EACzC,CAAA;AAAA,4BACAL,cAAA,CAACM,oBAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,4BACXN,cAAA,CAACO,iBAAA,EAAA,EAA8B,KAAA,EAAO,MAAA,CAAO,OAC1C,QAAA,EAAA,MAAA,CAAO,KAAA,EAAA,EADO,MAAA,CAAO,KAExB,CACD,CAAA,EACH;AAAA;AAAA;AAAA,OACF;AAAA,MACC,QAAA,oBAAYP,cAAA,CAACD,qBAAA,CAAW,QAAA,EAAX,EAAqB,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,MAC3C,QAAA,oBAAYC,cAAA,CAACD,qBAAA,CAAW,QAAA,EAAX,EAAqB,QAAA,EAAA,QAAA,EAAS;AAAA,KAAA,EAC9C;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -0,0 +1,22 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { c as cn } from './utils-CzYGxqbG.js';
3
+
4
+ const Shimmer = ({ children, className }) => {
5
+ return /* @__PURE__ */ jsx(
6
+ "span",
7
+ {
8
+ className: cn("inline-block text-transparent", className),
9
+ style: {
10
+ backgroundImage: "linear-gradient(to right, var(--neutral3), var(--neutral6), var(--neutral3))",
11
+ backgroundSize: "200% 100%",
12
+ backgroundClip: "text",
13
+ WebkitBackgroundClip: "text",
14
+ animation: "shimmer-text 2s linear infinite"
15
+ },
16
+ children
17
+ }
18
+ );
19
+ };
20
+
21
+ export { Shimmer as S };
22
+ //# sourceMappingURL=shimmer-CTVYNDBn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shimmer-CTVYNDBn.js","sources":["../src/ds/components/Shimmer/shimmer.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface ShimmerProps {\n children: ReactNode;\n className?: string;\n}\n\nexport const Shimmer = ({ children, className }: ShimmerProps) => {\n return (\n <span\n className={cn('inline-block text-transparent', className)}\n style={{\n backgroundImage: 'linear-gradient(to right, var(--neutral3), var(--neutral6), var(--neutral3))',\n backgroundSize: '200% 100%',\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n animation: 'shimmer-text 2s linear infinite',\n }}\n >\n {children}\n </span>\n );\n};\n"],"names":[],"mappings":";;;AASO,MAAM,OAAA,GAAU,CAAC,EAAE,QAAA,EAAU,WAAU,KAAoB;AAChE,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS,CAAA;AAAA,MACxD,KAAA,EAAO;AAAA,QACL,eAAA,EAAiB,8EAAA;AAAA,QACjB,cAAA,EAAgB,WAAA;AAAA,QAChB,cAAA,EAAgB,MAAA;AAAA,QAChB,oBAAA,EAAsB,MAAA;AAAA,QACtB,SAAA,EAAW;AAAA,OACb;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;;;"}