@toa.io/extensions.configuration 1.0.0-alpha.274 → 1.0.0-alpha.276

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 (501) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/components/configuration.values/operations/create.d.ts +16 -0
  3. package/components/configuration.values/operations/create.js +58 -0
  4. package/components/configuration.values/operations/create.js.map +1 -0
  5. package/components/configuration.values/operations/fetch.d.ts +11 -0
  6. package/components/configuration.values/operations/fetch.js +17 -0
  7. package/components/configuration.values/operations/fetch.js.map +1 -0
  8. package/components/configuration.values/operations/get.d.ts +17 -0
  9. package/components/configuration.values/operations/get.js +23 -0
  10. package/components/configuration.values/operations/get.js.map +1 -0
  11. package/components/configuration.values/operations/lib/map.d.ts +11 -0
  12. package/components/configuration.values/operations/lib/map.js +26 -0
  13. package/components/configuration.values/operations/lib/map.js.map +1 -0
  14. package/components/configuration.values/operations/lib/map.test.d.ts +1 -0
  15. package/components/configuration.values/operations/lib/map.test.js +26 -0
  16. package/components/configuration.values/operations/lib/map.test.js.map +1 -0
  17. package/components/configuration.values/operations/lib/resolve.d.ts +27 -0
  18. package/components/configuration.values/operations/lib/resolve.js +28 -0
  19. package/components/configuration.values/operations/lib/resolve.js.map +1 -0
  20. package/components/configuration.values/operations/list.d.ts +10 -0
  21. package/components/configuration.values/operations/list.js +15 -0
  22. package/components/configuration.values/operations/list.js.map +1 -0
  23. package/components/configuration.values/operations/tsconfig.tsbuildinfo +1 -0
  24. package/features/site/favicon.ico +0 -0
  25. package/features/ui.feature +8 -0
  26. package/package.json +2 -2
  27. package/source/Aspect.ts +7 -2
  28. package/source/UI.ts +16 -1
  29. package/source/deployment.ts +1 -1
  30. package/transpiled/Aspect.js +3 -2
  31. package/transpiled/Aspect.js.map +1 -1
  32. package/transpiled/UI.js +14 -1
  33. package/transpiled/UI.js.map +1 -1
  34. package/transpiled/deployment.d.ts +1 -1
  35. package/transpiled/tsconfig.tsbuildinfo +1 -1
  36. package/ui/dist/_app/env.js +1 -0
  37. package/ui/dist/_app/immutable/assets/0.CNS8Cqhc.css +2 -0
  38. package/ui/dist/_app/immutable/assets/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
  39. package/ui/dist/_app/immutable/assets/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
  40. package/ui/dist/_app/immutable/assets/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
  41. package/ui/dist/_app/immutable/assets/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
  42. package/ui/dist/_app/immutable/assets/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
  43. package/ui/dist/_app/immutable/assets/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
  44. package/ui/dist/_app/immutable/assets/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
  45. package/ui/dist/_app/immutable/assets/ui.BghF56l_.css +1 -0
  46. package/ui/dist/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  47. package/ui/dist/_app/immutable/chunks/CDKtbN4n.js +6 -0
  48. package/ui/dist/_app/immutable/chunks/CcD_ISxM.js +3 -0
  49. package/ui/dist/_app/immutable/chunks/Chb3af1a.js +1 -0
  50. package/ui/dist/_app/immutable/chunks/Cov6-56A.js +50 -0
  51. package/ui/dist/_app/immutable/chunks/E7oj41Za.js +1 -0
  52. package/ui/dist/_app/immutable/chunks/MOpxGoVO.js +8 -0
  53. package/ui/dist/_app/immutable/chunks/xihTtKlq.js +1 -0
  54. package/ui/dist/_app/immutable/entry/app.B9v2AwU_.js +2 -0
  55. package/ui/dist/_app/immutable/entry/start.B97KALv1.js +1 -0
  56. package/ui/dist/_app/immutable/nodes/0.DKSa6mGa.js +1 -0
  57. package/ui/dist/_app/immutable/nodes/1.Cnu_jAWf.js +1 -0
  58. package/ui/dist/_app/immutable/nodes/2.Dg1zeC2b.js +1 -0
  59. package/ui/dist/_app/immutable/nodes/3.QCbZIibO.js +1 -0
  60. package/ui/dist/_app/immutable/nodes/4.1bG6DC_9.js +1 -0
  61. package/ui/dist/_app/version.json +1 -0
  62. package/ui/dist/apple-touch-icon.png +0 -0
  63. package/ui/dist/favicon-96x96.png +0 -0
  64. package/ui/dist/favicon.ico +0 -0
  65. package/ui/dist/index.html +52 -0
  66. package/ui/.agents/skills/antcn/SKILL.md +0 -91
  67. package/ui/.agents/skills/antcn/references/analytics.md +0 -78
  68. package/ui/.agents/skills/antcn/references/bridge.md +0 -41
  69. package/ui/.agents/skills/antcn/references/clipboard.md +0 -23
  70. package/ui/.agents/skills/antcn/references/dismissable.md +0 -75
  71. package/ui/.agents/skills/antcn/references/dropdown.md +0 -153
  72. package/ui/.agents/skills/antcn/references/fragments.md +0 -29
  73. package/ui/.agents/skills/antcn/references/fullscreen.md +0 -157
  74. package/ui/.agents/skills/antcn/references/geo.md +0 -27
  75. package/ui/.agents/skills/antcn/references/globals.md +0 -31
  76. package/ui/.agents/skills/antcn/references/grammatical-form.md +0 -69
  77. package/ui/.agents/skills/antcn/references/hints.md +0 -44
  78. package/ui/.agents/skills/antcn/references/hold.md +0 -34
  79. package/ui/.agents/skills/antcn/references/iam.md +0 -117
  80. package/ui/.agents/skills/antcn/references/input-form.md +0 -34
  81. package/ui/.agents/skills/antcn/references/locale.md +0 -66
  82. package/ui/.agents/skills/antcn/references/net.md +0 -33
  83. package/ui/.agents/skills/antcn/references/panel.md +0 -44
  84. package/ui/.agents/skills/antcn/references/passkeys.md +0 -27
  85. package/ui/.agents/skills/antcn/references/payments.md +0 -99
  86. package/ui/.agents/skills/antcn/references/realtime.md +0 -69
  87. package/ui/.agents/skills/antcn/references/scrollable.md +0 -39
  88. package/ui/.agents/skills/antcn/references/selector.md +0 -71
  89. package/ui/.agents/skills/antcn/references/shake.md +0 -36
  90. package/ui/.agents/skills/antcn/references/share.md +0 -28
  91. package/ui/.agents/skills/antcn/references/shell.md +0 -139
  92. package/ui/.agents/skills/antcn/references/stack.md +0 -53
  93. package/ui/.agents/skills/antcn/references/system.md +0 -149
  94. package/ui/.agents/skills/antcn/references/taptap.md +0 -28
  95. package/ui/.agents/skills/antcn/references/tools.md +0 -68
  96. package/ui/.agents/skills/antcn/references/transmission.md +0 -96
  97. package/ui/.agents/skills/shadcn-svelte/SKILL.md +0 -227
  98. package/ui/.agents/skills/shadcn-svelte/agents/openai.yml +0 -5
  99. package/ui/.agents/skills/shadcn-svelte/assets/shadcn-svelte-small.png +0 -0
  100. package/ui/.agents/skills/shadcn-svelte/assets/shadcn-svelte.png +0 -0
  101. package/ui/.agents/skills/shadcn-svelte/cli.md +0 -166
  102. package/ui/.agents/skills/shadcn-svelte/customization.md +0 -213
  103. package/ui/.agents/skills/shadcn-svelte/evals/evals.json +0 -47
  104. package/ui/.agents/skills/shadcn-svelte/rules/composition.md +0 -244
  105. package/ui/.agents/skills/shadcn-svelte/rules/forms.md +0 -234
  106. package/ui/.agents/skills/shadcn-svelte/rules/icons.md +0 -107
  107. package/ui/.agents/skills/shadcn-svelte/rules/styling.md +0 -195
  108. package/ui/.agents/skills/svas/SKILL.md +0 -169
  109. package/ui/.agents/skills/svas/references/patterns.md +0 -95
  110. package/ui/.agents/skills/svintl/SKILL.md +0 -176
  111. package/ui/.claude/settings.json +0 -15
  112. package/ui/.codex/hooks.json +0 -15
  113. package/ui/.cursor/hooks.json +0 -11
  114. package/ui/.env.example +0 -1
  115. package/ui/.prettierrc +0 -9
  116. package/ui/.vscode/extensions.json +0 -7
  117. package/ui/.vscode/settings.json +0 -27
  118. package/ui/AGENTS.md +0 -51
  119. package/ui/architecture.md +0 -390
  120. package/ui/components.json +0 -20
  121. package/ui/eslint.config.js +0 -152
  122. package/ui/features/base.ts +0 -2
  123. package/ui/features/boot.feature +0 -5
  124. package/ui/features/steps/authentication.ts +0 -34
  125. package/ui/features/steps/navigaton.ts +0 -37
  126. package/ui/features/steps/typing.ts +0 -24
  127. package/ui/package-lock.json +0 -8173
  128. package/ui/package.json +0 -76
  129. package/ui/playwright.config.ts +0 -13
  130. package/ui/skills-lock.json +0 -30
  131. package/ui/src/@/configuration/index.ts +0 -1
  132. package/ui/src/@/configuration/svc/create.ts +0 -29
  133. package/ui/src/@/configuration/svc/index.ts +0 -3
  134. package/ui/src/@/configuration/svc/net/Configuration.ts +0 -18
  135. package/ui/src/@/configuration/svc/net/index.ts +0 -2
  136. package/ui/src/@/configuration/svc/net/interface.ts +0 -35
  137. package/ui/src/@/configuration/svc/store.ts +0 -14
  138. package/ui/src/@/configuration/ui/Configurations.svelte +0 -85
  139. package/ui/src/@/configuration/ui/Configurations.ts +0 -5
  140. package/ui/src/@/configuration/ui/Create.svelte +0 -64
  141. package/ui/src/@/configuration/ui/Create.ts +0 -7
  142. package/ui/src/@/configuration/ui/Form.svelte +0 -75
  143. package/ui/src/@/configuration/ui/Form.ts +0 -79
  144. package/ui/src/@/configuration/ui/Row.svelte +0 -44
  145. package/ui/src/@/configuration/ui/Row.ts +0 -9
  146. package/ui/src/@/configuration/ui/Value.svelte +0 -33
  147. package/ui/src/@/configuration/ui/Value.ts +0 -6
  148. package/ui/src/@/configuration/ui/index.ts +0 -9
  149. package/ui/src/@/configuration/ui/intl/built.js +0 -38
  150. package/ui/src/@/configuration/ui/intl/context.yaml +0 -51
  151. package/ui/src/@/configuration/ui/intl/en-US.yaml +0 -21
  152. package/ui/src/@/configuration/ui/intl/index.ts +0 -9
  153. package/ui/src/@/configuration/ui/intl/types.ts +0 -31
  154. package/ui/src/@/configuration/ui/read.test.ts +0 -75
  155. package/ui/src/@/configuration/ui/read.ts +0 -102
  156. package/ui/src/@/configuration/ui/ui.test.ts +0 -69
  157. package/ui/src/@/configuration/ui/ui.ts +0 -115
  158. package/ui/src/@/iam/index.ts +0 -1
  159. package/ui/src/@/iam/rc.ts +0 -22
  160. package/ui/src/@/iam/svc/authenticated.ts +0 -17
  161. package/ui/src/@/iam/svc/basic.ts +0 -23
  162. package/ui/src/@/iam/svc/index.ts +0 -10
  163. package/ui/src/@/iam/svc/logout.ts +0 -5
  164. package/ui/src/@/iam/svc/named.ts +0 -16
  165. package/ui/src/@/iam/svc/net/Echo.ts +0 -9
  166. package/ui/src/@/iam/svc/net/basic/index.ts +0 -1
  167. package/ui/src/@/iam/svc/net/basic/interface.ts +0 -15
  168. package/ui/src/@/iam/svc/net/federation/index.ts +0 -1
  169. package/ui/src/@/iam/svc/net/federation/interface.ts +0 -12
  170. package/ui/src/@/iam/svc/net/index.ts +0 -6
  171. package/ui/src/@/iam/svc/net/interface.ts +0 -17
  172. package/ui/src/@/iam/svc/net/otp/index.ts +0 -1
  173. package/ui/src/@/iam/svc/net/otp/interface.ts +0 -14
  174. package/ui/src/@/iam/svc/net/passkeys/index.ts +0 -1
  175. package/ui/src/@/iam/svc/net/passkeys/interface.ts +0 -12
  176. package/ui/src/@/iam/svc/oidc/apple.ts +0 -47
  177. package/ui/src/@/iam/svc/oidc/authenticate.ts +0 -62
  178. package/ui/src/@/iam/svc/oidc/google.ts +0 -45
  179. package/ui/src/@/iam/svc/oidc/hello.ts +0 -82
  180. package/ui/src/@/iam/svc/oidc/index.ts +0 -3
  181. package/ui/src/@/iam/svc/oidc/nonce.ts +0 -5
  182. package/ui/src/@/iam/svc/oidc/providers.ts +0 -28
  183. package/ui/src/@/iam/svc/oidc/standard.ts +0 -28
  184. package/ui/src/@/iam/svc/otp.ts +0 -18
  185. package/ui/src/@/iam/svc/passkeys/create.ts +0 -20
  186. package/ui/src/@/iam/svc/passkeys/index.ts +0 -2
  187. package/ui/src/@/iam/svc/passkeys/login.ts +0 -21
  188. package/ui/src/@/iam/svc/store.ts +0 -36
  189. package/ui/src/@/iam/svc/sync.ts +0 -18
  190. package/ui/src/@/iam/svc/transfer.ts +0 -11
  191. package/ui/src/@/iam/svc/update.ts +0 -8
  192. package/ui/src/@/iam/ui/AccountLike.ts +0 -4
  193. package/ui/src/@/iam/ui/Authenticated.svelte +0 -37
  194. package/ui/src/@/iam/ui/Authenticated.ts +0 -10
  195. package/ui/src/@/iam/ui/Authentication.svelte +0 -50
  196. package/ui/src/@/iam/ui/Authentication.ts +0 -9
  197. package/ui/src/@/iam/ui/Authorized.svelte +0 -32
  198. package/ui/src/@/iam/ui/Authorized.ts +0 -65
  199. package/ui/src/@/iam/ui/Card.svelte +0 -14
  200. package/ui/src/@/iam/ui/Card.ts +0 -7
  201. package/ui/src/@/iam/ui/Refresh.svelte +0 -39
  202. package/ui/src/@/iam/ui/credentials/Credentials.svelte +0 -26
  203. package/ui/src/@/iam/ui/credentials/Credentials.ts +0 -5
  204. package/ui/src/@/iam/ui/credentials/Provider.svelte +0 -24
  205. package/ui/src/@/iam/ui/credentials/Provider.ts +0 -5
  206. package/ui/src/@/iam/ui/credentials/index.ts +0 -1
  207. package/ui/src/@/iam/ui/credentials/passkeys/Key.svelte +0 -42
  208. package/ui/src/@/iam/ui/credentials/passkeys/Key.ts +0 -29
  209. package/ui/src/@/iam/ui/credentials/passkeys/Manager.svelte +0 -83
  210. package/ui/src/@/iam/ui/credentials/passkeys/Manager.ts +0 -5
  211. package/ui/src/@/iam/ui/credentials/passkeys/Passkeys.svelte +0 -39
  212. package/ui/src/@/iam/ui/credentials/passkeys/Summary.svelte +0 -27
  213. package/ui/src/@/iam/ui/credentials/passkeys/Summary.ts +0 -5
  214. package/ui/src/@/iam/ui/credentials/passkeys/index.ts +0 -1
  215. package/ui/src/@/iam/ui/credentials/providers.ts +0 -15
  216. package/ui/src/@/iam/ui/credentials/transfer/Qr.svelte +0 -24
  217. package/ui/src/@/iam/ui/credentials/transfer/Qr.ts +0 -3
  218. package/ui/src/@/iam/ui/credentials/transfer/Transfer.svelte +0 -48
  219. package/ui/src/@/iam/ui/credentials/transfer/Transfer.ts +0 -5
  220. package/ui/src/@/iam/ui/credentials/transfer/index.ts +0 -1
  221. package/ui/src/@/iam/ui/index.ts +0 -3
  222. package/ui/src/@/iam/ui/intl/built.js +0 -79
  223. package/ui/src/@/iam/ui/intl/context.yaml +0 -91
  224. package/ui/src/@/iam/ui/intl/en-US.yaml +0 -64
  225. package/ui/src/@/iam/ui/intl/index.ts +0 -10
  226. package/ui/src/@/iam/ui/intl/types.ts +0 -70
  227. package/ui/src/@/iam/ui/oidc/Authentication.svelte +0 -16
  228. package/ui/src/@/iam/ui/oidc/Authentication.ts +0 -5
  229. package/ui/src/@/iam/ui/oidc/Button.svelte +0 -36
  230. package/ui/src/@/iam/ui/oidc/Button.ts +0 -11
  231. package/ui/src/@/iam/ui/oidc/Refresh.svelte +0 -16
  232. package/ui/src/@/iam/ui/oidc/icons/Apple.svelte +0 -19
  233. package/ui/src/@/iam/ui/oidc/icons/Google.svelte +0 -31
  234. package/ui/src/@/iam/ui/oidc/icons/index.ts +0 -11
  235. package/ui/src/@/iam/ui/oidc/index.ts +0 -2
  236. package/ui/src/@/iam/ui/passkey/Authentication.svelte +0 -64
  237. package/ui/src/@/iam/ui/passkey/Authentication.ts +0 -8
  238. package/ui/src/@/iam/ui/passkey/Create.svelte +0 -53
  239. package/ui/src/@/iam/ui/passkey/Create.ts +0 -7
  240. package/ui/src/@/iam/ui/passkey/Login.svelte +0 -29
  241. package/ui/src/@/iam/ui/passkey/Refresh.svelte +0 -29
  242. package/ui/src/@/iam/ui/passkey/index.ts +0 -2
  243. package/ui/src/@/iam/ui/password/Authentication.svelte +0 -19
  244. package/ui/src/@/iam/ui/password/Authentication.ts +0 -8
  245. package/ui/src/@/iam/ui/password/Form.svelte +0 -151
  246. package/ui/src/@/iam/ui/password/Form.ts +0 -6
  247. package/ui/src/@/iam/ui/password/Password.svelte +0 -39
  248. package/ui/src/@/iam/ui/password/Password.ts +0 -6
  249. package/ui/src/@/iam/ui/password/Refresh.svelte +0 -5
  250. package/ui/src/@/iam/ui/password/index.ts +0 -2
  251. package/ui/src/@/net/index.ts +0 -1
  252. package/ui/src/@/net/svc/index.ts +0 -3
  253. package/ui/src/@/net/svc/origin.ts +0 -8
  254. package/ui/src/@/net/svc/query.test.ts +0 -45
  255. package/ui/src/@/net/svc/query.ts +0 -25
  256. package/ui/src/@/passkeys/index.ts +0 -1
  257. package/ui/src/@/passkeys/svc/add.ts +0 -15
  258. package/ui/src/@/passkeys/svc/create.ts +0 -58
  259. package/ui/src/@/passkeys/svc/credentials/convert.ts +0 -32
  260. package/ui/src/@/passkeys/svc/credentials/create.ts +0 -34
  261. package/ui/src/@/passkeys/svc/credentials/get.ts +0 -14
  262. package/ui/src/@/passkeys/svc/credentials/index.ts +0 -3
  263. package/ui/src/@/passkeys/svc/credentials/key.ts +0 -10
  264. package/ui/src/@/passkeys/svc/get.ts +0 -10
  265. package/ui/src/@/passkeys/svc/index.ts +0 -6
  266. package/ui/src/@/passkeys/svc/net/CreationResponse.ts +0 -15
  267. package/ui/src/@/passkeys/svc/net/Passkey.ts +0 -8
  268. package/ui/src/@/passkeys/svc/net/RequestResponse.ts +0 -12
  269. package/ui/src/@/passkeys/svc/net/challenges/Options.ts +0 -21
  270. package/ui/src/@/passkeys/svc/net/challenges/index.ts +0 -2
  271. package/ui/src/@/passkeys/svc/net/challenges/interface.ts +0 -16
  272. package/ui/src/@/passkeys/svc/net/index.ts +0 -4
  273. package/ui/src/@/passkeys/svc/net/interface.ts +0 -29
  274. package/ui/src/@/passkeys/svc/remove.ts +0 -13
  275. package/ui/src/@/passkeys/svc/request.ts +0 -50
  276. package/ui/src/@/passkeys/svc/store.ts +0 -13
  277. package/ui/src/@/passkeys/svc/supported.ts +0 -1
  278. package/ui/src/@/passkeys/ui/aaguid.json +0 -150
  279. package/ui/src/@/realtime/events.ts +0 -1
  280. package/ui/src/@/realtime/index.ts +0 -1
  281. package/ui/src/@/realtime/rc.ts +0 -13
  282. package/ui/src/@/realtime/svc/connect.ts +0 -67
  283. package/ui/src/@/realtime/svc/events.ts +0 -17
  284. package/ui/src/@/realtime/svc/index.ts +0 -5
  285. package/ui/src/@/realtime/svc/net/Message.ts +0 -6
  286. package/ui/src/@/realtime/svc/net/index.ts +0 -2
  287. package/ui/src/@/realtime/svc/net/interface.ts +0 -13
  288. package/ui/src/@/realtime/svc/reset.ts +0 -5
  289. package/ui/src/@/realtime/svc/status.ts +0 -12
  290. package/ui/src/@/realtime/svc/store.ts +0 -30
  291. package/ui/src/@/realtime/svc/time.ts +0 -15
  292. package/ui/src/app.d.ts +0 -20
  293. package/ui/src/app.html +0 -13
  294. package/ui/src/config/index.ts +0 -70
  295. package/ui/src/lib/assets/favicon.svg +0 -1
  296. package/ui/src/lib/components/clipboard/Clipboard.svelte +0 -63
  297. package/ui/src/lib/components/clipboard/Clipboard.ts +0 -12
  298. package/ui/src/lib/components/clipboard/index.ts +0 -1
  299. package/ui/src/lib/components/dismissable/Dismissable.svelte +0 -81
  300. package/ui/src/lib/components/dismissable/Dismissable.ts +0 -7
  301. package/ui/src/lib/components/dismissable/index.ts +0 -1
  302. package/ui/src/lib/components/dropdown/Back.svelte +0 -14
  303. package/ui/src/lib/components/dropdown/Back.ts +0 -3
  304. package/ui/src/lib/components/dropdown/Content.svelte +0 -76
  305. package/ui/src/lib/components/dropdown/Content.ts +0 -13
  306. package/ui/src/lib/components/dropdown/Context.ts +0 -18
  307. package/ui/src/lib/components/dropdown/Group.svelte +0 -24
  308. package/ui/src/lib/components/dropdown/Group.ts +0 -8
  309. package/ui/src/lib/components/dropdown/GroupContext.ts +0 -15
  310. package/ui/src/lib/components/dropdown/Item.svelte +0 -31
  311. package/ui/src/lib/components/dropdown/Item.ts +0 -5
  312. package/ui/src/lib/components/dropdown/Layer.svelte +0 -11
  313. package/ui/src/lib/components/dropdown/Layer.ts +0 -7
  314. package/ui/src/lib/components/dropdown/Root.svelte +0 -88
  315. package/ui/src/lib/components/dropdown/Root.ts +0 -6
  316. package/ui/src/lib/components/dropdown/Separator.svelte +0 -13
  317. package/ui/src/lib/components/dropdown/Separator.ts +0 -5
  318. package/ui/src/lib/components/dropdown/Trigger.svelte +0 -33
  319. package/ui/src/lib/components/dropdown/Trigger.ts +0 -5
  320. package/ui/src/lib/components/dropdown/index.ts +0 -8
  321. package/ui/src/lib/components/fullscreen/Fullscreen.svelte +0 -97
  322. package/ui/src/lib/components/fullscreen/Fullscreen.ts +0 -18
  323. package/ui/src/lib/components/fullscreen/Overlay.svelte +0 -15
  324. package/ui/src/lib/components/fullscreen/Overlay.ts +0 -7
  325. package/ui/src/lib/components/fullscreen/index.ts +0 -2
  326. package/ui/src/lib/components/hold/Hold.svelte +0 -133
  327. package/ui/src/lib/components/hold/Hold.ts +0 -23
  328. package/ui/src/lib/components/hold/index.ts +0 -1
  329. package/ui/src/lib/components/scrollable/Scrollable.svelte +0 -49
  330. package/ui/src/lib/components/scrollable/Scrollable.ts +0 -117
  331. package/ui/src/lib/components/scrollable/index.ts +0 -2
  332. package/ui/src/lib/components/shake/Shake.svelte +0 -62
  333. package/ui/src/lib/components/shake/Shake.ts +0 -7
  334. package/ui/src/lib/components/shake/index.ts +0 -1
  335. package/ui/src/lib/components/share/Share.svelte +0 -58
  336. package/ui/src/lib/components/share/Share.ts +0 -9
  337. package/ui/src/lib/components/share/index.ts +0 -1
  338. package/ui/src/lib/components/shell/Attention.svelte +0 -11
  339. package/ui/src/lib/components/shell/Attention.ts +0 -6
  340. package/ui/src/lib/components/shell/Header.svelte +0 -18
  341. package/ui/src/lib/components/shell/Header.ts +0 -7
  342. package/ui/src/lib/components/shell/Screen.svelte +0 -28
  343. package/ui/src/lib/components/shell/Screen.ts +0 -11
  344. package/ui/src/lib/components/shell/Sticky.svelte +0 -23
  345. package/ui/src/lib/components/shell/Sticky.ts +0 -8
  346. package/ui/src/lib/components/shell/Underlay.svelte +0 -21
  347. package/ui/src/lib/components/shell/Underlay.ts +0 -6
  348. package/ui/src/lib/components/shell/index.ts +0 -6
  349. package/ui/src/lib/components/shell/nav/Actions.svelte +0 -31
  350. package/ui/src/lib/components/shell/nav/Actions.ts +0 -16
  351. package/ui/src/lib/components/shell/nav/Back.svelte +0 -20
  352. package/ui/src/lib/components/shell/nav/Back.ts +0 -9
  353. package/ui/src/lib/components/shell/nav/Bar.svelte +0 -24
  354. package/ui/src/lib/components/shell/nav/Bar.ts +0 -3
  355. package/ui/src/lib/components/shell/nav/Button.svelte +0 -64
  356. package/ui/src/lib/components/shell/nav/Button.ts +0 -7
  357. package/ui/src/lib/components/shell/nav/Nav.svelte +0 -62
  358. package/ui/src/lib/components/shell/nav/Nav.ts +0 -35
  359. package/ui/src/lib/components/shell/nav/Return.svelte +0 -29
  360. package/ui/src/lib/components/shell/nav/Return.ts +0 -15
  361. package/ui/src/lib/components/shell/nav/Sections.svelte +0 -58
  362. package/ui/src/lib/components/shell/nav/Sections.ts +0 -6
  363. package/ui/src/lib/components/shell/nav/Toolbar.svelte +0 -73
  364. package/ui/src/lib/components/shell/nav/Toolbar.ts +0 -3
  365. package/ui/src/lib/components/shell/nav/history.ts +0 -36
  366. package/ui/src/lib/components/shell/nav/index.ts +0 -5
  367. package/ui/src/lib/components/shell/nav/store.ts +0 -24
  368. package/ui/src/lib/components/ui/alert/alert-action.svelte +0 -20
  369. package/ui/src/lib/components/ui/alert/alert-description.svelte +0 -23
  370. package/ui/src/lib/components/ui/alert/alert-title.svelte +0 -23
  371. package/ui/src/lib/components/ui/alert/alert.svelte +0 -43
  372. package/ui/src/lib/components/ui/alert/index.ts +0 -17
  373. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte +0 -27
  374. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte +0 -27
  375. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte +0 -32
  376. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte +0 -17
  377. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte +0 -23
  378. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte +0 -20
  379. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-media.svelte +0 -20
  380. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte +0 -17
  381. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-portal.svelte +0 -7
  382. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte +0 -17
  383. package/ui/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte +0 -7
  384. package/ui/src/lib/components/ui/alert-dialog/alert-dialog.svelte +0 -7
  385. package/ui/src/lib/components/ui/alert-dialog/index.ts +0 -40
  386. package/ui/src/lib/components/ui/badge/badge.svelte +0 -49
  387. package/ui/src/lib/components/ui/badge/index.ts +0 -2
  388. package/ui/src/lib/components/ui/button/button.svelte +0 -82
  389. package/ui/src/lib/components/ui/button/index.ts +0 -17
  390. package/ui/src/lib/components/ui/button-group/button-group-separator.svelte +0 -23
  391. package/ui/src/lib/components/ui/button-group/button-group-text.svelte +0 -28
  392. package/ui/src/lib/components/ui/button-group/button-group.svelte +0 -46
  393. package/ui/src/lib/components/ui/button-group/index.ts +0 -15
  394. package/ui/src/lib/components/ui/card/card-action.svelte +0 -23
  395. package/ui/src/lib/components/ui/card/card-content.svelte +0 -20
  396. package/ui/src/lib/components/ui/card/card-description.svelte +0 -20
  397. package/ui/src/lib/components/ui/card/card-footer.svelte +0 -20
  398. package/ui/src/lib/components/ui/card/card-header.svelte +0 -23
  399. package/ui/src/lib/components/ui/card/card-title.svelte +0 -20
  400. package/ui/src/lib/components/ui/card/card.svelte +0 -22
  401. package/ui/src/lib/components/ui/card/index.ts +0 -25
  402. package/ui/src/lib/components/ui/checkbox/checkbox.svelte +0 -39
  403. package/ui/src/lib/components/ui/checkbox/index.ts +0 -6
  404. package/ui/src/lib/components/ui/collapsible/collapsible-content.svelte +0 -7
  405. package/ui/src/lib/components/ui/collapsible/collapsible-trigger.svelte +0 -7
  406. package/ui/src/lib/components/ui/collapsible/collapsible.svelte +0 -20
  407. package/ui/src/lib/components/ui/collapsible/index.ts +0 -13
  408. package/ui/src/lib/components/ui/input/index.ts +0 -7
  409. package/ui/src/lib/components/ui/input/input.svelte +0 -48
  410. package/ui/src/lib/components/ui/input-otp/index.ts +0 -15
  411. package/ui/src/lib/components/ui/input-otp/input-otp-group.svelte +0 -20
  412. package/ui/src/lib/components/ui/input-otp/input-otp-separator.svelte +0 -27
  413. package/ui/src/lib/components/ui/input-otp/input-otp-slot.svelte +0 -31
  414. package/ui/src/lib/components/ui/input-otp/input-otp.svelte +0 -23
  415. package/ui/src/lib/components/ui/item/index.ts +0 -34
  416. package/ui/src/lib/components/ui/item/item-actions.svelte +0 -20
  417. package/ui/src/lib/components/ui/item/item-content.svelte +0 -23
  418. package/ui/src/lib/components/ui/item/item-description.svelte +0 -23
  419. package/ui/src/lib/components/ui/item/item-footer.svelte +0 -20
  420. package/ui/src/lib/components/ui/item/item-group.svelte +0 -21
  421. package/ui/src/lib/components/ui/item/item-header.svelte +0 -20
  422. package/ui/src/lib/components/ui/item/item-media.svelte +0 -42
  423. package/ui/src/lib/components/ui/item/item-separator.svelte +0 -19
  424. package/ui/src/lib/components/ui/item/item-title.svelte +0 -20
  425. package/ui/src/lib/components/ui/item/item.svelte +0 -61
  426. package/ui/src/lib/components/ui/kbd/index.ts +0 -10
  427. package/ui/src/lib/components/ui/kbd/kbd-group.svelte +0 -20
  428. package/ui/src/lib/components/ui/kbd/kbd.svelte +0 -23
  429. package/ui/src/lib/components/ui/label/index.ts +0 -7
  430. package/ui/src/lib/components/ui/label/label.svelte +0 -20
  431. package/ui/src/lib/components/ui/progress/index.ts +0 -7
  432. package/ui/src/lib/components/ui/progress/progress.svelte +0 -27
  433. package/ui/src/lib/components/ui/select/index.ts +0 -37
  434. package/ui/src/lib/components/ui/select/select-content.svelte +0 -45
  435. package/ui/src/lib/components/ui/select/select-group-heading.svelte +0 -21
  436. package/ui/src/lib/components/ui/select/select-group.svelte +0 -17
  437. package/ui/src/lib/components/ui/select/select-item.svelte +0 -40
  438. package/ui/src/lib/components/ui/select/select-label.svelte +0 -20
  439. package/ui/src/lib/components/ui/select/select-portal.svelte +0 -7
  440. package/ui/src/lib/components/ui/select/select-scroll-down-button.svelte +0 -20
  441. package/ui/src/lib/components/ui/select/select-scroll-up-button.svelte +0 -20
  442. package/ui/src/lib/components/ui/select/select-separator.svelte +0 -18
  443. package/ui/src/lib/components/ui/select/select-trigger.svelte +0 -29
  444. package/ui/src/lib/components/ui/select/select.svelte +0 -11
  445. package/ui/src/lib/components/ui/separator/index.ts +0 -7
  446. package/ui/src/lib/components/ui/separator/separator.svelte +0 -23
  447. package/ui/src/lib/components/ui/spinner/index.ts +0 -1
  448. package/ui/src/lib/components/ui/spinner/spinner.svelte +0 -18
  449. package/ui/src/lib/components/ui/tabs/index.ts +0 -18
  450. package/ui/src/lib/components/ui/tabs/tabs-content.svelte +0 -17
  451. package/ui/src/lib/components/ui/tabs/tabs-list.svelte +0 -40
  452. package/ui/src/lib/components/ui/tabs/tabs-trigger.svelte +0 -23
  453. package/ui/src/lib/components/ui/tabs/tabs.svelte +0 -19
  454. package/ui/src/lib/components/ui/textarea/index.ts +0 -7
  455. package/ui/src/lib/components/ui/textarea/textarea.svelte +0 -22
  456. package/ui/src/lib/intl/bcp.ts +0 -25
  457. package/ui/src/lib/intl/built.js +0 -18
  458. package/ui/src/lib/intl/context.yaml +0 -18
  459. package/ui/src/lib/intl/en-US.yaml +0 -6
  460. package/ui/src/lib/intl/index.ts +0 -65
  461. package/ui/src/lib/intl/types.ts +0 -19
  462. package/ui/src/lib/tools/ago.ts +0 -10
  463. package/ui/src/lib/tools/assert.ts +0 -3
  464. package/ui/src/lib/tools/cap.ts +0 -5
  465. package/ui/src/lib/tools/clicks.ts +0 -25
  466. package/ui/src/lib/tools/contextmenu.ts +0 -19
  467. package/ui/src/lib/tools/convert.ts +0 -32
  468. package/ui/src/lib/tools/currency.test.ts +0 -10
  469. package/ui/src/lib/tools/currency.ts +0 -55
  470. package/ui/src/lib/tools/date.test.ts +0 -21
  471. package/ui/src/lib/tools/date.ts +0 -35
  472. package/ui/src/lib/tools/delay.ts +0 -7
  473. package/ui/src/lib/tools/image.ts +0 -39
  474. package/ui/src/lib/tools/index.ts +0 -20
  475. package/ui/src/lib/tools/location.ts +0 -41
  476. package/ui/src/lib/tools/metronome.ts +0 -11
  477. package/ui/src/lib/tools/mq.ts +0 -84
  478. package/ui/src/lib/tools/onsubmit.ts +0 -21
  479. package/ui/src/lib/tools/random.ts +0 -15
  480. package/ui/src/lib/tools/search.ts +0 -25
  481. package/ui/src/lib/tools/timeout.ts +0 -26
  482. package/ui/src/lib/tools/transition.ts +0 -207
  483. package/ui/src/lib/tools/types.ts +0 -3
  484. package/ui/src/lib/tools/uuid.test.ts +0 -28
  485. package/ui/src/lib/tools/uuid.ts +0 -9
  486. package/ui/src/lib/typeset.css +0 -502
  487. package/ui/src/lib/utils.ts +0 -12
  488. package/ui/src/routes/(private)/+layout.svelte +0 -112
  489. package/ui/src/routes/(private)/+page.svelte +0 -7
  490. package/ui/src/routes/(private)/[component]/+page.svelte +0 -77
  491. package/ui/src/routes/+layout.svelte +0 -25
  492. package/ui/src/routes/+layout.ts +0 -14
  493. package/ui/src/routes/layout.css +0 -232
  494. package/ui/svelte.config.js +0 -36
  495. package/ui/tools/feat.js +0 -43
  496. package/ui/tools/hooks/README.md +0 -13
  497. package/ui/tools/hooks/guard-intl.sh +0 -40
  498. package/ui/tools/shad.js +0 -7
  499. package/ui/tsconfig.json +0 -20
  500. package/ui/vite.config.ts +0 -8
  501. /package/ui/{static → dist}/robots.txt +0 -0
@@ -1,227 +0,0 @@
1
- ---
2
- name: shadcn-svelte
3
- description: Manages shadcn-svelte components and projects — adding, updating, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn-svelte, the CLI, design-system presets, or any project with a components.json file. Also triggers for "shadcn-svelte init", "add component", or registry URLs.
4
- user-invocable: false
5
- allowed-tools: Bash(npx shadcn-svelte@latest *), Bash(pnpm dlx shadcn-svelte@latest *), Bash(bunx --bun shadcn-svelte@latest *)
6
- ---
7
-
8
- # shadcn-svelte
9
-
10
- A framework for building UI, components, and design systems for Svelte. Components are added as source to the user's project via the CLI.
11
-
12
- > **IMPORTANT:** Run all CLI commands using the project's package runner: `npx shadcn-svelte@latest`, `pnpm dlx shadcn-svelte@latest`, or `bunx --bun shadcn-svelte@latest` — based on the project's package manager. Examples below use `npx shadcn-svelte@latest` but substitute the correct runner for the project.
13
-
14
- ## Current Project Context
15
-
16
- Read `components.json` at the project root and, when you need the live file layout, list the directory given by the `aliases.ui` path (resolved with the same rules as the CLI).
17
-
18
- ## Imports (Svelte)
19
-
20
- Each component lives in its own folder with an `index.ts` barrel. Match the [installation docs](https://shadcn-svelte.com/docs/installation):
21
-
22
- - **Multi-part components** (dialog, select, card, field, tabs, …): `import * as Dialog from "$lib/components/ui/dialog"` then `Dialog.Content`, `Dialog.Title`, `Card.Root`, `Card.Header`, etc. — whatever the barrel exports (short names and/or `Root as …` aliases).
23
- - **Single-component barrels** (only one meaningful component in the folder): **named imports** — `import { Button } from "$lib/components/ui/button"` and `<Button>`, not `import * as Button` + `Button.Root`. Same pattern for `{ Input }`, `{ Badge }`, `{ Spinner }`, `{ Checkbox }`, `{ Separator }`, `{ Skeleton }`, etc.
24
-
25
- ```ts
26
- import * as Dialog from "$lib/components/ui/dialog";
27
- import { Button } from "$lib/components/ui/button";
28
- import { Separator } from "$lib/components/ui/separator";
29
- ```
30
-
31
- Use the real aliases from `components.json` (often `$lib/components/ui/...`), not hardcoded paths.
32
-
33
- ## Principles
34
-
35
- 1. **Use existing components first.** Run `npx shadcn-svelte@latest add` with no arguments to browse available components, or check [Components](https://shadcn-svelte.com/docs/components) before writing custom UI.
36
- 2. **Compose, don't reinvent.** Settings page = Tabs + Card + form controls. Dashboard = Sidebar + Card + Chart + Table.
37
- 3. **Use built-in variants before custom styles.** `variant="outline"`, `size="sm"`, etc.
38
- 4. **Use semantic colors.** `bg-primary`, `text-muted-foreground` — never raw values like `bg-blue-500`.
39
-
40
- ## Critical Rules
41
-
42
- These rules are **always enforced**. Each links to a file with Incorrect/Correct code pairs.
43
-
44
- ### Styling & Tailwind → [styling.md](./rules/styling.md)
45
-
46
- - **`class` for layout, not styling.** Never override component colors or typography.
47
- - **No `space-x-*` or `space-y-*`.** Use `flex` with `gap-*`. For vertical stacks, `flex flex-col gap-*`.
48
- - **Use `size-*` when width and height are equal.** `size-10` not `w-10 h-10`.
49
- - **Use `truncate` shorthand.** Not `overflow-hidden text-ellipsis whitespace-nowrap`.
50
- - **No manual `dark:` color overrides.** Use semantic tokens (`bg-background`, `text-muted-foreground`).
51
- - **Use `cn()` for conditional classes.** Don't write manual template literal ternaries.
52
- - **No manual `z-index` on overlay components.** Dialog, Sheet, Popover, etc. handle their own stacking.
53
-
54
- ### Forms & Inputs → [forms.md](./rules/forms.md)
55
-
56
- - **Forms use `Field.FieldGroup` + `Field.Field`.** Never use raw `div` with `space-y-*` or `grid gap-*` for form layout.
57
- - **`InputGroup` uses `InputGroup.Input`/`InputGroup.Textarea`.** Never raw `Input`/`Textarea` inside `InputGroup.Root`.
58
- - **Buttons inside inputs use `InputGroup.Root` + `InputGroup.Addon`.**
59
- - **Option sets (2–7 choices) use `ToggleGroup`.** Don't loop `Button` with manual active state.
60
- - **`Field.FieldSet` + `Field.FieldLegend` for grouping related checkboxes/radios.** Don't use a `div` with a heading.
61
- - **Field validation uses `data-invalid` + `aria-invalid`.** `data-invalid` on `Field`, `aria-invalid` on the control. For disabled: `data-disabled` on `Field`, `disabled` on the control.
62
-
63
- ### Component Structure → [composition.md](./rules/composition.md)
64
-
65
- - **Items always inside their Group.** `Select.Item` → `Select.Group`. `DropdownMenu.Item` → `DropdownMenu.Group`. `Command.Item` → `Command.Group`.
66
- - **Custom triggers.** Wrap controls in `Dialog.Trigger` / `AlertDialog.Trigger`, or control open state with `bind:open` on the root — see component docs.
67
- - **Dialog, Sheet, and Drawer always need a Title.** `Dialog.Title`, `Sheet.Title`, `Drawer.Title` required for accessibility. Use `class="sr-only"` if visually hidden.
68
- - **Use full Card composition.** `Card.Header`/`Card.Title`/`Card.Description`/`Card.Content`/`Card.Footer`. Don't dump everything in `Card.Content`.
69
- - **Button has no `isPending`/`isLoading`.** Compose with `Spinner` inside `Button` + `disabled`; use `data-icon="inline-start"` / `inline-end` on `Spinner` for correct spacing (`import { Button }`, `import { Spinner }`).
70
- - **`Tabs.Trigger` must be inside `Tabs.List`.** Never render triggers directly in `Tabs`.
71
- - **`Avatar` always needs `Avatar.Fallback`.** For when the image fails to load.
72
-
73
- ### Use Components, Not Custom Markup → [composition.md](./rules/composition.md)
74
-
75
- - **Use existing components before custom markup.** Check if a component exists before writing a styled `div`.
76
- - **Callouts use `Alert`.** Don't build custom styled divs.
77
- - **Empty states use `Empty`.** Don't build custom empty state markup.
78
- - **Toast via `svelte-sonner`.** Use `toast()` from `svelte-sonner` with the Sonner component from your UI folder.
79
- - **Use `Separator`** instead of `<hr>` or a `div` with border-only classes.
80
- - **Use `Skeleton`** for loading placeholders. No custom `animate-pulse` divs.
81
- - **Use `Badge`** instead of custom styled spans.
82
-
83
- ### Icons → [icons.md](./rules/icons.md)
84
-
85
- - **Icons in `<Button>` use `data-icon`.** `data-icon="inline-start"` or `data-icon="inline-end"` on the icon.
86
- - **No sizing classes on icons inside components.** Components handle icon sizing via CSS. No `size-4` or `w-4 h-4`.
87
- - **Pass icons as components.** Import from the configured `iconLibrary` (e.g. `@lucide/svelte`), not string keys.
88
-
89
- ### CLI
90
-
91
- - **Presets** — copy the encoded string from the design-system builder on [shadcn-svelte.com](https://shadcn-svelte.com) and pass it to `npx shadcn-svelte@latest init --preset <code>`.
92
-
93
- ## Key Patterns
94
-
95
- These are the most common patterns that differentiate correct shadcn-svelte code. For edge cases, see the linked rule files above.
96
-
97
- ```svelte
98
- <script lang="ts">
99
- import * as Field from "$lib/components/ui/field";
100
- import { Input } from "$lib/components/ui/input";
101
- import { Button } from "$lib/components/ui/button";
102
- import SearchIcon from "@lucide/svelte/icons/search";
103
- import { Badge } from "$lib/components/ui/badge";
104
- import * as Avatar from "$lib/components/ui/avatar";
105
- </script>
106
-
107
- <!-- Form layout: Field.FieldGroup + Field.Field, not div + Label. -->
108
- <Field.FieldGroup>
109
- <Field.Field>
110
- <Field.FieldLabel for="email">Email</Field.FieldLabel>
111
- <Input id="email" />
112
- </Field.Field>
113
- </Field.FieldGroup>
114
-
115
- <!-- Validation: data-invalid on Field, aria-invalid on the control. -->
116
- <Field.Field data-invalid>
117
- <Field.FieldLabel for="email">Email</Field.FieldLabel>
118
- <Input id="email" aria-invalid />
119
- <Field.FieldDescription>Invalid email.</Field.FieldDescription>
120
- </Field.Field>
121
-
122
- <!-- Icons in buttons: data-icon, no sizing classes. -->
123
- <Button>
124
- <SearchIcon data-icon="inline-start" />
125
- Search
126
- </Button>
127
-
128
- <!-- Spacing: gap-*, not space-y-*. -->
129
- <div class="flex flex-col gap-4"></div>
130
-
131
- <!-- Equal dimensions: size-*, not w-* h-*. -->
132
- <Avatar.Root class="size-10">
133
- <Avatar.Image src="/u.png" alt="User" />
134
- <Avatar.Fallback>U</Avatar.Fallback>
135
- </Avatar.Root>
136
-
137
- <!-- Status colors: Badge variants or semantic tokens, not raw colors. -->
138
- <Badge variant="secondary">+20.1%</Badge>
139
- ```
140
-
141
- ## Component Selection
142
-
143
- | Need | Use |
144
- | -------------------------- | --------------------------------------------------------------------------------------------------- |
145
- | Button/action | `Button` with appropriate variant (`import { Button }`) |
146
- | Form inputs | `Input`, `Select`, `Combobox`, `Switch`, `Checkbox`, `RadioGroup`, `Textarea`, `InputOTP`, `Slider` |
147
- | Toggle between 2–5 options | `ToggleGroup.Root` + `ToggleGroup.Item` |
148
- | Data display | `Table`, `Card`, `Badge`, `Avatar` |
149
- | Navigation | `Sidebar`, `NavigationMenu`, `Breadcrumb`, `Tabs`, `Pagination` |
150
- | Overlays | `Dialog` (modal), `Sheet` (side panel), `Drawer` (bottom sheet), `AlertDialog` (confirmation) |
151
- | Feedback | `svelte-sonner` (toast), `Alert`, `Progress`, `Skeleton`, `Spinner` |
152
- | Command palette | `Command` inside `Dialog` |
153
- | Charts | `Chart` (LayerChart) |
154
- | Layout | `Card`, `Separator`, `Resizable`, `ScrollArea`, `Accordion`, `Collapsible` |
155
- | Empty states | `Empty` |
156
- | Menus | `DropdownMenu`, `ContextMenu`, `Menubar` |
157
- | Tooltips/info | `Tooltip`, `HoverCard`, `Popover` |
158
-
159
- ## Key Fields
160
-
161
- Use `components.json` and the filesystem — not a separate `info` command:
162
-
163
- - **`aliases`** → use the actual alias prefix from config (e.g. `$lib/`), never hardcode unrelated projects.
164
- - **`tailwind.css`** → the global CSS file where theme variables live. Edit this file for theme tweaks; don't add a second globals file unless the user already uses one.
165
- - **`style`** → visual treatment (e.g. `nova`, `vega`, …) and registry style path.
166
- - **`iconLibrary`** → determines icon packages (`@lucide/svelte`, `@tabler/icons-svelte`, etc.). Never assume `@lucide/svelte`.
167
- - **`registry`** → where the CLI fetches components; default official registry at `shadcn-svelte.com`.
168
- - **`resolvedPaths`** (conceptual) → the CLI resolves `aliases` to absolute paths; list `aliases.ui` on disk to see installed components.
169
-
170
- See [cli.md](./cli.md) for commands and flags.
171
-
172
- ## Component Docs, Examples, and Usage
173
-
174
- Open `https://shadcn-svelte.com/docs/components/<name>.md` for docs and examples. **When creating, fixing, debugging, or using a component, read the official page first** so you follow the documented APIs.
175
-
176
- ## Workflow
177
-
178
- 1. **Get project context** — read `components.json` and list the UI components directory when needed.
179
- 2. **Check installed components first** — before running `add`, list files under the resolved `ui` path. Don't import components that haven't been added, and don't re-add ones already present unless updating.
180
- 3. **Discover components** — `npx shadcn-svelte@latest add` with no arguments (interactive list), or the docs site.
181
- 4. **Install or update** — `npx shadcn-svelte@latest add <name>` or a registry **URL**. To refresh existing files from the registry, use `npx shadcn-svelte@latest update` (see [cli.md](./cli.md)).
182
- 5. **Fix imports in third-party / URL-added items** — After adding from a custom registry URL, check for hardcoded paths that don't match the project's `aliases`. Rewrite imports to use the project's `ui` / `lib` aliases from `components.json`.
183
- 6. **Review added components** — After adding, **read the added files** and verify composition (groups, titles, validation attrs). Align icon imports with `iconLibrary`.
184
- 7. **Remote registry items** — Adding by URL is explicit; if the user wants a component from an unknown source, confirm the registry URL or item before running `add`.
185
-
186
- ## Updating Components
187
-
188
- Use the **`update`** command to pull the latest registry versions of components already in the project. Review changes with `git diff` after `update`.
189
-
190
- 1. Commit or stash local work.
191
- 2. Run `npx shadcn-svelte@latest update [component]` or `--all`.
192
- 3. Resolve merge conflicts if you had customized files.
193
- 4. **Never use `--overwrite` on `add` without the user's explicit approval** when it would destroy intentional edits.
194
-
195
- ## Quick Reference
196
-
197
- ```bash
198
- # Initialize shadcn-svelte in your project.
199
- npx shadcn-svelte@latest init
200
-
201
- # Initialize with a preset string from the docs site builder.
202
- npx shadcn-svelte@latest init --preset <code>
203
-
204
- # Add components (interactive when run with no names).
205
- npx shadcn-svelte@latest add
206
- npx shadcn-svelte@latest add button card dialog
207
- npx shadcn-svelte@latest add --all
208
-
209
- # Update components already installed.
210
- npx shadcn-svelte@latest update button
211
- npx shadcn-svelte@latest update --all --yes
212
-
213
- # Build a custom registry (registry authors).
214
- npx shadcn-svelte@latest registry build
215
- ```
216
-
217
- **Registry:** default `https://shadcn-svelte.com/registry` — override in `components.json` if needed.
218
- **Docs:** [shadcn-svelte.com](https://shadcn-svelte.com)
219
-
220
- ## Detailed References
221
-
222
- - [rules/forms.md](./rules/forms.md) — Field.FieldGroup, Field.Field, InputGroup, ToggleGroup, Field.FieldSet, validation states
223
- - [rules/composition.md](./rules/composition.md) — Groups, overlays, Card, Tabs, Avatar, Alert, Empty, Toast, Separator, Skeleton, Badge, Button loading
224
- - [rules/icons.md](./rules/icons.md) — data-icon, icon sizing, passing icon components
225
- - [rules/styling.md](./rules/styling.md) — Semantic colors, variants, class, spacing, size, truncate, dark mode, cn(), z-index
226
- - [cli.md](./cli.md) — Commands, flags, registry
227
- - [customization.md](./customization.md) — Theming, CSS variables, extending components
@@ -1,5 +0,0 @@
1
- interface:
2
- display_name: "shadcn-svelte"
3
- short_description: "Manages shadcn-svelte components — adding, updating, fixing, debugging, styling, and composing UI."
4
- icon_small: "./assets/shadcn-svelte-small.png"
5
- icon_large: "./assets/shadcn-svelte.png"
@@ -1,166 +0,0 @@
1
- # shadcn-svelte CLI Reference
2
-
3
- Configuration is read from `components.json`. See [components.json](https://shadcn-svelte.com/docs/components-json) on the docs site for the full schema.
4
-
5
- > **IMPORTANT:** Always run commands using the project's package runner: `npx shadcn-svelte@latest`, `pnpm dlx shadcn-svelte@latest`, or `bunx --bun shadcn-svelte@latest`. Check `packageManager` from the project (or lockfile) to choose the right one. Examples below use `npx shadcn-svelte@latest` but substitute the correct runner for the project.
6
-
7
- > **IMPORTANT:** Only use the flags documented below. Do not invent or guess flags — if a flag isn't listed here, it doesn't exist. The CLI auto-detects the package manager; there is no `--package-manager` flag.
8
-
9
- ## Contents
10
-
11
- - Commands: `init`, `add`, `apply`, `update`, `registry build`
12
- - Proxy / outgoing requests
13
- - Presets (via `init` and `apply`)
14
-
15
- ---
16
-
17
- ## Commands
18
-
19
- ### `init` — Initialize an existing project
20
-
21
- ```bash
22
- npx shadcn-svelte@latest init [options]
23
- ```
24
-
25
- Installs dependencies, adds the `cn` util, creates `components.json`, and sets up CSS variables. Run `init` from the root of your project.
26
-
27
- | Flag | Short | Description | Default |
28
- | --------------------------- | ----- | ------------------------------------------------------------------------- | --------- |
29
- | `--preset <preset>` | — | Encoded design-system preset string from the docs site | — |
30
- | `-c, --cwd <path>` | `-c` | Working directory | current |
31
- | `-o, --overwrite` | — | Overwrite existing files | `false` |
32
- | `--no-deps` | — | Do not add or install dependencies | — |
33
- | `--skip-preflight` | — | Ignore preflight checks and continue | `false` |
34
- | `--base-color <name>` | — | Base color: `neutral`, `stone`, `zinc`, `mauve`, `olive`, `mist`, `taupe` | — |
35
- | `--css <path>` | — | Path to the global CSS file | — |
36
- | `--components-alias <path>` | — | Import alias for components | — |
37
- | `--lib-alias <path>` | — | Import alias for lib | — |
38
- | `--utils-alias <path>` | — | Import alias for utils | — |
39
- | `--hooks-alias <path>` | — | Import alias for hooks | — |
40
- | `--ui-alias <path>` | — | Import alias for UI components | — |
41
- | `--proxy <proxy>` | — | Fetch registry items through this proxy | env-based |
42
- | `--design-system-url` | — | Optional design-system URL (see docs / preset builder) | — |
43
- | `-h, --help` | `-h` | Help | — |
44
-
45
- ---
46
-
47
- ### `add` — Add components
48
-
49
- ```bash
50
- npx shadcn-svelte@latest add [options] [components...]
51
- ```
52
-
53
- Adds components from the configured registry. Arguments are component names from the registry index, or a **URL** to a registry JSON item. With **no** component names, the CLI prompts you to pick components interactively.
54
-
55
- | Flag | Short | Description | Default |
56
- | ------------------ | ----- | ----------------------------------------------- | --------- |
57
- | `-c, --cwd <path>` | `-c` | Working directory | current |
58
- | `--no-deps` | — | Skip adding and installing package dependencies | — |
59
- | `--skip-preflight` | — | Ignore preflight checks and continue | `false` |
60
- | `-a, --all` | — | Install all UI components | `false` |
61
- | `-y, --yes` | — | Skip confirmation prompt | `false` |
62
- | `-o, --overwrite` | — | Overwrite existing files | `false` |
63
- | `--proxy <proxy>` | — | Fetch components through this proxy | env-based |
64
- | `-h, --help` | `-h` | Help | — |
65
-
66
- ---
67
-
68
- ### `apply` — Apply a preset to an existing project
69
-
70
- ```bash
71
- npx shadcn-svelte@latest apply [options]
72
- ```
73
-
74
- Applies a design-system preset to a project that has already been initialized. Updates `components.json` with the preset settings, reinstalls existing components (except `utils`) with the new styles, and installs any required dependencies.
75
-
76
- Use `--only theme` or `--only font` to apply only part of a preset without reinstalling UI components.
77
-
78
- Get a preset code from the builder at [shadcn-svelte.com/create](https://shadcn-svelte.com/create).
79
-
80
- | Flag | Short | Description | Default |
81
- | ------------------- | ----- | ---------------------------------------------- | --------- |
82
- | `--preset <preset>` | — | Encoded design-system preset string (required) | — |
83
- | `--only [parts]` | — | Apply only `theme` or `font` from the preset | — |
84
- | `-c, --cwd <path>` | `-c` | Working directory | current |
85
- | `-y, --yes` | `-y` | Overwrite existing files without confirmation | `false` |
86
- | `-s, --silent` | `-s` | Mute output | `false` |
87
- | `--skip-preflight` | — | Ignore preflight checks and continue | `false` |
88
- | `--proxy <proxy>` | — | Fetch registry items through this proxy | env-based |
89
- | `-h, --help` | `-h` | Help | — |
90
-
91
- Requires an existing `components.json`. Run `init` first if the project is not yet configured.
92
-
93
- ---
94
-
95
- ### `update` — Update installed components
96
-
97
- ```bash
98
- npx shadcn-svelte@latest update [options] [components...]
99
- ```
100
-
101
- Re-fetches and applies registry content for components **already present** in the project. Run `shadcn-svelte update --help` for options.
102
-
103
- | Flag | Short | Description | Default |
104
- | ------------------ | ----- | ----------------------------------------------- | --------- |
105
- | `-c, --cwd <path>` | `-c` | Working directory | current |
106
- | `--skip-preflight` | — | Ignore preflight checks and continue | `false` |
107
- | `--no-deps` | — | Skip adding and installing package dependencies | — |
108
- | `-a, --all` | — | Update every installed component | `false` |
109
- | `-y, --yes` | — | Skip confirmation prompt | `false` |
110
- | `--proxy <proxy>` | — | Fetch through this proxy | env-based |
111
- | `-h, --help` | `-h` | Help | — |
112
-
113
- Commit your work before updating; overwrites are destructive.
114
-
115
- ---
116
-
117
- ### `registry build` — Build a custom registry
118
-
119
- ```bash
120
- npx shadcn-svelte@latest registry build [options] [registry]
121
- ```
122
-
123
- Reads a `registry.json` and writes registry JSON files for distribution. Default input: `./registry.json`, default output: `./static/r`.
124
-
125
- | Flag | Short | Description | Default |
126
- | --------------------- | ----- | ------------------------------- | ------------ |
127
- | `-c, --cwd <path>` | `-c` | Working directory | current |
128
- | `-o, --output <path>` | `-o` | Output directory for JSON files | `./static/r` |
129
- | `-h, --help` | `-h` | Help | — |
130
-
131
- ---
132
-
133
- ## Outgoing Requests
134
-
135
- ### Proxy
136
-
137
- The CLI can fetch the registry through a proxy. If `HTTP_PROXY` or `http_proxy` is set, requests respect it. You can also pass `--proxy` on `init`, `add`, `apply`, or `update`.
138
-
139
- ```bash
140
- HTTP_PROXY="<proxy-url>" npx shadcn-svelte@latest init
141
- ```
142
-
143
- ---
144
-
145
- ## Presets
146
-
147
- Design-system options (style, theme, icons, fonts, etc.) can be captured as an encoded **preset** string from the builder on [shadcn-svelte.com/create](https://shadcn-svelte.com/create).
148
-
149
- - **New project:** pass the preset to **`init`** with `--preset <string>`.
150
- - **Existing project:** use **`apply --preset <string>`** to update configuration, restyle installed components, and install any new dependencies.
151
-
152
- ---
153
-
154
- ## `components.json` — useful fields for agents
155
-
156
- | Field / path | Meaning |
157
- | -------------------- | ---------------------------------------------------------------- |
158
- | `tailwind.css` | Global CSS file path (Tailwind entry / theme variables) |
159
- | `tailwind.baseColor` | Base palette (cannot change after init) |
160
- | `aliases.*` | Import aliases; must match `svelte.config.js` / `tsconfig` paths |
161
- | `registry` | Base registry URL (default `https://shadcn-svelte.com/registry`) |
162
- | `style` | Registered style name (e.g. `nova`, `vega`, …) |
163
- | `iconLibrary` | Icon set key (`lucide`, `tabler`, …) — drives generated imports |
164
- | `typescript` | Whether TS and optional custom config path |
165
-
166
- Resolved paths (including `tailwindCss`, `ui`, `components`) are computed by the CLI from `components.json` and the filesystem. Read `components.json` and list the UI directory when you need a snapshot of what is installed.
@@ -1,213 +0,0 @@
1
- # Customization & Theming
2
-
3
- Components reference semantic CSS variable tokens. Change the variables to change every component.
4
-
5
- ## Contents
6
-
7
- - How it works (CSS variables → Tailwind utilities → components)
8
- - Color variables and OKLCH format
9
- - Dark mode setup
10
- - Changing the theme (presets, CSS variables)
11
- - Adding custom colors (Tailwind v3 and v4)
12
- - Border radius
13
- - Customizing components (variants, class, wrappers)
14
- - Checking for updates
15
-
16
- ---
17
-
18
- ## How It Works
19
-
20
- 1. CSS variables defined in `:root` (light) and `.dark` (dark mode).
21
- 2. Tailwind maps them to utilities: `bg-primary`, `text-muted-foreground`, etc.
22
- 3. Components use these utilities — changing a variable changes all components that reference it.
23
-
24
- ---
25
-
26
- ## Color Variables
27
-
28
- Every color follows the `name` / `name-foreground` convention. The base variable is for backgrounds, `-foreground` is for text/icons on that background.
29
-
30
- | Variable | Purpose |
31
- | -------------------------------------------- | -------------------------------- |
32
- | `--background` / `--foreground` | Page background and default text |
33
- | `--card` / `--card-foreground` | Card surfaces |
34
- | `--primary` / `--primary-foreground` | Primary buttons and actions |
35
- | `--secondary` / `--secondary-foreground` | Secondary actions |
36
- | `--muted` / `--muted-foreground` | Muted/disabled states |
37
- | `--accent` / `--accent-foreground` | Hover and accent states |
38
- | `--destructive` / `--destructive-foreground` | Error and destructive actions |
39
- | `--border` | Default border color |
40
- | `--input` | Form input borders |
41
- | `--ring` | Focus ring color |
42
- | `--chart-1` through `--chart-5` | Chart/data visualization |
43
- | `--sidebar-*` | Sidebar-specific colors |
44
- | `--surface` / `--surface-foreground` | Secondary surface |
45
-
46
- Colors use OKLCH: `--primary: oklch(0.205 0 0)` where values are lightness (0–1), chroma (0 = gray), and hue (0–360).
47
-
48
- ---
49
-
50
- ## Dark Mode
51
-
52
- Class-based toggle via `.dark` on the root element. In SvelteKit, use [mode-watcher](https://github.com/svecosystem/mode-watcher) (see [Dark mode — Svelte](https://shadcn-svelte.com/docs/dark-mode/svelte)):
53
-
54
- ```svelte
55
- <script lang="ts">
56
- import { ModeWatcher } from "mode-watcher";
57
- let { children } = $props();
58
- </script>
59
-
60
- <ModeWatcher />
61
- {@render children?.()}
62
- ```
63
-
64
- ---
65
-
66
- ## Changing the Theme
67
-
68
- Use a **preset** from the design-system builder on [shadcn-svelte.com](https://shadcn-svelte.com) and pass it to `init`:
69
-
70
- ```bash
71
- npx shadcn-svelte@latest init --preset <code>
72
- ```
73
-
74
- Or edit CSS variables directly in the file set in `components.json` as `tailwind.css` (for example `src/app.css`).
75
-
76
- To align config and components with a new preset, re-run `init` with `--preset` and confirm overwrites when prompted.
77
-
78
- ---
79
-
80
- ## Adding Custom Colors
81
-
82
- Add variables to the global CSS file path in `components.json` (`tailwind.css`). Do not create a second global CSS file for theming unless the project already uses that pattern.
83
-
84
- ```css
85
- /* 1. Define in the global CSS file. */
86
- :root {
87
- --warning: oklch(0.84 0.16 84);
88
- --warning-foreground: oklch(0.28 0.07 46);
89
- }
90
- .dark {
91
- --warning: oklch(0.41 0.11 46);
92
- --warning-foreground: oklch(0.99 0.02 95);
93
- }
94
- ```
95
-
96
- ```css
97
- /* 2a. Register with Tailwind v4 (@theme inline). */
98
- @theme inline {
99
- --color-warning: var(--warning);
100
- --color-warning-foreground: var(--warning-foreground);
101
- }
102
- ```
103
-
104
- On Tailwind v3, register in `tailwind.config.js` (see the [Tailwind v3 docs](https://tw3.shadcn-svelte.com) if you maintain a legacy setup):
105
-
106
- ```js
107
- // 2b. Register with Tailwind v3 (tailwind.config.js).
108
- module.exports = {
109
- theme: {
110
- extend: {
111
- colors: {
112
- warning: "oklch(var(--warning) / <alpha-value>)",
113
- "warning-foreground":
114
- "oklch(var(--warning-foreground) / <alpha-value>)",
115
- },
116
- },
117
- },
118
- };
119
- ```
120
-
121
- ```svelte
122
- <!-- 3. Use in components. -->
123
- <div class="bg-warning text-warning-foreground">Warning</div>
124
- ```
125
-
126
- ---
127
-
128
- ## Border Radius
129
-
130
- `--radius` controls border radius globally. Components derive values from it (`rounded-lg` = `var(--radius)`, `rounded-md` = `calc(var(--radius) - 2px)`).
131
-
132
- ---
133
-
134
- ## Customizing Components
135
-
136
- See also: [rules/styling.md](./rules/styling.md) for Incorrect/Correct examples.
137
-
138
- Prefer these approaches in order:
139
-
140
- ### 1. Built-in variants
141
-
142
- ```svelte
143
- <script lang="ts">
144
- import { Button } from "$lib/components/ui/button";
145
- </script>
146
-
147
- <Button variant="outline" size="sm">Click</Button>
148
- ```
149
-
150
- ### 2. Tailwind classes via `class`
151
-
152
- ```svelte
153
- <script lang="ts">
154
- import * as Card from "$lib/components/ui/card";
155
- </script>
156
-
157
- <Card.Root class="mx-auto max-w-md">
158
- <Card.Content>...</Card.Content>
159
- </Card.Root>
160
- ```
161
-
162
- ### 3. Add a new variant
163
-
164
- Edit the component source to add a variant via `tailwind-variants` / `cva` in the `.svelte` or shared variants file:
165
-
166
- ```ts
167
- // e.g. in button variants
168
- warning: "bg-warning text-warning-foreground hover:bg-warning/90",
169
- ```
170
-
171
- ### 4. Wrapper components
172
-
173
- Compose shadcn-svelte primitives into higher-level `.svelte` files:
174
-
175
- ```svelte
176
- <script lang="ts">
177
- import * as AlertDialog from "$lib/components/ui/alert-dialog";
178
- let { title, description, onConfirm, children } = $props();
179
- let open = $state(false);
180
- </script>
181
-
182
- <AlertDialog.Root bind:open>
183
- <AlertDialog.Trigger>
184
- {@render children?.()}
185
- </AlertDialog.Trigger>
186
- <AlertDialog.Content>
187
- <AlertDialog.Header>
188
- <AlertDialog.Title>{title}</AlertDialog.Title>
189
- <AlertDialog.Description>{description}</AlertDialog.Description>
190
- </AlertDialog.Header>
191
- <AlertDialog.Footer>
192
- <AlertDialog.Cancel>Cancel</AlertDialog.Cancel>
193
- <AlertDialog.Action
194
- onclick={() => {
195
- onConfirm?.();
196
- open = false;
197
- }}>Confirm</AlertDialog.Action
198
- >
199
- </AlertDialog.Footer>
200
- </AlertDialog.Content>
201
- </AlertDialog.Root>
202
- ```
203
-
204
- ---
205
-
206
- ## Checking for Updates
207
-
208
- ```bash
209
- npx shadcn-svelte@latest update button
210
- npx shadcn-svelte@latest update --all
211
- ```
212
-
213
- See [Updating Components in SKILL.md](./SKILL.md#updating-components). Review `git diff` after `update` to see what changed.
@@ -1,47 +0,0 @@
1
- {
2
- "skill_name": "shadcn-svelte",
3
- "evals": [
4
- {
5
- "id": 1,
6
- "prompt": "I'm building a SvelteKit app with shadcn-svelte (nova style, lucide icons). Create a settings form component with fields for: full name, email address, and notification preferences (email, SMS, push notifications as toggle options). Add validation states for required fields.",
7
- "expected_output": "A Svelte component using Field.FieldGroup, Field.Field, ToggleGroup, data-invalid/aria-invalid validation, gap-* spacing, and semantic colors.",
8
- "files": [],
9
- "expectations": [
10
- "Uses Field.FieldGroup and Field.Field for form layout instead of raw div with space-y",
11
- "Uses Switch for independent on/off notification toggles (not looping Button with manual active state)",
12
- "Uses data-invalid on Field and aria-invalid on the input control for validation states",
13
- "Uses gap-* (e.g. gap-4, gap-6) instead of space-y-* or space-x-* for spacing",
14
- "Uses semantic color tokens (e.g. bg-background, text-muted-foreground, text-destructive) instead of raw colors like bg-red-500",
15
- "No manual dark: color overrides"
16
- ]
17
- },
18
- {
19
- "id": 2,
20
- "prompt": "Create a dialog component for editing a user profile. It should have the user's avatar at the top, input fields for name and bio, and Save/Cancel buttons with appropriate icons. Using shadcn-svelte with tabler icons.",
21
- "expected_output": "A Svelte component with Dialog.Title, Avatar with Avatar.Fallback, data-icon on icon buttons, no icon sizing classes, @tabler/icons-svelte imports.",
22
- "files": [],
23
- "expectations": [
24
- "Includes Dialog.Title for accessibility (visible or with sr-only class)",
25
- "Avatar includes Avatar.Fallback",
26
- "Icons on buttons use the data-icon attribute (data-icon=\"inline-start\" or data-icon=\"inline-end\")",
27
- "No sizing classes on icons inside components (no size-4, w-4, h-4, etc.)",
28
- "Uses tabler icons (@tabler/icons-svelte) instead of @lucide/svelte when tabler is configured",
29
- "Uses shadcn-svelte Dialog patterns (e.g. Dialog.Trigger wrapping the control, or bind:open on Dialog.Root)"
30
- ]
31
- },
32
- {
33
- "id": 3,
34
- "prompt": "Create a dashboard component that shows 4 stat cards in a grid. Each card has a title, large number, percentage change badge, and a loading skeleton state. Using shadcn-svelte with lucide icons.",
35
- "expected_output": "A Svelte component with full Card composition, Skeleton for loading, Badge for changes, semantic colors, gap-* spacing.",
36
- "files": [],
37
- "expectations": [
38
- "Uses full Card composition with Card.Header, Card.Title, Card.Content (not dumping everything into Card.Content)",
39
- "Uses Skeleton component for loading placeholders instead of custom animate-pulse divs",
40
- "Uses Badge component for percentage change instead of custom styled spans",
41
- "Uses semantic color tokens instead of raw color values like bg-green-500 or text-red-600",
42
- "Uses gap-* instead of space-y-* or space-x-* for spacing",
43
- "Uses size-* when width and height are equal instead of separate w-* h-*"
44
- ]
45
- }
46
- ]
47
- }