@dynamic-labs-sdk/droplet 0.0.0 → 0.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/README.md +292 -0
  2. package/dist/components/ask-ai-sheet/ask-ai-sheet.d.ts +11 -0
  3. package/dist/components/ask-ai-sheet/ask-ai-sheet.d.ts.map +1 -0
  4. package/dist/components/ask-ai-sheet/index.d.ts +2 -0
  5. package/dist/components/ask-ai-sheet/index.d.ts.map +1 -0
  6. package/dist/components/asset-icon/asset-icon.d.ts +7 -0
  7. package/dist/components/asset-icon/asset-icon.d.ts.map +1 -0
  8. package/dist/components/asset-icon/index.d.ts +2 -0
  9. package/dist/components/asset-icon/index.d.ts.map +1 -0
  10. package/dist/components/code-block/code-block.d.ts +24 -0
  11. package/dist/components/code-block/code-block.d.ts.map +1 -0
  12. package/dist/components/code-block/code-block.stories.d.ts +38 -0
  13. package/dist/components/code-block/code-block.stories.d.ts.map +1 -0
  14. package/dist/components/code-block/index.d.ts +3 -0
  15. package/dist/components/code-block/index.d.ts.map +1 -0
  16. package/dist/components/copy-button/copy-button.d.ts +9 -0
  17. package/dist/components/copy-button/copy-button.d.ts.map +1 -0
  18. package/dist/components/copy-button/copy-button.stories.d.ts +33 -0
  19. package/dist/components/copy-button/copy-button.stories.d.ts.map +1 -0
  20. package/dist/components/copy-button/index.d.ts +2 -0
  21. package/dist/components/copy-button/index.d.ts.map +1 -0
  22. package/dist/components/danger-zone/danger-zone.d.ts +11 -0
  23. package/dist/components/danger-zone/danger-zone.d.ts.map +1 -0
  24. package/dist/components/danger-zone/danger-zone.stories.d.ts +20 -0
  25. package/dist/components/danger-zone/danger-zone.stories.d.ts.map +1 -0
  26. package/dist/components/danger-zone/index.d.ts +2 -0
  27. package/dist/components/danger-zone/index.d.ts.map +1 -0
  28. package/dist/components/domain-list/domain-list.d.ts +10 -0
  29. package/dist/components/domain-list/domain-list.d.ts.map +1 -0
  30. package/dist/components/domain-list/domain-list.stories.d.ts +14 -0
  31. package/dist/components/domain-list/domain-list.stories.d.ts.map +1 -0
  32. package/dist/components/domain-list/index.d.ts +2 -0
  33. package/dist/components/domain-list/index.d.ts.map +1 -0
  34. package/dist/components/empty-state/empty-state.d.ts +13 -0
  35. package/dist/components/empty-state/empty-state.d.ts.map +1 -0
  36. package/dist/components/empty-state/empty-state.stories.d.ts +15 -0
  37. package/dist/components/empty-state/empty-state.stories.d.ts.map +1 -0
  38. package/dist/components/empty-state/index.d.ts +2 -0
  39. package/dist/components/empty-state/index.d.ts.map +1 -0
  40. package/dist/components/icon-config/icon-config.d.ts +11 -0
  41. package/dist/components/icon-config/icon-config.d.ts.map +1 -0
  42. package/dist/components/icon-config/index.d.ts +2 -0
  43. package/dist/components/icon-config/index.d.ts.map +1 -0
  44. package/dist/components/icons/animated-icon/animated-icon.d.ts +26 -0
  45. package/dist/components/icons/animated-icon/animated-icon.d.ts.map +1 -0
  46. package/dist/components/icons/animated-icon/index.d.ts +3 -0
  47. package/dist/components/icons/animated-icon/index.d.ts.map +1 -0
  48. package/dist/components/icons/arrow-up-right/arrow-up-right.d.ts +6 -0
  49. package/dist/components/icons/arrow-up-right/arrow-up-right.d.ts.map +1 -0
  50. package/dist/components/icons/arrow-up-right/index.d.ts +3 -0
  51. package/dist/components/icons/arrow-up-right/index.d.ts.map +1 -0
  52. package/dist/components/icons/chart-bar-increasing/chart-bar-increasing.d.ts +11 -0
  53. package/dist/components/icons/chart-bar-increasing/chart-bar-increasing.d.ts.map +1 -0
  54. package/dist/components/icons/chart-bar-increasing/index.d.ts +3 -0
  55. package/dist/components/icons/chart-bar-increasing/index.d.ts.map +1 -0
  56. package/dist/components/icons/chevron-down/chevron-down.d.ts +6 -0
  57. package/dist/components/icons/chevron-down/chevron-down.d.ts.map +1 -0
  58. package/dist/components/icons/chevron-down/index.d.ts +3 -0
  59. package/dist/components/icons/chevron-down/index.d.ts.map +1 -0
  60. package/dist/components/icons/chevron-right/chevron-right.d.ts +6 -0
  61. package/dist/components/icons/chevron-right/chevron-right.d.ts.map +1 -0
  62. package/dist/components/icons/chevron-right/index.d.ts +3 -0
  63. package/dist/components/icons/chevron-right/index.d.ts.map +1 -0
  64. package/dist/components/icons/copy/copy.d.ts +6 -0
  65. package/dist/components/icons/copy/copy.d.ts.map +1 -0
  66. package/dist/components/icons/copy/index.d.ts +3 -0
  67. package/dist/components/icons/copy/index.d.ts.map +1 -0
  68. package/dist/components/icons/copy-check/copy-check.d.ts +12 -0
  69. package/dist/components/icons/copy-check/copy-check.d.ts.map +1 -0
  70. package/dist/components/icons/copy-check/index.d.ts +3 -0
  71. package/dist/components/icons/copy-check/index.d.ts.map +1 -0
  72. package/dist/components/icons/dollar-sign/dollar-sign.d.ts +6 -0
  73. package/dist/components/icons/dollar-sign/dollar-sign.d.ts.map +1 -0
  74. package/dist/components/icons/dollar-sign/index.d.ts +3 -0
  75. package/dist/components/icons/dollar-sign/index.d.ts.map +1 -0
  76. package/dist/components/icons/download/download.d.ts +6 -0
  77. package/dist/components/icons/download/download.d.ts.map +1 -0
  78. package/dist/components/icons/download/index.d.ts +3 -0
  79. package/dist/components/icons/download/index.d.ts.map +1 -0
  80. package/dist/components/icons/fingerprint/fingerprint.d.ts +6 -0
  81. package/dist/components/icons/fingerprint/fingerprint.d.ts.map +1 -0
  82. package/dist/components/icons/fingerprint/index.d.ts +3 -0
  83. package/dist/components/icons/fingerprint/index.d.ts.map +1 -0
  84. package/dist/components/icons/home/home.d.ts +6 -0
  85. package/dist/components/icons/home/home.d.ts.map +1 -0
  86. package/dist/components/icons/home/index.d.ts +3 -0
  87. package/dist/components/icons/home/index.d.ts.map +1 -0
  88. package/dist/components/icons/key/index.d.ts +3 -0
  89. package/dist/components/icons/key/index.d.ts.map +1 -0
  90. package/dist/components/icons/key/key.d.ts +6 -0
  91. package/dist/components/icons/key/key.d.ts.map +1 -0
  92. package/dist/components/icons/layout-panel-top/index.d.ts +3 -0
  93. package/dist/components/icons/layout-panel-top/index.d.ts.map +1 -0
  94. package/dist/components/icons/layout-panel-top/layout-panel-top.d.ts +6 -0
  95. package/dist/components/icons/layout-panel-top/layout-panel-top.d.ts.map +1 -0
  96. package/dist/components/icons/link/index.d.ts +3 -0
  97. package/dist/components/icons/link/index.d.ts.map +1 -0
  98. package/dist/components/icons/link/link.d.ts +6 -0
  99. package/dist/components/icons/link/link.d.ts.map +1 -0
  100. package/dist/components/icons/mcp-tools/index.d.ts +2 -0
  101. package/dist/components/icons/mcp-tools/index.d.ts.map +1 -0
  102. package/dist/components/icons/mcp-tools/mcp-tools.d.ts +11 -0
  103. package/dist/components/icons/mcp-tools/mcp-tools.d.ts.map +1 -0
  104. package/dist/components/icons/moon/index.d.ts +3 -0
  105. package/dist/components/icons/moon/index.d.ts.map +1 -0
  106. package/dist/components/icons/moon/moon.d.ts +6 -0
  107. package/dist/components/icons/moon/moon.d.ts.map +1 -0
  108. package/dist/components/icons/panel-left-close/index.d.ts +3 -0
  109. package/dist/components/icons/panel-left-close/index.d.ts.map +1 -0
  110. package/dist/components/icons/panel-left-close/panel-left-close.d.ts +6 -0
  111. package/dist/components/icons/panel-left-close/panel-left-close.d.ts.map +1 -0
  112. package/dist/components/icons/panel-left-open/index.d.ts +3 -0
  113. package/dist/components/icons/panel-left-open/index.d.ts.map +1 -0
  114. package/dist/components/icons/panel-left-open/panel-left-open.d.ts +6 -0
  115. package/dist/components/icons/panel-left-open/panel-left-open.d.ts.map +1 -0
  116. package/dist/components/icons/plus/index.d.ts +3 -0
  117. package/dist/components/icons/plus/index.d.ts.map +1 -0
  118. package/dist/components/icons/plus/plus.d.ts +6 -0
  119. package/dist/components/icons/plus/plus.d.ts.map +1 -0
  120. package/dist/components/icons/refresh-cw/index.d.ts +3 -0
  121. package/dist/components/icons/refresh-cw/index.d.ts.map +1 -0
  122. package/dist/components/icons/refresh-cw/refresh-cw.d.ts +6 -0
  123. package/dist/components/icons/refresh-cw/refresh-cw.d.ts.map +1 -0
  124. package/dist/components/icons/search/index.d.ts +3 -0
  125. package/dist/components/icons/search/index.d.ts.map +1 -0
  126. package/dist/components/icons/search/search.d.ts +6 -0
  127. package/dist/components/icons/search/search.d.ts.map +1 -0
  128. package/dist/components/icons/settings/index.d.ts +3 -0
  129. package/dist/components/icons/settings/index.d.ts.map +1 -0
  130. package/dist/components/icons/settings/settings.d.ts +6 -0
  131. package/dist/components/icons/settings/settings.d.ts.map +1 -0
  132. package/dist/components/icons/shield-check/index.d.ts +3 -0
  133. package/dist/components/icons/shield-check/index.d.ts.map +1 -0
  134. package/dist/components/icons/shield-check/shield-check.d.ts +6 -0
  135. package/dist/components/icons/shield-check/shield-check.d.ts.map +1 -0
  136. package/dist/components/icons/sun/index.d.ts +3 -0
  137. package/dist/components/icons/sun/index.d.ts.map +1 -0
  138. package/dist/components/icons/sun/sun.d.ts +6 -0
  139. package/dist/components/icons/sun/sun.d.ts.map +1 -0
  140. package/dist/components/icons/terminal/index.d.ts +3 -0
  141. package/dist/components/icons/terminal/index.d.ts.map +1 -0
  142. package/dist/components/icons/terminal/terminal.d.ts +6 -0
  143. package/dist/components/icons/terminal/terminal.d.ts.map +1 -0
  144. package/dist/components/icons/users/index.d.ts +3 -0
  145. package/dist/components/icons/users/index.d.ts.map +1 -0
  146. package/dist/components/icons/users/users.d.ts +6 -0
  147. package/dist/components/icons/users/users.d.ts.map +1 -0
  148. package/dist/components/info-banner/index.d.ts +2 -0
  149. package/dist/components/info-banner/index.d.ts.map +1 -0
  150. package/dist/components/info-banner/info-banner.d.ts +9 -0
  151. package/dist/components/info-banner/info-banner.d.ts.map +1 -0
  152. package/dist/components/info-banner/info-banner.stories.d.ts +23 -0
  153. package/dist/components/info-banner/info-banner.stories.d.ts.map +1 -0
  154. package/dist/components/loading-skeleton/index.d.ts +2 -0
  155. package/dist/components/loading-skeleton/index.d.ts.map +1 -0
  156. package/dist/components/loading-skeleton/loading-skeleton.d.ts +19 -0
  157. package/dist/components/loading-skeleton/loading-skeleton.d.ts.map +1 -0
  158. package/dist/components/metric-card/index.d.ts +2 -0
  159. package/dist/components/metric-card/index.d.ts.map +1 -0
  160. package/dist/components/metric-card/metric-card.d.ts +31 -0
  161. package/dist/components/metric-card/metric-card.d.ts.map +1 -0
  162. package/dist/components/metric-card/metric-card.stories.d.ts +16 -0
  163. package/dist/components/metric-card/metric-card.stories.d.ts.map +1 -0
  164. package/dist/components/migration/banner/banner.d.ts +24 -0
  165. package/dist/components/migration/banner/banner.d.ts.map +1 -0
  166. package/dist/components/migration/banner/banner.stories.d.ts +39 -0
  167. package/dist/components/migration/banner/banner.stories.d.ts.map +1 -0
  168. package/dist/components/migration/banner/index.d.ts +2 -0
  169. package/dist/components/migration/banner/index.d.ts.map +1 -0
  170. package/dist/components/migration/double-section/double-section.d.ts +29 -0
  171. package/dist/components/migration/double-section/double-section.d.ts.map +1 -0
  172. package/dist/components/migration/double-section/double-section.stories.d.ts +32 -0
  173. package/dist/components/migration/double-section/double-section.stories.d.ts.map +1 -0
  174. package/dist/components/migration/double-section/index.d.ts +2 -0
  175. package/dist/components/migration/double-section/index.d.ts.map +1 -0
  176. package/dist/components/migration/field/field.d.ts +19 -0
  177. package/dist/components/migration/field/field.d.ts.map +1 -0
  178. package/dist/components/migration/field/field.stories.d.ts +43 -0
  179. package/dist/components/migration/field/field.stories.d.ts.map +1 -0
  180. package/dist/components/migration/field/index.d.ts +2 -0
  181. package/dist/components/migration/field/index.d.ts.map +1 -0
  182. package/dist/components/migration/index.d.ts +16 -0
  183. package/dist/components/migration/index.d.ts.map +1 -0
  184. package/dist/components/migration/settings-section-v2/index.d.ts +2 -0
  185. package/dist/components/migration/settings-section-v2/index.d.ts.map +1 -0
  186. package/dist/components/migration/settings-section-v2/settings-section-v2.d.ts +45 -0
  187. package/dist/components/migration/settings-section-v2/settings-section-v2.d.ts.map +1 -0
  188. package/dist/components/migration/settings-section-v2/settings-section-v2.stories.d.ts +40 -0
  189. package/dist/components/migration/settings-section-v2/settings-section-v2.stories.d.ts.map +1 -0
  190. package/dist/components/migration/sub-section/index.d.ts +2 -0
  191. package/dist/components/migration/sub-section/index.d.ts.map +1 -0
  192. package/dist/components/migration/sub-section/sub-section.d.ts +26 -0
  193. package/dist/components/migration/sub-section/sub-section.d.ts.map +1 -0
  194. package/dist/components/migration/sub-section/sub-section.stories.d.ts +33 -0
  195. package/dist/components/migration/sub-section/sub-section.stories.d.ts.map +1 -0
  196. package/dist/components/migration/toggle-group/index.d.ts +2 -0
  197. package/dist/components/migration/toggle-group/index.d.ts.map +1 -0
  198. package/dist/components/migration/toggle-group/toggle-group.d.ts +22 -0
  199. package/dist/components/migration/toggle-group/toggle-group.d.ts.map +1 -0
  200. package/dist/components/migration/toggle-group/toggle-group.stories.d.ts +21 -0
  201. package/dist/components/migration/toggle-group/toggle-group.stories.d.ts.map +1 -0
  202. package/dist/components/page-actions/index.d.ts +2 -0
  203. package/dist/components/page-actions/index.d.ts.map +1 -0
  204. package/dist/components/page-actions/page-actions.d.ts +5 -0
  205. package/dist/components/page-actions/page-actions.d.ts.map +1 -0
  206. package/dist/components/patterns/config-tab-with-pill/config-tab-with-pill.stories.d.ts +17 -0
  207. package/dist/components/patterns/config-tab-with-pill/config-tab-with-pill.stories.d.ts.map +1 -0
  208. package/dist/components/patterns/cors-list/cors-list.stories.d.ts +17 -0
  209. package/dist/components/patterns/cors-list/cors-list.stories.d.ts.map +1 -0
  210. package/dist/components/patterns/rounded-row-list/rounded-row-list.stories.d.ts +17 -0
  211. package/dist/components/patterns/rounded-row-list/rounded-row-list.stories.d.ts.map +1 -0
  212. package/dist/components/patterns/save-in-modal/save-in-modal.stories.d.ts +18 -0
  213. package/dist/components/patterns/save-in-modal/save-in-modal.stories.d.ts.map +1 -0
  214. package/dist/components/patterns/stat-card-grid/stat-card-grid.stories.d.ts +17 -0
  215. package/dist/components/patterns/stat-card-grid/stat-card-grid.stories.d.ts.map +1 -0
  216. package/dist/components/product-page-layout/index.d.ts +2 -0
  217. package/dist/components/product-page-layout/index.d.ts.map +1 -0
  218. package/dist/components/product-page-layout/product-page-layout.d.ts +20 -0
  219. package/dist/components/product-page-layout/product-page-layout.d.ts.map +1 -0
  220. package/dist/components/product-page-layout/product-page-layout.stories.d.ts +14 -0
  221. package/dist/components/product-page-layout/product-page-layout.stories.d.ts.map +1 -0
  222. package/dist/components/settings-section/index.d.ts +2 -0
  223. package/dist/components/settings-section/index.d.ts.map +1 -0
  224. package/dist/components/settings-section/settings-section.d.ts +10 -0
  225. package/dist/components/settings-section/settings-section.d.ts.map +1 -0
  226. package/dist/components/settings-section/settings-section.stories.d.ts +26 -0
  227. package/dist/components/settings-section/settings-section.stories.d.ts.map +1 -0
  228. package/dist/components/status-badge/index.d.ts +2 -0
  229. package/dist/components/status-badge/index.d.ts.map +1 -0
  230. package/dist/components/status-badge/status-badge.d.ts +9 -0
  231. package/dist/components/status-badge/status-badge.d.ts.map +1 -0
  232. package/dist/components/status-badge/status-badge.stories.d.ts +24 -0
  233. package/dist/components/status-badge/status-badge.stories.d.ts.map +1 -0
  234. package/dist/components/toggle-card/index.d.ts +2 -0
  235. package/dist/components/toggle-card/index.d.ts.map +1 -0
  236. package/dist/components/toggle-card/toggle-card.d.ts +113 -0
  237. package/dist/components/toggle-card/toggle-card.d.ts.map +1 -0
  238. package/dist/components/toggle-card/toggle-card.stories.d.ts +45 -0
  239. package/dist/components/toggle-card/toggle-card.stories.d.ts.map +1 -0
  240. package/dist/components/toggle-row/index.d.ts +2 -0
  241. package/dist/components/toggle-row/index.d.ts.map +1 -0
  242. package/dist/components/toggle-row/toggle-row.d.ts +16 -0
  243. package/dist/components/toggle-row/toggle-row.d.ts.map +1 -0
  244. package/dist/components/toggle-row/toggle-row.stories.d.ts +33 -0
  245. package/dist/components/toggle-row/toggle-row.stories.d.ts.map +1 -0
  246. package/dist/components/tokens/colors/colors.stories.d.ts +22 -0
  247. package/dist/components/tokens/colors/colors.stories.d.ts.map +1 -0
  248. package/dist/components/tokens/radius/radius.stories.d.ts +18 -0
  249. package/dist/components/tokens/radius/radius.stories.d.ts.map +1 -0
  250. package/dist/components/tokens/shadows/shadows.stories.d.ts +18 -0
  251. package/dist/components/tokens/shadows/shadows.stories.d.ts.map +1 -0
  252. package/dist/components/tokens/spacing/spacing.stories.d.ts +17 -0
  253. package/dist/components/tokens/spacing/spacing.stories.d.ts.map +1 -0
  254. package/dist/components/tokens/typography/typography.stories.d.ts +17 -0
  255. package/dist/components/tokens/typography/typography.stories.d.ts.map +1 -0
  256. package/dist/components/ui/accordion/accordion.d.ts +8 -0
  257. package/dist/components/ui/accordion/accordion.d.ts.map +1 -0
  258. package/dist/components/ui/accordion/index.d.ts +2 -0
  259. package/dist/components/ui/accordion/index.d.ts.map +1 -0
  260. package/dist/components/ui/alert-dialog/alert-dialog.d.ts +19 -0
  261. package/dist/components/ui/alert-dialog/alert-dialog.d.ts.map +1 -0
  262. package/dist/components/ui/alert-dialog/alert-dialog.stories.d.ts +13 -0
  263. package/dist/components/ui/alert-dialog/alert-dialog.stories.d.ts.map +1 -0
  264. package/dist/components/ui/alert-dialog/index.d.ts +2 -0
  265. package/dist/components/ui/alert-dialog/index.d.ts.map +1 -0
  266. package/dist/components/ui/avatar/avatar.d.ts +12 -0
  267. package/dist/components/ui/avatar/avatar.d.ts.map +1 -0
  268. package/dist/components/ui/avatar/avatar.stories.d.ts +17 -0
  269. package/dist/components/ui/avatar/avatar.stories.d.ts.map +1 -0
  270. package/dist/components/ui/avatar/index.d.ts +2 -0
  271. package/dist/components/ui/avatar/index.d.ts.map +1 -0
  272. package/dist/components/ui/badge/badge.d.ts +10 -0
  273. package/dist/components/ui/badge/badge.d.ts.map +1 -0
  274. package/dist/components/ui/badge/badge.stories.d.ts +29 -0
  275. package/dist/components/ui/badge/badge.stories.d.ts.map +1 -0
  276. package/dist/components/ui/badge/index.d.ts +2 -0
  277. package/dist/components/ui/badge/index.d.ts.map +1 -0
  278. package/dist/components/ui/button/button.d.ts +11 -0
  279. package/dist/components/ui/button/button.d.ts.map +1 -0
  280. package/dist/components/ui/button/button.stories.d.ts +42 -0
  281. package/dist/components/ui/button/button.stories.d.ts.map +1 -0
  282. package/dist/components/ui/button/index.d.ts +2 -0
  283. package/dist/components/ui/button/index.d.ts.map +1 -0
  284. package/dist/components/ui/card/card.d.ts +10 -0
  285. package/dist/components/ui/card/card.d.ts.map +1 -0
  286. package/dist/components/ui/card/card.stories.d.ts +14 -0
  287. package/dist/components/ui/card/card.stories.d.ts.map +1 -0
  288. package/dist/components/ui/card/index.d.ts +2 -0
  289. package/dist/components/ui/card/index.d.ts.map +1 -0
  290. package/dist/components/ui/check-icon/check-icon.d.ts +7 -0
  291. package/dist/components/ui/check-icon/check-icon.d.ts.map +1 -0
  292. package/dist/components/ui/check-icon/index.d.ts +2 -0
  293. package/dist/components/ui/check-icon/index.d.ts.map +1 -0
  294. package/dist/components/ui/checkbox/checkbox.d.ts +5 -0
  295. package/dist/components/ui/checkbox/checkbox.d.ts.map +1 -0
  296. package/dist/components/ui/checkbox/checkbox.stories.d.ts +18 -0
  297. package/dist/components/ui/checkbox/checkbox.stories.d.ts.map +1 -0
  298. package/dist/components/ui/checkbox/index.d.ts +2 -0
  299. package/dist/components/ui/checkbox/index.d.ts.map +1 -0
  300. package/dist/components/ui/collapsible/collapsible.d.ts +7 -0
  301. package/dist/components/ui/collapsible/collapsible.d.ts.map +1 -0
  302. package/dist/components/ui/collapsible/collapsible.stories.d.ts +14 -0
  303. package/dist/components/ui/collapsible/collapsible.stories.d.ts.map +1 -0
  304. package/dist/components/ui/collapsible/index.d.ts +2 -0
  305. package/dist/components/ui/collapsible/index.d.ts.map +1 -0
  306. package/dist/components/ui/command/command.d.ts +18 -0
  307. package/dist/components/ui/command/command.d.ts.map +1 -0
  308. package/dist/components/ui/command/index.d.ts +2 -0
  309. package/dist/components/ui/command/index.d.ts.map +1 -0
  310. package/dist/components/ui/dialog/dialog.d.ts +19 -0
  311. package/dist/components/ui/dialog/dialog.d.ts.map +1 -0
  312. package/dist/components/ui/dialog/dialog.stories.d.ts +15 -0
  313. package/dist/components/ui/dialog/dialog.stories.d.ts.map +1 -0
  314. package/dist/components/ui/dialog/index.d.ts +2 -0
  315. package/dist/components/ui/dialog/index.d.ts.map +1 -0
  316. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +26 -0
  317. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  318. package/dist/components/ui/dropdown-menu/dropdown-menu.stories.d.ts +14 -0
  319. package/dist/components/ui/dropdown-menu/dropdown-menu.stories.d.ts.map +1 -0
  320. package/dist/components/ui/dropdown-menu/index.d.ts +2 -0
  321. package/dist/components/ui/dropdown-menu/index.d.ts.map +1 -0
  322. package/dist/components/ui/flush-card-detach/flush-card-detach.stories.d.ts +17 -0
  323. package/dist/components/ui/flush-card-detach/flush-card-detach.stories.d.ts.map +1 -0
  324. package/dist/components/ui/icon/icon.d.ts +4 -0
  325. package/dist/components/ui/icon/icon.d.ts.map +1 -0
  326. package/dist/components/ui/icon/index.d.ts +2 -0
  327. package/dist/components/ui/icon/index.d.ts.map +1 -0
  328. package/dist/components/ui/input/index.d.ts +2 -0
  329. package/dist/components/ui/input/index.d.ts.map +1 -0
  330. package/dist/components/ui/input/input.d.ts +24 -0
  331. package/dist/components/ui/input/input.d.ts.map +1 -0
  332. package/dist/components/ui/input/input.stories.d.ts +36 -0
  333. package/dist/components/ui/input/input.stories.d.ts.map +1 -0
  334. package/dist/components/ui/kbd/index.d.ts +2 -0
  335. package/dist/components/ui/kbd/index.d.ts.map +1 -0
  336. package/dist/components/ui/kbd/kbd.d.ts +5 -0
  337. package/dist/components/ui/kbd/kbd.d.ts.map +1 -0
  338. package/dist/components/ui/label/index.d.ts +2 -0
  339. package/dist/components/ui/label/index.d.ts.map +1 -0
  340. package/dist/components/ui/label/label.d.ts +4 -0
  341. package/dist/components/ui/label/label.d.ts.map +1 -0
  342. package/dist/components/ui/label/label.stories.d.ts +14 -0
  343. package/dist/components/ui/label/label.stories.d.ts.map +1 -0
  344. package/dist/components/ui/popover/index.d.ts +2 -0
  345. package/dist/components/ui/popover/index.d.ts.map +1 -0
  346. package/dist/components/ui/popover/popover.d.ts +11 -0
  347. package/dist/components/ui/popover/popover.d.ts.map +1 -0
  348. package/dist/components/ui/popover/popover.stories.d.ts +13 -0
  349. package/dist/components/ui/popover/popover.stories.d.ts.map +1 -0
  350. package/dist/components/ui/progress/index.d.ts +2 -0
  351. package/dist/components/ui/progress/index.d.ts.map +1 -0
  352. package/dist/components/ui/progress/progress.d.ts +12 -0
  353. package/dist/components/ui/progress/progress.d.ts.map +1 -0
  354. package/dist/components/ui/progress/progress.stories.d.ts +17 -0
  355. package/dist/components/ui/progress/progress.stories.d.ts.map +1 -0
  356. package/dist/components/ui/radio-group/index.d.ts +2 -0
  357. package/dist/components/ui/radio-group/index.d.ts.map +1 -0
  358. package/dist/components/ui/radio-group/radio-group.d.ts +6 -0
  359. package/dist/components/ui/radio-group/radio-group.d.ts.map +1 -0
  360. package/dist/components/ui/radio-group/radio-group.stories.d.ts +14 -0
  361. package/dist/components/ui/radio-group/radio-group.stories.d.ts.map +1 -0
  362. package/dist/components/ui/scroll-area/index.d.ts +2 -0
  363. package/dist/components/ui/scroll-area/index.d.ts.map +1 -0
  364. package/dist/components/ui/scroll-area/scroll-area.d.ts +6 -0
  365. package/dist/components/ui/scroll-area/scroll-area.d.ts.map +1 -0
  366. package/dist/components/ui/search-input/index.d.ts +2 -0
  367. package/dist/components/ui/search-input/index.d.ts.map +1 -0
  368. package/dist/components/ui/search-input/search-input.d.ts +7 -0
  369. package/dist/components/ui/search-input/search-input.d.ts.map +1 -0
  370. package/dist/components/ui/select/index.d.ts +2 -0
  371. package/dist/components/ui/select/index.d.ts.map +1 -0
  372. package/dist/components/ui/select/select.d.ts +16 -0
  373. package/dist/components/ui/select/select.d.ts.map +1 -0
  374. package/dist/components/ui/select/select.stories.d.ts +16 -0
  375. package/dist/components/ui/select/select.stories.d.ts.map +1 -0
  376. package/dist/components/ui/selectable-card/index.d.ts +2 -0
  377. package/dist/components/ui/selectable-card/index.d.ts.map +1 -0
  378. package/dist/components/ui/selectable-card/selectable-card.d.ts +14 -0
  379. package/dist/components/ui/selectable-card/selectable-card.d.ts.map +1 -0
  380. package/dist/components/ui/selectable-card/selectable-card.stories.d.ts +20 -0
  381. package/dist/components/ui/selectable-card/selectable-card.stories.d.ts.map +1 -0
  382. package/dist/components/ui/separator/index.d.ts +2 -0
  383. package/dist/components/ui/separator/index.d.ts.map +1 -0
  384. package/dist/components/ui/separator/separator.d.ts +3 -0
  385. package/dist/components/ui/separator/separator.d.ts.map +1 -0
  386. package/dist/components/ui/separator/separator.stories.d.ts +14 -0
  387. package/dist/components/ui/separator/separator.stories.d.ts.map +1 -0
  388. package/dist/components/ui/sheet/index.d.ts +2 -0
  389. package/dist/components/ui/sheet/index.d.ts.map +1 -0
  390. package/dist/components/ui/sheet/sheet.d.ts +16 -0
  391. package/dist/components/ui/sheet/sheet.d.ts.map +1 -0
  392. package/dist/components/ui/sheet/sheet.stories.d.ts +14 -0
  393. package/dist/components/ui/sheet/sheet.stories.d.ts.map +1 -0
  394. package/dist/components/ui/skeleton/index.d.ts +2 -0
  395. package/dist/components/ui/skeleton/index.d.ts.map +1 -0
  396. package/dist/components/ui/skeleton/skeleton.d.ts +4 -0
  397. package/dist/components/ui/skeleton/skeleton.d.ts.map +1 -0
  398. package/dist/components/ui/skeleton/skeleton.stories.d.ts +15 -0
  399. package/dist/components/ui/skeleton/skeleton.stories.d.ts.map +1 -0
  400. package/dist/components/ui/sonner/index.d.ts +2 -0
  401. package/dist/components/ui/sonner/index.d.ts.map +1 -0
  402. package/dist/components/ui/sonner/sonner.d.ts +4 -0
  403. package/dist/components/ui/sonner/sonner.d.ts.map +1 -0
  404. package/dist/components/ui/spinner/index.d.ts +2 -0
  405. package/dist/components/ui/spinner/index.d.ts.map +1 -0
  406. package/dist/components/ui/spinner/spinner.d.ts +5 -0
  407. package/dist/components/ui/spinner/spinner.d.ts.map +1 -0
  408. package/dist/components/ui/spinner/spinner.stories.d.ts +17 -0
  409. package/dist/components/ui/spinner/spinner.stories.d.ts.map +1 -0
  410. package/dist/components/ui/switch/index.d.ts +2 -0
  411. package/dist/components/ui/switch/index.d.ts.map +1 -0
  412. package/dist/components/ui/switch/switch.d.ts +5 -0
  413. package/dist/components/ui/switch/switch.d.ts.map +1 -0
  414. package/dist/components/ui/switch/switch.stories.d.ts +29 -0
  415. package/dist/components/ui/switch/switch.stories.d.ts.map +1 -0
  416. package/dist/components/ui/table/index.d.ts +2 -0
  417. package/dist/components/ui/table/index.d.ts.map +1 -0
  418. package/dist/components/ui/table/table.d.ts +11 -0
  419. package/dist/components/ui/table/table.d.ts.map +1 -0
  420. package/dist/components/ui/table/table.stories.d.ts +13 -0
  421. package/dist/components/ui/table/table.stories.d.ts.map +1 -0
  422. package/dist/components/ui/tabs/index.d.ts +2 -0
  423. package/dist/components/ui/tabs/index.d.ts.map +1 -0
  424. package/dist/components/ui/tabs/tabs.d.ts +12 -0
  425. package/dist/components/ui/tabs/tabs.d.ts.map +1 -0
  426. package/dist/components/ui/tabs/tabs.stories.d.ts +13 -0
  427. package/dist/components/ui/tabs/tabs.stories.d.ts.map +1 -0
  428. package/dist/components/ui/textarea/index.d.ts +2 -0
  429. package/dist/components/ui/textarea/index.d.ts.map +1 -0
  430. package/dist/components/ui/textarea/textarea.d.ts +4 -0
  431. package/dist/components/ui/textarea/textarea.d.ts.map +1 -0
  432. package/dist/components/ui/textarea/textarea.stories.d.ts +14 -0
  433. package/dist/components/ui/textarea/textarea.stories.d.ts.map +1 -0
  434. package/dist/components/ui/tooltip/index.d.ts +2 -0
  435. package/dist/components/ui/tooltip/index.d.ts.map +1 -0
  436. package/dist/components/ui/tooltip/tooltip.d.ts +6 -0
  437. package/dist/components/ui/tooltip/tooltip.d.ts.map +1 -0
  438. package/dist/components/ui/tooltip/tooltip.stories.d.ts +14 -0
  439. package/dist/components/ui/tooltip/tooltip.stories.d.ts.map +1 -0
  440. package/dist/components/ui/well/index.d.ts +2 -0
  441. package/dist/components/ui/well/index.d.ts.map +1 -0
  442. package/dist/components/ui/well/well.d.ts +15 -0
  443. package/dist/components/ui/well/well.d.ts.map +1 -0
  444. package/dist/components/ui/well/well.stories.d.ts +39 -0
  445. package/dist/components/ui/well/well.stories.d.ts.map +1 -0
  446. package/dist/components/unsaved-changes-bar/index.d.ts +2 -0
  447. package/dist/components/unsaved-changes-bar/index.d.ts.map +1 -0
  448. package/dist/components/unsaved-changes-bar/unsaved-changes-bar.d.ts +22 -0
  449. package/dist/components/unsaved-changes-bar/unsaved-changes-bar.d.ts.map +1 -0
  450. package/dist/components/unsaved-changes-bar/unsaved-changes-bar.stories.d.ts +15 -0
  451. package/dist/components/unsaved-changes-bar/unsaved-changes-bar.stories.d.ts.map +1 -0
  452. package/dist/index.cjs +4064 -0
  453. package/dist/index.cjs.map +1 -0
  454. package/dist/index.d.ts +80 -0
  455. package/dist/index.d.ts.map +1 -0
  456. package/dist/index.esm.js +3851 -0
  457. package/dist/index.esm.js.map +1 -0
  458. package/dist/lib/utils.d.ts +3 -0
  459. package/dist/lib/utils.d.ts.map +1 -0
  460. package/dist/migration.cjs +328 -0
  461. package/dist/migration.cjs.map +1 -0
  462. package/dist/migration.esm.js +322 -0
  463. package/dist/migration.esm.js.map +1 -0
  464. package/dist/toggle-row-7lfPUutt.cjs +320 -0
  465. package/dist/toggle-row-7lfPUutt.cjs.map +1 -0
  466. package/dist/toggle-row-B5iXNWCJ.esm.js +278 -0
  467. package/dist/toggle-row-B5iXNWCJ.esm.js.map +1 -0
  468. package/package.json +91 -1
  469. package/src/styles/globals.css +615 -0
package/README.md ADDED
@@ -0,0 +1,292 @@
1
+ # `@dynamic-labs-sdk/droplet`
2
+
3
+ Dynamic Labs' internal React component library. Built on Radix UI primitives, Tailwind CSS v4, and an OKLCH-based design token system. Ships with 35+ components, animated icons, dark mode, and a live Storybook.
4
+
5
+ ---
6
+
7
+ ## Installation
8
+
9
+ This package is internal to the `dynamic-js-sdk` monorepo. Add it as a workspace dependency:
10
+
11
+ ```json
12
+ {
13
+ "dependencies": {
14
+ "@dynamic-labs-sdk/droplet": "workspace:*"
15
+ }
16
+ }
17
+ ```
18
+
19
+ ---
20
+
21
+ ## Setup
22
+
23
+ Import the design tokens stylesheet **once at your app root**. This provides the full color, shadow, radius, and typography token system and is required for all components to render correctly.
24
+
25
+ ```ts
26
+ import '@dynamic-labs-sdk/droplet/styles/globals.css';
27
+ ```
28
+
29
+ If you're consuming from a source workspace (not the built `dist/`), use the relative path instead:
30
+
31
+ ```ts
32
+ import '../../packages/droplet/src/styles/globals.css';
33
+ ```
34
+
35
+ Your bundler must support Tailwind CSS v4 via the `@tailwindcss/vite` plugin:
36
+
37
+ ```ts
38
+ // vite.config.ts
39
+ import tailwindcss from '@tailwindcss/vite';
40
+ import { defineConfig } from 'vite';
41
+
42
+ export default defineConfig({
43
+ plugins: [tailwindcss()],
44
+ });
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Usage
50
+
51
+ ```tsx
52
+ import {
53
+ Button,
54
+ Card,
55
+ CardContent,
56
+ CardHeader,
57
+ CardTitle,
58
+ Badge,
59
+ } from '@dynamic-labs-sdk/droplet';
60
+
61
+ export const Example = () => (
62
+ <Card>
63
+ <CardHeader>
64
+ <CardTitle>
65
+ My Feature
66
+ <Badge variant="brand">New</Badge>
67
+ </CardTitle>
68
+ </CardHeader>
69
+ <CardContent>
70
+ <Button>Get started</Button>
71
+ </CardContent>
72
+ </Card>
73
+ );
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Components
79
+
80
+ ### UI Primitives
81
+
82
+ Thin wrappers over [Radix UI](https://www.radix-ui.com/) primitives with full token-based styling.
83
+
84
+ | Export | Description |
85
+ | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
86
+ | `Accordion`, `AccordionItem`, `AccordionTrigger`, `AccordionContent` | Collapsible content sections |
87
+ | `AlertDialog`, `AlertDialogTrigger`, `AlertDialogContent`, `AlertDialogAction`, `AlertDialogCancel`, ... | Destructive action confirmation modal |
88
+ | `Avatar`, `AvatarImage`, `AvatarFallback` | User avatar with initials fallback |
89
+ | `Badge` | Semantic status/label chip. Variants: `default`, `secondary`, `outline`, `destructive`, `brand`, `success`, `warning`, `process` |
90
+ | `Button` | Primary interactive element. Variants: `default`, `secondary`, `outline`, `ghost`, `destructive`, `link` |
91
+ | `Card`, `CardHeader`, `CardTitle`, `CardDescription`, `CardContent`, `CardFooter` | Composable card layout |
92
+ | `Checkbox` | Accessible checkbox with draw-on animation |
93
+ | `Collapsible`, `CollapsibleTrigger`, `CollapsibleContent` | Togglable content region |
94
+ | `Command`, `CommandInput`, `CommandList`, `CommandItem`, `CommandGroup`, ... | Headless command palette (cmdk) |
95
+ | `Dialog`, `DialogTrigger`, `DialogContent`, `DialogHeader`, `DialogTitle`, `DialogBody`, `DialogFooter`, ... | Accessible modal dialog |
96
+ | `DropdownMenu`, `DropdownMenuTrigger`, `DropdownMenuContent`, `DropdownMenuItem`, ... | Keyboard-navigable dropdown |
97
+ | `Icon` | Wrapper for HugeIcons with consistent stroke width |
98
+ | `Input` | Text input with field shadow system |
99
+ | `Kbd` | Keyboard shortcut display (`⌘K`) |
100
+ | `Label` | Form label linked to control |
101
+ | `Popover`, `PopoverTrigger`, `PopoverContent`, `PopoverAnchor` | Floating content panel |
102
+ | `Progress` | Progress bar, determinate and indeterminate |
103
+ | `RadioGroup`, `RadioGroupItem` | Radio button group with hover dot |
104
+ | `ScrollArea`, `ScrollBar` | Custom-styled scrollable container |
105
+ | `SearchInput` | Input with leading search icon |
106
+ | `Select`, `SelectTrigger`, `SelectContent`, `SelectItem`, `SelectValue`, ... | Radix-backed select |
107
+ | `SelectableCard` | Card with embedded checkbox/radio state |
108
+ | `Separator` | Horizontal or vertical divider |
109
+ | `Sheet`, `SheetTrigger`, `SheetContent`, `SheetHeader`, `SheetTitle`, `SheetFooter`, ... | Side drawer (top / right / bottom / left) |
110
+ | `Skeleton` | Shimmer loading placeholder |
111
+ | `Toaster` | Toast notifications (Sonner) |
112
+ | `Spinner` | Animated loading indicator |
113
+ | `Switch` | Toggle switch with `data-slot` label integration |
114
+ | `Table`, `TableHeader`, `TableBody`, `TableRow`, `TableHead`, `TableCell`, `TableFooter`, `TableCaption` | Data table |
115
+ | `Tabs`, `TabsList`, `TabsTrigger`, `TabsContent` | Tabbed navigation, underline and pill variants |
116
+ | `Textarea` | Multiline text input |
117
+ | `Tooltip`, `TooltipTrigger`, `TooltipContent`, `TooltipProvider` | Hover tooltip |
118
+ | `Well`, `WellReveal` | Inset container for grouped settings |
119
+
120
+ ### Project Patterns
121
+
122
+ Higher-level components composed from primitives, designed for dashboard and settings UIs.
123
+
124
+ | Export | Description |
125
+ | --------------------------------------------------- | ------------------------------------------------------------------- |
126
+ | `AskAiSheet` | Side panel for AI assistant integration |
127
+ | `AssetIcon` | Chain/token icon with fallback initial |
128
+ | `CodeBlock` | Syntax-highlighted code block with copy button |
129
+ | `CopyButton` | Clipboard copy trigger with animated check |
130
+ | `DangerZone` | Destructive settings section gated by confirmation |
131
+ | `DomainList` | Editable list of allowed domains with add/remove |
132
+ | `EmptyState` | Zero-data placeholder with icon, title, description, CTA |
133
+ | `InfoBanner` | Contextual banner. Variants: `info`, `warning`, `success`, `danger` |
134
+ | `MetricCard` | KPI stat card with value, label, and trend |
135
+ | `PageActions` | Sticky bottom action bar with primary/secondary slots |
136
+ | `PageSkeleton`, `StatCardSkeleton`, `TableSkeleton` | Page-level loading skeletons |
137
+ | `ProductPageLayout` | Full-page scaffold: header, tabs, content, sidebar |
138
+ | `SettingsSection` | Labeled section wrapper for settings pages |
139
+ | `StatusBadge` | Live / inactive / pending status indicator |
140
+ | `ToggleRow` | Label + description + switch in a single accessible row |
141
+ | `UnsavedChangesBar` | Sticky bottom bar for save/discard with change tracking |
142
+
143
+ ### Animated Icons
144
+
145
+ Custom SVG icons with spring physics via [Motion](https://motion.dev/). All icons accept standard SVG props plus a `className`.
146
+
147
+ ```tsx
148
+ import {
149
+ ChevronDownIcon,
150
+ CopyCheckIcon,
151
+ SettingsIcon,
152
+ } from '@dynamic-labs-sdk/droplet';
153
+
154
+ <SettingsIcon className="size-4 text-muted-foreground" />;
155
+ ```
156
+
157
+ | Export | Description |
158
+ | ---------------------------------------------------------------------- | ---------------------------------------- |
159
+ | `AnimatedIcon` | Base wrapper for building animated icons |
160
+ | `ArrowUpRightIcon` | External link arrow |
161
+ | `ChartBarIncreasingIcon` | Animated bar chart |
162
+ | `ChevronDownIcon` | Chevron, rotates on toggle |
163
+ | `ChevronRightIcon` | Chevron pointing right |
164
+ | `CopyIcon` | Copy to clipboard |
165
+ | `CopyCheckIcon` | Copy → check transition |
166
+ | `DollarSignIcon` | Currency symbol |
167
+ | `DownloadIcon` | Download arrow |
168
+ | `FingerprintIcon` | Biometric fingerprint |
169
+ | `HomeIcon` | Home/dashboard |
170
+ | `KeyIcon` | API key / auth |
171
+ | `LayoutPanelTopIcon` | Layout panel |
172
+ | `LinkIcon` | Hyperlink |
173
+ | `MoonIcon` | Dark mode |
174
+ | `PanelLeftCloseIcon` | Collapse sidebar |
175
+ | `PanelLeftOpenIcon` | Expand sidebar |
176
+ | `PlusIcon` | Add / create |
177
+ | `RefreshCWIcon` | Refresh / reload |
178
+ | `SearchIcon` | Search magnifier |
179
+ | `SettingsIcon` | Settings gear |
180
+ | `ShieldCheckIcon` | Security / verified |
181
+ | `SunIcon` | Light mode |
182
+ | `TerminalIcon` | Code / CLI |
183
+ | `UsersIcon` | Users / team |
184
+ | `ClaudeLogo`, `CursorLogo`, `OpenAILogo`, `VSCodeLogo`, `WindsurfLogo` | MCP tool logos |
185
+
186
+ ### Utilities & Hooks
187
+
188
+ | Export | Description |
189
+ | ------------------------------- | ---------------------------------------------------------------------------------- |
190
+ | `cn(...classes)` | `clsx` + `tailwind-merge` class utility |
191
+ | `useUnsavedChanges(hasChanges)` | Hook for the `UnsavedChangesBar` — tracks dirty state and wires keyboard shortcuts |
192
+ | `IconConfigProvider` | Context provider for global icon configuration |
193
+ | `useIconConfig()` | Access icon config context |
194
+
195
+ ---
196
+
197
+ ## Design tokens
198
+
199
+ All tokens are CSS custom properties defined in `globals.css`. Tailwind utility classes map directly to them — `bg-brand-default` resolves to `var(--brand-default)`.
200
+
201
+ ### Color groups
202
+
203
+ | Group | Tokens |
204
+ | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
205
+ | **Surfaces** | `--background`, `--card`, `--popover`, `--muted`, `--accent`, `--bg-bottom`, `--bg-default`, `--bg-accented`, `--bg-strong`, `--bg-absolute` |
206
+ | **Text** | `--foreground`, `--muted-foreground`, `--text-disabled`, `--text-placeholder`, `--text-link`, `--text-invert` |
207
+ | **Brand** | `--brand-default`, `--brand-hover`, `--brand-accented`, `--brand-light`, `--action` |
208
+ | **Semantic** | `--success-default/light/text`, `--danger-default/light/text`, `--warning-default/light/text`, `--process-default/light/text` |
209
+ | **Borders** | `--border`, `--border-divider`, `--border-default`, `--border-hover`, `--border-strong`, `--border-focused`, `--border-selected`, `--border-danger`, `--border-success`, `--border-process`, `--border-warning` |
210
+ | **Overlays** | `--overlay-hover`, `--overlay-pressed`, `--overlay-selected`, `--overlay-selected-hover`, `--overlay-md`, `--overlay-strong` |
211
+
212
+ ### Shadow system
213
+
214
+ ```css
215
+ --shadow-border /* 1px outline */
216
+ --shadow-card /* card elevation */
217
+ --shadow-button /* button depth */
218
+ --shadow-input /* form field */
219
+ --shadow-input-hover /* field on hover */
220
+ --shadow-elevated /* popovers / dropdowns */
221
+ --shadow-card-content /* content area separator */
222
+ ```
223
+
224
+ ### Radius scale
225
+
226
+ | Token | Value |
227
+ | -------------- | ----- |
228
+ | `--radius-sm` | 6px |
229
+ | `--radius-md` | 8px |
230
+ | `--radius-lg` | 10px |
231
+ | `--radius-xl` | 12px |
232
+ | `--radius-2xl` | 14px |
233
+ | `--radius-3xl` | 16px |
234
+ | `--radius-4xl` | 20px |
235
+
236
+ ### Dark mode
237
+
238
+ Apply the `.dark` class to `<html>` to activate the dark palette. All tokens are redefined under `.dark` with OKLCH-matched values — brand hue is preserved, only lightness shifts.
239
+
240
+ ```ts
241
+ document.documentElement.classList.toggle('dark', isDark);
242
+ ```
243
+
244
+ ---
245
+
246
+ ## Storybook
247
+
248
+ Interactive component documentation with live token reference, dark mode toggle, and a11y audit on every story.
249
+
250
+ ```bash
251
+ # From repo root
252
+ pnpm --filter @dynamic-labs-sdk/droplet storybook
253
+
254
+ # From packages/droplet
255
+ pnpm storybook
256
+ ```
257
+
258
+ Runs on **<http://localhost:4402>**.
259
+
260
+ ---
261
+
262
+ ## Development
263
+
264
+ ```bash
265
+ # Run tests
266
+ pnpm --filter @dynamic-labs-sdk/droplet test
267
+
268
+ # Watch mode
269
+ pnpm --filter @dynamic-labs-sdk/droplet test:watch
270
+
271
+ # Build (ESM + CJS + .d.ts)
272
+ pnpm --filter @dynamic-labs-sdk/droplet build
273
+
274
+ # Lint
275
+ pnpm --filter @dynamic-labs-sdk/droplet lint
276
+ ```
277
+
278
+ ---
279
+
280
+ ## Tech stack
281
+
282
+ | | |
283
+ | -------------- | ------------------------------------------------------------------------------- |
284
+ | **Primitives** | [Radix UI](https://www.radix-ui.com/) |
285
+ | **Styling** | [Tailwind CSS v4](https://tailwindcss.com/) via `@tailwindcss/vite` |
286
+ | **Animations** | [Motion](https://motion.dev/) (spring physics) |
287
+ | **Icons** | [HugeIcons](https://hugeicons.com/) |
288
+ | **Variants** | [class-variance-authority](https://cva.style/) |
289
+ | **Toasts** | [Sonner](https://sonner.emilkowal.ski/) |
290
+ | **Build** | [tsdown](https://tsdown.dev/) (dual ESM/CJS) |
291
+ | **Tests** | [Vitest](https://vitest.dev/) + [Testing Library](https://testing-library.com/) |
292
+ | **Docs** | [Storybook 8](https://storybook.js.org/) |
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Placeholder stub for the docs-AI sheet.
3
+ *
4
+ * Renders nothing in droplet — the real sheet lives in the consumer app and
5
+ * subscribes to the `docsPath` to surface contextual AI help. Kept here so
6
+ * `PageActions` can mount it unconditionally without each consumer wiring it.
7
+ */
8
+ export declare const AskAISheet: ({ docsPath: _docsPath }: {
9
+ docsPath?: string;
10
+ }) => null;
11
+ //# sourceMappingURL=ask-ai-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask-ai-sheet.d.ts","sourceRoot":"","sources":["../../../src/components/ask-ai-sheet/ask-ai-sheet.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,4BAA6B;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,SAExE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AskAISheet } from './ask-ai-sheet';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ask-ai-sheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface AssetIconProps {
2
+ className?: string;
3
+ size?: number;
4
+ symbol: string;
5
+ }
6
+ export declare const AssetIcon: ({ symbol, size, className }: AssetIconProps) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=asset-icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-icon.d.ts","sourceRoot":"","sources":["../../../src/components/asset-icon/asset-icon.tsx"],"names":[],"mappings":"AAqCA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,gCAAsC,cAAc,4CAiBzE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { AssetIcon } from './asset-icon';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/asset-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,24 @@
1
+ type CodeBlockVariant = 'dark' | 'light';
2
+ interface CodeBlockProps {
3
+ className?: string;
4
+ code: string;
5
+ language?: string;
6
+ showLineNumbers?: boolean;
7
+ showTerminalPrompt?: boolean;
8
+ showWindowChrome?: boolean;
9
+ title?: string;
10
+ variant?: CodeBlockVariant;
11
+ }
12
+ declare const CodeBlock: import("react").ForwardRefExoticComponent<CodeBlockProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ interface PackageManagerTabsProps {
14
+ className?: string;
15
+ npm: string;
16
+ pnpm?: string;
17
+ showTerminalPrompt?: boolean;
18
+ variant?: CodeBlockVariant;
19
+ yarn?: string;
20
+ }
21
+ declare const PackageManagerTabs: ({ npm, yarn, pnpm, variant, showTerminalPrompt, className, }: PackageManagerTabsProps) => import("react/jsx-runtime").JSX.Element;
22
+ export { CodeBlock, PackageManagerTabs };
23
+ export type { CodeBlockProps, PackageManagerTabsProps, CodeBlockVariant };
24
+ //# sourceMappingURL=code-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/code-block.tsx"],"names":[],"mappings":"AAUA,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAA;AAExC,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AA6BD,QAAA,MAAM,SAAS,2GAwGd,CAAA;AAID,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,QAAA,MAAM,kBAAkB,iEAOrB,uBAAuB,4CAwGzB,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAA;AACxC,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,38 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ args: {
4
+ code: string;
5
+ showLineNumbers: false;
6
+ showTerminalPrompt: true;
7
+ showWindowChrome: false;
8
+ title: string;
9
+ variant: "dark";
10
+ };
11
+ argTypes: {
12
+ showLineNumbers: {
13
+ control: "boolean";
14
+ };
15
+ showTerminalPrompt: {
16
+ control: "boolean";
17
+ };
18
+ showWindowChrome: {
19
+ control: "boolean";
20
+ };
21
+ variant: {
22
+ control: "inline-radio";
23
+ options: string[];
24
+ };
25
+ };
26
+ component: import("react").ForwardRefExoticComponent<import("./code-block").CodeBlockProps & import("react").RefAttributes<HTMLDivElement>>;
27
+ parameters: {
28
+ layout: string;
29
+ };
30
+ tags: string[];
31
+ title: string;
32
+ };
33
+ export default meta;
34
+ type Story = StoryObj<typeof meta>;
35
+ export declare const Terminal: Story;
36
+ export declare const ReactSnippet: Story;
37
+ export declare const PackageTabs: Story;
38
+ //# sourceMappingURL=code-block.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block.stories.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/code-block.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBwB,CAAC;AAEnC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAyB1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAWzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CodeBlock, PackageManagerTabs } from './code-block';
2
+ export type { CodeBlockProps, PackageManagerTabsProps, CodeBlockVariant } from './code-block';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface CopyButtonProps {
2
+ className?: string;
3
+ label?: string;
4
+ size?: 'default' | 'sm' | 'xs' | 'icon' | 'icon-xs' | 'icon-sm';
5
+ value: string;
6
+ variant?: 'default' | 'outline' | 'ghost' | 'secondary';
7
+ }
8
+ export declare const CopyButton: ({ value, label, variant, size, className, }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=copy-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-button.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;CACxD;AAED,eAAO,MAAM,UAAU,gDAMpB,eAAe,4CAgEjB,CAAA"}
@@ -0,0 +1,33 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ args: {
4
+ size: "icon-sm";
5
+ value: string;
6
+ variant: "outline";
7
+ };
8
+ argTypes: {
9
+ label: {
10
+ control: "text";
11
+ };
12
+ size: {
13
+ control: "select";
14
+ options: string[];
15
+ };
16
+ value: {
17
+ control: "text";
18
+ };
19
+ variant: {
20
+ control: "select";
21
+ options: string[];
22
+ };
23
+ };
24
+ component: ({ value, label, variant, size, className, }: import("./copy-button").CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
25
+ tags: string[];
26
+ title: string;
27
+ };
28
+ export default meta;
29
+ type Story = StoryObj<typeof meta>;
30
+ export declare const Default: Story;
31
+ export declare const WithLabel: Story;
32
+ export declare const NextToValue: Story;
33
+ //# sourceMappingURL=copy-button.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/copy-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;CAqByB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CopyButton } from './copy-button';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/copy-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface DangerZoneProps {
2
+ actionLabel: string;
3
+ className?: string;
4
+ confirmDescription?: string;
5
+ confirmTitle?: string;
6
+ description: string;
7
+ onConfirm: () => void;
8
+ title: string;
9
+ }
10
+ export declare const DangerZone: ({ title, description, actionLabel, confirmTitle, confirmDescription, onConfirm, className, }: DangerZoneProps) => import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=danger-zone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"danger-zone.d.ts","sourceRoot":"","sources":["../../../src/components/danger-zone/danger-zone.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,UAAU,iGAQpB,eAAe,4CAyCjB,CAAA"}
@@ -0,0 +1,20 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ args: {
4
+ actionLabel: string;
5
+ description: string;
6
+ onConfirm: () => void;
7
+ title: string;
8
+ };
9
+ component: ({ title, description, actionLabel, confirmTitle, confirmDescription, onConfirm, className, }: import("./danger-zone").DangerZoneProps) => import("react/jsx-runtime").JSX.Element;
10
+ parameters: {
11
+ layout: string;
12
+ };
13
+ tags: string[];
14
+ title: string;
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const Default: Story;
19
+ export declare const WithCustomConfirmCopy: Story;
20
+ //# sourceMappingURL=danger-zone.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"danger-zone.stories.d.ts","sourceRoot":"","sources":["../../../src/components/danger-zone/danger-zone.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;;;;;;;;;;;;;CAcyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAenC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { DangerZone } from './danger-zone';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/danger-zone/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface DomainListProps {
2
+ className?: string;
3
+ domains: string[];
4
+ onChange: (domains: string[]) => void;
5
+ placeholder?: string;
6
+ validate?: (domain: string) => string | null;
7
+ }
8
+ declare const DomainList: ({ className, domains, onChange, placeholder, validate, }: DomainListProps) => import("react/jsx-runtime").JSX.Element;
9
+ export { DomainList };
10
+ //# sourceMappingURL=domain-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-list.d.ts","sourceRoot":"","sources":["../../../src/components/domain-list/domain-list.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,QAAA,MAAM,UAAU,6DAMb,eAAe,4CAwFjB,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ args: any;
4
+ component: ({ className, domains, onChange, placeholder, validate, }: import("./domain-list").DomainListProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ title: string;
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const CORSOrigins: Story;
14
+ //# sourceMappingURL=domain-list.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-list.stories.d.ts","sourceRoot":"","sources":["../../../src/components/domain-list/domain-list.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,QAAA,MAAM,IAAI;UACI,GAAG;;;;;;;CAKkB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,WAAW,EAAE,KA8BzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { DomainList } from './domain-list';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/domain-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type ComponentType, type ReactNode } from 'react';
2
+ export interface EmptyStateProps {
3
+ action?: ReactNode;
4
+ className?: string;
5
+ description: string;
6
+ icon: ComponentType<{
7
+ className?: string;
8
+ size?: number;
9
+ }>;
10
+ title: string;
11
+ }
12
+ export declare const EmptyState: ({ icon: Icon, title, description, action, className }: EmptyStateProps) => import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=empty-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../src/components/empty-state/empty-state.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI1D,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,UAAU,0DAA2D,eAAe,4CAWhG,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ args: any;
4
+ component: ({ icon: Icon, title, description, action, className }: import("./empty-state").EmptyStateProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ title: string;
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const NoUsers: Story;
14
+ export declare const WithAction: Story;
15
+ //# sourceMappingURL=empty-state.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.stories.d.ts","sourceRoot":"","sources":["../../../src/components/empty-state/empty-state.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAYvD,QAAA,MAAM,IAAI;UACI,GAAG;;;;;;;CAKkB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAWxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { EmptyState } from './empty-state';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/empty-state/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}