@askrjs/cli 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/README.md +46 -7
  2. package/dist/add.d.ts +16 -0
  3. package/dist/add.js +558 -1
  4. package/dist/cli.d.ts +5 -0
  5. package/dist/cli.js +43 -16
  6. package/dist/create.d.ts +5 -0
  7. package/dist/create.js +104 -26
  8. package/dist/directory-swap-DWoHtx7C.js +35 -0
  9. package/dist/discovery-Difb7Y4G.js +323 -0
  10. package/dist/generate.d.ts +5 -0
  11. package/dist/generate.js +461 -0
  12. package/dist/is-direct-execution-Cdlr-ZUl.js +0 -2
  13. package/dist/openapi.d.ts +25 -0
  14. package/dist/openapi.js +49 -16
  15. package/dist/planner-VAj7qlxr.js +285 -0
  16. package/dist/range-YUs9eimn.js +125 -0
  17. package/dist/registry-CyrRHRG5.js +209 -0
  18. package/dist/skills/askr-dashboard-charts/SKILL.md +61 -44
  19. package/dist/skills/askr-dashboard-charts/agents/openai.yaml +2 -2
  20. package/dist/skills/askr-ssr-ssg/SKILL.md +3 -1
  21. package/dist/{skills-Bh0mEhIx.js → skills-B7CbWur9.js} +89 -26
  22. package/dist/skills.d.ts +18 -0
  23. package/dist/skills.js +1 -1
  24. package/dist/specification-DXnDOC-0.js +49 -0
  25. package/dist/ssg-config.d.ts +41 -0
  26. package/dist/ssg-config.js +1 -0
  27. package/dist/ssg.d.ts +61 -0
  28. package/dist/ssg.js +360 -24
  29. package/dist/templates/full-stack/AGENTS.md +0 -1
  30. package/dist/templates/full-stack/README.md +0 -1
  31. package/dist/templates/full-stack/index.html +0 -1
  32. package/dist/templates/full-stack/package.json +5 -3
  33. package/dist/templates/full-stack/server.ts +5 -9
  34. package/dist/templates/full-stack/src/action-authorizations.ts +2 -2
  35. package/dist/templates/full-stack/src/actions/create-message.ts +5 -5
  36. package/dist/templates/full-stack/src/i18n.ts +4 -4
  37. package/dist/templates/full-stack/src/main.tsx +4 -5
  38. package/dist/templates/full-stack/src/pages/home.tsx +5 -5
  39. package/dist/templates/full-stack/src/pages/layout.tsx +15 -5
  40. package/dist/templates/full-stack/src/pages/not-found.tsx +5 -2
  41. package/dist/templates/full-stack/src/routes.tsx +11 -12
  42. package/dist/templates/full-stack/src/schemas.ts +1 -2
  43. package/dist/templates/full-stack/src/server/action-registry.ts +5 -10
  44. package/dist/templates/full-stack/src/server/actions/create-message.ts +4 -4
  45. package/dist/templates/full-stack/src/server/app.ts +67 -57
  46. package/dist/templates/full-stack/src/server/dependencies.ts +10 -10
  47. package/dist/templates/full-stack/src/server/entry-server.ts +3 -3
  48. package/dist/templates/full-stack/src/telemetry.ts +1 -2
  49. package/dist/templates/full-stack/tests/actions/create-message.test.ts +7 -8
  50. package/dist/templates/full-stack/tsconfig.json +1 -2
  51. package/dist/templates/full-stack/vite.config.ts +5 -6
  52. package/dist/templates/spa/AGENTS.md +1 -1
  53. package/dist/templates/spa/package.json +3 -4
  54. package/dist/templates/spa/src/adapters/operations-client.ts +7 -2
  55. package/dist/templates/spa/src/pages/app/_routes.tsx +2 -0
  56. package/dist/templates/spa/src/pages/app/admin-home.tsx +21 -3
  57. package/dist/templates/spa/src/pages/public/_routes.tsx +2 -0
  58. package/dist/templates/spa/src/styles.css +1 -1
  59. package/dist/templates/spa/tsconfig.json +2 -1
  60. package/dist/templates/spa/vitest.config.ts +0 -4
  61. package/dist/templates/ssg/README.md +1 -1
  62. package/dist/templates/ssg/package.json +1 -1
  63. package/dist/templates/ssg/ssg.config.ts +7 -0
  64. package/dist/templates/ssg/tests/ssg-config.test.ts +5 -3
  65. package/dist/templates/ssg/tsconfig.json +2 -1
  66. package/dist/templates/ssg/vitest.config.ts +0 -4
  67. package/dist/templates/ssr/package.json +2 -2
  68. package/dist/templates/ssr/server.ts +4 -10
  69. package/dist/templates/ssr/src/entry-server.tsx +6 -4
  70. package/dist/templates/startkit/package.json +2 -2
  71. package/dist/templates/startkit/src/lib/mock-data.ts +17 -39
  72. package/dist/templates/startkit/tsconfig.json +2 -1
  73. package/dist/update.d.ts +41 -0
  74. package/dist/update.js +282 -2
  75. package/dist/writer-D8qe_7ud.js +226 -0
  76. package/package.json +23 -22
  77. package/dist/add-DqhqRzBQ.js +0 -555
  78. package/dist/add-DqhqRzBQ.js.map +0 -1
  79. package/dist/cli.js.map +0 -1
  80. package/dist/create.js.map +0 -1
  81. package/dist/is-direct-execution-Cdlr-ZUl.js.map +0 -1
  82. package/dist/openapi.js.map +0 -1
  83. package/dist/skills-Bh0mEhIx.js.map +0 -1
  84. package/dist/ssg.js.map +0 -1
  85. package/dist/templates/full-stack/src/vite-server.d.ts +0 -6
  86. package/dist/templates/spa/src/styles.d.ts +0 -1
  87. package/dist/templates/ssg/src/vite-env.d.ts +0 -5
  88. package/dist/templates/ssr/src/vite-server.d.ts +0 -7
  89. package/dist/templates/startkit/src/vite-env.d.ts +0 -5
  90. package/dist/update-DyW1na5V.js +0 -1140
  91. package/dist/update-DyW1na5V.js.map +0 -1
  92. package/skills/askr-accessibility/SKILL.md +0 -68
  93. package/skills/askr-accessibility/agents/openai.yaml +0 -4
  94. package/skills/askr-agent-execution/SKILL.md +0 -85
  95. package/skills/askr-agent-execution/agents/openai.yaml +0 -4
  96. package/skills/askr-agent-workflows/SKILL.md +0 -57
  97. package/skills/askr-agent-workflows/agents/openai.yaml +0 -4
  98. package/skills/askr-api-integration/SKILL.md +0 -79
  99. package/skills/askr-api-integration/agents/openai.yaml +0 -4
  100. package/skills/askr-app-builder/SKILL.md +0 -99
  101. package/skills/askr-app-builder/agents/openai.yaml +0 -4
  102. package/skills/askr-auth-access/SKILL.md +0 -74
  103. package/skills/askr-auth-access/agents/openai.yaml +0 -4
  104. package/skills/askr-cli-vite/SKILL.md +0 -76
  105. package/skills/askr-cli-vite/agents/openai.yaml +0 -4
  106. package/skills/askr-dashboard-charts/SKILL.md +0 -82
  107. package/skills/askr-dashboard-charts/agents/openai.yaml +0 -4
  108. package/skills/askr-design-system/SKILL.md +0 -86
  109. package/skills/askr-design-system/agents/openai.yaml +0 -4
  110. package/skills/askr-env-config/SKILL.md +0 -74
  111. package/skills/askr-env-config/agents/openai.yaml +0 -4
  112. package/skills/askr-error-loading-empty/SKILL.md +0 -89
  113. package/skills/askr-error-loading-empty/agents/openai.yaml +0 -4
  114. package/skills/askr-file-upload-artifacts/SKILL.md +0 -77
  115. package/skills/askr-file-upload-artifacts/agents/openai.yaml +0 -4
  116. package/skills/askr-forms-tables-crud/SKILL.md +0 -98
  117. package/skills/askr-forms-tables-crud/agents/openai.yaml +0 -4
  118. package/skills/askr-mental-model/SKILL.md +0 -109
  119. package/skills/askr-mental-model/agents/openai.yaml +0 -4
  120. package/skills/askr-migration-react/SKILL.md +0 -81
  121. package/skills/askr-migration-react/agents/openai.yaml +0 -4
  122. package/skills/askr-observability-debugging/SKILL.md +0 -83
  123. package/skills/askr-observability-debugging/agents/openai.yaml +0 -4
  124. package/skills/askr-project-structure/SKILL.md +0 -79
  125. package/skills/askr-project-structure/agents/openai.yaml +0 -4
  126. package/skills/askr-query-mutation/SKILL.md +0 -115
  127. package/skills/askr-query-mutation/agents/openai.yaml +0 -4
  128. package/skills/askr-realtime-streaming/SKILL.md +0 -76
  129. package/skills/askr-realtime-streaming/agents/openai.yaml +0 -4
  130. package/skills/askr-resources-data/SKILL.md +0 -100
  131. package/skills/askr-resources-data/agents/openai.yaml +0 -4
  132. package/skills/askr-routing-layouts/SKILL.md +0 -107
  133. package/skills/askr-routing-layouts/agents/openai.yaml +0 -4
  134. package/skills/askr-runtime-reactivity/SKILL.md +0 -92
  135. package/skills/askr-runtime-reactivity/agents/openai.yaml +0 -4
  136. package/skills/askr-ssr-ssg/SKILL.md +0 -76
  137. package/skills/askr-ssr-ssg/agents/openai.yaml +0 -4
  138. package/skills/askr-testing-determinism/SKILL.md +0 -75
  139. package/skills/askr-testing-determinism/agents/openai.yaml +0 -4
  140. package/skills/askr-theming/SKILL.md +0 -86
  141. package/skills/askr-theming/agents/openai.yaml +0 -4
  142. package/skills/askr-ui-composition/SKILL.md +0 -92
  143. package/skills/askr-ui-composition/agents/openai.yaml +0 -4
  144. package/templates/full-stack/AGENTS.md +0 -12
  145. package/templates/full-stack/README.md +0 -18
  146. package/templates/full-stack/gitignore.template +0 -4
  147. package/templates/full-stack/index.html +0 -14
  148. package/templates/full-stack/package.json +0 -37
  149. package/templates/full-stack/server.ts +0 -13
  150. package/templates/full-stack/src/action-authorizations.ts +0 -10
  151. package/templates/full-stack/src/actions/create-message.ts +0 -10
  152. package/templates/full-stack/src/i18n.ts +0 -8
  153. package/templates/full-stack/src/main.tsx +0 -12
  154. package/templates/full-stack/src/pages/home.tsx +0 -25
  155. package/templates/full-stack/src/pages/layout.tsx +0 -33
  156. package/templates/full-stack/src/pages/not-found.tsx +0 -4
  157. package/templates/full-stack/src/routes.tsx +0 -20
  158. package/templates/full-stack/src/schemas.ts +0 -11
  159. package/templates/full-stack/src/server/action-registry.ts +0 -12
  160. package/templates/full-stack/src/server/actions/create-message.ts +0 -14
  161. package/templates/full-stack/src/server/app.ts +0 -66
  162. package/templates/full-stack/src/server/dependencies.ts +0 -55
  163. package/templates/full-stack/src/server/entry-server.ts +0 -8
  164. package/templates/full-stack/src/telemetry.ts +0 -4
  165. package/templates/full-stack/src/vite-server.d.ts +0 -6
  166. package/templates/full-stack/tests/actions/create-message.test.ts +0 -13
  167. package/templates/full-stack/tsconfig.json +0 -16
  168. package/templates/full-stack/vite.config.ts +0 -11
  169. package/templates/spa/AGENTS.md +0 -60
  170. package/templates/spa/README.md +0 -96
  171. package/templates/spa/gitignore.template +0 -16
  172. package/templates/spa/index.html +0 -13
  173. package/templates/spa/package.json +0 -35
  174. package/templates/spa/src/adapters/operations-client.ts +0 -90
  175. package/templates/spa/src/components/shared/metric-card.tsx +0 -27
  176. package/templates/spa/src/components/shared/status-badge.tsx +0 -24
  177. package/templates/spa/src/features/operations/operations.query.ts +0 -9
  178. package/templates/spa/src/main.tsx +0 -10
  179. package/templates/spa/src/pages/_layout.tsx +0 -9
  180. package/templates/spa/src/pages/_routes.tsx +0 -27
  181. package/templates/spa/src/pages/app/_layout.tsx +0 -94
  182. package/templates/spa/src/pages/app/_routes.tsx +0 -10
  183. package/templates/spa/src/pages/app/admin-home.tsx +0 -152
  184. package/templates/spa/src/pages/app/agent-runs.tsx +0 -93
  185. package/templates/spa/src/pages/app/settings.tsx +0 -91
  186. package/templates/spa/src/pages/auth/_layout.tsx +0 -38
  187. package/templates/spa/src/pages/auth/_routes.tsx +0 -6
  188. package/templates/spa/src/pages/auth/login.tsx +0 -63
  189. package/templates/spa/src/pages/not-found.tsx +0 -22
  190. package/templates/spa/src/pages/public/_layout.tsx +0 -47
  191. package/templates/spa/src/pages/public/_routes.tsx +0 -6
  192. package/templates/spa/src/pages/public/home.tsx +0 -143
  193. package/templates/spa/src/shared/format.ts +0 -12
  194. package/templates/spa/src/shared/navigation.ts +0 -15
  195. package/templates/spa/src/styles/components.css +0 -49
  196. package/templates/spa/src/styles/layout.css +0 -192
  197. package/templates/spa/src/styles/reset.css +0 -44
  198. package/templates/spa/src/styles/theme.css +0 -57
  199. package/templates/spa/src/styles/tokens.css +0 -20
  200. package/templates/spa/src/styles.css +0 -7
  201. package/templates/spa/src/styles.d.ts +0 -1
  202. package/templates/spa/tests/app.test.tsx +0 -37
  203. package/templates/spa/tests/components/shared.test.tsx +0 -12
  204. package/templates/spa/tests/resources.test.ts +0 -22
  205. package/templates/spa/tsconfig.json +0 -20
  206. package/templates/spa/tsconfig.node.json +0 -10
  207. package/templates/spa/vite.config.ts +0 -24
  208. package/templates/spa/vitest.config.ts +0 -17
  209. package/templates/ssg/AGENTS.md +0 -55
  210. package/templates/ssg/README.md +0 -39
  211. package/templates/ssg/gitignore.template +0 -17
  212. package/templates/ssg/index.html +0 -13
  213. package/templates/ssg/package.json +0 -35
  214. package/templates/ssg/src/app.tsx +0 -14
  215. package/templates/ssg/src/components/badge.tsx +0 -3
  216. package/templates/ssg/src/components/counter.tsx +0 -30
  217. package/templates/ssg/src/components/site-shell.tsx +0 -111
  218. package/templates/ssg/src/jsx.d.ts +0 -23
  219. package/templates/ssg/src/main.tsx +0 -8
  220. package/templates/ssg/src/pages/about.tsx +0 -82
  221. package/templates/ssg/src/pages/content.tsx +0 -63
  222. package/templates/ssg/src/pages/example.tsx +0 -97
  223. package/templates/ssg/src/pages/home.tsx +0 -51
  224. package/templates/ssg/src/resources/user.ts +0 -15
  225. package/templates/ssg/src/routes.tsx +0 -15
  226. package/templates/ssg/src/styles.css +0 -89
  227. package/templates/ssg/src/vite-env.d.ts +0 -5
  228. package/templates/ssg/ssg.config.ts +0 -34
  229. package/templates/ssg/tests/app.test.tsx +0 -19
  230. package/templates/ssg/tests/components/counter.test.tsx +0 -18
  231. package/templates/ssg/tests/resources.test.ts +0 -11
  232. package/templates/ssg/tests/ssg-config.test.ts +0 -11
  233. package/templates/ssg/tsconfig.json +0 -20
  234. package/templates/ssg/tsconfig.node.json +0 -10
  235. package/templates/ssg/vite.config.ts +0 -24
  236. package/templates/ssg/vitest.config.ts +0 -17
  237. package/templates/ssr/AGENTS.md +0 -28
  238. package/templates/ssr/README.md +0 -38
  239. package/templates/ssr/gitignore.template +0 -16
  240. package/templates/ssr/index.html +0 -13
  241. package/templates/ssr/package.json +0 -34
  242. package/templates/ssr/server.ts +0 -16
  243. package/templates/ssr/src/app.tsx +0 -21
  244. package/templates/ssr/src/components/counter.tsx +0 -26
  245. package/templates/ssr/src/entry-server.tsx +0 -10
  246. package/templates/ssr/src/main.tsx +0 -11
  247. package/templates/ssr/src/pages/about.tsx +0 -75
  248. package/templates/ssr/src/pages/example.tsx +0 -113
  249. package/templates/ssr/src/pages/home.tsx +0 -56
  250. package/templates/ssr/src/resources/user.ts +0 -15
  251. package/templates/ssr/src/routes.tsx +0 -13
  252. package/templates/ssr/src/styles.css +0 -148
  253. package/templates/ssr/src/vite-server.d.ts +0 -7
  254. package/templates/ssr/tests/app.test.tsx +0 -24
  255. package/templates/ssr/tests/components/counter.test.tsx +0 -13
  256. package/templates/ssr/tests/resources.test.ts +0 -11
  257. package/templates/ssr/tsconfig.json +0 -22
  258. package/templates/ssr/tsconfig.node.json +0 -10
  259. package/templates/ssr/tsconfig.server.json +0 -15
  260. package/templates/ssr/vite.config.ts +0 -25
  261. package/templates/ssr/vitest.config.ts +0 -13
  262. package/templates/startkit/AGENTS.md +0 -77
  263. package/templates/startkit/README.md +0 -192
  264. package/templates/startkit/gitignore.template +0 -16
  265. package/templates/startkit/index.html +0 -13
  266. package/templates/startkit/package.json +0 -35
  267. package/templates/startkit/src/components/app-header.tsx +0 -93
  268. package/templates/startkit/src/components/app-sidebar.tsx +0 -95
  269. package/templates/startkit/src/components/data-table.tsx +0 -80
  270. package/templates/startkit/src/components/empty-state.tsx +0 -13
  271. package/templates/startkit/src/components/page-header.tsx +0 -23
  272. package/templates/startkit/src/components/stat-card.tsx +0 -24
  273. package/templates/startkit/src/features/accounts/account-filters.tsx +0 -61
  274. package/templates/startkit/src/features/accounts/account-table.tsx +0 -79
  275. package/templates/startkit/src/lib/format.ts +0 -31
  276. package/templates/startkit/src/lib/mock-data.ts +0 -441
  277. package/templates/startkit/src/lib/routes.ts +0 -116
  278. package/templates/startkit/src/main.tsx +0 -12
  279. package/templates/startkit/src/pages/_layout.tsx +0 -56
  280. package/templates/startkit/src/pages/auth/_layout.tsx +0 -7
  281. package/templates/startkit/src/pages/auth/login.tsx +0 -129
  282. package/templates/startkit/src/pages/home.tsx +0 -83
  283. package/templates/startkit/src/pages/not-found.tsx +0 -24
  284. package/templates/startkit/src/pages/workspace/_layout.tsx +0 -17
  285. package/templates/startkit/src/pages/workspace/accounts/index.tsx +0 -217
  286. package/templates/startkit/src/pages/workspace/dashboard.tsx +0 -118
  287. package/templates/startkit/src/pages/workspace/settings.tsx +0 -218
  288. package/templates/startkit/src/router.tsx +0 -7
  289. package/templates/startkit/src/routes/auth-config.ts +0 -38
  290. package/templates/startkit/src/routes/auth.ts +0 -8
  291. package/templates/startkit/src/routes/index.ts +0 -28
  292. package/templates/startkit/src/routes/public.ts +0 -8
  293. package/templates/startkit/src/routes/workspace/accounts.ts +0 -8
  294. package/templates/startkit/src/routes/workspace/index.ts +0 -14
  295. package/templates/startkit/src/styles/components.css +0 -396
  296. package/templates/startkit/src/styles/layout.css +0 -192
  297. package/templates/startkit/src/styles/reset.css +0 -38
  298. package/templates/startkit/src/styles/theme.css +0 -76
  299. package/templates/startkit/src/styles/tokens.css +0 -67
  300. package/templates/startkit/src/styles.css +0 -7
  301. package/templates/startkit/src/toast.ts +0 -55
  302. package/templates/startkit/src/utils/join-classes.ts +0 -4
  303. package/templates/startkit/src/vite-env.d.ts +0 -5
  304. package/templates/startkit/tests/app.test.tsx +0 -32
  305. package/templates/startkit/tests/preferences.test.ts +0 -43
  306. package/templates/startkit/tests/resources.test.ts +0 -82
  307. package/templates/startkit/tsconfig.json +0 -20
  308. package/templates/startkit/tsconfig.node.json +0 -10
  309. package/templates/startkit/vite.config.ts +0 -32
  310. package/templates/startkit/vitest.config.ts +0 -13
@@ -1,396 +0,0 @@
1
- @layer components {
2
- .panel {
3
- border: 1px solid var(--ak-color-border);
4
- border-radius: var(--ak-radius-lg);
5
- background: var(--ak-color-surface);
6
- padding: var(--ak-layout-panel-padding);
7
- box-shadow: var(--starter-shadow-soft);
8
- }
9
-
10
- .feature-card {
11
- display: grid;
12
- align-content: start;
13
- gap: var(--ak-space-sm);
14
- transition:
15
- transform 220ms ease,
16
- box-shadow 220ms ease,
17
- border-color 220ms ease;
18
- }
19
-
20
- .feature-card:hover {
21
- transform: translateY(-2px);
22
- border-color: color-mix(in srgb, var(--ak-color-primary) 28%, transparent);
23
- box-shadow: var(--starter-shadow-press);
24
- }
25
-
26
- .feature-card svg {
27
- color: var(--ak-color-primary);
28
- inline-size: 1.1rem;
29
- block-size: 1.1rem;
30
- }
31
-
32
- .eyebrow {
33
- font-size: var(--ak-font-size-xs);
34
- letter-spacing: 0.08em;
35
- text-transform: uppercase;
36
- color: var(--ak-color-muted);
37
- font-weight: 600;
38
- }
39
-
40
- .brand-link,
41
- .sidebar-brand {
42
- display: inline-flex;
43
- align-items: center;
44
- gap: var(--ak-space-sm);
45
- }
46
-
47
- .brand-pill {
48
- display: grid;
49
- place-items: center;
50
- inline-size: 1.8rem;
51
- block-size: 1.8rem;
52
- border-radius: 999px;
53
- background: linear-gradient(
54
- 145deg,
55
- var(--ak-color-primary),
56
- var(--ak-color-primary-hover)
57
- );
58
- color: #fff;
59
- font-weight: 700;
60
- box-shadow: var(--starter-shadow-press);
61
- }
62
-
63
- .sidebar-title {
64
- color: var(--ak-color-fg);
65
- font-weight: 600;
66
- }
67
-
68
- .sidebar-subtitle,
69
- .breadcrumbs {
70
- color: var(--ak-color-muted);
71
- font-size: var(--ak-font-size-xs);
72
- }
73
-
74
- .app-sidebar-nav {
75
- block-size: 100%;
76
- gap: var(--ak-space-lg);
77
- }
78
-
79
- .header-search,
80
- .input-row {
81
- display: inline-flex;
82
- align-items: center;
83
- gap: var(--ak-space-sm);
84
- border: 1px solid var(--ak-color-border);
85
- border-radius: var(--ak-radius-md);
86
- background: var(--ak-color-surface);
87
- color: var(--ak-color-muted);
88
- padding-inline: var(--ak-space-md);
89
- min-block-size: 2.5rem;
90
- }
91
-
92
- .header-search [data-slot='input'],
93
- .input-row [data-slot='input'] {
94
- border: none;
95
- background: transparent;
96
- color: var(--ak-color-fg);
97
- }
98
-
99
- .header-search {
100
- min-inline-size: min(22rem, 100%);
101
- }
102
-
103
- .header-account-trigger {
104
- display: inline-flex;
105
- align-items: center;
106
- gap: var(--ak-space-sm);
107
- border: 1px solid var(--ak-color-border);
108
- border-radius: var(--ak-radius-md);
109
- background: var(--ak-color-surface);
110
- padding: var(--ak-space-2xs) var(--ak-space-sm);
111
- transition:
112
- border-color 160ms ease,
113
- background-color 160ms ease;
114
- }
115
-
116
- .header-account-trigger:hover {
117
- border-color: color-mix(in srgb, var(--ak-color-primary) 22%, transparent);
118
- background: var(--ak-color-surface-muted);
119
- }
120
-
121
- .page-header-copy {
122
- display: grid;
123
- gap: var(--ak-space-sm);
124
- max-inline-size: var(--starter-content-max-ch);
125
- }
126
-
127
- .stat-card {
128
- display: grid;
129
- gap: var(--ak-space-sm);
130
- }
131
-
132
- .stat-card-head {
133
- display: inline-flex;
134
- align-items: center;
135
- justify-content: space-between;
136
- gap: var(--ak-space-sm);
137
- }
138
-
139
- .stat-card strong {
140
- font-size: clamp(1.4rem, 1.16rem + 0.85vw, 1.8rem);
141
- line-height: 1.1;
142
- letter-spacing: -0.02em;
143
- }
144
-
145
- .trend {
146
- color: var(--ak-color-muted);
147
- font-size: var(--ak-font-size-sm);
148
- }
149
-
150
- .empty-state {
151
- display: grid;
152
- gap: var(--ak-space-md);
153
- justify-items: start;
154
- }
155
-
156
- .section-head {
157
- display: inline-flex;
158
- justify-content: space-between;
159
- align-items: flex-end;
160
- gap: var(--ak-space-md);
161
- flex-wrap: wrap;
162
- }
163
-
164
- .table-wrap {
165
- border: 1px solid var(--ak-color-border);
166
- border-radius: var(--ak-radius-md);
167
- overflow: auto;
168
- }
169
-
170
- table {
171
- inline-size: 100%;
172
- border-collapse: collapse;
173
- min-inline-size: 48rem;
174
- }
175
-
176
- th,
177
- td {
178
- text-align: start;
179
- border-block-end: 1px solid var(--ak-color-border);
180
- padding: var(--ak-space-md) var(--ak-space-lg-plus);
181
- }
182
-
183
- th {
184
- font-size: var(--ak-font-size-xs);
185
- color: var(--ak-color-muted);
186
- text-transform: uppercase;
187
- letter-spacing: 0.06em;
188
- }
189
-
190
- tr:last-child td {
191
- border-block-end: none;
192
- }
193
-
194
- .cell-select {
195
- inline-size: 3rem;
196
- }
197
-
198
- .cell-actions {
199
- inline-size: 8rem;
200
- }
201
-
202
- .status-pill {
203
- display: inline-flex;
204
- align-items: center;
205
- border-radius: 999px;
206
- border: 1px solid var(--ak-color-border);
207
- padding: var(--ak-space-2xs) var(--ak-space-sm);
208
- text-transform: capitalize;
209
- font-size: var(--ak-font-size-xs);
210
- background: var(--ak-color-surface-muted);
211
- }
212
-
213
- .status-active {
214
- color: var(--starter-color-success);
215
- }
216
-
217
- .status-pending,
218
- .status-archived {
219
- color: var(--ak-color-muted);
220
- }
221
-
222
- .field-error {
223
- color: var(--ak-color-danger);
224
- font-size: var(--ak-font-size-sm);
225
- font-weight: 600;
226
- }
227
-
228
- .auth-page {
229
- display: grid;
230
- gap: var(--ak-space-lg);
231
- }
232
-
233
- .auth-form {
234
- display: grid;
235
- gap: var(--ak-space-md);
236
- }
237
-
238
- .auth-links {
239
- display: flex;
240
- justify-content: space-between;
241
- flex-wrap: wrap;
242
- gap: var(--ak-space-md);
243
- font-size: var(--ak-font-size-sm);
244
- }
245
-
246
- .button {
247
- display: inline-flex;
248
- align-items: center;
249
- justify-content: center;
250
- gap: var(--ak-space-xs);
251
- border-radius: var(--ak-radius-md);
252
- border: 1px solid transparent;
253
- min-block-size: 2.5rem;
254
- padding-inline: var(--ak-space-md);
255
- text-decoration: none;
256
- transition:
257
- transform 150ms ease,
258
- box-shadow 160ms ease,
259
- background-color 160ms ease,
260
- border-color 160ms ease;
261
- }
262
-
263
- .button:hover {
264
- box-shadow: var(--starter-shadow-press);
265
- transform: translateY(-1px);
266
- }
267
-
268
- .button:focus-visible {
269
- outline: none;
270
- box-shadow: 0 0 0 3px var(--ak-color-focus-ring);
271
- }
272
-
273
- .link-button {
274
- border: none;
275
- background: transparent;
276
- color: var(--ak-color-primary);
277
- cursor: pointer;
278
- padding: 0;
279
- }
280
-
281
- .switch-row {
282
- display: flex;
283
- justify-content: space-between;
284
- align-items: flex-start;
285
- gap: var(--ak-space-md);
286
- padding-block: var(--ak-space-sm);
287
- }
288
-
289
- .button-secondary {
290
- background: var(--ak-color-surface);
291
- border-color: var(--ak-color-border);
292
- color: var(--ak-color-fg);
293
- }
294
-
295
- [data-slot='button'] {
296
- border-radius: var(--ak-radius-md);
297
- border: 1px solid transparent;
298
- min-block-size: 2.5rem;
299
- transition:
300
- transform 150ms ease,
301
- box-shadow 160ms ease,
302
- background-color 160ms ease,
303
- border-color 160ms ease;
304
- }
305
-
306
- [data-slot='button']:hover {
307
- box-shadow: var(--starter-shadow-press);
308
- transform: translateY(-1px);
309
- }
310
-
311
- [data-slot='button']:focus-visible,
312
- [data-slot='dropdown-menu-item']:focus-visible,
313
- [data-slot='toast-close']:focus-visible,
314
- [data-slot='dialog-close']:focus-visible {
315
- outline: none;
316
- box-shadow: 0 0 0 3px var(--ak-color-focus-ring);
317
- }
318
-
319
- [data-slot='button'][data-disabled='true'],
320
- [data-slot='button']:disabled {
321
- opacity: 0.55;
322
- cursor: not-allowed;
323
- transform: none;
324
- box-shadow: none;
325
- }
326
-
327
- [data-slot='dropdown-menu-content'] {
328
- border: 1px solid var(--ak-color-border);
329
- border-radius: var(--ak-radius-md);
330
- background: var(--ak-color-surface);
331
- padding: var(--ak-space-sm);
332
- display: grid;
333
- gap: var(--ak-space-2xs);
334
- }
335
-
336
- [data-slot='dropdown-menu-label'] {
337
- color: var(--ak-color-muted);
338
- font-size: var(--ak-font-size-xs);
339
- font-weight: 600;
340
- letter-spacing: 0.06em;
341
- text-transform: uppercase;
342
- padding: var(--ak-space-sm);
343
- }
344
-
345
- [data-slot='dropdown-menu-item'] {
346
- border-radius: var(--ak-radius-sm);
347
- padding: var(--ak-space-sm) var(--ak-space-md);
348
- border: none;
349
- background: transparent;
350
- color: var(--ak-color-fg);
351
- }
352
-
353
- [data-slot='dropdown-menu-item']:hover {
354
- background: var(--ak-color-surface-muted);
355
- }
356
-
357
- [data-slot='dropdown-menu-separator'] {
358
- block-size: 1px;
359
- background: var(--ak-color-border);
360
- inline-size: 100%;
361
- margin-block: var(--ak-space-2xs);
362
- }
363
-
364
- .app-toast-viewport {
365
- position: fixed;
366
- inset-block-end: var(--ak-space-lg);
367
- inset-inline-end: var(--ak-space-lg);
368
- display: grid;
369
- gap: var(--ak-space-sm);
370
- z-index: 30;
371
- }
372
-
373
- .app-toast,
374
- [data-slot='dialog-content'] {
375
- border: 1px solid var(--ak-color-border);
376
- border-radius: var(--ak-radius-lg);
377
- background: var(--ak-color-surface);
378
- box-shadow: none;
379
- }
380
-
381
- [data-slot='dialog-overlay'] {
382
- position: fixed;
383
- inset: 0;
384
- background: color-mix(in srgb, var(--ak-color-fg) 25%, transparent);
385
- backdrop-filter: blur(2px);
386
- }
387
-
388
- [data-slot='dialog-content'] {
389
- position: fixed;
390
- inline-size: min(30rem, calc(100vw - 2rem));
391
- inset-inline-start: 50%;
392
- inset-block-start: 50%;
393
- transform: translate(-50%, -50%);
394
- z-index: 40;
395
- }
396
- }
@@ -1,192 +0,0 @@
1
- @layer layout {
2
- .app-root {
3
- min-block-size: 100dvh;
4
- }
5
-
6
- .marketing-page,
7
- .not-found-page {
8
- inline-size: min(
9
- var(--ak-layout-content-max-width),
10
- calc(100% - 2 * var(--ak-layout-page-gutter))
11
- );
12
- margin-inline: auto;
13
- padding-block: var(--ak-space-xl) var(--ak-space-2xl);
14
- display: grid;
15
- gap: var(--ak-space-xl);
16
- }
17
-
18
- .marketing-page > * {
19
- animation: starter-fade-up 520ms ease-out both;
20
- }
21
-
22
- .marketing-page > :nth-child(2) {
23
- animation-delay: 70ms;
24
- }
25
-
26
- .marketing-page > :nth-child(3) {
27
- animation-delay: 130ms;
28
- }
29
-
30
- .marketing-header {
31
- display: flex;
32
- align-items: center;
33
- justify-content: space-between;
34
- gap: var(--ak-space-md);
35
- padding-block-start: var(--ak-space-sm);
36
- }
37
-
38
- .hero-block {
39
- display: grid;
40
- gap: var(--ak-space-lg-plus);
41
- }
42
-
43
- .hero-block p {
44
- max-inline-size: var(--starter-content-max-ch);
45
- }
46
-
47
- .hero-cta {
48
- display: inline-flex;
49
- flex-wrap: wrap;
50
- gap: var(--ak-space-md);
51
- }
52
-
53
- .feature-grid {
54
- display: grid;
55
- grid-template-columns: repeat(auto-fit, minmax(236px, 1fr));
56
- gap: var(--ak-space-lg);
57
- }
58
-
59
- .auth-layout-shell {
60
- min-block-size: 100dvh;
61
- display: grid;
62
- place-items: center;
63
- padding: var(--ak-space-xl);
64
- }
65
-
66
- .auth-layout-card {
67
- inline-size: min(100%, 420px);
68
- }
69
-
70
- .app-shell {
71
- min-block-size: 100dvh;
72
- }
73
-
74
- .app-shell-nav {
75
- flex: 0 0 17rem;
76
- }
77
-
78
- .app-shell-main {
79
- min-inline-size: 0;
80
- }
81
-
82
- .app-sidebar {
83
- block-size: 100%;
84
- border-inline-end: 1px solid var(--ak-color-border);
85
- background: var(--ak-color-surface);
86
- padding: var(--ak-space-lg-plus);
87
- display: grid;
88
- align-content: start;
89
- gap: var(--ak-space-lg);
90
- }
91
-
92
- .app-main {
93
- inline-size: min(
94
- var(--ak-layout-content-max-width),
95
- calc(100% - 2 * var(--ak-layout-page-gutter))
96
- );
97
- margin-inline: auto;
98
- padding-block: var(--ak-space-xl) var(--ak-space-2xl);
99
- display: grid;
100
- gap: var(--ak-space-xl);
101
- }
102
-
103
- .app-header {
104
- position: sticky;
105
- inset-block-start: 0;
106
- border-block-end: 1px solid var(--ak-color-border);
107
- background: var(--starter-surface-glass);
108
- backdrop-filter: blur(8px);
109
- padding: var(--ak-space-lg) var(--ak-layout-page-gutter);
110
- z-index: 15;
111
- }
112
-
113
- .stat-grid {
114
- display: grid;
115
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
116
- gap: var(--ak-space-md);
117
- }
118
-
119
- .settings-grid {
120
- display: grid;
121
- grid-template-columns: repeat(2, minmax(0, 1fr));
122
- gap: var(--ak-space-lg);
123
- }
124
-
125
- .account-filters {
126
- display: flex;
127
- flex-wrap: wrap;
128
- gap: var(--ak-space-md);
129
- align-items: center;
130
- }
131
-
132
- .account-search {
133
- min-inline-size: min(28rem, 100%);
134
- }
135
-
136
- .inline-end {
137
- display: inline-flex;
138
- justify-content: flex-end;
139
- gap: var(--ak-space-sm);
140
- inline-size: 100%;
141
- }
142
-
143
- @keyframes starter-fade-up {
144
- from {
145
- opacity: 0;
146
- transform: translateY(10px);
147
- }
148
-
149
- to {
150
- opacity: 1;
151
- transform: translateY(0);
152
- }
153
- }
154
-
155
- @media (max-width: 960px) {
156
- .app-shell {
157
- flex-direction: column;
158
- }
159
-
160
- .app-shell-nav {
161
- flex-basis: auto;
162
- inline-size: 100%;
163
- }
164
-
165
- .app-shell-nav [data-slot='sidebar'] {
166
- inline-size: 100%;
167
- border-inline-end: none;
168
- border-block-end: 1px solid var(--ak-color-border);
169
- }
170
-
171
- .settings-grid {
172
- grid-template-columns: minmax(0, 1fr);
173
- }
174
- }
175
-
176
- @media (max-width: 640px) {
177
- .marketing-page,
178
- .not-found-page,
179
- .app-main {
180
- gap: var(--ak-space-lg);
181
- padding-block: var(--ak-space-lg) var(--ak-space-xl);
182
- }
183
-
184
- .app-header {
185
- padding-block: var(--ak-space-md);
186
- }
187
-
188
- .feature-grid {
189
- grid-template-columns: minmax(0, 1fr);
190
- }
191
- }
192
- }
@@ -1,38 +0,0 @@
1
- @layer reset {
2
- *,
3
- *::before,
4
- *::after {
5
- box-sizing: border-box;
6
- }
7
-
8
- html,
9
- body,
10
- #app {
11
- margin: 0;
12
- min-height: 100%;
13
- }
14
-
15
- body {
16
- min-block-size: 100dvh;
17
- text-rendering: optimizeLegibility;
18
- -webkit-font-smoothing: antialiased;
19
- }
20
-
21
- h1,
22
- h2,
23
- h3,
24
- p {
25
- margin: 0;
26
- }
27
-
28
- button,
29
- input,
30
- select {
31
- font: inherit;
32
- }
33
-
34
- a {
35
- color: inherit;
36
- text-decoration: none;
37
- }
38
- }
@@ -1,76 +0,0 @@
1
- @import '@askrjs/themes/default';
2
-
3
- @layer theme {
4
- body {
5
- background:
6
- radial-gradient(
7
- 1100px 620px at 100% -12%,
8
- color-mix(in srgb, var(--ak-color-primary) 13%, transparent),
9
- transparent 60%
10
- ),
11
- radial-gradient(
12
- 820px 420px at -8% 14%,
13
- color-mix(in srgb, var(--ak-color-primary) 8%, transparent),
14
- transparent 64%
15
- ),
16
- var(--ak-color-bg);
17
- color: var(--ak-color-fg);
18
- font-family: var(--ak-font-family);
19
- font-size: var(--ak-font-size-md);
20
- line-height: 1.55;
21
- }
22
-
23
- h1 {
24
- font-size: var(--ak-font-size-display);
25
- line-height: 1.06;
26
- letter-spacing: -0.03em;
27
- text-wrap: balance;
28
- }
29
-
30
- h2 {
31
- font-size: var(--ak-font-size-heading);
32
- line-height: 1.3;
33
- letter-spacing: -0.015em;
34
- text-wrap: balance;
35
- }
36
-
37
- .muted,
38
- p {
39
- color: var(--ak-color-muted);
40
- line-height: 1.65;
41
- }
42
-
43
- ::selection {
44
- background: color-mix(in srgb, var(--ak-color-primary) 30%, transparent);
45
- color: var(--ak-color-fg);
46
- }
47
-
48
- .stack-sm,
49
- .stack-md,
50
- .stack-lg {
51
- display: grid;
52
- }
53
-
54
- .stack-sm {
55
- gap: var(--ak-space-sm);
56
- }
57
-
58
- .stack-md {
59
- gap: var(--ak-space-lg);
60
- }
61
-
62
- .stack-lg {
63
- gap: var(--ak-space-xl);
64
- }
65
-
66
- @media (prefers-reduced-motion: reduce) {
67
- *,
68
- *::before,
69
- *::after {
70
- animation-duration: 0.01ms !important;
71
- animation-iteration-count: 1 !important;
72
- transition-duration: 0.01ms !important;
73
- scroll-behavior: auto !important;
74
- }
75
- }
76
- }