@mastra/playground-ui 33.0.0-alpha.2 → 33.0.0-alpha.4

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 (1010) hide show
  1. package/CHANGELOG.md +179 -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/src/types.d.ts +1 -1
  938. package/dist/switch-DJRX_Onf.cjs +124 -0
  939. package/dist/switch-DJRX_Onf.cjs.map +1 -0
  940. package/dist/switch-VX4iYp3j.js +103 -0
  941. package/dist/switch-VX4iYp3j.js.map +1 -0
  942. package/dist/switch.css +51 -0
  943. package/dist/tabs-content-D-fKCtLW.js +18 -0
  944. package/dist/tabs-content-D-fKCtLW.js.map +1 -0
  945. package/dist/tabs-content-m86TGI_b.cjs +20 -0
  946. package/dist/tabs-content-m86TGI_b.cjs.map +1 -0
  947. package/dist/tabs-tab-Cjv_3xGC.js +118 -0
  948. package/dist/tabs-tab-Cjv_3xGC.js.map +1 -0
  949. package/dist/tabs-tab-Dl9FqQhm.cjs +122 -0
  950. package/dist/tabs-tab-Dl9FqQhm.cjs.map +1 -0
  951. package/dist/text-field-block-CGzVPqnF.cjs +50 -0
  952. package/dist/text-field-block-CGzVPqnF.cjs.map +1 -0
  953. package/dist/text-field-block-gjrZyIFr.js +48 -0
  954. package/dist/text-field-block-gjrZyIFr.js.map +1 -0
  955. package/dist/textarea-DTTTODYL.js +62 -0
  956. package/dist/textarea-DTTTODYL.js.map +1 -0
  957. package/dist/textarea-DdUaiUA3.cjs +83 -0
  958. package/dist/textarea-DdUaiUA3.cjs.map +1 -0
  959. package/dist/theme-provider-C9ih9jSS.js +117 -0
  960. package/dist/theme-provider-C9ih9jSS.js.map +1 -0
  961. package/dist/theme-provider-aO5-jZVp.cjs +120 -0
  962. package/dist/theme-provider-aO5-jZVp.cjs.map +1 -0
  963. package/dist/theme-toggle-AzjABhTN.js +85 -0
  964. package/dist/theme-toggle-AzjABhTN.js.map +1 -0
  965. package/dist/theme-toggle-DWtjTo-a.cjs +87 -0
  966. package/dist/theme-toggle-DWtjTo-a.cjs.map +1 -0
  967. package/dist/time-picker-BtJz6IU2.js +110 -0
  968. package/dist/time-picker-BtJz6IU2.js.map +1 -0
  969. package/dist/time-picker-DWrxHBfR.cjs +113 -0
  970. package/dist/time-picker-DWrxHBfR.cjs.map +1 -0
  971. package/dist/tokens.cjs.js +11 -214
  972. package/dist/tokens.cjs.js.map +1 -1
  973. package/dist/tokens.es.js +3 -206
  974. package/dist/tokens.es.js.map +1 -1
  975. package/dist/tooltip-DehuxlSR.js +90 -0
  976. package/dist/tooltip-DehuxlSR.js.map +1 -0
  977. package/dist/tooltip-j8gUR1Qk.cjs +114 -0
  978. package/dist/tooltip-j8gUR1Qk.cjs.map +1 -0
  979. package/dist/traces-data-list-5GA3JumQ.cjs +238 -0
  980. package/dist/traces-data-list-5GA3JumQ.cjs.map +1 -0
  981. package/dist/traces-data-list-Dru2XnRN.js +234 -0
  982. package/dist/traces-data-list-Dru2XnRN.js.map +1 -0
  983. package/dist/transitions-DpczSjmD.cjs +39 -0
  984. package/dist/transitions-DpczSjmD.cjs.map +1 -0
  985. package/dist/transitions-tFfqxz40.js +35 -0
  986. package/dist/transitions-tFfqxz40.js.map +1 -0
  987. package/dist/tree-D04KhP5w.js +212 -0
  988. package/dist/tree-D04KhP5w.js.map +1 -0
  989. package/dist/tree-P2k9UCFX.cjs +233 -0
  990. package/dist/tree-P2k9UCFX.cjs.map +1 -0
  991. package/dist/truncate-B2kAcoie.js +47 -0
  992. package/dist/truncate-B2kAcoie.js.map +1 -0
  993. package/dist/truncate-mOutaqxm.cjs +49 -0
  994. package/dist/truncate-mOutaqxm.cjs.map +1 -0
  995. package/dist/use-copy-to-clipboard-CGqfkXnN.js +73 -0
  996. package/dist/use-copy-to-clipboard-CGqfkXnN.js.map +1 -0
  997. package/dist/use-copy-to-clipboard-CQgIuR1c.cjs +77 -0
  998. package/dist/use-copy-to-clipboard-CQgIuR1c.cjs.map +1 -0
  999. package/dist/use-copy-to-clipboard.css +126 -0
  1000. package/dist/use-table-keyboard-navigation-D9tbkeqJ.cjs +214 -0
  1001. package/dist/use-table-keyboard-navigation-D9tbkeqJ.cjs.map +1 -0
  1002. package/dist/use-table-keyboard-navigation-TaCn1tec.js +203 -0
  1003. package/dist/use-table-keyboard-navigation-TaCn1tec.js.map +1 -0
  1004. package/dist/utils-CzYGxqbG.js +3290 -0
  1005. package/dist/utils-CzYGxqbG.js.map +1 -0
  1006. package/dist/utils-vA5sWo9W.cjs +3293 -0
  1007. package/dist/utils-vA5sWo9W.cjs.map +1 -0
  1008. package/package.json +18 -7
  1009. package/theme.css +412 -0
  1010. package/dist/vite.config.d.ts +0 -3
@@ -0,0 +1,221 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const scrollArea = require('@base-ui/react/scroll-area');
5
+ const React = require('react');
6
+ const utils = require('./utils-vA5sWo9W.cjs');
7
+
8
+ function _interopNamespaceDefault(e) {
9
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
10
+ if (e) {
11
+ for (const k in e) {
12
+ if (k !== 'default') {
13
+ const d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: () => e[k]
17
+ });
18
+ }
19
+ }
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
26
+
27
+ const SCROLL_END_THRESHOLD = 8;
28
+ const useAutoscroll = (ref, { enabled = true }) => {
29
+ const shouldScrollRef = React.useRef(enabled);
30
+ const scrollFrameRef = React.useRef(null);
31
+ const userScrollIntentRef = React.useRef(false);
32
+ const userScrollIntentTimeoutRef = React.useRef(null);
33
+ React.useEffect(() => {
34
+ if (!enabled) return;
35
+ if (!ref?.current) return;
36
+ const area = ref.current;
37
+ const scrollToEnd = () => {
38
+ if (!shouldScrollRef.current) return;
39
+ if (scrollFrameRef.current !== null) {
40
+ cancelAnimationFrame(scrollFrameRef.current);
41
+ }
42
+ scrollFrameRef.current = requestAnimationFrame(() => {
43
+ if (shouldScrollRef.current) {
44
+ area.scrollTop = area.scrollHeight;
45
+ }
46
+ scrollFrameRef.current = null;
47
+ });
48
+ };
49
+ const mutationObserver = new MutationObserver(scrollToEnd);
50
+ mutationObserver.observe(area, {
51
+ childList: true,
52
+ // observe direct children changes
53
+ subtree: true,
54
+ // observe all descendants
55
+ characterData: true
56
+ // observe text content changes
57
+ });
58
+ const resizeObserver = new ResizeObserver(scrollToEnd);
59
+ resizeObserver.observe(area);
60
+ const cancelPendingScroll = () => {
61
+ if (scrollFrameRef.current !== null) {
62
+ cancelAnimationFrame(scrollFrameRef.current);
63
+ scrollFrameRef.current = null;
64
+ }
65
+ };
66
+ const stopFollowing = () => {
67
+ shouldScrollRef.current = false;
68
+ cancelPendingScroll();
69
+ };
70
+ const registerUserScrollIntent = () => {
71
+ userScrollIntentRef.current = true;
72
+ if (userScrollIntentTimeoutRef.current !== null) {
73
+ window.clearTimeout(userScrollIntentTimeoutRef.current);
74
+ }
75
+ userScrollIntentTimeoutRef.current = window.setTimeout(() => {
76
+ userScrollIntentRef.current = false;
77
+ userScrollIntentTimeoutRef.current = null;
78
+ }, 250);
79
+ };
80
+ const handleWheel = (event) => {
81
+ registerUserScrollIntent();
82
+ if (event.deltaY < 0) {
83
+ stopFollowing();
84
+ }
85
+ };
86
+ const handleKeyDown = (event) => {
87
+ registerUserScrollIntent();
88
+ if (["ArrowUp", "PageUp", "Home"].includes(event.key)) {
89
+ stopFollowing();
90
+ }
91
+ };
92
+ const handleScroll = (e) => {
93
+ const scrollElement = e.target;
94
+ const currentPosition = scrollElement.scrollTop + scrollElement.clientHeight;
95
+ const totalHeight = scrollElement.scrollHeight;
96
+ const isAtEnd = currentPosition >= totalHeight - SCROLL_END_THRESHOLD;
97
+ if (isAtEnd) {
98
+ shouldScrollRef.current = true;
99
+ return;
100
+ }
101
+ if (userScrollIntentRef.current) {
102
+ shouldScrollRef.current = false;
103
+ cancelPendingScroll();
104
+ }
105
+ };
106
+ area.addEventListener("wheel", handleWheel, { passive: true });
107
+ area.addEventListener("touchmove", registerUserScrollIntent, { passive: true });
108
+ area.addEventListener("pointerdown", registerUserScrollIntent);
109
+ area.addEventListener("keydown", handleKeyDown);
110
+ area.addEventListener("scroll", handleScroll);
111
+ scrollToEnd();
112
+ return () => {
113
+ area.removeEventListener("wheel", handleWheel);
114
+ area.removeEventListener("touchmove", registerUserScrollIntent);
115
+ area.removeEventListener("pointerdown", registerUserScrollIntent);
116
+ area.removeEventListener("keydown", handleKeyDown);
117
+ area.removeEventListener("scroll", handleScroll);
118
+ mutationObserver.disconnect();
119
+ resizeObserver.disconnect();
120
+ cancelPendingScroll();
121
+ if (userScrollIntentTimeoutRef.current !== null) {
122
+ window.clearTimeout(userScrollIntentTimeoutRef.current);
123
+ userScrollIntentTimeoutRef.current = null;
124
+ }
125
+ };
126
+ }, [enabled, ref]);
127
+ };
128
+
129
+ function resolveMask(mask, orientation) {
130
+ if (mask === false) return { top: false, bottom: false, left: false, right: false };
131
+ const vertical = orientation === "vertical" || orientation === "both";
132
+ const horizontal = orientation === "horizontal" || orientation === "both";
133
+ const sides = { top: vertical, bottom: vertical, left: horizontal, right: horizontal };
134
+ if (mask === true || mask === void 0) return sides;
135
+ if (mask.y !== void 0) {
136
+ sides.top = mask.y;
137
+ sides.bottom = mask.y;
138
+ }
139
+ if (mask.x !== void 0) {
140
+ sides.left = mask.x;
141
+ sides.right = mask.x;
142
+ }
143
+ if (mask.top !== void 0) sides.top = mask.top;
144
+ if (mask.bottom !== void 0) sides.bottom = mask.bottom;
145
+ if (mask.left !== void 0) sides.left = mask.left;
146
+ if (mask.right !== void 0) sides.right = mask.right;
147
+ return sides;
148
+ }
149
+ function maskClasses(sides) {
150
+ return utils.cn(
151
+ sides.top && "data-[overflow-y-start]:mask-t-from-[calc(100%-2rem)]",
152
+ sides.bottom && "data-[overflow-y-end]:mask-b-from-[calc(100%-2rem)]",
153
+ sides.left && "data-[overflow-x-start]:mask-l-from-[calc(100%-2rem)]",
154
+ sides.right && "data-[overflow-x-end]:mask-r-from-[calc(100%-2rem)]"
155
+ );
156
+ }
157
+ const ScrollArea = React__namespace.forwardRef(
158
+ ({
159
+ className,
160
+ children,
161
+ viewPortClassName,
162
+ maxHeight,
163
+ autoScroll = false,
164
+ orientation = "vertical",
165
+ mask,
166
+ showMask,
167
+ ...props
168
+ }, ref) => {
169
+ const areaRef = React__namespace.useRef(null);
170
+ useAutoscroll(areaRef, { enabled: autoScroll });
171
+ const effectiveMask = mask !== void 0 ? mask : showMask;
172
+ const sides = resolveMask(effectiveMask, orientation);
173
+ const viewportStyle = {};
174
+ if (maxHeight) viewportStyle.maxHeight = maxHeight;
175
+ if (orientation === "vertical") {
176
+ viewportStyle.overflowX = "hidden";
177
+ viewportStyle.overflowY = "scroll";
178
+ } else if (orientation === "horizontal") {
179
+ viewportStyle.overflowX = "scroll";
180
+ viewportStyle.overflowY = "hidden";
181
+ }
182
+ const contentStyle = orientation === "vertical" ? { minWidth: "0px" } : orientation === "horizontal" ? { minHeight: "0px" } : void 0;
183
+ return /* @__PURE__ */ jsxRuntime.jsxs(scrollArea.ScrollArea.Root, { ref, className: utils.cn("relative overflow-hidden", className), ...props, children: [
184
+ /* @__PURE__ */ jsxRuntime.jsx(
185
+ scrollArea.ScrollArea.Viewport,
186
+ {
187
+ ref: areaRef,
188
+ className: utils.cn("h-full w-full rounded-[inherit]", maskClasses(sides), viewPortClassName),
189
+ style: viewportStyle,
190
+ children: /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea.Content, { style: contentStyle, children })
191
+ }
192
+ ),
193
+ (orientation === "vertical" || orientation === "both") && /* @__PURE__ */ jsxRuntime.jsx(ScrollBar, { orientation: "vertical" }),
194
+ (orientation === "horizontal" || orientation === "both") && /* @__PURE__ */ jsxRuntime.jsx(ScrollBar, { orientation: "horizontal" }),
195
+ orientation === "both" && /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea.Corner, {})
196
+ ] });
197
+ }
198
+ );
199
+ ScrollArea.displayName = "ScrollArea";
200
+ const ScrollBar = React__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
201
+ scrollArea.ScrollArea.Scrollbar,
202
+ {
203
+ ref,
204
+ orientation,
205
+ className: utils.cn(
206
+ "flex touch-none select-none transition-opacity duration-normal ease-out-custom",
207
+ "opacity-0 data-[hovering]:opacity-100 data-[scrolling]:opacity-100 data-[scrolling]:duration-0",
208
+ orientation === "vertical" && "h-full w-1.5 p-px",
209
+ orientation === "horizontal" && "h-1.5 w-full flex-col p-px",
210
+ className
211
+ ),
212
+ ...props,
213
+ children: /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-neutral4/30 hover:bg-neutral4/60 transition-colors duration-normal" })
214
+ }
215
+ ));
216
+ ScrollBar.displayName = "ScrollBar";
217
+
218
+ exports.ScrollArea = ScrollArea;
219
+ exports.ScrollBar = ScrollBar;
220
+ exports.useAutoscroll = useAutoscroll;
221
+ //# sourceMappingURL=scroll-area-KogxLVrV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area-KogxLVrV.cjs","sources":["../src/hooks/use-autoscroll.tsx","../src/ds/components/ScrollArea/scroll-area.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nexport interface UseAutoscrollOptions {\n enabled?: boolean;\n}\n\nconst SCROLL_END_THRESHOLD = 8;\n\nexport const useAutoscroll = (ref: React.RefObject<HTMLElement | null>, { enabled = true }: UseAutoscrollOptions) => {\n const shouldScrollRef = useRef(enabled);\n const scrollFrameRef = useRef<number | null>(null);\n const userScrollIntentRef = useRef(false);\n const userScrollIntentTimeoutRef = useRef<number | null>(null);\n\n React.useEffect(() => {\n if (!enabled) return;\n if (!ref?.current) return;\n\n const area = ref.current;\n\n const scrollToEnd = () => {\n if (!shouldScrollRef.current) return;\n\n if (scrollFrameRef.current !== null) {\n cancelAnimationFrame(scrollFrameRef.current);\n }\n\n scrollFrameRef.current = requestAnimationFrame(() => {\n if (shouldScrollRef.current) {\n area.scrollTop = area.scrollHeight;\n }\n scrollFrameRef.current = null;\n });\n };\n\n const mutationObserver = new MutationObserver(scrollToEnd);\n\n mutationObserver.observe(area, {\n childList: true, // observe direct children changes\n subtree: true, // observe all descendants\n characterData: true, // observe text content changes\n });\n\n const resizeObserver = new ResizeObserver(scrollToEnd);\n resizeObserver.observe(area);\n\n const cancelPendingScroll = () => {\n if (scrollFrameRef.current !== null) {\n cancelAnimationFrame(scrollFrameRef.current);\n scrollFrameRef.current = null;\n }\n };\n\n const stopFollowing = () => {\n shouldScrollRef.current = false;\n cancelPendingScroll();\n };\n\n const registerUserScrollIntent = () => {\n userScrollIntentRef.current = true;\n\n if (userScrollIntentTimeoutRef.current !== null) {\n window.clearTimeout(userScrollIntentTimeoutRef.current);\n }\n\n userScrollIntentTimeoutRef.current = window.setTimeout(() => {\n userScrollIntentRef.current = false;\n userScrollIntentTimeoutRef.current = null;\n }, 250);\n };\n\n const handleWheel = (event: WheelEvent) => {\n registerUserScrollIntent();\n\n if (event.deltaY < 0) {\n stopFollowing();\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n registerUserScrollIntent();\n\n if (['ArrowUp', 'PageUp', 'Home'].includes(event.key)) {\n stopFollowing();\n }\n };\n\n const handleScroll = (e: Event) => {\n const scrollElement = e.target as HTMLElement;\n const currentPosition = scrollElement.scrollTop + scrollElement.clientHeight;\n const totalHeight = scrollElement.scrollHeight;\n const isAtEnd = currentPosition >= totalHeight - SCROLL_END_THRESHOLD;\n\n if (isAtEnd) {\n shouldScrollRef.current = true;\n return;\n }\n\n if (userScrollIntentRef.current) {\n shouldScrollRef.current = false;\n cancelPendingScroll();\n }\n };\n\n area.addEventListener('wheel', handleWheel, { passive: true });\n area.addEventListener('touchmove', registerUserScrollIntent, { passive: true });\n area.addEventListener('pointerdown', registerUserScrollIntent);\n area.addEventListener('keydown', handleKeyDown);\n area.addEventListener('scroll', handleScroll);\n scrollToEnd();\n\n return () => {\n area.removeEventListener('wheel', handleWheel);\n area.removeEventListener('touchmove', registerUserScrollIntent);\n area.removeEventListener('pointerdown', registerUserScrollIntent);\n area.removeEventListener('keydown', handleKeyDown);\n area.removeEventListener('scroll', handleScroll);\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n cancelPendingScroll();\n\n if (userScrollIntentTimeoutRef.current !== null) {\n window.clearTimeout(userScrollIntentTimeoutRef.current);\n userScrollIntentTimeoutRef.current = null;\n }\n };\n }, [enabled, ref]);\n};\n","import { ScrollArea as ScrollAreaPrimitive } from '@base-ui/react/scroll-area';\nimport * as React from 'react';\n\nimport { useAutoscroll } from '@/hooks/use-autoscroll';\nimport { cn } from '@/lib/utils';\n\ntype Orientation = 'vertical' | 'horizontal' | 'both';\n\nexport type MaskSides = {\n top?: boolean;\n bottom?: boolean;\n left?: boolean;\n right?: boolean;\n /** Shorthand: sets both `left` and `right`. Per-side keys override. */\n x?: boolean;\n /** Shorthand: sets both `top` and `bottom`. Per-side keys override. */\n y?: boolean;\n};\n\n/**\n * - `true` / omitted: fade the edges that match `orientation`.\n * - `false`: no fade.\n * - object: per-side override on top of the orientation default.\n */\nexport type ScrollAreaMask = boolean | MaskSides;\n\nexport type ScrollAreaProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> & {\n viewPortClassName?: string;\n maxHeight?: string;\n autoScroll?: boolean;\n orientation?: Orientation;\n /** Fade content at the edges where it's clipped by overflow. Defaults to the axes matching `orientation`. */\n mask?: ScrollAreaMask;\n /** @deprecated Use `mask` instead. Retained for backward compatibility. */\n showMask?: boolean;\n};\n\ntype ResolvedMask = { top: boolean; bottom: boolean; left: boolean; right: boolean };\n\nfunction resolveMask(mask: ScrollAreaMask | undefined, orientation: Orientation): ResolvedMask {\n if (mask === false) return { top: false, bottom: false, left: false, right: false };\n\n const vertical = orientation === 'vertical' || orientation === 'both';\n const horizontal = orientation === 'horizontal' || orientation === 'both';\n const sides: ResolvedMask = { top: vertical, bottom: vertical, left: horizontal, right: horizontal };\n\n if (mask === true || mask === undefined) return sides;\n\n if (mask.y !== undefined) {\n sides.top = mask.y;\n sides.bottom = mask.y;\n }\n if (mask.x !== undefined) {\n sides.left = mask.x;\n sides.right = mask.x;\n }\n if (mask.top !== undefined) sides.top = mask.top;\n if (mask.bottom !== undefined) sides.bottom = mask.bottom;\n if (mask.left !== undefined) sides.left = mask.left;\n if (mask.right !== undefined) sides.right = mask.right;\n\n return sides;\n}\n\nfunction maskClasses(sides: ResolvedMask) {\n return cn(\n sides.top && 'data-[overflow-y-start]:mask-t-from-[calc(100%-2rem)]',\n sides.bottom && 'data-[overflow-y-end]:mask-b-from-[calc(100%-2rem)]',\n sides.left && 'data-[overflow-x-start]:mask-l-from-[calc(100%-2rem)]',\n sides.right && 'data-[overflow-x-end]:mask-r-from-[calc(100%-2rem)]',\n );\n}\n\nconst ScrollArea = React.forwardRef<HTMLDivElement, ScrollAreaProps>(\n (\n {\n className,\n children,\n viewPortClassName,\n maxHeight,\n autoScroll = false,\n orientation = 'vertical',\n mask,\n showMask,\n ...props\n },\n ref,\n ) => {\n const areaRef = React.useRef<HTMLDivElement>(null);\n useAutoscroll(areaRef, { enabled: autoScroll });\n\n const effectiveMask: ScrollAreaMask | undefined = mask !== undefined ? mask : showMask;\n const sides = resolveMask(effectiveMask, orientation);\n\n const viewportStyle: React.CSSProperties = {};\n if (maxHeight) viewportStyle.maxHeight = maxHeight;\n if (orientation === 'vertical') {\n viewportStyle.overflowX = 'hidden';\n viewportStyle.overflowY = 'scroll';\n } else if (orientation === 'horizontal') {\n viewportStyle.overflowX = 'scroll';\n viewportStyle.overflowY = 'hidden';\n }\n\n // Base UI's ScrollAreaContent forces `min-width: fit-content` so the\n // content can grow wider than the viewport (required for horizontal scroll\n // measurement). For vertical-only scroll we override it so children shrink\n // to the viewport width instead of forcing horizontal scroll.\n const contentStyle: React.CSSProperties | undefined =\n orientation === 'vertical'\n ? { minWidth: '0px' }\n : orientation === 'horizontal'\n ? { minHeight: '0px' }\n : undefined;\n\n return (\n <ScrollAreaPrimitive.Root ref={ref} className={cn('relative overflow-hidden', className)} {...props}>\n <ScrollAreaPrimitive.Viewport\n ref={areaRef}\n className={cn('h-full w-full rounded-[inherit]', maskClasses(sides), viewPortClassName)}\n style={viewportStyle}\n >\n <ScrollAreaPrimitive.Content style={contentStyle}>{children}</ScrollAreaPrimitive.Content>\n </ScrollAreaPrimitive.Viewport>\n {(orientation === 'vertical' || orientation === 'both') && <ScrollBar orientation=\"vertical\" />}\n {(orientation === 'horizontal' || orientation === 'both') && <ScrollBar orientation=\"horizontal\" />}\n {orientation === 'both' && <ScrollAreaPrimitive.Corner />}\n </ScrollAreaPrimitive.Root>\n );\n },\n);\nScrollArea.displayName = 'ScrollArea';\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Scrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.Scrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-opacity duration-normal ease-out-custom',\n 'opacity-0 data-[hovering]:opacity-100 data-[scrolling]:opacity-100 data-[scrolling]:duration-0',\n orientation === 'vertical' && 'h-full w-1.5 p-px',\n orientation === 'horizontal' && 'h-1.5 w-full flex-col p-px',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.Thumb className=\"relative flex-1 rounded-full bg-neutral4/30 hover:bg-neutral4/60 transition-colors duration-normal\" />\n </ScrollAreaPrimitive.Scrollbar>\n));\nScrollBar.displayName = 'ScrollBar';\n\nexport { ScrollArea, ScrollBar };\n"],"names":["useRef","cn","React","jsxs","ScrollAreaPrimitive","jsx"],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useRef, useState, useEffect, useCallback } from 'react';
3
+ import { c as cn } from './utils-CzYGxqbG.js';
4
+
5
+ const INDICATOR_WIDTH = 40;
6
+ const INDICATOR_HEIGHT = 150;
7
+ const INDICATOR_SPACE = 10;
8
+ const ScrollableContainer = ({
9
+ className,
10
+ children,
11
+ scrollSpeed = 100,
12
+ scrollIntervalTime = 20
13
+ }) => {
14
+ const containerRef = useRef(null);
15
+ const scrollInterval = useRef(null);
16
+ const [containerHeight, setContainerHeight] = useState(0);
17
+ const [containerRight, setContainerRight] = useState(0);
18
+ const [containerTop, setContainerTop] = useState(0);
19
+ const [containerLeft, setContainerLeft] = useState(0);
20
+ const [showRightIndicator, setShowRightIndicator] = useState(false);
21
+ const [showLeftIndicator, setShowLeftIndicator] = useState(false);
22
+ useEffect(() => {
23
+ const updatePositions = () => {
24
+ if (!containerRef.current) return;
25
+ const canScrollRight = containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;
26
+ setShowRightIndicator(canScrollRight);
27
+ setContainerHeight(containerRef.current.clientHeight);
28
+ const rect = containerRef.current.getBoundingClientRect();
29
+ setContainerRight(rect.right);
30
+ setContainerLeft(rect.left);
31
+ setContainerTop(rect.top);
32
+ };
33
+ updatePositions();
34
+ const resizeObserver = new ResizeObserver(updatePositions);
35
+ if (containerRef.current) {
36
+ resizeObserver.observe(containerRef.current);
37
+ }
38
+ const handleScroll = () => {
39
+ if (!containerRef.current) return;
40
+ const canScrollLeft = containerRef.current.scrollLeft > 0;
41
+ const canScrollRight = containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;
42
+ setShowLeftIndicator(canScrollLeft);
43
+ setShowRightIndicator(canScrollRight);
44
+ updatePositions();
45
+ };
46
+ containerRef?.current?.addEventListener("scroll", handleScroll);
47
+ const container = containerRef.current;
48
+ return () => {
49
+ if (container) {
50
+ resizeObserver.unobserve(container);
51
+ container.removeEventListener("scroll", handleScroll);
52
+ }
53
+ };
54
+ }, []);
55
+ const ScrollIndicator = ({
56
+ isVisible,
57
+ position,
58
+ containerHeight: containerHeight2,
59
+ containerTop: containerTop2,
60
+ containerRight: containerRight2,
61
+ onStartScrolling,
62
+ onStopScrolling
63
+ }) => {
64
+ if (!isVisible) return null;
65
+ const styles = {
66
+ top: containerHeight2 < INDICATOR_HEIGHT ? containerTop2 : containerTop2 + (containerHeight2 - INDICATOR_HEIGHT) / 2,
67
+ width: INDICATOR_WIDTH,
68
+ height: containerHeight2 < INDICATOR_HEIGHT ? `${containerHeight2}px` : `${INDICATOR_HEIGHT}px`
69
+ };
70
+ return /* @__PURE__ */ jsxs(
71
+ "button",
72
+ {
73
+ onMouseDown: onStartScrolling,
74
+ onTouchStart: onStartScrolling,
75
+ onMouseUp: onStopScrolling,
76
+ onTouchEnd: onStopScrolling,
77
+ onTouchCancel: onStopScrolling,
78
+ className: "bg-surface4 text-neutral3 border-surface5 hover:border-neutral3 fixed z-10 flex items-center justify-center rounded-lg border text-2xl hover:text-white",
79
+ style: {
80
+ ...styles,
81
+ left: position === "left" ? containerLeft + INDICATOR_SPACE : containerRight2 - INDICATOR_WIDTH - INDICATOR_SPACE
82
+ },
83
+ children: [
84
+ " ",
85
+ position === "left" ? "«" : "»"
86
+ ]
87
+ }
88
+ );
89
+ };
90
+ const startScrolling = useCallback(
91
+ (direction, e) => {
92
+ e?.preventDefault();
93
+ e?.stopPropagation();
94
+ if (scrollInterval.current) {
95
+ clearInterval(scrollInterval.current);
96
+ scrollInterval.current = null;
97
+ }
98
+ if (containerRef.current) {
99
+ containerRef.current.scrollBy({
100
+ left: direction === "right" ? scrollSpeed * 2 : -scrollSpeed * 2,
101
+ behavior: "smooth"
102
+ });
103
+ }
104
+ scrollInterval.current = setInterval(() => {
105
+ if (containerRef.current) {
106
+ containerRef.current.scrollBy({
107
+ left: direction === "right" ? scrollSpeed : -scrollSpeed,
108
+ behavior: "smooth"
109
+ });
110
+ }
111
+ }, scrollIntervalTime);
112
+ },
113
+ [scrollSpeed, scrollIntervalTime]
114
+ );
115
+ const stopScrolling = useCallback(() => {
116
+ if (scrollInterval.current) {
117
+ clearInterval(scrollInterval.current);
118
+ scrollInterval.current = null;
119
+ }
120
+ }, []);
121
+ return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: cn("relative max-h-full overflow-auto", className), children: [
122
+ children,
123
+ /* @__PURE__ */ jsx(
124
+ ScrollIndicator,
125
+ {
126
+ isVisible: showLeftIndicator,
127
+ position: "left",
128
+ containerHeight,
129
+ containerTop,
130
+ containerRight,
131
+ onStartScrolling: (e) => startScrolling("left", e),
132
+ onStopScrolling: stopScrolling
133
+ }
134
+ ),
135
+ /* @__PURE__ */ jsx(
136
+ ScrollIndicator,
137
+ {
138
+ isVisible: showRightIndicator,
139
+ position: "right",
140
+ containerHeight,
141
+ containerTop,
142
+ containerRight,
143
+ onStartScrolling: (e) => startScrolling("right", e),
144
+ onStopScrolling: stopScrolling
145
+ }
146
+ )
147
+ ] });
148
+ };
149
+
150
+ export { ScrollableContainer as S };
151
+ //# sourceMappingURL=scrollable-container-BqOFHwdb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollable-container-BqOFHwdb.js","sources":["../src/ds/components/ScrollableContainer/scrollable-container.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect, useCallback } from 'react';\nimport { cn } from '@/lib/utils';\n\nconst INDICATOR_WIDTH = 40;\nconst INDICATOR_HEIGHT = 150;\nconst INDICATOR_SPACE = 10;\n\nexport type ScrollableContainerProps = {\n className?: string;\n children: React.ReactNode;\n scrollSpeed?: number; // Optional prop to set scroll speed (pixels per interval)\n scrollIntervalTime?: number; // Optional prop to set scroll interval time (ms)\n};\n\nexport const ScrollableContainer = ({\n className,\n children,\n scrollSpeed = 100,\n scrollIntervalTime = 20,\n}: ScrollableContainerProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollInterval = useRef<ReturnType<typeof setInterval> | null>(null);\n\n const [containerHeight, setContainerHeight] = useState(0);\n const [containerRight, setContainerRight] = useState(0);\n const [containerTop, setContainerTop] = useState(0);\n const [containerLeft, setContainerLeft] = useState(0);\n const [showRightIndicator, setShowRightIndicator] = useState(false);\n const [showLeftIndicator, setShowLeftIndicator] = useState(false);\n\n useEffect(() => {\n const updatePositions = () => {\n if (!containerRef.current) return;\n\n // Update container dimensions\n const canScrollRight =\n containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;\n setShowRightIndicator(canScrollRight);\n setContainerHeight(containerRef.current.clientHeight);\n\n // Calculate container's edges relative to viewport\n const rect = containerRef.current.getBoundingClientRect();\n setContainerRight(rect.right);\n setContainerLeft(rect.left);\n setContainerTop(rect.top);\n };\n\n // Initial update\n updatePositions();\n\n // Observe resize\n const resizeObserver = new ResizeObserver(updatePositions);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n // Handle scroll\n const handleScroll = () => {\n if (!containerRef.current) return;\n\n // Check if we can scroll in either direction\n const canScrollLeft = containerRef.current.scrollLeft > 0;\n const canScrollRight =\n containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;\n\n // Update indicator states\n setShowLeftIndicator(canScrollLeft);\n setShowRightIndicator(canScrollRight);\n\n // Update positions\n updatePositions();\n };\n\n // Add scroll listener\n containerRef?.current?.addEventListener('scroll', handleScroll);\n\n const container = containerRef.current;\n\n return () => {\n if (container) {\n resizeObserver.unobserve(container);\n container.removeEventListener('scroll', handleScroll);\n }\n };\n }, []);\n\n const ScrollIndicator = ({\n isVisible,\n position,\n containerHeight,\n containerTop,\n containerRight,\n onStartScrolling,\n onStopScrolling,\n }: {\n isVisible: boolean;\n position: 'left' | 'right';\n containerHeight: number;\n containerTop: number;\n containerRight: number;\n onStartScrolling: (e: React.MouseEvent | React.TouchEvent) => void;\n onStopScrolling: () => void;\n }) => {\n if (!isVisible) return null;\n\n const styles = {\n top: containerHeight < INDICATOR_HEIGHT ? containerTop : containerTop + (containerHeight - INDICATOR_HEIGHT) / 2,\n width: INDICATOR_WIDTH,\n height: containerHeight < INDICATOR_HEIGHT ? `${containerHeight}px` : `${INDICATOR_HEIGHT}px`,\n } as const;\n\n return (\n <button\n onMouseDown={onStartScrolling}\n onTouchStart={onStartScrolling}\n onMouseUp={onStopScrolling}\n onTouchEnd={onStopScrolling}\n onTouchCancel={onStopScrolling}\n className=\"bg-surface4 text-neutral3 border-surface5 hover:border-neutral3 fixed z-10 flex items-center justify-center rounded-lg border text-2xl hover:text-white\"\n style={{\n ...styles,\n left:\n position === 'left' ? containerLeft + INDICATOR_SPACE : containerRight - INDICATOR_WIDTH - INDICATOR_SPACE,\n }}\n >\n {' '}\n {position === 'left' ? '«' : '»'}\n </button>\n );\n };\n\n const startScrolling = useCallback(\n (direction: 'left' | 'right', e?: React.MouseEvent | React.TouchEvent) => {\n // Prevent default to avoid any text selection or other default behaviors\n e?.preventDefault();\n e?.stopPropagation();\n\n // Clear any existing interval to prevent duplicates\n if (scrollInterval.current) {\n clearInterval(scrollInterval.current);\n scrollInterval.current = null;\n }\n\n // Initial scroll to handle the first click immediately\n if (containerRef.current) {\n containerRef.current.scrollBy({\n left: direction === 'right' ? scrollSpeed * 2 : -scrollSpeed * 2,\n behavior: 'smooth',\n });\n }\n\n // Then start the interval for continuous scrolling\n scrollInterval.current = setInterval(() => {\n if (containerRef.current) {\n containerRef.current.scrollBy({\n left: direction === 'right' ? scrollSpeed : -scrollSpeed,\n behavior: 'smooth',\n });\n }\n }, scrollIntervalTime);\n },\n [scrollSpeed, scrollIntervalTime],\n );\n\n const stopScrolling = useCallback(() => {\n if (scrollInterval.current) {\n clearInterval(scrollInterval.current);\n scrollInterval.current = null;\n }\n }, []);\n\n return (\n <div ref={containerRef} className={cn('relative max-h-full overflow-auto', className)}>\n {children}\n <ScrollIndicator\n isVisible={showLeftIndicator}\n position=\"left\"\n containerHeight={containerHeight}\n containerTop={containerTop}\n containerRight={containerRight}\n onStartScrolling={e => startScrolling('left', e)}\n onStopScrolling={stopScrolling}\n />\n <ScrollIndicator\n isVisible={showRightIndicator}\n position=\"right\"\n containerHeight={containerHeight}\n containerTop={containerTop}\n containerRight={containerRight}\n onStartScrolling={e => startScrolling('right', e)}\n onStopScrolling={stopScrolling}\n />\n </div>\n );\n};\n"],"names":["containerHeight","containerTop","containerRight"],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const React = require('react');
5
+ const utils = require('./utils-vA5sWo9W.cjs');
6
+
7
+ const INDICATOR_WIDTH = 40;
8
+ const INDICATOR_HEIGHT = 150;
9
+ const INDICATOR_SPACE = 10;
10
+ const ScrollableContainer = ({
11
+ className,
12
+ children,
13
+ scrollSpeed = 100,
14
+ scrollIntervalTime = 20
15
+ }) => {
16
+ const containerRef = React.useRef(null);
17
+ const scrollInterval = React.useRef(null);
18
+ const [containerHeight, setContainerHeight] = React.useState(0);
19
+ const [containerRight, setContainerRight] = React.useState(0);
20
+ const [containerTop, setContainerTop] = React.useState(0);
21
+ const [containerLeft, setContainerLeft] = React.useState(0);
22
+ const [showRightIndicator, setShowRightIndicator] = React.useState(false);
23
+ const [showLeftIndicator, setShowLeftIndicator] = React.useState(false);
24
+ React.useEffect(() => {
25
+ const updatePositions = () => {
26
+ if (!containerRef.current) return;
27
+ const canScrollRight = containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;
28
+ setShowRightIndicator(canScrollRight);
29
+ setContainerHeight(containerRef.current.clientHeight);
30
+ const rect = containerRef.current.getBoundingClientRect();
31
+ setContainerRight(rect.right);
32
+ setContainerLeft(rect.left);
33
+ setContainerTop(rect.top);
34
+ };
35
+ updatePositions();
36
+ const resizeObserver = new ResizeObserver(updatePositions);
37
+ if (containerRef.current) {
38
+ resizeObserver.observe(containerRef.current);
39
+ }
40
+ const handleScroll = () => {
41
+ if (!containerRef.current) return;
42
+ const canScrollLeft = containerRef.current.scrollLeft > 0;
43
+ const canScrollRight = containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;
44
+ setShowLeftIndicator(canScrollLeft);
45
+ setShowRightIndicator(canScrollRight);
46
+ updatePositions();
47
+ };
48
+ containerRef?.current?.addEventListener("scroll", handleScroll);
49
+ const container = containerRef.current;
50
+ return () => {
51
+ if (container) {
52
+ resizeObserver.unobserve(container);
53
+ container.removeEventListener("scroll", handleScroll);
54
+ }
55
+ };
56
+ }, []);
57
+ const ScrollIndicator = ({
58
+ isVisible,
59
+ position,
60
+ containerHeight: containerHeight2,
61
+ containerTop: containerTop2,
62
+ containerRight: containerRight2,
63
+ onStartScrolling,
64
+ onStopScrolling
65
+ }) => {
66
+ if (!isVisible) return null;
67
+ const styles = {
68
+ top: containerHeight2 < INDICATOR_HEIGHT ? containerTop2 : containerTop2 + (containerHeight2 - INDICATOR_HEIGHT) / 2,
69
+ width: INDICATOR_WIDTH,
70
+ height: containerHeight2 < INDICATOR_HEIGHT ? `${containerHeight2}px` : `${INDICATOR_HEIGHT}px`
71
+ };
72
+ return /* @__PURE__ */ jsxRuntime.jsxs(
73
+ "button",
74
+ {
75
+ onMouseDown: onStartScrolling,
76
+ onTouchStart: onStartScrolling,
77
+ onMouseUp: onStopScrolling,
78
+ onTouchEnd: onStopScrolling,
79
+ onTouchCancel: onStopScrolling,
80
+ className: "bg-surface4 text-neutral3 border-surface5 hover:border-neutral3 fixed z-10 flex items-center justify-center rounded-lg border text-2xl hover:text-white",
81
+ style: {
82
+ ...styles,
83
+ left: position === "left" ? containerLeft + INDICATOR_SPACE : containerRight2 - INDICATOR_WIDTH - INDICATOR_SPACE
84
+ },
85
+ children: [
86
+ " ",
87
+ position === "left" ? "«" : "»"
88
+ ]
89
+ }
90
+ );
91
+ };
92
+ const startScrolling = React.useCallback(
93
+ (direction, e) => {
94
+ e?.preventDefault();
95
+ e?.stopPropagation();
96
+ if (scrollInterval.current) {
97
+ clearInterval(scrollInterval.current);
98
+ scrollInterval.current = null;
99
+ }
100
+ if (containerRef.current) {
101
+ containerRef.current.scrollBy({
102
+ left: direction === "right" ? scrollSpeed * 2 : -scrollSpeed * 2,
103
+ behavior: "smooth"
104
+ });
105
+ }
106
+ scrollInterval.current = setInterval(() => {
107
+ if (containerRef.current) {
108
+ containerRef.current.scrollBy({
109
+ left: direction === "right" ? scrollSpeed : -scrollSpeed,
110
+ behavior: "smooth"
111
+ });
112
+ }
113
+ }, scrollIntervalTime);
114
+ },
115
+ [scrollSpeed, scrollIntervalTime]
116
+ );
117
+ const stopScrolling = React.useCallback(() => {
118
+ if (scrollInterval.current) {
119
+ clearInterval(scrollInterval.current);
120
+ scrollInterval.current = null;
121
+ }
122
+ }, []);
123
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: utils.cn("relative max-h-full overflow-auto", className), children: [
124
+ children,
125
+ /* @__PURE__ */ jsxRuntime.jsx(
126
+ ScrollIndicator,
127
+ {
128
+ isVisible: showLeftIndicator,
129
+ position: "left",
130
+ containerHeight,
131
+ containerTop,
132
+ containerRight,
133
+ onStartScrolling: (e) => startScrolling("left", e),
134
+ onStopScrolling: stopScrolling
135
+ }
136
+ ),
137
+ /* @__PURE__ */ jsxRuntime.jsx(
138
+ ScrollIndicator,
139
+ {
140
+ isVisible: showRightIndicator,
141
+ position: "right",
142
+ containerHeight,
143
+ containerTop,
144
+ containerRight,
145
+ onStartScrolling: (e) => startScrolling("right", e),
146
+ onStopScrolling: stopScrolling
147
+ }
148
+ )
149
+ ] });
150
+ };
151
+
152
+ exports.ScrollableContainer = ScrollableContainer;
153
+ //# sourceMappingURL=scrollable-container-Btq-TfCL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollable-container-Btq-TfCL.cjs","sources":["../src/ds/components/ScrollableContainer/scrollable-container.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect, useCallback } from 'react';\nimport { cn } from '@/lib/utils';\n\nconst INDICATOR_WIDTH = 40;\nconst INDICATOR_HEIGHT = 150;\nconst INDICATOR_SPACE = 10;\n\nexport type ScrollableContainerProps = {\n className?: string;\n children: React.ReactNode;\n scrollSpeed?: number; // Optional prop to set scroll speed (pixels per interval)\n scrollIntervalTime?: number; // Optional prop to set scroll interval time (ms)\n};\n\nexport const ScrollableContainer = ({\n className,\n children,\n scrollSpeed = 100,\n scrollIntervalTime = 20,\n}: ScrollableContainerProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const scrollInterval = useRef<ReturnType<typeof setInterval> | null>(null);\n\n const [containerHeight, setContainerHeight] = useState(0);\n const [containerRight, setContainerRight] = useState(0);\n const [containerTop, setContainerTop] = useState(0);\n const [containerLeft, setContainerLeft] = useState(0);\n const [showRightIndicator, setShowRightIndicator] = useState(false);\n const [showLeftIndicator, setShowLeftIndicator] = useState(false);\n\n useEffect(() => {\n const updatePositions = () => {\n if (!containerRef.current) return;\n\n // Update container dimensions\n const canScrollRight =\n containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;\n setShowRightIndicator(canScrollRight);\n setContainerHeight(containerRef.current.clientHeight);\n\n // Calculate container's edges relative to viewport\n const rect = containerRef.current.getBoundingClientRect();\n setContainerRight(rect.right);\n setContainerLeft(rect.left);\n setContainerTop(rect.top);\n };\n\n // Initial update\n updatePositions();\n\n // Observe resize\n const resizeObserver = new ResizeObserver(updatePositions);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n // Handle scroll\n const handleScroll = () => {\n if (!containerRef.current) return;\n\n // Check if we can scroll in either direction\n const canScrollLeft = containerRef.current.scrollLeft > 0;\n const canScrollRight =\n containerRef.current.scrollLeft < containerRef.current.scrollWidth - containerRef.current.clientWidth;\n\n // Update indicator states\n setShowLeftIndicator(canScrollLeft);\n setShowRightIndicator(canScrollRight);\n\n // Update positions\n updatePositions();\n };\n\n // Add scroll listener\n containerRef?.current?.addEventListener('scroll', handleScroll);\n\n const container = containerRef.current;\n\n return () => {\n if (container) {\n resizeObserver.unobserve(container);\n container.removeEventListener('scroll', handleScroll);\n }\n };\n }, []);\n\n const ScrollIndicator = ({\n isVisible,\n position,\n containerHeight,\n containerTop,\n containerRight,\n onStartScrolling,\n onStopScrolling,\n }: {\n isVisible: boolean;\n position: 'left' | 'right';\n containerHeight: number;\n containerTop: number;\n containerRight: number;\n onStartScrolling: (e: React.MouseEvent | React.TouchEvent) => void;\n onStopScrolling: () => void;\n }) => {\n if (!isVisible) return null;\n\n const styles = {\n top: containerHeight < INDICATOR_HEIGHT ? containerTop : containerTop + (containerHeight - INDICATOR_HEIGHT) / 2,\n width: INDICATOR_WIDTH,\n height: containerHeight < INDICATOR_HEIGHT ? `${containerHeight}px` : `${INDICATOR_HEIGHT}px`,\n } as const;\n\n return (\n <button\n onMouseDown={onStartScrolling}\n onTouchStart={onStartScrolling}\n onMouseUp={onStopScrolling}\n onTouchEnd={onStopScrolling}\n onTouchCancel={onStopScrolling}\n className=\"bg-surface4 text-neutral3 border-surface5 hover:border-neutral3 fixed z-10 flex items-center justify-center rounded-lg border text-2xl hover:text-white\"\n style={{\n ...styles,\n left:\n position === 'left' ? containerLeft + INDICATOR_SPACE : containerRight - INDICATOR_WIDTH - INDICATOR_SPACE,\n }}\n >\n {' '}\n {position === 'left' ? '«' : '»'}\n </button>\n );\n };\n\n const startScrolling = useCallback(\n (direction: 'left' | 'right', e?: React.MouseEvent | React.TouchEvent) => {\n // Prevent default to avoid any text selection or other default behaviors\n e?.preventDefault();\n e?.stopPropagation();\n\n // Clear any existing interval to prevent duplicates\n if (scrollInterval.current) {\n clearInterval(scrollInterval.current);\n scrollInterval.current = null;\n }\n\n // Initial scroll to handle the first click immediately\n if (containerRef.current) {\n containerRef.current.scrollBy({\n left: direction === 'right' ? scrollSpeed * 2 : -scrollSpeed * 2,\n behavior: 'smooth',\n });\n }\n\n // Then start the interval for continuous scrolling\n scrollInterval.current = setInterval(() => {\n if (containerRef.current) {\n containerRef.current.scrollBy({\n left: direction === 'right' ? scrollSpeed : -scrollSpeed,\n behavior: 'smooth',\n });\n }\n }, scrollIntervalTime);\n },\n [scrollSpeed, scrollIntervalTime],\n );\n\n const stopScrolling = useCallback(() => {\n if (scrollInterval.current) {\n clearInterval(scrollInterval.current);\n scrollInterval.current = null;\n }\n }, []);\n\n return (\n <div ref={containerRef} className={cn('relative max-h-full overflow-auto', className)}>\n {children}\n <ScrollIndicator\n isVisible={showLeftIndicator}\n position=\"left\"\n containerHeight={containerHeight}\n containerTop={containerTop}\n containerRight={containerRight}\n onStartScrolling={e => startScrolling('left', e)}\n onStopScrolling={stopScrolling}\n />\n <ScrollIndicator\n isVisible={showRightIndicator}\n position=\"right\"\n containerHeight={containerHeight}\n containerTop={containerTop}\n containerRight={containerRight}\n onStartScrolling={e => startScrolling('right', e)}\n onStopScrolling={stopScrolling}\n />\n </div>\n );\n};\n"],"names":["useRef","useState","useEffect","containerHeight","containerTop","containerRight","jsxs","useCallback","cn","jsx"],"mappings":"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"}