@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
@@ -0,0 +1,322 @@
1
+ import { i as Input, r as Label, s as cn, t as ToggleRow } from "./toggle-row-B5iXNWCJ.esm.js";
2
+ import { useId, useState } from "react";
3
+ import { HugeiconsIcon } from "@hugeicons/react";
4
+ import { AiMagicIcon, Alert01Icon, Cancel01Icon, CheckmarkCircle02Icon, InformationCircleIcon } from "@hugeicons/core-free-icons";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+
7
+ //#region src/components/migration/banner/banner.tsx
8
+ /**
9
+ * MIGRATION-AID — temporary composite added to unblock the redcoast
10
+ * Northstar→droplet dashboard migration. NOT canonical. Will be replaced
11
+ * by the design team's finalized version. Do not adopt for new droplet
12
+ * projects; use the canonical droplet primitives directly instead.
13
+ *
14
+ * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md
15
+ */
16
+ const variantStyles = {
17
+ advance: {
18
+ bg: "bg-brand-light border-border-focused/20",
19
+ iconColor: "text-brand-default",
20
+ text: "text-brand-accented"
21
+ },
22
+ error: {
23
+ bg: "bg-danger-light border-border-danger/20",
24
+ iconColor: "text-danger-default",
25
+ text: "text-text-danger"
26
+ },
27
+ info: {
28
+ bg: "bg-bg-default border-border-divider",
29
+ iconColor: "text-muted-foreground",
30
+ text: "text-muted-foreground"
31
+ },
32
+ success: {
33
+ bg: "bg-success-light border-border-success/20",
34
+ iconColor: "text-success-default",
35
+ text: "text-text-success"
36
+ },
37
+ warning: {
38
+ bg: "bg-warning-light border-border-warning/20",
39
+ iconColor: "text-warning-default",
40
+ text: "text-text-warning"
41
+ }
42
+ };
43
+ const variantIcons = {
44
+ advance: AiMagicIcon,
45
+ error: Alert01Icon,
46
+ info: InformationCircleIcon,
47
+ success: CheckmarkCircle02Icon,
48
+ warning: Alert01Icon
49
+ };
50
+ /**
51
+ * 5-variant banner: `info` | `warning` | `error` | `success` | `advance`.
52
+ * Inline icon + text + optional action button + optional close.
53
+ *
54
+ * Distinct from the canonical single-variant `InfoBanner`. The canonical
55
+ * replacement may simply extend `InfoBanner` with semantic variants.
56
+ *
57
+ * @deprecated Migration-aid only. Replace with canonical version when available.
58
+ */
59
+ const Banner = ({ action, children, className, dismissible = false, onDismiss, variant = "info" }) => {
60
+ const [dismissed, setDismissed] = useState(false);
61
+ const handleDismiss = () => {
62
+ setDismissed(true);
63
+ onDismiss?.();
64
+ };
65
+ if (dismissed) return null;
66
+ const styles = variantStyles[variant];
67
+ const icon = variantIcons[variant];
68
+ return /* @__PURE__ */ jsxs("output", {
69
+ className: cn("flex items-center gap-2.5 rounded-lg border px-3 py-2 text-sm", styles.bg, styles.text, className),
70
+ children: [
71
+ /* @__PURE__ */ jsx("span", {
72
+ className: cn("shrink-0", styles.iconColor),
73
+ children: /* @__PURE__ */ jsx(HugeiconsIcon, {
74
+ icon,
75
+ size: 16
76
+ })
77
+ }),
78
+ /* @__PURE__ */ jsx("div", {
79
+ className: "flex-1 min-w-0 text-pretty font-medium",
80
+ children
81
+ }),
82
+ action && /* @__PURE__ */ jsx("button", {
83
+ type: "button",
84
+ onClick: action.onClick,
85
+ className: cn("shrink-0 px-2 py-1 rounded-md text-xs font-medium cursor-pointer touch-manipulation", "hover:bg-overlay-hover transition-colors", styles.text),
86
+ children: action.text
87
+ }),
88
+ dismissible && /* @__PURE__ */ jsx("button", {
89
+ type: "button",
90
+ onClick: handleDismiss,
91
+ "aria-label": "Dismiss",
92
+ className: cn("shrink-0 rounded-sm p-0.5 opacity-70 hover:opacity-100 cursor-pointer transition-opacity", styles.text),
93
+ children: /* @__PURE__ */ jsx(HugeiconsIcon, {
94
+ icon: Cancel01Icon,
95
+ size: 14
96
+ })
97
+ })
98
+ ]
99
+ });
100
+ };
101
+
102
+ //#endregion
103
+ //#region src/components/migration/double-section/double-section.tsx
104
+ /**
105
+ * Two `SettingsSection`-like blocks side by side with a divider between them.
106
+ * Common use case: "Live mode | Sandbox mode" pairs.
107
+ *
108
+ * @deprecated Migration-aid only. Replace with canonical version when available.
109
+ */
110
+ const DoubleSection = ({ className, sections }) => /* @__PURE__ */ jsx("section", {
111
+ className: cn("rounded-xl border border-border bg-card shadow-[var(--shadow-card)] overflow-hidden", "grid grid-cols-1 md:grid-cols-2 md:divide-x md:divide-border-divider", className),
112
+ children: sections.map((section) => /* @__PURE__ */ jsxs("div", {
113
+ className: "p-6 space-y-4",
114
+ children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
115
+ className: "flex items-center gap-2",
116
+ children: [/* @__PURE__ */ jsx("h3", {
117
+ className: "text-sm font-semibold text-balance",
118
+ children: section.title
119
+ }), section.badge]
120
+ }), section.description && /* @__PURE__ */ jsx("p", {
121
+ className: "text-sm text-muted-foreground mt-1 text-pretty",
122
+ children: section.description
123
+ })] }), /* @__PURE__ */ jsx("div", {
124
+ className: "space-y-3",
125
+ children: section.children
126
+ })]
127
+ }, section.id))
128
+ });
129
+
130
+ //#endregion
131
+ //#region src/components/migration/field/field.tsx
132
+ /**
133
+ * MIGRATION-AID — temporary composite added to unblock the redcoast
134
+ * Northstar→droplet dashboard migration. NOT canonical. Will be replaced
135
+ * by the design team's finalized version. Do not adopt for new droplet
136
+ * projects; use the canonical droplet primitives directly instead.
137
+ *
138
+ * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md
139
+ */
140
+ /**
141
+ * `Label` + `Input` + helper/error composite. Wires up `htmlFor`,
142
+ * `aria-describedby`, and `aria-invalid` so call sites don't repeat the layout.
143
+ *
144
+ * The canonical version may differ in form-validation integration (RHF,
145
+ * formik, native form, etc.) — keep this composite focused on layout only.
146
+ *
147
+ * @deprecated Migration-aid only. Replace with canonical version when available.
148
+ */
149
+ const Field = ({ className, error, helper, label, required, id: idProp, ...inputProps }) => {
150
+ const reactId = useId();
151
+ const id = idProp || reactId;
152
+ const helperId = `${id}-helper`;
153
+ const errorId = `${id}-error`;
154
+ const showHelper = Boolean(helper) && !error;
155
+ const showError = Boolean(error);
156
+ let describedBy;
157
+ if (showError) describedBy = errorId;
158
+ else if (showHelper) describedBy = helperId;
159
+ return /* @__PURE__ */ jsxs("div", {
160
+ className: cn("space-y-2", className),
161
+ children: [
162
+ /* @__PURE__ */ jsxs(Label, {
163
+ htmlFor: id,
164
+ children: [label, required && /* @__PURE__ */ jsx("span", {
165
+ className: "text-text-danger",
166
+ "aria-hidden": true,
167
+ children: "*"
168
+ })]
169
+ }),
170
+ /* @__PURE__ */ jsx(Input, {
171
+ id,
172
+ "aria-describedby": describedBy,
173
+ "aria-invalid": error ? true : void 0,
174
+ required,
175
+ ...inputProps
176
+ }),
177
+ showHelper ? /* @__PURE__ */ jsx("p", {
178
+ id: helperId,
179
+ className: "text-xs text-muted-foreground",
180
+ children: helper
181
+ }) : null,
182
+ showError ? /* @__PURE__ */ jsx("p", {
183
+ id: errorId,
184
+ role: "alert",
185
+ className: "text-xs text-text-danger",
186
+ children: error
187
+ }) : null
188
+ ]
189
+ });
190
+ };
191
+
192
+ //#endregion
193
+ //#region src/components/migration/settings-section-v2/settings-section-v2.tsx
194
+ /**
195
+ * Card-shaped settings section with a header (title + optional description +
196
+ * optional helpLink + optional alert) and a content area.
197
+ *
198
+ * `layout='split'` renders header on the left and content on the right (1fr
199
+ * 2fr grid on `md+`). Default `'stacked'` matches the canonical
200
+ * `SettingsSection`.
201
+ *
202
+ * `variant='danger'` tints the title red and adds a red border.
203
+ *
204
+ * @deprecated Migration-aid only. Replace with canonical `SettingsSection` once
205
+ * the design team's finalized version supports `helpLink` / `alert` / split layout.
206
+ */
207
+ const SettingsSectionV2 = ({ alert, children, className, description, helpLink, layout = "stacked", title, variant = "default" }) => {
208
+ const headerBlock = /* @__PURE__ */ jsxs("div", { children: [
209
+ /* @__PURE__ */ jsx("h3", {
210
+ className: cn("text-sm font-semibold text-balance", variant === "danger" && "text-text-danger"),
211
+ children: title
212
+ }),
213
+ description && /* @__PURE__ */ jsx("p", {
214
+ className: "text-sm text-muted-foreground mt-1 text-pretty",
215
+ children: description
216
+ }),
217
+ helpLink && /* @__PURE__ */ jsxs("a", {
218
+ href: helpLink.url,
219
+ target: "_blank",
220
+ rel: "noreferrer",
221
+ className: "inline-block text-sm font-medium text-text-link mt-2 hover:underline",
222
+ children: [helpLink.text, " →"]
223
+ }),
224
+ alert && /* @__PURE__ */ jsx("div", {
225
+ className: "mt-3",
226
+ children: alert
227
+ })
228
+ ] });
229
+ if (layout === "split") return /* @__PURE__ */ jsxs("section", {
230
+ className: cn("rounded-xl border border-border bg-card p-6 shadow-[var(--shadow-card)]", "grid grid-cols-1 md:grid-cols-[1fr_2fr] gap-6", variant === "danger" && "border-border-danger/30", className),
231
+ children: [headerBlock, /* @__PURE__ */ jsx("div", {
232
+ className: "space-y-4",
233
+ children
234
+ })]
235
+ });
236
+ return /* @__PURE__ */ jsxs("section", {
237
+ className: cn("rounded-xl border border-border bg-card p-6 shadow-[var(--shadow-card)]", variant === "danger" && "border-border-danger/30", className),
238
+ children: [/* @__PURE__ */ jsx("div", {
239
+ className: "mb-4",
240
+ children: headerBlock
241
+ }), /* @__PURE__ */ jsx("div", {
242
+ className: "space-y-4",
243
+ children
244
+ })]
245
+ });
246
+ };
247
+
248
+ //#endregion
249
+ //#region src/components/migration/sub-section/sub-section.tsx
250
+ /**
251
+ * Heading + content stack, used inside an outer SettingsSection to group
252
+ * sub-fields. Two variants:
253
+ * - 'plain' (default): unboxed.
254
+ * - 'boxed': thin-bordered card-within-a-card.
255
+ *
256
+ * @deprecated Migration-aid only. Replace with canonical version when available.
257
+ */
258
+ const SubSection = ({ children, className, description, title, variant = "plain" }) => {
259
+ if (variant === "boxed") return /* @__PURE__ */ jsxs("div", {
260
+ className: cn("rounded-lg border border-border-divider bg-bg-bottom p-4", className),
261
+ children: [/* @__PURE__ */ jsxs("div", {
262
+ className: "mb-3",
263
+ children: [/* @__PURE__ */ jsx("h4", {
264
+ className: "text-sm font-medium text-foreground",
265
+ children: title
266
+ }), description && /* @__PURE__ */ jsx("p", {
267
+ className: "text-xs text-muted-foreground mt-0.5 text-pretty",
268
+ children: description
269
+ })]
270
+ }), /* @__PURE__ */ jsx("div", {
271
+ className: "space-y-3",
272
+ children
273
+ })]
274
+ });
275
+ return /* @__PURE__ */ jsxs("div", {
276
+ className: cn("space-y-3", className),
277
+ children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h4", {
278
+ className: "text-sm font-medium text-foreground",
279
+ children: title
280
+ }), description && /* @__PURE__ */ jsx("p", {
281
+ className: "text-xs text-muted-foreground mt-0.5 text-pretty",
282
+ children: description
283
+ })] }), /* @__PURE__ */ jsx("div", {
284
+ className: "space-y-3",
285
+ children
286
+ })]
287
+ });
288
+ };
289
+
290
+ //#endregion
291
+ //#region src/components/migration/toggle-group/toggle-group.tsx
292
+ /**
293
+ * MIGRATION-AID — temporary composite added to unblock the redcoast
294
+ * Northstar→droplet dashboard migration. NOT canonical. Will be replaced
295
+ * by the design team's finalized version. Do not adopt for new droplet
296
+ * projects; use the canonical droplet primitives directly instead.
297
+ *
298
+ * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md
299
+ */
300
+ /**
301
+ * Master `ToggleRow` on top, with a vertically-indented stack of nested
302
+ * sub-toggles underneath. Sub-toggles auto-hide when the master is off.
303
+ *
304
+ * Used for "social login → which providers" and similar grouped-toggle
305
+ * patterns ported from redcoast.
306
+ *
307
+ * @deprecated Migration-aid only. Replace with canonical version when available.
308
+ */
309
+ const ToggleGroup = ({ children, className, master }) => {
310
+ const showChildren = master.checked && Boolean(children);
311
+ return /* @__PURE__ */ jsxs("div", {
312
+ className: cn("space-y-3", className),
313
+ children: [/* @__PURE__ */ jsx(ToggleRow, { ...master }), showChildren ? /* @__PURE__ */ jsx("div", {
314
+ className: "ml-[42px] pl-4 border-l border-border-divider space-y-3",
315
+ children
316
+ }) : null]
317
+ });
318
+ };
319
+
320
+ //#endregion
321
+ export { Banner, DoubleSection, Field, SettingsSectionV2, SubSection, ToggleGroup };
322
+ //# sourceMappingURL=migration.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration.esm.js","names":["variantStyles: Record<BannerVariant, VariantStyle>","variantIcons: Record<BannerVariant, typeof Alert01Icon>","describedBy: string | undefined"],"sources":["../src/components/migration/banner/banner.tsx","../src/components/migration/double-section/double-section.tsx","../src/components/migration/field/field.tsx","../src/components/migration/settings-section-v2/settings-section-v2.tsx","../src/components/migration/sub-section/sub-section.tsx","../src/components/migration/toggle-group/toggle-group.tsx"],"sourcesContent":["/**\n * MIGRATION-AID — temporary composite added to unblock the redcoast\n * Northstar→droplet dashboard migration. NOT canonical. Will be replaced\n * by the design team's finalized version. Do not adopt for new droplet\n * projects; use the canonical droplet primitives directly instead.\n *\n * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md\n */\n'use client';\n\nimport { type ReactNode, useState } from 'react';\nimport {\n AiMagicIcon,\n Alert01Icon,\n Cancel01Icon,\n CheckmarkCircle02Icon,\n InformationCircleIcon,\n} from '@hugeicons/core-free-icons';\nimport { HugeiconsIcon } from '@hugeicons/react';\n\nimport { cn } from '../../../lib/utils';\n\nexport type BannerVariant = 'info' | 'warning' | 'error' | 'success' | 'advance';\n\nexport type BannerProps = {\n action?: { onClick: () => void; text: string };\n children: ReactNode;\n className?: string;\n dismissible?: boolean;\n onDismiss?: () => void;\n variant?: BannerVariant;\n};\n\ntype VariantStyle = { bg: string; iconColor: string; text: string };\n\nconst variantStyles: Record<BannerVariant, VariantStyle> = {\n advance: {\n bg: 'bg-brand-light border-border-focused/20',\n iconColor: 'text-brand-default',\n text: 'text-brand-accented',\n },\n error: {\n bg: 'bg-danger-light border-border-danger/20',\n iconColor: 'text-danger-default',\n text: 'text-text-danger',\n },\n info: {\n bg: 'bg-bg-default border-border-divider',\n iconColor: 'text-muted-foreground',\n text: 'text-muted-foreground',\n },\n success: {\n bg: 'bg-success-light border-border-success/20',\n iconColor: 'text-success-default',\n text: 'text-text-success',\n },\n warning: {\n bg: 'bg-warning-light border-border-warning/20',\n iconColor: 'text-warning-default',\n text: 'text-text-warning',\n },\n};\n\nconst variantIcons: Record<BannerVariant, typeof Alert01Icon> = {\n advance: AiMagicIcon,\n error: Alert01Icon,\n info: InformationCircleIcon,\n success: CheckmarkCircle02Icon,\n warning: Alert01Icon,\n};\n\n/**\n * 5-variant banner: `info` | `warning` | `error` | `success` | `advance`.\n * Inline icon + text + optional action button + optional close.\n *\n * Distinct from the canonical single-variant `InfoBanner`. The canonical\n * replacement may simply extend `InfoBanner` with semantic variants.\n *\n * @deprecated Migration-aid only. Replace with canonical version when available.\n */\nexport const Banner = ({\n action,\n children,\n className,\n dismissible = false,\n onDismiss,\n variant = 'info',\n}: BannerProps) => {\n const [dismissed, setDismissed] = useState(false);\n\n const handleDismiss = () => {\n setDismissed(true);\n onDismiss?.();\n };\n\n if (dismissed) return null;\n\n const styles = variantStyles[variant];\n const icon = variantIcons[variant];\n\n return (\n <output\n className={cn(\n 'flex items-center gap-2.5 rounded-lg border px-3 py-2 text-sm',\n styles.bg,\n styles.text,\n className,\n )}\n >\n <span className={cn('shrink-0', styles.iconColor)}>\n <HugeiconsIcon icon={icon} size={16} />\n </span>\n <div className='flex-1 min-w-0 text-pretty font-medium'>{children}</div>\n {action && (\n <button\n type='button'\n onClick={action.onClick}\n className={cn(\n 'shrink-0 px-2 py-1 rounded-md text-xs font-medium cursor-pointer touch-manipulation',\n 'hover:bg-overlay-hover transition-colors',\n styles.text,\n )}\n >\n {action.text}\n </button>\n )}\n {dismissible && (\n <button\n type='button'\n onClick={handleDismiss}\n aria-label='Dismiss'\n className={cn(\n 'shrink-0 rounded-sm p-0.5 opacity-70 hover:opacity-100 cursor-pointer transition-opacity',\n styles.text,\n )}\n >\n <HugeiconsIcon icon={Cancel01Icon} size={14} />\n </button>\n )}\n </output>\n );\n};\n","/**\n * MIGRATION-AID — temporary composite added to unblock the redcoast\n * Northstar→droplet dashboard migration. NOT canonical. Will be replaced\n * by the design team's finalized version. Do not adopt for new droplet\n * projects; use the canonical droplet primitives directly instead.\n *\n * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md\n */\nimport { type ReactNode } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\ntype SectionItem = {\n badge?: ReactNode;\n children: ReactNode;\n description?: string;\n id: string;\n title: ReactNode;\n};\n\nexport type DoubleSectionProps = {\n className?: string;\n sections: [SectionItem, SectionItem];\n};\n\n/**\n * Two `SettingsSection`-like blocks side by side with a divider between them.\n * Common use case: \"Live mode | Sandbox mode\" pairs.\n *\n * @deprecated Migration-aid only. Replace with canonical version when available.\n */\nexport const DoubleSection = ({ className, sections }: DoubleSectionProps) => (\n <section\n className={cn(\n 'rounded-xl border border-border bg-card shadow-[var(--shadow-card)] overflow-hidden',\n 'grid grid-cols-1 md:grid-cols-2 md:divide-x md:divide-border-divider',\n className,\n )}\n >\n {sections.map((section) => (\n <div key={section.id} className='p-6 space-y-4'>\n <div>\n <div className='flex items-center gap-2'>\n <h3 className='text-sm font-semibold text-balance'>{section.title}</h3>\n {section.badge}\n </div>\n {section.description && (\n <p className='text-sm text-muted-foreground mt-1 text-pretty'>\n {section.description}\n </p>\n )}\n </div>\n <div className='space-y-3'>{section.children}</div>\n </div>\n ))}\n </section>\n);\n","/**\n * MIGRATION-AID — temporary composite added to unblock the redcoast\n * Northstar→droplet dashboard migration. NOT canonical. Will be replaced\n * by the design team's finalized version. Do not adopt for new droplet\n * projects; use the canonical droplet primitives directly instead.\n *\n * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md\n */\n'use client';\n\nimport { type ComponentProps, type ReactNode, useId } from 'react';\n\nimport { cn } from '../../../lib/utils';\nimport { Input } from '../../ui/input';\nimport { Label } from '../../ui/label';\n\nexport type FieldProps = Omit<ComponentProps<'input'>, 'children'> & {\n className?: string;\n error?: string;\n helper?: ReactNode;\n label: string;\n required?: boolean;\n};\n\n/**\n * `Label` + `Input` + helper/error composite. Wires up `htmlFor`,\n * `aria-describedby`, and `aria-invalid` so call sites don't repeat the layout.\n *\n * The canonical version may differ in form-validation integration (RHF,\n * formik, native form, etc.) — keep this composite focused on layout only.\n *\n * @deprecated Migration-aid only. Replace with canonical version when available.\n */\nexport const Field = ({\n className,\n error,\n helper,\n label,\n required,\n id: idProp,\n ...inputProps\n}: FieldProps) => {\n const reactId = useId();\n const id = idProp || reactId;\n const helperId = `${id}-helper`;\n const errorId = `${id}-error`;\n\n const showHelper = Boolean(helper) && !error;\n const showError = Boolean(error);\n\n let describedBy: string | undefined;\n if (showError) {\n describedBy = errorId;\n } else if (showHelper) {\n describedBy = helperId;\n }\n\n return (\n <div className={cn('space-y-2', className)}>\n <Label htmlFor={id}>\n {label}\n {required && (\n <span className='text-text-danger' aria-hidden>\n *\n </span>\n )}\n </Label>\n <Input\n id={id}\n aria-describedby={describedBy}\n aria-invalid={error ? true : undefined}\n required={required}\n {...inputProps}\n />\n {showHelper ? (\n <p id={helperId} className='text-xs text-muted-foreground'>\n {helper}\n </p>\n ) : null}\n {showError ? (\n <p id={errorId} role='alert' className='text-xs text-text-danger'>\n {error}\n </p>\n ) : null}\n </div>\n );\n};\n","/**\n * MIGRATION-AID — temporary composite added to unblock the redcoast\n * Northstar→droplet dashboard migration. NOT canonical. Will be replaced\n * by the design team's finalized version. Do not adopt for new droplet\n * projects; use the canonical droplet `SettingsSection` directly instead.\n *\n * This is the redcoast-flavored variant of `SettingsSection` extended with\n * - `helpLink` (deep-link to docs)\n * - `alert` (inline alert slot in the header)\n * - `layout='split'` (opt-in 2-column variant matching Northstar's layout)\n *\n * The canonical `SettingsSection` at `../../settings-section` remains untouched\n * so its consumers don't pick up Northstar-flavored API.\n *\n * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md\n */\nimport { type ReactNode } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nexport type SettingsSectionV2Props = {\n alert?: ReactNode;\n children: ReactNode;\n className?: string;\n description?: string;\n helpLink?: { text: string; url: string };\n layout?: 'stacked' | 'split';\n title: string;\n variant?: 'default' | 'danger';\n};\n\n/**\n * Card-shaped settings section with a header (title + optional description +\n * optional helpLink + optional alert) and a content area.\n *\n * `layout='split'` renders header on the left and content on the right (1fr\n * 2fr grid on `md+`). Default `'stacked'` matches the canonical\n * `SettingsSection`.\n *\n * `variant='danger'` tints the title red and adds a red border.\n *\n * @deprecated Migration-aid only. Replace with canonical `SettingsSection` once\n * the design team's finalized version supports `helpLink` / `alert` / split layout.\n */\nexport const SettingsSectionV2 = ({\n alert,\n children,\n className,\n description,\n helpLink,\n layout = 'stacked',\n title,\n variant = 'default',\n}: SettingsSectionV2Props) => {\n const headerBlock = (\n <div>\n <h3\n className={cn(\n 'text-sm font-semibold text-balance',\n variant === 'danger' && 'text-text-danger',\n )}\n >\n {title}\n </h3>\n {description && (\n <p className='text-sm text-muted-foreground mt-1 text-pretty'>\n {description}\n </p>\n )}\n {helpLink && (\n <a\n href={helpLink.url}\n target='_blank'\n rel='noreferrer'\n className='inline-block text-sm font-medium text-text-link mt-2 hover:underline'\n >\n {helpLink.text} →\n </a>\n )}\n {alert && <div className='mt-3'>{alert}</div>}\n </div>\n );\n\n if (layout === 'split') {\n return (\n <section\n className={cn(\n 'rounded-xl border border-border bg-card p-6 shadow-[var(--shadow-card)]',\n 'grid grid-cols-1 md:grid-cols-[1fr_2fr] gap-6',\n variant === 'danger' && 'border-border-danger/30',\n className,\n )}\n >\n {headerBlock}\n <div className='space-y-4'>{children}</div>\n </section>\n );\n }\n\n return (\n <section\n className={cn(\n 'rounded-xl border border-border bg-card p-6 shadow-[var(--shadow-card)]',\n variant === 'danger' && 'border-border-danger/30',\n className,\n )}\n >\n <div className='mb-4'>{headerBlock}</div>\n <div className='space-y-4'>{children}</div>\n </section>\n );\n};\n","/**\n * MIGRATION-AID — temporary composite added to unblock the redcoast\n * Northstar→droplet dashboard migration. NOT canonical. Will be replaced\n * by the design team's finalized version. Do not adopt for new droplet\n * projects; use the canonical droplet primitives directly instead.\n *\n * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md\n */\nimport { type ReactNode } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nexport type SubSectionProps = {\n children: ReactNode;\n className?: string;\n description?: string;\n title: string;\n variant?: 'plain' | 'boxed';\n};\n\n/**\n * Heading + content stack, used inside an outer SettingsSection to group\n * sub-fields. Two variants:\n * - 'plain' (default): unboxed.\n * - 'boxed': thin-bordered card-within-a-card.\n *\n * @deprecated Migration-aid only. Replace with canonical version when available.\n */\nexport const SubSection = ({\n children,\n className,\n description,\n title,\n variant = 'plain',\n}: SubSectionProps) => {\n if (variant === 'boxed') {\n return (\n <div\n className={cn(\n 'rounded-lg border border-border-divider bg-bg-bottom p-4',\n className,\n )}\n >\n <div className='mb-3'>\n <h4 className='text-sm font-medium text-foreground'>{title}</h4>\n {description && (\n <p className='text-xs text-muted-foreground mt-0.5 text-pretty'>\n {description}\n </p>\n )}\n </div>\n <div className='space-y-3'>{children}</div>\n </div>\n );\n }\n\n return (\n <div className={cn('space-y-3', className)}>\n <div>\n <h4 className='text-sm font-medium text-foreground'>{title}</h4>\n {description && (\n <p className='text-xs text-muted-foreground mt-0.5 text-pretty'>\n {description}\n </p>\n )}\n </div>\n <div className='space-y-3'>{children}</div>\n </div>\n );\n};\n","/**\n * MIGRATION-AID — temporary composite added to unblock the redcoast\n * Northstar→droplet dashboard migration. NOT canonical. Will be replaced\n * by the design team's finalized version. Do not adopt for new droplet\n * projects; use the canonical droplet primitives directly instead.\n *\n * Tracking: https://github.com/dynamic-labs/redcoast/blob/main/MIGRATION-PLAN.md\n */\n'use client';\n\nimport { type ReactNode } from 'react';\n\nimport { ToggleRow, type ToggleRowProps } from '../../toggle-row';\nimport { cn } from '../../../lib/utils';\n\nexport type ToggleGroupProps = {\n children?: ReactNode;\n className?: string;\n /**\n * All ToggleRow props for the master row. `children` of master is ignored —\n * pass nested rows via `children` of ToggleGroup.\n */\n master: Omit<ToggleRowProps, 'children'>;\n};\n\n/**\n * Master `ToggleRow` on top, with a vertically-indented stack of nested\n * sub-toggles underneath. Sub-toggles auto-hide when the master is off.\n *\n * Used for \"social login → which providers\" and similar grouped-toggle\n * patterns ported from redcoast.\n *\n * @deprecated Migration-aid only. Replace with canonical version when available.\n */\nexport const ToggleGroup = ({ children, className, master }: ToggleGroupProps) => {\n const showChildren = master.checked && Boolean(children);\n\n return (\n <div className={cn('space-y-3', className)}>\n <ToggleRow {...master} />\n {showChildren ? (\n <div className='ml-[42px] pl-4 border-l border-border-divider space-y-3'>\n {children}\n </div>\n ) : null}\n </div>\n );\n};\n"],"mappings":"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"}