@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,320 @@
1
+ const require_index = require('./index.cjs');
2
+ let clsx = require("clsx");
3
+ let tailwind_merge = require("tailwind-merge");
4
+ let react = require("react");
5
+ let motion_react = require("motion/react");
6
+ let _hugeicons_react = require("@hugeicons/react");
7
+ let _hugeicons_core_free_icons = require("@hugeicons/core-free-icons");
8
+ let class_variance_authority = require("class-variance-authority");
9
+ let _radix_ui_react_slot = require("@radix-ui/react-slot");
10
+ let react_jsx_runtime = require("react/jsx-runtime");
11
+ let _paper_design_shaders_react = require("@paper-design/shaders-react");
12
+ let _radix_ui_react_label = require("@radix-ui/react-label");
13
+ let _radix_ui_react_switch = require("@radix-ui/react-switch");
14
+
15
+ //#region src/lib/utils.ts
16
+ const cn = (...inputs) => (0, tailwind_merge.twMerge)((0, clsx.clsx)(inputs));
17
+
18
+ //#endregion
19
+ //#region src/components/ui/button/button.tsx
20
+ const buttonVariants = (0, class_variance_authority.cva)("relative isolate inline-flex items-center justify-center gap-1.5 whitespace-nowrap select-none text-[13px] font-medium leading-[calc(18/13)] touch-manipulation transition-[background-color,color,opacity,box-shadow,transform,filter,scale] duration-150 ease active:scale-[0.96] cursor-pointer border-0 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", {
21
+ defaultVariants: {
22
+ size: "default",
23
+ variant: "default"
24
+ },
25
+ variants: {
26
+ size: {
27
+ default: "rounded-md px-3 py-1.5 h-8 has-[>svg]:px-2.5 [&_svg:not([class*='size-'])]:size-3.5",
28
+ "icon": "size-9 rounded-md",
29
+ "icon-sm": "size-7 rounded-md [&_svg:not([class*='size-'])]:size-3.5 relative before:absolute before:-inset-[6px] before:content-['']",
30
+ "icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3 relative before:absolute before:-inset-[9px] before:content-['']",
31
+ lg: "rounded-md px-5 py-2.5 h-10 has-[>svg]:px-4 [&_svg:not([class*='size-'])]:size-4",
32
+ sm: "rounded-md px-2.5 py-1 h-7 has-[>svg]:px-2 [&_svg:not([class*='size-'])]:size-3 before:absolute before:-inset-y-[6px] before:inset-x-0 before:content-['']",
33
+ xs: "rounded-md px-3 py-1 h-7 [&_svg:not([class*='size-'])]:size-3"
34
+ },
35
+ variant: {
36
+ default: "bg-(--action) text-white shadow-[0_0_0_1px_var(--action),var(--shadow-button)] hover:brightness-105 [text-shadow:0_1px_1px_rgba(0,0,0,0.16)]",
37
+ destructive: "bg-destructive text-white shadow-[0_0_0_1px_var(--destructive),var(--shadow-button)] hover:brightness-105 [text-shadow:0_1px_1px_rgba(0,0,0,0.16)] focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
38
+ ghost: "text-muted-foreground hover:bg-[#f8f8f9] hover:text-foreground dark:hover:bg-white/[0.06]",
39
+ link: "text-(--action) underline-offset-4 hover:underline",
40
+ outline: "bg-white shadow-[var(--shadow-input)] hover:bg-[#f8f8f9] hover:shadow-[var(--shadow-input-hover)] dark:bg-input/30 dark:hover:bg-white/[0.06]",
41
+ secondary: "bg-white shadow-[var(--shadow-secondary)] hover:bg-[#f8f8f9] hover:shadow-[var(--shadow-secondary-hover)] dark:bg-input/30 dark:hover:bg-white/[0.06]"
42
+ }
43
+ }
44
+ });
45
+ const Button = ({ className, variant = "default", size = "default", asChild = false, ...props }) => {
46
+ if (asChild) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_slot.Slot, {
47
+ "data-slot": "button",
48
+ "data-size": size,
49
+ "data-variant": variant,
50
+ className: cn(buttonVariants({
51
+ className,
52
+ size,
53
+ variant
54
+ })),
55
+ ...props
56
+ });
57
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
58
+ "data-slot": "button",
59
+ "data-size": size,
60
+ "data-variant": variant,
61
+ className: cn(buttonVariants({
62
+ className,
63
+ size,
64
+ variant
65
+ })),
66
+ ...props
67
+ });
68
+ };
69
+
70
+ //#endregion
71
+ //#region src/components/ui/input/input.tsx
72
+ const shaderDefaults = {
73
+ bloom: 0,
74
+ colors: [
75
+ "#BDDCFF",
76
+ "#57A7FF",
77
+ "#DEEAFC"
78
+ ],
79
+ inset: 1,
80
+ intensity: 0,
81
+ pulse: .3,
82
+ roundness: .6,
83
+ scale: 1,
84
+ smoke: .75,
85
+ smokeSize: .7,
86
+ softness: .6,
87
+ speed: 2.2,
88
+ spots: 8,
89
+ spotSize: .75,
90
+ thickness: .04
91
+ };
92
+ const spring = {
93
+ bounce: 0,
94
+ duration: .35,
95
+ type: "spring"
96
+ };
97
+ const Input = (0, react.forwardRef)(({ className, type, shaderBorder, style, ...props }, ref) => {
98
+ const prefersReducedMotion = (0, motion_react.useReducedMotion)();
99
+ const inputClassName = cn("file:text-foreground placeholder:text-muted-foreground/60 selection:bg-primary selection:text-primary-foreground dark:bg-input/30 h-8 w-full min-w-0 touch-manipulation rounded-md border-0 bg-background px-3 py-1 text-base shadow-[var(--shadow-input)] transition-[color,box-shadow] duration-100 ease-out outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "hover:shadow-[var(--shadow-input-hover)]", "focus-visible:shadow-[0_0_0_1px_var(--ring),0_0_0_4px_rgba(0,114,239,0.15)]", "aria-invalid:shadow-[0_0_0_1px_var(--destructive),0_0_1px_0_var(--destructive)] dark:aria-invalid:shadow-[0_0_0_1px_var(--destructive)]", className);
100
+ const isActive = !!shaderBorder;
101
+ const config = typeof shaderBorder === "object" ? {
102
+ ...shaderDefaults,
103
+ ...shaderBorder
104
+ } : shaderDefaults;
105
+ const inset = config.inset;
106
+ if (shaderBorder !== void 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
107
+ className: "relative",
108
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(motion_react.AnimatePresence, {
109
+ initial: false,
110
+ children: isActive && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(motion_react.motion.div, {
111
+ initial: prefersReducedMotion ? false : { opacity: 0 },
112
+ animate: { opacity: 1 },
113
+ exit: { opacity: 0 },
114
+ transition: prefersReducedMotion ? { duration: 0 } : spring,
115
+ className: "absolute pointer-events-none z-20",
116
+ style: {
117
+ borderRadius: `${8 + inset}px`,
118
+ inset: `-${inset}px`,
119
+ willChange: "opacity"
120
+ },
121
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_paper_design_shaders_react.PulsingBorder, {
122
+ colorBack: "#00000000",
123
+ colors: config.colors,
124
+ speed: config.speed,
125
+ scale: config.scale,
126
+ roundness: config.roundness,
127
+ thickness: config.thickness,
128
+ softness: config.softness,
129
+ intensity: config.intensity,
130
+ bloom: config.bloom,
131
+ spots: config.spots,
132
+ spotSize: config.spotSize,
133
+ pulse: config.pulse,
134
+ smoke: config.smoke,
135
+ smokeSize: config.smokeSize,
136
+ webGlContextAttributes: {
137
+ alpha: true,
138
+ premultipliedAlpha: true
139
+ },
140
+ className: "size-full",
141
+ style: { borderRadius: `${8 + inset}px` }
142
+ })
143
+ }, "shader-border")
144
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
145
+ ref,
146
+ type,
147
+ "data-slot": "input",
148
+ className: cn(inputClassName, isActive && "animate-shimmer motion-reduce:animate-none"),
149
+ style: isActive ? {
150
+ backgroundClip: "text",
151
+ backgroundImage: `linear-gradient(to right, color-mix(in srgb, ${config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[1] || config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[2] || config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[0]} 70%, #000))`,
152
+ backgroundSize: "200% 100%",
153
+ boxShadow: "none",
154
+ color: "transparent",
155
+ WebkitBackgroundClip: "text",
156
+ ...style
157
+ } : style,
158
+ ...props
159
+ })]
160
+ });
161
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
162
+ ref,
163
+ type,
164
+ "data-slot": "input",
165
+ className: inputClassName,
166
+ style,
167
+ ...props
168
+ });
169
+ });
170
+ Input.displayName = "Input";
171
+
172
+ //#endregion
173
+ //#region src/components/ui/label/label.tsx
174
+ const labelVariants = (0, class_variance_authority.cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
175
+ const Label = (0, react.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_label.Root, {
176
+ ref,
177
+ className: cn(labelVariants(), className),
178
+ ...props
179
+ }));
180
+ Label.displayName = _radix_ui_react_label.Root.displayName;
181
+
182
+ //#endregion
183
+ //#region src/components/ui/switch/switch.tsx
184
+ const Switch = (0, react.forwardRef)(({ className, size = "default", ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_switch.Root, {
185
+ ref,
186
+ "data-slot": "switch",
187
+ "data-size": size,
188
+ className: cn("peer data-[state=checked]:bg-(--action) data-[state=unchecked]:bg-input hover:data-[state=unchecked]:bg-[rgba(31,41,55,0.14)] group-hover/toggle:data-[state=unchecked]:bg-[rgba(31,41,55,0.14)] focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 dark:hover:data-[state=unchecked]:bg-[rgba(255,255,255,0.12)] dark:group-hover/toggle:data-[state=unchecked]:bg-[rgba(255,255,255,0.12)] relative group/switch inline-flex shrink-0 touch-manipulation items-center rounded-full border-0 shadow-[0_0_0_1px_rgba(31,41,55,0.20),0_1px_2px_0_rgba(0,0,0,0.06),0_0_1px_0_rgba(0,0,0,0.02)] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.15),0_1px_2px_0_rgba(0,0,0,0.20),0_0_1px_0_rgba(0,0,0,0.06)] data-[state=checked]:shadow-[0_0_0_1px_var(--action),0px_1px_1px_0px_rgba(255,255,255,0.15)_inset,0px_2px_3px_0px_rgba(31,41,55,0.30),0px_1px_1px_0px_rgba(0,0,0,0.28)] dark:data-[state=checked]:shadow-[0px_1px_1px_0px_rgba(255,255,255,0.10)_inset,0px_2px_3px_0px_rgba(0,0,0,0.50),0px_1px_1px_0px_rgba(0,0,0,0.30)] transition-[color,background-color,box-shadow] duration-200 ease outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer data-[size=default]:h-[18px] data-[size=default]:w-[30px] data-[size=sm]:h-3.5 data-[size=sm]:w-[22px] before:absolute before:-inset-[13px] before:content-['']", className),
189
+ ...props,
190
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_switch.Thumb, {
191
+ "data-slot": "switch-thumb",
192
+ className: cn("bg-background dark:data-[state=checked]:bg-white dark:data-[state=unchecked]:bg-[oklch(0.500_0.013_253)] pointer-events-none block rounded-full shadow-[0_2px_2px_-1px_rgba(0,0,0,0.06),0_0_0_1px_rgba(0,0,0,0.06),0_4px_4px_-2px_rgba(0,0,0,0.06)] dark:shadow-[0_2px_2px_-1px_rgba(0,0,0,0.20),0_0_0_1px_rgba(0,0,0,0.15),0_4px_4px_-2px_rgba(0,0,0,0.15)] ring-0 transition-[transform,background-color] duration-150 ease group-data-[size=default]/switch:size-3.5 group-data-[size=sm]/switch:size-2.5 data-[state=unchecked]:translate-x-0.5 group-data-[size=default]/switch:data-[state=checked]:translate-x-[14px] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[10px]")
193
+ })
194
+ }));
195
+ Switch.displayName = "Switch";
196
+
197
+ //#endregion
198
+ //#region src/components/toggle-row/toggle-row.tsx
199
+ const ToggleRow = ({ label, description, checked, onCheckedChange, disabled = false, switchPosition = "left", icon, badge, onSettings, children, className }) => {
200
+ const switchId = (0, react.useId)();
201
+ const descId = (0, react.useId)();
202
+ const cursorClass = disabled ? "cursor-not-allowed" : "cursor-pointer";
203
+ if (switchPosition === "left") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
204
+ className,
205
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
206
+ className: cn("flex items-start gap-2.5 touch-manipulation group/toggle"),
207
+ children: [
208
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Switch, {
209
+ id: switchId,
210
+ "aria-describedby": description ? descId : void 0,
211
+ checked,
212
+ onCheckedChange,
213
+ disabled,
214
+ className: "mt-0.5"
215
+ }),
216
+ icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
217
+ htmlFor: switchId,
218
+ className: cn("text-muted-foreground shrink-0 self-start", cursorClass),
219
+ children: icon
220
+ }),
221
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
222
+ className: "flex-1 min-w-0",
223
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
224
+ className: "flex items-center gap-2",
225
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
226
+ htmlFor: switchId,
227
+ className: cn("font-medium select-none", disabled && "text-muted-foreground", cursorClass),
228
+ children: label
229
+ }), badge]
230
+ }), description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
231
+ htmlFor: switchId,
232
+ id: descId,
233
+ className: cn("block text-sm font-normal text-muted-foreground mt-1 text-pretty select-none", cursorClass),
234
+ children: description
235
+ })]
236
+ })
237
+ ]
238
+ }), children]
239
+ });
240
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
241
+ className: cn("space-y-3", className),
242
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
243
+ className: "flex items-center justify-between gap-4",
244
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
245
+ htmlFor: switchId,
246
+ className: cn("text-sm font-medium select-none", cursorClass),
247
+ children: label
248
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
249
+ className: "flex items-center gap-2 shrink-0",
250
+ children: [onSettings && checked && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Button, {
251
+ variant: "ghost",
252
+ size: "icon-xs",
253
+ onClick: onSettings,
254
+ className: "text-muted-foreground hover:text-foreground",
255
+ "aria-label": "Configure",
256
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hugeicons_react.HugeiconsIcon, {
257
+ icon: _hugeicons_core_free_icons.Setting07Icon,
258
+ size: 14
259
+ })
260
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Switch, {
261
+ id: switchId,
262
+ "aria-describedby": description ? descId : void 0,
263
+ checked,
264
+ onCheckedChange,
265
+ disabled
266
+ })]
267
+ })]
268
+ }), description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
269
+ htmlFor: switchId,
270
+ id: descId,
271
+ className: cn("block text-sm font-normal text-muted-foreground mt-0.5 text-pretty select-none", cursorClass),
272
+ children: description
273
+ })] }), checked && children && children]
274
+ });
275
+ };
276
+
277
+ //#endregion
278
+ Object.defineProperty(exports, 'Button', {
279
+ enumerable: true,
280
+ get: function () {
281
+ return Button;
282
+ }
283
+ });
284
+ Object.defineProperty(exports, 'Input', {
285
+ enumerable: true,
286
+ get: function () {
287
+ return Input;
288
+ }
289
+ });
290
+ Object.defineProperty(exports, 'Label', {
291
+ enumerable: true,
292
+ get: function () {
293
+ return Label;
294
+ }
295
+ });
296
+ Object.defineProperty(exports, 'Switch', {
297
+ enumerable: true,
298
+ get: function () {
299
+ return Switch;
300
+ }
301
+ });
302
+ Object.defineProperty(exports, 'ToggleRow', {
303
+ enumerable: true,
304
+ get: function () {
305
+ return ToggleRow;
306
+ }
307
+ });
308
+ Object.defineProperty(exports, 'buttonVariants', {
309
+ enumerable: true,
310
+ get: function () {
311
+ return buttonVariants;
312
+ }
313
+ });
314
+ Object.defineProperty(exports, 'cn', {
315
+ enumerable: true,
316
+ get: function () {
317
+ return cn;
318
+ }
319
+ });
320
+ //# sourceMappingURL=toggle-row-7lfPUutt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-row-7lfPUutt.cjs","names":["Slot","shaderDefaults: Required<ShaderBorderConfig>","AnimatePresence","motion","PulsingBorder","Root","Root","Thumb","HugeiconsIcon","Setting07Icon"],"sources":["../src/lib/utils.ts","../src/components/ui/button/button.tsx","../src/components/ui/input/input.tsx","../src/components/ui/label/label.tsx","../src/components/ui/switch/switch.tsx","../src/components/toggle-row/toggle-row.tsx"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs));\n","import { type ComponentProps } from 'react';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport { cn } from '../../../lib/utils';\n\nconst buttonVariants = cva(\n \"relative isolate inline-flex items-center justify-center gap-1.5 whitespace-nowrap select-none text-[13px] font-medium leading-[calc(18/13)] touch-manipulation transition-[background-color,color,opacity,box-shadow,transform,filter,scale] duration-150 ease active:scale-[0.96] cursor-pointer border-0 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40\",\n {\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n variants: {\n size: {\n default: \"rounded-md px-3 py-1.5 h-8 has-[>svg]:px-2.5 [&_svg:not([class*='size-'])]:size-3.5\",\n \"icon\": 'size-9 rounded-md',\n \"icon-sm\": \"size-7 rounded-md [&_svg:not([class*='size-'])]:size-3.5 relative before:absolute before:-inset-[6px] before:content-['']\",\n \"icon-xs\": \"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3 relative before:absolute before:-inset-[9px] before:content-['']\",\n lg: \"rounded-md px-5 py-2.5 h-10 has-[>svg]:px-4 [&_svg:not([class*='size-'])]:size-4\",\n sm: \"rounded-md px-2.5 py-1 h-7 has-[>svg]:px-2 [&_svg:not([class*='size-'])]:size-3 before:absolute before:-inset-y-[6px] before:inset-x-0 before:content-['']\",\n xs: \"rounded-md px-3 py-1 h-7 [&_svg:not([class*='size-'])]:size-3\",\n },\n variant: {\n default:\n 'bg-(--action) text-white shadow-[0_0_0_1px_var(--action),var(--shadow-button)] hover:brightness-105 [text-shadow:0_1px_1px_rgba(0,0,0,0.16)]',\n destructive:\n 'bg-destructive text-white shadow-[0_0_0_1px_var(--destructive),var(--shadow-button)] hover:brightness-105 [text-shadow:0_1px_1px_rgba(0,0,0,0.16)] focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',\n ghost:\n 'text-muted-foreground hover:bg-[#f8f8f9] hover:text-foreground dark:hover:bg-white/[0.06]',\n link: 'text-(--action) underline-offset-4 hover:underline',\n outline:\n 'bg-white shadow-[var(--shadow-input)] hover:bg-[#f8f8f9] hover:shadow-[var(--shadow-input-hover)] dark:bg-input/30 dark:hover:bg-white/[0.06]',\n secondary:\n 'bg-white shadow-[var(--shadow-secondary)] hover:bg-[#f8f8f9] hover:shadow-[var(--shadow-secondary-hover)] dark:bg-input/30 dark:hover:bg-white/[0.06]',\n },\n },\n },\n);\n\nconst Button = ({\n className,\n variant = 'default',\n size = 'default',\n asChild = false,\n ...props\n}: ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) => {\n if (asChild) {\n return (\n <Slot\n data-slot='button'\n data-size={size}\n data-variant={variant}\n className={cn(buttonVariants({ className, size, variant }))}\n {...props}\n />\n );\n }\n\n return (\n <button\n data-slot='button'\n data-size={size}\n data-variant={variant}\n className={cn(buttonVariants({ className, size, variant }))}\n {...props}\n />\n );\n};\n\nexport { Button, buttonVariants };\n","'use client';\n\nimport type { ComponentProps } from 'react';\nimport { forwardRef } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'motion/react';\nimport { PulsingBorder } from '@paper-design/shaders-react';\n\nimport { cn } from '../../../lib/utils';\n\ntype ShaderBorderConfig = {\n bloom?: number;\n colors?: string[];\n inset?: number;\n intensity?: number;\n pulse?: number;\n roundness?: number;\n scale?: number;\n smoke?: number;\n smokeSize?: number;\n softness?: number;\n speed?: number;\n spotSize?: number;\n spots?: number;\n thickness?: number;\n};\n\nconst shaderDefaults: Required<ShaderBorderConfig> = {\n bloom: 0,\n colors: ['#BDDCFF', '#57A7FF', '#DEEAFC'],\n inset: 1,\n intensity: 0,\n pulse: 0.3,\n roundness: 0.6,\n scale: 1,\n smoke: 0.75,\n smokeSize: 0.7,\n softness: 0.6,\n speed: 2.2,\n spots: 8,\n spotSize: 0.75,\n thickness: 0.04,\n};\n\nconst spring = { bounce: 0, duration: 0.35, type: 'spring' as const };\n\ntype InputProps = ComponentProps<'input'> & {\n shaderBorder?: boolean | ShaderBorderConfig;\n};\n\nconst Input = forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, shaderBorder, style, ...props }, ref) => {\n const prefersReducedMotion = useReducedMotion();\n const inputClassName = cn(\n 'file:text-foreground placeholder:text-muted-foreground/60 selection:bg-primary selection:text-primary-foreground dark:bg-input/30 h-8 w-full min-w-0 touch-manipulation rounded-md border-0 bg-background px-3 py-1 text-base shadow-[var(--shadow-input)] transition-[color,box-shadow] duration-100 ease-out outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'hover:shadow-[var(--shadow-input-hover)]',\n 'focus-visible:shadow-[0_0_0_1px_var(--ring),0_0_0_4px_rgba(0,114,239,0.15)]',\n 'aria-invalid:shadow-[0_0_0_1px_var(--destructive),0_0_1px_0_var(--destructive)] dark:aria-invalid:shadow-[0_0_0_1px_var(--destructive)]',\n className,\n );\n\n const isActive = !!shaderBorder;\n const config =\n typeof shaderBorder === 'object'\n ? { ...shaderDefaults, ...shaderBorder }\n : shaderDefaults;\n const inset = config.inset;\n\n if (shaderBorder !== undefined) {\n return (\n <div className='relative'>\n <AnimatePresence initial={false}>\n {isActive && (\n <motion.div\n key='shader-border'\n initial={prefersReducedMotion ? false : { opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={prefersReducedMotion ? { duration: 0 } : spring}\n className='absolute pointer-events-none z-20'\n style={{\n borderRadius: `${8 + inset}px`,\n inset: `-${inset}px`,\n willChange: 'opacity',\n }}\n >\n <PulsingBorder\n colorBack='#00000000'\n colors={config.colors}\n speed={config.speed}\n scale={config.scale}\n roundness={config.roundness}\n thickness={config.thickness}\n softness={config.softness}\n intensity={config.intensity}\n bloom={config.bloom}\n spots={config.spots}\n spotSize={config.spotSize}\n pulse={config.pulse}\n smoke={config.smoke}\n smokeSize={config.smokeSize}\n webGlContextAttributes={{\n alpha: true,\n premultipliedAlpha: true,\n }}\n className='size-full'\n style={{ borderRadius: `${8 + inset}px` }}\n />\n </motion.div>\n )}\n </AnimatePresence>\n <input\n ref={ref}\n type={type}\n data-slot='input'\n className={cn(\n inputClassName,\n isActive && 'animate-shimmer motion-reduce:animate-none',\n )}\n style={\n isActive\n ? {\n backgroundClip: 'text',\n backgroundImage: `linear-gradient(to right, color-mix(in srgb, ${config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[1] || config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[2] || config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[0]} 70%, #000))`,\n backgroundSize: '200% 100%',\n boxShadow: 'none',\n color: 'transparent',\n WebkitBackgroundClip: 'text',\n ...style,\n }\n : style\n }\n {...props}\n />\n </div>\n );\n }\n\n return (\n <input\n ref={ref}\n type={type}\n data-slot='input'\n className={inputClassName}\n style={style}\n {...props}\n />\n );\n },\n);\nInput.displayName = 'Input';\n\nexport { Input };\nexport type { ShaderBorderConfig };\n","'use client';\n\nimport type { ComponentPropsWithoutRef, ComponentRef} from 'react';\nimport { forwardRef } from 'react';\nimport { Root } from '@radix-ui/react-label';\nimport { type VariantProps, cva } from 'class-variance-authority';\n\nimport { cn } from '../../../lib/utils';\n\nconst labelVariants = cva(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n);\n\nconst Label = forwardRef<\n ComponentRef<typeof Root>,\n ComponentPropsWithoutRef<typeof Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n));\nLabel.displayName = Root.displayName;\n\nexport { Label };\n","'use client';\n\nimport type { ComponentPropsWithoutRef, ComponentRef } from 'react';\nimport { forwardRef } from 'react';\nimport { Root, Thumb } from '@radix-ui/react-switch';\n\nimport { cn } from '../../../lib/utils';\n\nconst Switch = forwardRef<\n ComponentRef<typeof Root>,\n ComponentPropsWithoutRef<typeof Root> & {\n size?: 'sm' | 'default';\n }\n>(({ className, size = 'default', ...props }, ref) => (\n <Root\n ref={ref}\n data-slot='switch'\n data-size={size}\n className={cn(\n \"peer data-[state=checked]:bg-(--action) data-[state=unchecked]:bg-input hover:data-[state=unchecked]:bg-[rgba(31,41,55,0.14)] group-hover/toggle:data-[state=unchecked]:bg-[rgba(31,41,55,0.14)] focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 dark:hover:data-[state=unchecked]:bg-[rgba(255,255,255,0.12)] dark:group-hover/toggle:data-[state=unchecked]:bg-[rgba(255,255,255,0.12)] relative group/switch inline-flex shrink-0 touch-manipulation items-center rounded-full border-0 shadow-[0_0_0_1px_rgba(31,41,55,0.20),0_1px_2px_0_rgba(0,0,0,0.06),0_0_1px_0_rgba(0,0,0,0.02)] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.15),0_1px_2px_0_rgba(0,0,0,0.20),0_0_1px_0_rgba(0,0,0,0.06)] data-[state=checked]:shadow-[0_0_0_1px_var(--action),0px_1px_1px_0px_rgba(255,255,255,0.15)_inset,0px_2px_3px_0px_rgba(31,41,55,0.30),0px_1px_1px_0px_rgba(0,0,0,0.28)] dark:data-[state=checked]:shadow-[0px_1px_1px_0px_rgba(255,255,255,0.10)_inset,0px_2px_3px_0px_rgba(0,0,0,0.50),0px_1px_1px_0px_rgba(0,0,0,0.30)] transition-[color,background-color,box-shadow] duration-200 ease outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer data-[size=default]:h-[18px] data-[size=default]:w-[30px] data-[size=sm]:h-3.5 data-[size=sm]:w-[22px] before:absolute before:-inset-[13px] before:content-['']\",\n className,\n )}\n {...props}\n >\n <Thumb\n data-slot='switch-thumb'\n className={cn(\n \"bg-background dark:data-[state=checked]:bg-white dark:data-[state=unchecked]:bg-[oklch(0.500_0.013_253)] pointer-events-none block rounded-full shadow-[0_2px_2px_-1px_rgba(0,0,0,0.06),0_0_0_1px_rgba(0,0,0,0.06),0_4px_4px_-2px_rgba(0,0,0,0.06)] dark:shadow-[0_2px_2px_-1px_rgba(0,0,0,0.20),0_0_0_1px_rgba(0,0,0,0.15),0_4px_4px_-2px_rgba(0,0,0,0.15)] ring-0 transition-[transform,background-color] duration-150 ease group-data-[size=default]/switch:size-3.5 group-data-[size=sm]/switch:size-2.5 data-[state=unchecked]:translate-x-0.5 group-data-[size=default]/switch:data-[state=checked]:translate-x-[14px] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[10px]\",\n )}\n />\n </Root>\n));\nSwitch.displayName = 'Switch';\n\nexport { Switch };\n","'use client'\n\nimport { type ReactNode, useId } from 'react'\nimport { HugeiconsIcon } from '@hugeicons/react'\nimport { Setting07Icon } from '@hugeicons/core-free-icons'\n\nimport { Switch } from '../ui/switch'\nimport { Button } from '../ui/button'\nimport { cn } from '../../lib/utils'\n\nexport interface ToggleRowProps {\n badge?: ReactNode,\n checked: boolean,\n children?: ReactNode,\n className?: string,\n description?: string,\n disabled?: boolean,\n icon?: ReactNode\n label: string,\n onCheckedChange: (checked: boolean) => void,\n onSettings?: () => void,\n switchPosition?: 'left' | 'right'\n}\n\nexport const ToggleRow = ({\n label,\n description,\n checked,\n onCheckedChange,\n disabled = false,\n switchPosition = 'left',\n icon,\n badge,\n onSettings,\n children,\n className,\n}: ToggleRowProps) => {\n const switchId = useId()\n const descId = useId()\n\n const cursorClass = disabled ? 'cursor-not-allowed' : 'cursor-pointer'\n\n if (switchPosition === 'left') {\n return (\n <div className={className}>\n <div className={cn('flex items-start gap-2.5 touch-manipulation group/toggle')}>\n <Switch\n id={switchId}\n aria-describedby={description ? descId : undefined}\n checked={checked}\n onCheckedChange={onCheckedChange}\n disabled={disabled}\n className='mt-0.5'\n />\n {icon && (\n <label\n htmlFor={switchId}\n className={cn('text-muted-foreground shrink-0 self-start', cursorClass)}\n >\n {icon}\n </label>\n )}\n <div className='flex-1 min-w-0'>\n <div className='flex items-center gap-2'>\n <label\n htmlFor={switchId}\n className={cn(\n 'font-medium select-none',\n disabled && 'text-muted-foreground',\n cursorClass\n )}\n >\n {label}\n </label>\n {badge}\n </div>\n {description && (\n <label\n htmlFor={switchId}\n id={descId}\n className={cn(\n 'block text-sm font-normal text-muted-foreground mt-1 text-pretty select-none',\n cursorClass\n )}\n >\n {description}\n </label>\n )}\n </div>\n </div>\n {children}\n </div>\n )\n }\n\n // switchPosition === \"right\"\n return (\n <div className={cn('space-y-3', className)}>\n <div>\n <div className='flex items-center justify-between gap-4'>\n <label\n htmlFor={switchId}\n className={cn('text-sm font-medium select-none', cursorClass)}\n >\n {label}\n </label>\n <div className='flex items-center gap-2 shrink-0'>\n {onSettings && checked && (\n <Button\n variant='ghost'\n size='icon-xs'\n onClick={onSettings}\n className='text-muted-foreground hover:text-foreground'\n aria-label='Configure'\n >\n <HugeiconsIcon icon={Setting07Icon} size={14} />\n </Button>\n )}\n <Switch\n id={switchId}\n aria-describedby={description ? descId : undefined}\n checked={checked}\n onCheckedChange={onCheckedChange}\n disabled={disabled}\n />\n </div>\n </div>\n {description && (\n <label\n htmlFor={switchId}\n id={descId}\n className={cn(\n 'block text-sm font-normal text-muted-foreground mt-0.5 text-pretty select-none',\n cursorClass\n )}\n >\n {description}\n </label>\n )}\n </div>\n {checked && children && children}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,278 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ import { forwardRef, useId } from "react";
4
+ import { AnimatePresence, motion, useReducedMotion } from "motion/react";
5
+ import { HugeiconsIcon } from "@hugeicons/react";
6
+ import { Setting07Icon } from "@hugeicons/core-free-icons";
7
+ import { cva } from "class-variance-authority";
8
+ import { Slot } from "@radix-ui/react-slot";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ import { PulsingBorder } from "@paper-design/shaders-react";
11
+ import { Root } from "@radix-ui/react-label";
12
+ import { Root as Root$1, Thumb } from "@radix-ui/react-switch";
13
+
14
+ //#region src/lib/utils.ts
15
+ const cn = (...inputs) => twMerge(clsx(inputs));
16
+
17
+ //#endregion
18
+ //#region src/components/ui/button/button.tsx
19
+ const buttonVariants = cva("relative isolate inline-flex items-center justify-center gap-1.5 whitespace-nowrap select-none text-[13px] font-medium leading-[calc(18/13)] touch-manipulation transition-[background-color,color,opacity,box-shadow,transform,filter,scale] duration-150 ease active:scale-[0.96] cursor-pointer border-0 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", {
20
+ defaultVariants: {
21
+ size: "default",
22
+ variant: "default"
23
+ },
24
+ variants: {
25
+ size: {
26
+ default: "rounded-md px-3 py-1.5 h-8 has-[>svg]:px-2.5 [&_svg:not([class*='size-'])]:size-3.5",
27
+ "icon": "size-9 rounded-md",
28
+ "icon-sm": "size-7 rounded-md [&_svg:not([class*='size-'])]:size-3.5 relative before:absolute before:-inset-[6px] before:content-['']",
29
+ "icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3 relative before:absolute before:-inset-[9px] before:content-['']",
30
+ lg: "rounded-md px-5 py-2.5 h-10 has-[>svg]:px-4 [&_svg:not([class*='size-'])]:size-4",
31
+ sm: "rounded-md px-2.5 py-1 h-7 has-[>svg]:px-2 [&_svg:not([class*='size-'])]:size-3 before:absolute before:-inset-y-[6px] before:inset-x-0 before:content-['']",
32
+ xs: "rounded-md px-3 py-1 h-7 [&_svg:not([class*='size-'])]:size-3"
33
+ },
34
+ variant: {
35
+ default: "bg-(--action) text-white shadow-[0_0_0_1px_var(--action),var(--shadow-button)] hover:brightness-105 [text-shadow:0_1px_1px_rgba(0,0,0,0.16)]",
36
+ destructive: "bg-destructive text-white shadow-[0_0_0_1px_var(--destructive),var(--shadow-button)] hover:brightness-105 [text-shadow:0_1px_1px_rgba(0,0,0,0.16)] focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
37
+ ghost: "text-muted-foreground hover:bg-[#f8f8f9] hover:text-foreground dark:hover:bg-white/[0.06]",
38
+ link: "text-(--action) underline-offset-4 hover:underline",
39
+ outline: "bg-white shadow-[var(--shadow-input)] hover:bg-[#f8f8f9] hover:shadow-[var(--shadow-input-hover)] dark:bg-input/30 dark:hover:bg-white/[0.06]",
40
+ secondary: "bg-white shadow-[var(--shadow-secondary)] hover:bg-[#f8f8f9] hover:shadow-[var(--shadow-secondary-hover)] dark:bg-input/30 dark:hover:bg-white/[0.06]"
41
+ }
42
+ }
43
+ });
44
+ const Button = ({ className, variant = "default", size = "default", asChild = false, ...props }) => {
45
+ if (asChild) return /* @__PURE__ */ jsx(Slot, {
46
+ "data-slot": "button",
47
+ "data-size": size,
48
+ "data-variant": variant,
49
+ className: cn(buttonVariants({
50
+ className,
51
+ size,
52
+ variant
53
+ })),
54
+ ...props
55
+ });
56
+ return /* @__PURE__ */ jsx("button", {
57
+ "data-slot": "button",
58
+ "data-size": size,
59
+ "data-variant": variant,
60
+ className: cn(buttonVariants({
61
+ className,
62
+ size,
63
+ variant
64
+ })),
65
+ ...props
66
+ });
67
+ };
68
+
69
+ //#endregion
70
+ //#region src/components/ui/input/input.tsx
71
+ const shaderDefaults = {
72
+ bloom: 0,
73
+ colors: [
74
+ "#BDDCFF",
75
+ "#57A7FF",
76
+ "#DEEAFC"
77
+ ],
78
+ inset: 1,
79
+ intensity: 0,
80
+ pulse: .3,
81
+ roundness: .6,
82
+ scale: 1,
83
+ smoke: .75,
84
+ smokeSize: .7,
85
+ softness: .6,
86
+ speed: 2.2,
87
+ spots: 8,
88
+ spotSize: .75,
89
+ thickness: .04
90
+ };
91
+ const spring = {
92
+ bounce: 0,
93
+ duration: .35,
94
+ type: "spring"
95
+ };
96
+ const Input = forwardRef(({ className, type, shaderBorder, style, ...props }, ref) => {
97
+ const prefersReducedMotion = useReducedMotion();
98
+ const inputClassName = cn("file:text-foreground placeholder:text-muted-foreground/60 selection:bg-primary selection:text-primary-foreground dark:bg-input/30 h-8 w-full min-w-0 touch-manipulation rounded-md border-0 bg-background px-3 py-1 text-base shadow-[var(--shadow-input)] transition-[color,box-shadow] duration-100 ease-out outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "hover:shadow-[var(--shadow-input-hover)]", "focus-visible:shadow-[0_0_0_1px_var(--ring),0_0_0_4px_rgba(0,114,239,0.15)]", "aria-invalid:shadow-[0_0_0_1px_var(--destructive),0_0_1px_0_var(--destructive)] dark:aria-invalid:shadow-[0_0_0_1px_var(--destructive)]", className);
99
+ const isActive = !!shaderBorder;
100
+ const config = typeof shaderBorder === "object" ? {
101
+ ...shaderDefaults,
102
+ ...shaderBorder
103
+ } : shaderDefaults;
104
+ const inset = config.inset;
105
+ if (shaderBorder !== void 0) return /* @__PURE__ */ jsxs("div", {
106
+ className: "relative",
107
+ children: [/* @__PURE__ */ jsx(AnimatePresence, {
108
+ initial: false,
109
+ children: isActive && /* @__PURE__ */ jsx(motion.div, {
110
+ initial: prefersReducedMotion ? false : { opacity: 0 },
111
+ animate: { opacity: 1 },
112
+ exit: { opacity: 0 },
113
+ transition: prefersReducedMotion ? { duration: 0 } : spring,
114
+ className: "absolute pointer-events-none z-20",
115
+ style: {
116
+ borderRadius: `${8 + inset}px`,
117
+ inset: `-${inset}px`,
118
+ willChange: "opacity"
119
+ },
120
+ children: /* @__PURE__ */ jsx(PulsingBorder, {
121
+ colorBack: "#00000000",
122
+ colors: config.colors,
123
+ speed: config.speed,
124
+ scale: config.scale,
125
+ roundness: config.roundness,
126
+ thickness: config.thickness,
127
+ softness: config.softness,
128
+ intensity: config.intensity,
129
+ bloom: config.bloom,
130
+ spots: config.spots,
131
+ spotSize: config.spotSize,
132
+ pulse: config.pulse,
133
+ smoke: config.smoke,
134
+ smokeSize: config.smokeSize,
135
+ webGlContextAttributes: {
136
+ alpha: true,
137
+ premultipliedAlpha: true
138
+ },
139
+ className: "size-full",
140
+ style: { borderRadius: `${8 + inset}px` }
141
+ })
142
+ }, "shader-border")
143
+ }), /* @__PURE__ */ jsx("input", {
144
+ ref,
145
+ type,
146
+ "data-slot": "input",
147
+ className: cn(inputClassName, isActive && "animate-shimmer motion-reduce:animate-none"),
148
+ style: isActive ? {
149
+ backgroundClip: "text",
150
+ backgroundImage: `linear-gradient(to right, color-mix(in srgb, ${config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[1] || config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[2] || config.colors[0]} 70%, #000), color-mix(in srgb, ${config.colors[0]} 70%, #000))`,
151
+ backgroundSize: "200% 100%",
152
+ boxShadow: "none",
153
+ color: "transparent",
154
+ WebkitBackgroundClip: "text",
155
+ ...style
156
+ } : style,
157
+ ...props
158
+ })]
159
+ });
160
+ return /* @__PURE__ */ jsx("input", {
161
+ ref,
162
+ type,
163
+ "data-slot": "input",
164
+ className: inputClassName,
165
+ style,
166
+ ...props
167
+ });
168
+ });
169
+ Input.displayName = "Input";
170
+
171
+ //#endregion
172
+ //#region src/components/ui/label/label.tsx
173
+ const labelVariants = cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
174
+ const Label = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Root, {
175
+ ref,
176
+ className: cn(labelVariants(), className),
177
+ ...props
178
+ }));
179
+ Label.displayName = Root.displayName;
180
+
181
+ //#endregion
182
+ //#region src/components/ui/switch/switch.tsx
183
+ const Switch = forwardRef(({ className, size = "default", ...props }, ref) => /* @__PURE__ */ jsx(Root$1, {
184
+ ref,
185
+ "data-slot": "switch",
186
+ "data-size": size,
187
+ className: cn("peer data-[state=checked]:bg-(--action) data-[state=unchecked]:bg-input hover:data-[state=unchecked]:bg-[rgba(31,41,55,0.14)] group-hover/toggle:data-[state=unchecked]:bg-[rgba(31,41,55,0.14)] focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 dark:hover:data-[state=unchecked]:bg-[rgba(255,255,255,0.12)] dark:group-hover/toggle:data-[state=unchecked]:bg-[rgba(255,255,255,0.12)] relative group/switch inline-flex shrink-0 touch-manipulation items-center rounded-full border-0 shadow-[0_0_0_1px_rgba(31,41,55,0.20),0_1px_2px_0_rgba(0,0,0,0.06),0_0_1px_0_rgba(0,0,0,0.02)] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.15),0_1px_2px_0_rgba(0,0,0,0.20),0_0_1px_0_rgba(0,0,0,0.06)] data-[state=checked]:shadow-[0_0_0_1px_var(--action),0px_1px_1px_0px_rgba(255,255,255,0.15)_inset,0px_2px_3px_0px_rgba(31,41,55,0.30),0px_1px_1px_0px_rgba(0,0,0,0.28)] dark:data-[state=checked]:shadow-[0px_1px_1px_0px_rgba(255,255,255,0.10)_inset,0px_2px_3px_0px_rgba(0,0,0,0.50),0px_1px_1px_0px_rgba(0,0,0,0.30)] transition-[color,background-color,box-shadow] duration-200 ease outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer data-[size=default]:h-[18px] data-[size=default]:w-[30px] data-[size=sm]:h-3.5 data-[size=sm]:w-[22px] before:absolute before:-inset-[13px] before:content-['']", className),
188
+ ...props,
189
+ children: /* @__PURE__ */ jsx(Thumb, {
190
+ "data-slot": "switch-thumb",
191
+ className: cn("bg-background dark:data-[state=checked]:bg-white dark:data-[state=unchecked]:bg-[oklch(0.500_0.013_253)] pointer-events-none block rounded-full shadow-[0_2px_2px_-1px_rgba(0,0,0,0.06),0_0_0_1px_rgba(0,0,0,0.06),0_4px_4px_-2px_rgba(0,0,0,0.06)] dark:shadow-[0_2px_2px_-1px_rgba(0,0,0,0.20),0_0_0_1px_rgba(0,0,0,0.15),0_4px_4px_-2px_rgba(0,0,0,0.15)] ring-0 transition-[transform,background-color] duration-150 ease group-data-[size=default]/switch:size-3.5 group-data-[size=sm]/switch:size-2.5 data-[state=unchecked]:translate-x-0.5 group-data-[size=default]/switch:data-[state=checked]:translate-x-[14px] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[10px]")
192
+ })
193
+ }));
194
+ Switch.displayName = "Switch";
195
+
196
+ //#endregion
197
+ //#region src/components/toggle-row/toggle-row.tsx
198
+ const ToggleRow = ({ label, description, checked, onCheckedChange, disabled = false, switchPosition = "left", icon, badge, onSettings, children, className }) => {
199
+ const switchId = useId();
200
+ const descId = useId();
201
+ const cursorClass = disabled ? "cursor-not-allowed" : "cursor-pointer";
202
+ if (switchPosition === "left") return /* @__PURE__ */ jsxs("div", {
203
+ className,
204
+ children: [/* @__PURE__ */ jsxs("div", {
205
+ className: cn("flex items-start gap-2.5 touch-manipulation group/toggle"),
206
+ children: [
207
+ /* @__PURE__ */ jsx(Switch, {
208
+ id: switchId,
209
+ "aria-describedby": description ? descId : void 0,
210
+ checked,
211
+ onCheckedChange,
212
+ disabled,
213
+ className: "mt-0.5"
214
+ }),
215
+ icon && /* @__PURE__ */ jsx("label", {
216
+ htmlFor: switchId,
217
+ className: cn("text-muted-foreground shrink-0 self-start", cursorClass),
218
+ children: icon
219
+ }),
220
+ /* @__PURE__ */ jsxs("div", {
221
+ className: "flex-1 min-w-0",
222
+ children: [/* @__PURE__ */ jsxs("div", {
223
+ className: "flex items-center gap-2",
224
+ children: [/* @__PURE__ */ jsx("label", {
225
+ htmlFor: switchId,
226
+ className: cn("font-medium select-none", disabled && "text-muted-foreground", cursorClass),
227
+ children: label
228
+ }), badge]
229
+ }), description && /* @__PURE__ */ jsx("label", {
230
+ htmlFor: switchId,
231
+ id: descId,
232
+ className: cn("block text-sm font-normal text-muted-foreground mt-1 text-pretty select-none", cursorClass),
233
+ children: description
234
+ })]
235
+ })
236
+ ]
237
+ }), children]
238
+ });
239
+ return /* @__PURE__ */ jsxs("div", {
240
+ className: cn("space-y-3", className),
241
+ children: [/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
242
+ className: "flex items-center justify-between gap-4",
243
+ children: [/* @__PURE__ */ jsx("label", {
244
+ htmlFor: switchId,
245
+ className: cn("text-sm font-medium select-none", cursorClass),
246
+ children: label
247
+ }), /* @__PURE__ */ jsxs("div", {
248
+ className: "flex items-center gap-2 shrink-0",
249
+ children: [onSettings && checked && /* @__PURE__ */ jsx(Button, {
250
+ variant: "ghost",
251
+ size: "icon-xs",
252
+ onClick: onSettings,
253
+ className: "text-muted-foreground hover:text-foreground",
254
+ "aria-label": "Configure",
255
+ children: /* @__PURE__ */ jsx(HugeiconsIcon, {
256
+ icon: Setting07Icon,
257
+ size: 14
258
+ })
259
+ }), /* @__PURE__ */ jsx(Switch, {
260
+ id: switchId,
261
+ "aria-describedby": description ? descId : void 0,
262
+ checked,
263
+ onCheckedChange,
264
+ disabled
265
+ })]
266
+ })]
267
+ }), description && /* @__PURE__ */ jsx("label", {
268
+ htmlFor: switchId,
269
+ id: descId,
270
+ className: cn("block text-sm font-normal text-muted-foreground mt-0.5 text-pretty select-none", cursorClass),
271
+ children: description
272
+ })] }), checked && children && children]
273
+ });
274
+ };
275
+
276
+ //#endregion
277
+ export { Button as a, Input as i, Switch as n, buttonVariants as o, Label as r, cn as s, ToggleRow as t };
278
+ //# sourceMappingURL=toggle-row-B5iXNWCJ.esm.js.map