@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,67 +0,0 @@
1
- import { status } from './status'
2
- import { reset } from './reset'
3
- import * as net from './net'
4
- import { events, type Events, type Message } from './events'
5
-
6
- let connected: string | null = null
7
- let controller: AbortController | null = null
8
-
9
- async function connect(id: string): Promise<void> {
10
- if (connected !== null && connected !== id)
11
- disconnect()
12
-
13
- if (connected === id) return
14
- else connected = id
15
-
16
- // eslint-disable-next-line no-unmodified-loop-condition
17
- while (connected === id) {
18
- status('connecting')
19
-
20
- const err = await consume(id).catch((err: Error) => err)
21
-
22
- if (err !== undefined)
23
- if (err.name === 'AbortError') console.debug('Realtime connection aborted')
24
- else {
25
- console.warn('Realtime connection exception', err)
26
- await new Promise((resolve) => setTimeout(resolve, 3000))
27
- }
28
- }
29
- }
30
-
31
- async function consume(id: string): Promise<void> {
32
- controller = new AbortController()
33
-
34
- const signal = controller.signal
35
- const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone
36
- const generator = await net.post<Message>(id, { signal, body: { timezone } })
37
-
38
- if (generator instanceof Error) {
39
- status('disconnected')
40
- throw generator
41
- }
42
-
43
- console.debug('Realtime connected', id)
44
- status('connected')
45
-
46
- for await (const message of generator) emit(message)
47
-
48
- console.debug('Realtime connection lost', id)
49
- }
50
-
51
- function disconnect() {
52
- if (connected === null) return
53
- else connected = null
54
-
55
- if (controller === null)
56
- throw new Error('Realtime controller is NULL')
57
-
58
- controller.abort()
59
- reset()
60
- }
61
-
62
- function emit(message: Message) {
63
- if (typeof message === 'string') events.emit('heartbeat')
64
- else events.emit(message.event as keyof Events, message.data as Events[keyof Events])
65
- }
66
-
67
- export { connect, disconnect }
@@ -1,17 +0,0 @@
1
- import mitt from 'mitt'
2
-
3
- export type Events = Record<string, unknown> // add domain events here
4
-
5
- export type Message = {
6
- [E in keyof Events]: {
7
- event: E
8
- data: Events[E]
9
- }
10
- }[keyof Events]
11
-
12
- export const events = mitt<Events & { heartbeat: undefined }>()
13
-
14
- events.on('*', (label, payload) => {
15
- if (payload === undefined) console.debug(label)
16
- else console.debug(label, payload)
17
- })
@@ -1,5 +0,0 @@
1
- export { connect, disconnect } from './connect'
2
- export { events } from './events'
3
- export { dashboard, type Dashboard, type Event, type Status } from './store'
4
- export { time } from './time'
5
- export { rc } from '../rc'
@@ -1,6 +0,0 @@
1
- export type Message =
2
- | {
3
- event: string
4
- data: unknown
5
- }
6
- | string
@@ -1,2 +0,0 @@
1
- export * from './interface'
2
- export type { Message } from './Message'
@@ -1,13 +0,0 @@
1
- import { origin, type RequestOptions } from '@/net'
2
- import type { Message } from './Message'
3
-
4
- const streams = origin.resource<Message>('/presence/')
5
-
6
- async function post<T extends Message>(
7
- id: string,
8
- options?: RequestOptions,
9
- ): Promise<AsyncGenerator<T, void, undefined> | Error> {
10
- return await streams.multipart<T>(id, { credentials: 'include', ...options })
11
- }
12
-
13
- export { post }
@@ -1,5 +0,0 @@
1
- import { dashboard } from './store'
2
-
3
- export function reset(): void {
4
- dashboard.update(() => ({ status: 'disconnected', events: [] }))
5
- }
@@ -1,12 +0,0 @@
1
- import { dashboard, type Status } from './store'
2
-
3
- export function status(status: Status): void {
4
- dashboard.update((dashboard) => {
5
- dashboard.status = status
6
-
7
- if (status === 'connected' || status === 'disconnected')
8
- dashboard.events.push({ label: status })
9
-
10
- return dashboard
11
- })
12
- }
@@ -1,30 +0,0 @@
1
- import { writable } from 'svelte/store'
2
- import { browser } from '$app/environment'
3
- import { events } from './events'
4
-
5
- export const dashboard = writable<Dashboard>({
6
- status: 'disconnected',
7
- events: [],
8
- })
9
-
10
- if (browser)
11
- events.on('*', (label, payload) => {
12
- dashboard.update((dashboard) => {
13
- dashboard.events.push({ label: label as string, payload })
14
- dashboard.events = dashboard.events.slice(-128)
15
-
16
- return dashboard
17
- })
18
- })
19
-
20
- export interface Dashboard {
21
- status: Status
22
- events: Event[]
23
- }
24
-
25
- export interface Event {
26
- label: string
27
- payload?: unknown
28
- }
29
-
30
- export type Status = 'disconnected' | 'connecting' | 'connected'
@@ -1,15 +0,0 @@
1
- import { writable } from 'svelte/store'
2
- import { origin } from '@/net'
3
-
4
- // initially use client time
5
- export const time = writable<number>(Date.now())
6
-
7
- origin.events.on('response', ({ headers }) => {
8
- const date = headers.get('date')
9
-
10
- if (date === null) return
11
-
12
- const timestamp = new Date(date).getTime()
13
-
14
- time.set(timestamp)
15
- })
package/ui/src/app.d.ts DELETED
@@ -1,20 +0,0 @@
1
- // See https://svelte.dev/docs/kit/types#app.d.ts
2
- // for information about these interfaces
3
- declare global {
4
- namespace App {
5
- // interface Error {}
6
- // interface Locals {}
7
-
8
- interface PageData {
9
- meta?: {
10
- title: string
11
- description: string
12
- }
13
- }
14
-
15
- // interface PageState {}
16
- // interface Platform {}
17
- }
18
- }
19
-
20
- export {}
package/ui/src/app.html DELETED
@@ -1,13 +0,0 @@
1
- <!doctype html>
2
- <html translate="no" lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <meta name="robots" content="noindex,nofollow" />
7
- <meta name="google" content="notranslate" />
8
- %sveltekit.head%
9
- </head>
10
- <body data-sveltekit-preload-data="hover">
11
- <div style="display: contents">%sveltekit.body%</div>
12
- </body>
13
- </html>
@@ -1,70 +0,0 @@
1
- import { version as ver } from '$app/environment'
2
-
3
- export const meta = {
4
- title: 'Configuration',
5
- description: 'The configuration of a Toa application',
6
- } as const
7
-
8
- export const navigation = {
9
- /** Entry point for authenticated users. */
10
- entry: '/',
11
- } as const
12
-
13
- /** Exposition's HTTP port. It is a constant of the runtime; this bundle cannot import it. */
14
- const GATEWAY_PORT = 8000
15
-
16
- /**
17
- * Where the API is.
18
- *
19
- * The page is published on the hosts Exposition serves, so the gateway is our own
20
- * origin — that is what the context's `ingress` section is required to say. Locally
21
- * there is no ingress and the two are separate ports: the values service serves this
22
- * page, the gateway answers next door.
23
- */
24
- export const origin = (() => {
25
- // the build renders an empty shell in Node, where nothing requests anything
26
- if (typeof window === 'undefined') return ''
27
-
28
- const { protocol, hostname, origin } = window.location
29
-
30
- return local(hostname) ? `${protocol}//${hostname}:${GATEWAY_PORT}` : origin
31
- })()
32
-
33
- export const sleep: [number, number] | undefined = (() => {
34
- const sleep = import.meta.env.VITE_DEV_SLEEP
35
-
36
- if (sleep === undefined) return
37
-
38
- const match = sleep.match(/^(?<min>\d+)-(?<max>\d+)$/)
39
-
40
- if (match === null || match.groups === undefined)
41
- throw new Error(`Invalid sleep value: ${sleep}`)
42
-
43
- return [Number.parseInt(match.groups.min), Number.parseInt(match.groups.max)]
44
- })()
45
-
46
- function local(hostname: string) {
47
- return (
48
- hostname === 'localhost' ||
49
- hostname === '127.0.0.1' ||
50
- hostname === '[::1]' ||
51
- hostname.startsWith('192.168.') ||
52
- hostname.startsWith('172.16.') ||
53
- hostname.startsWith('10.')
54
- )
55
- }
56
-
57
- export const GOOGLE_CLIENT_ID = import.meta.env.PUBLIC_GOOGLE_CLIENT_ID
58
- export const APPLE_CLIENT_ID = import.meta.env.PUBLIC_APPLE_CLIENT_ID
59
-
60
- const MAJOR_VERSION = '1'
61
-
62
- export const version = (() => {
63
- const date = new Date(Number.parseInt(ver))
64
- const year = date.getFullYear()
65
- const startOfYear = new Date(year, 0, 1).getTime()
66
- const startNextYear = new Date(year + 1, 0, 1).getTime()
67
- const fraction = (date.getTime() - startOfYear) / (startNextYear - startOfYear)
68
-
69
- return `${MAJOR_VERSION}.${(year + fraction).toFixed(4)}`
70
- })()
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="107" height="128" viewBox="0 0 107 128"><title>svelte-logo</title><path d="M94.157 22.819c-10.4-14.885-30.94-19.297-45.792-9.835L22.282 29.608A29.92 29.92 0 0 0 8.764 49.65a31.5 31.5 0 0 0 3.108 20.231 30 30 0 0 0-4.477 11.183 31.9 31.9 0 0 0 5.448 24.116c10.402 14.887 30.942 19.297 45.791 9.835l26.083-16.624A29.92 29.92 0 0 0 98.235 78.35a31.53 31.53 0 0 0-3.105-20.232 30 30 0 0 0 4.474-11.182 31.88 31.88 0 0 0-5.447-24.116" style="fill:#ff3e00"/><path d="M45.817 106.582a20.72 20.72 0 0 1-22.237-8.243 19.17 19.17 0 0 1-3.277-14.503 18 18 0 0 1 .624-2.435l.49-1.498 1.337.981a33.6 33.6 0 0 0 10.203 5.098l.97.294-.09.968a5.85 5.85 0 0 0 1.052 3.878 6.24 6.24 0 0 0 6.695 2.485 5.8 5.8 0 0 0 1.603-.704L69.27 76.28a5.43 5.43 0 0 0 2.45-3.631 5.8 5.8 0 0 0-.987-4.371 6.24 6.24 0 0 0-6.698-2.487 5.7 5.7 0 0 0-1.6.704l-9.953 6.345a19 19 0 0 1-5.296 2.326 20.72 20.72 0 0 1-22.237-8.243 19.17 19.17 0 0 1-3.277-14.502 17.99 17.99 0 0 1 8.13-12.052l26.081-16.623a19 19 0 0 1 5.3-2.329 20.72 20.72 0 0 1 22.237 8.243 19.17 19.17 0 0 1 3.277 14.503 18 18 0 0 1-.624 2.435l-.49 1.498-1.337-.98a33.6 33.6 0 0 0-10.203-5.1l-.97-.294.09-.968a5.86 5.86 0 0 0-1.052-3.878 6.24 6.24 0 0 0-6.696-2.485 5.8 5.8 0 0 0-1.602.704L37.73 51.72a5.42 5.42 0 0 0-2.449 3.63 5.79 5.79 0 0 0 .986 4.372 6.24 6.24 0 0 0 6.698 2.486 5.8 5.8 0 0 0 1.602-.704l9.952-6.342a19 19 0 0 1 5.295-2.328 20.72 20.72 0 0 1 22.237 8.242 19.17 19.17 0 0 1 3.277 14.503 18 18 0 0 1-8.13 12.053l-26.081 16.622a19 19 0 0 1-5.3 2.328" style="fill:#fff"/></svg>
@@ -1,63 +0,0 @@
1
- <script lang="ts">
2
- import { Check, Copy } from '@lucide/svelte'
3
- import { Spinner } from '$ui/spinner'
4
- import { Button } from '$ui/button'
5
- import { cn } from '$lib/utils'
6
- import { browser } from '$app/environment'
7
- import type { Props, Retriever } from './Clipboard'
8
-
9
- const { text, label, disabled, oncopy, icon, class: classes, ...rest }: Props = $props()
10
-
11
- let copied = $state(false)
12
- let waiting = $state(false)
13
-
14
- const unavailable = browser && !navigator.clipboard
15
-
16
- async function onclick() {
17
- if (copied) return
18
-
19
- waiting = true
20
-
21
- if (typeof ClipboardItem === 'undefined') {
22
- const value = typeof text === 'function' ? await text() : text
23
-
24
- if (value === null) return
25
-
26
- await navigator.clipboard!.writeText(value)
27
- } else {
28
- const item = clipboard(text)
29
-
30
- await navigator.clipboard!.write([item])
31
- }
32
-
33
- waiting = false
34
- copied = true
35
- oncopy?.()
36
- setTimeout(() => (copied = false), 2000)
37
- }
38
-
39
- function clipboard(text: Retriever) {
40
- return typeof text === 'function'
41
- ? resolve(text as () => Promise<string | null>)
42
- : new ClipboardItem({ 'text/plain': new Blob([text], { type: 'text/plain' }) })
43
- }
44
-
45
- function resolve(text: () => Promise<string | null>) {
46
- return new ClipboardItem({
47
- 'text/plain': text().then((value) => new Blob([value ?? ''], { type: 'text/plain' })),
48
- })
49
- }
50
- </script>
51
-
52
- <Button class={cn(classes)} {onclick} disabled={disabled || unavailable || waiting} {...rest}>
53
- {#if copied}
54
- <Check class="text-constructive" strokeWidth={3} />
55
- {:else if waiting}
56
- <Spinner />
57
- {:else if icon !== undefined}
58
- {@render icon()}
59
- {:else}
60
- <Copy />
61
- {/if}
62
- {#if label !== null}{label}{/if}
63
- </Button>
@@ -1,12 +0,0 @@
1
- import type { Snippet } from 'svelte'
2
- import type { ButtonProps } from '$ui/button'
3
-
4
- export interface Props extends ButtonProps {
5
- text: Retriever
6
- label?: string
7
- /** Stands in for the copy icon where the button says what it copies rather than that it copies. */
8
- icon?: Snippet
9
- oncopy?: () => void
10
- }
11
-
12
- export type Retriever = (() => Promise<string>) | string
@@ -1 +0,0 @@
1
- export { default as Clipboard } from './Clipboard.svelte'
@@ -1,81 +0,0 @@
1
- <script lang="ts">
2
- import { onMount } from 'svelte'
3
- import type { Props } from './Dismissable'
4
-
5
- const { dismissable = true, children, ondismiss }: Props = $props()
6
-
7
- const ANIMATION_DURATION_MS = 300
8
-
9
- let container: HTMLDivElement | undefined = $state()
10
- let sentinel: HTMLDivElement | undefined = $state()
11
- let dismissed = $state(false)
12
- let dismissing = $state(false)
13
-
14
- export async function dismiss() {
15
- if (dismissed) return
16
-
17
- dismissing = true
18
- dismissed = true
19
-
20
- await new Promise((resolve) => setTimeout(resolve, ANIMATION_DURATION_MS))
21
- await ondismiss?.()
22
- }
23
-
24
- export async function remove() {
25
- if (dismissed) return
26
-
27
- dismissing = true
28
- dismissed = true
29
-
30
- await new Promise((resolve) => setTimeout(resolve, ANIMATION_DURATION_MS))
31
- }
32
-
33
- onMount(() => {
34
- if (!sentinel || dismissed || !ondismiss) return
35
-
36
- const observer = new IntersectionObserver(
37
- (entries) => {
38
- const entry = entries[0]
39
-
40
- if (entry?.isIntersecting && !dismissed) {
41
- dismissed = true
42
- void ondismiss()
43
- }
44
- },
45
- { root: container, threshold: 1 },
46
- )
47
-
48
- observer.observe(sentinel)
49
-
50
- return () => observer.disconnect()
51
- })
52
- </script>
53
-
54
- <div class="relative" class:dismissing>
55
- <div
56
- bind:this={container}
57
- class={['flex w-full', dismissable && 'overflow-x-auto snap-x snap-mandatory no-scrollbar']}>
58
- <div class="w-full shrink-0 snap-center">
59
- {@render children()}
60
- </div>
61
- <div bind:this={sentinel} class={['w-full shrink-0 snap-center', !dismissable && 'hidden']}>
62
- </div>
63
- </div>
64
- </div>
65
-
66
- <style>
67
- .dismissing {
68
- animation: slide-out-left 0.3s ease-out forwards;
69
- }
70
-
71
- @keyframes slide-out-left {
72
- from {
73
- transform: translateX(0);
74
- opacity: 1;
75
- }
76
- to {
77
- transform: translateX(-100%);
78
- opacity: 0;
79
- }
80
- }
81
- </style>
@@ -1,7 +0,0 @@
1
- import type { Snippet } from 'svelte'
2
-
3
- export interface Props {
4
- children: Snippet
5
- ondismiss?: () => Promise<void> | void
6
- dismissable?: boolean
7
- }
@@ -1 +0,0 @@
1
- export { default as Dismissable } from './Dismissable.svelte'
@@ -1,14 +0,0 @@
1
- <script lang="ts">
2
- import { ArrowLeft } from '@lucide/svelte'
3
- import Item from './Item.svelte'
4
- import { getContext } from './Context'
5
- import type { Props } from './Back'
6
-
7
- const { children, class: classes, ...rest }: Props = $props()
8
- const ctx = getContext()
9
- </script>
10
-
11
- <Item onclick={() => ctx.pop()} class={classes} {...rest}>
12
- <ArrowLeft />
13
- {#if children}{@render children()}{/if}
14
- </Item>
@@ -1,3 +0,0 @@
1
- import type { Props as ItemProps } from './Item'
2
-
3
- export interface Props extends Omit<ItemProps, 'onclick' | 'screen'> {}
@@ -1,76 +0,0 @@
1
- <script lang="ts">
2
- import { getContext } from './Context'
3
- import type { Props } from './Content'
4
-
5
- const { children, position = 'end-bottom', class: classes }: Props = $props()
6
- const ctx = getContext()
7
-
8
- function portal(node: HTMLElement) {
9
- document.body.appendChild(node)
10
-
11
- return { destroy: () => node.remove() }
12
- }
13
-
14
- function trackRef(node: HTMLDivElement) {
15
- ctx.setContentRef(node)
16
-
17
- return { destroy: () => ctx.setContentRef(undefined) }
18
- }
19
- </script>
20
-
21
- {#if ctx.opened}
22
- <div
23
- use:portal
24
- use:trackRef
25
- style="position-anchor: --{ctx.id}; view-transition-name: {ctx.id}; view-transition-class: transition-spring transition-morph dropdown-content;"
26
- class={[
27
- 'fixed z-49 flex flex-col',
28
- 'bg-popover shadow-[0_0_15px_var(--shadow-color)] text-popover-foreground rounded-xl',
29
- 'p-1',
30
- position === 'start-top' && 'action-menu-start-top',
31
- position === 'start-bottom' && 'action-menu-start-bottom',
32
- position === 'end-top' && 'action-menu-end-top',
33
- position === 'end-bottom' && 'action-menu-end-bottom',
34
- classes,
35
- ]}>
36
- {@render children()}
37
- </div>
38
- {/if}
39
-
40
- <style>
41
- .action-menu-start-top {
42
- position-area: span-x-end span-y-end;
43
- position-try-fallbacks:
44
- span-x-end span-y-start,
45
- span-x-start span-y-end,
46
- span-x-start span-y-start;
47
- }
48
-
49
- .action-menu-start-bottom {
50
- position-area: span-x-end span-y-start;
51
- position-try-fallbacks:
52
- span-x-end span-y-end,
53
- span-x-start span-y-start,
54
- span-x-start span-y-end;
55
- }
56
-
57
- .action-menu-end-top {
58
- position-area: span-x-start span-y-end;
59
- position-try-fallbacks:
60
- span-x-start span-y-start,
61
- span-x-end span-y-end,
62
- span-x-end span-y-start;
63
- }
64
-
65
- .action-menu-end-bottom {
66
- position-area: span-x-start span-y-start;
67
- position-try-fallbacks:
68
- span-x-start span-y-end,
69
- span-x-end span-y-start,
70
- span-x-end span-y-end;
71
- }
72
-
73
- ::view-transition-group(.dropdown-content) {
74
- z-index: 1;
75
- }
76
- </style>
@@ -1,13 +0,0 @@
1
- import type { ClassValue } from 'svelte/elements'
2
- import type { Snippet } from 'svelte'
3
-
4
- export interface Props {
5
- children: Snippet
6
- class?: ClassValue
7
- /**
8
- * Corner where menu aligns with trigger. Menu overlaps trigger with
9
- * corners matched at this point, growing outward from it.
10
- * @default 'end-bottom'
11
- */
12
- position?: 'start-top' | 'start-bottom' | 'end-top' | 'end-bottom'
13
- }
@@ -1,18 +0,0 @@
1
- import { setContext as svelteSetContext, getContext as svelteGetContext } from 'svelte'
2
-
3
- export interface Context {
4
- get opened(): boolean
5
- open: () => void
6
- close: () => void
7
- get id(): string
8
- setContentRef: (el: HTMLDivElement | undefined) => void
9
- setTriggerRef: (el: HTMLDivElement | undefined) => void
10
- push: (name: string) => void
11
- pop: () => void
12
- get layer(): string
13
- }
14
-
15
- const CONTEXT = Symbol('action-menu')
16
-
17
- export const getContext = (): Context => svelteGetContext<Context>(CONTEXT)
18
- export const setContext = (ctx: Context) => svelteSetContext(CONTEXT, ctx)
@@ -1,24 +0,0 @@
1
- <script lang="ts">
2
- import { setGroupContext } from './GroupContext'
3
- import type { Props } from './Group'
4
-
5
- const { children, direction = 'col', class: classes }: Props = $props()
6
-
7
- const directionState = $derived(direction)
8
-
9
- setGroupContext({
10
- get direction() {
11
- return directionState
12
- },
13
- })
14
- </script>
15
-
16
- <div
17
- class={[
18
- 'w-full flex gap-1 group text-sm font-normal',
19
- direction === 'row' ? 'flex-row justify-around' : 'flex-col',
20
- classes,
21
- ]}
22
- data-direction={direction}>
23
- {@render children()}
24
- </div>
@@ -1,8 +0,0 @@
1
- import type { ClassValue } from 'svelte/elements'
2
- import type { Snippet } from 'svelte'
3
-
4
- export interface Props {
5
- children: Snippet
6
- direction?: 'col' | 'row'
7
- class?: ClassValue
8
- }
@@ -1,15 +0,0 @@
1
- import { getContext as svelteGetContext, setContext as svelteSetContext } from 'svelte'
2
-
3
- const KEY = Symbol('action-menu-group')
4
-
5
- export interface GroupContext {
6
- get direction(): 'col' | 'row'
7
- }
8
-
9
- export function setGroupContext(ctx: GroupContext) {
10
- svelteSetContext(KEY, ctx)
11
- }
12
-
13
- export function getGroupContext(): GroupContext | undefined {
14
- return svelteGetContext<GroupContext | undefined>(KEY)
15
- }