@prestack/thread-ui 0.1.1 → 0.1.3

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 (343) hide show
  1. package/CHANGELOG.md +518 -0
  2. package/dist/ui/animations/anm_appear.d.ts +8 -8
  3. package/dist/ui/animations/anm_blur_in.d.ts +12 -12
  4. package/dist/ui/animations/anm_blur_out.d.ts +12 -12
  5. package/dist/ui/animations/anm_dismiss.d.ts +12 -12
  6. package/dist/ui/animations/anm_drop.d.ts +12 -12
  7. package/dist/ui/animations/anm_fall.d.ts +12 -12
  8. package/dist/ui/animations/anm_flash.d.ts +9 -9
  9. package/dist/ui/animations/anm_glow.d.ts +8 -8
  10. package/dist/ui/animations/anm_lift.d.ts +8 -8
  11. package/dist/ui/animations/anm_nudge.d.ts +8 -8
  12. package/dist/ui/animations/anm_pop_in.d.ts +16 -16
  13. package/dist/ui/animations/anm_pop_out.d.ts +16 -16
  14. package/dist/ui/animations/anm_press.d.ts +9 -9
  15. package/dist/ui/animations/anm_pulse.d.ts +10 -10
  16. package/dist/ui/animations/anm_rise.d.ts +12 -12
  17. package/dist/ui/animations/anm_shake.d.ts +11 -11
  18. package/dist/ui/animations/anm_slide_in_left.d.ts +12 -12
  19. package/dist/ui/animations/anm_slide_in_right.d.ts +12 -12
  20. package/dist/ui/animations/anm_slide_out_left.d.ts +12 -12
  21. package/dist/ui/animations/anm_slide_out_right.d.ts +12 -12
  22. package/dist/ui/animations/anm_spin.d.ts +8 -8
  23. package/dist/ui/animations/anm_swell.d.ts +8 -8
  24. package/dist/ui/animations/anm_wobble.d.ts +13 -13
  25. package/dist/ui/animations/anm_zoom_in.d.ts +12 -12
  26. package/dist/ui/animations/anm_zoom_out.d.ts +12 -12
  27. package/dist/ui/animations.d.ts +8 -8
  28. package/dist/ui/animations.js +4 -4
  29. package/dist/ui/animations.ts +1 -1
  30. package/dist/ui/attach.js +25 -80
  31. package/dist/ui/attach.ts +12 -69
  32. package/dist/ui/charts.d.ts +0 -3
  33. package/dist/ui/charts.js +3 -7
  34. package/dist/ui/charts.tsx +0 -4
  35. package/dist/ui/checked.d.ts +1 -1
  36. package/dist/ui/checked.ts +1 -1
  37. package/dist/ui/collector.js +1 -1
  38. package/dist/ui/collector.ts +1 -1
  39. package/dist/ui/compositions.d.ts +9 -3
  40. package/dist/ui/compositions.js +9 -158
  41. package/dist/ui/compositions.ts +6 -170
  42. package/dist/ui/content.js +4 -7
  43. package/dist/ui/content.tsx +4 -15
  44. package/dist/ui/controls.js +1 -1
  45. package/dist/ui/door.d.ts +1 -1
  46. package/dist/ui/elements/accordion.d.ts +2 -1
  47. package/dist/ui/elements/accordion.js +4 -4
  48. package/dist/ui/elements/accordion.tsx +2 -1
  49. package/dist/ui/elements/aspect-ratio.d.ts +2 -1
  50. package/dist/ui/elements/aspect-ratio.js +1 -1
  51. package/dist/ui/elements/aspect-ratio.tsx +2 -1
  52. package/dist/ui/elements/avatar.d.ts +2 -1
  53. package/dist/ui/elements/avatar.js +3 -3
  54. package/dist/ui/elements/avatar.tsx +2 -1
  55. package/dist/ui/elements/badge.d.ts +2 -1
  56. package/dist/ui/elements/badge.js +3 -3
  57. package/dist/ui/elements/badge.tsx +2 -1
  58. package/dist/ui/elements/bars.d.ts +2 -1
  59. package/dist/ui/elements/bars.js +5 -5
  60. package/dist/ui/elements/bars.tsx +2 -1
  61. package/dist/ui/elements/bars.works.js +3 -3
  62. package/dist/ui/elements/box.d.ts +2 -1
  63. package/dist/ui/elements/box.js +1 -1
  64. package/dist/ui/elements/box.tsx +2 -1
  65. package/dist/ui/elements/breadcrumb.d.ts +2 -1
  66. package/dist/ui/elements/breadcrumb.js +5 -5
  67. package/dist/ui/elements/breadcrumb.tsx +2 -1
  68. package/dist/ui/elements/breadcrumb.works.js +1 -1
  69. package/dist/ui/elements/button.d.ts +2 -1
  70. package/dist/ui/elements/button.js +3 -3
  71. package/dist/ui/elements/button.tsx +2 -1
  72. package/dist/ui/elements/button.works.js +2 -2
  73. package/dist/ui/elements/column.d.ts +2 -1
  74. package/dist/ui/elements/column.js +1 -1
  75. package/dist/ui/elements/column.tsx +2 -1
  76. package/dist/ui/elements/consent.d.ts +2 -1
  77. package/dist/ui/elements/consent.js +10 -10
  78. package/dist/ui/elements/consent.tsx +2 -1
  79. package/dist/ui/elements/consent.works.js +1 -1
  80. package/dist/ui/elements/donut.d.ts +2 -1
  81. package/dist/ui/elements/donut.js +4 -4
  82. package/dist/ui/elements/donut.tsx +2 -1
  83. package/dist/ui/elements/donut.works.js +2 -2
  84. package/dist/ui/elements/each.d.ts +2 -1
  85. package/dist/ui/elements/each.js +3 -3
  86. package/dist/ui/elements/each.tsx +2 -1
  87. package/dist/ui/elements/each.works.js +2 -2
  88. package/dist/ui/elements/empty.d.ts +2 -1
  89. package/dist/ui/elements/empty.js +2 -2
  90. package/dist/ui/elements/empty.tsx +2 -1
  91. package/dist/ui/elements/field.d.ts +2 -1
  92. package/dist/ui/elements/field.js +3 -3
  93. package/dist/ui/elements/field.tsx +2 -1
  94. package/dist/ui/elements/field.works.js +1 -1
  95. package/dist/ui/elements/funnel.d.ts +2 -1
  96. package/dist/ui/elements/funnel.js +5 -5
  97. package/dist/ui/elements/funnel.tsx +2 -1
  98. package/dist/ui/elements/funnel.works.js +3 -3
  99. package/dist/ui/elements/gauge.d.ts +2 -1
  100. package/dist/ui/elements/gauge.js +3 -3
  101. package/dist/ui/elements/gauge.tsx +2 -1
  102. package/dist/ui/elements/gauge.works.js +1 -1
  103. package/dist/ui/elements/glyph.d.ts +2 -1
  104. package/dist/ui/elements/glyph.js +3 -3
  105. package/dist/ui/elements/glyph.tsx +2 -1
  106. package/dist/ui/elements/glyph.works.js +1 -1
  107. package/dist/ui/elements/grid.d.ts +2 -1
  108. package/dist/ui/elements/grid.js +1 -1
  109. package/dist/ui/elements/grid.tsx +2 -1
  110. package/dist/ui/elements/heatmap.d.ts +2 -1
  111. package/dist/ui/elements/heatmap.js +5 -5
  112. package/dist/ui/elements/heatmap.tsx +2 -1
  113. package/dist/ui/elements/heatmap.works.js +1 -1
  114. package/dist/ui/elements/hit-box.d.ts +2 -1
  115. package/dist/ui/elements/hit-box.js +2 -2
  116. package/dist/ui/elements/hit-box.tsx +2 -1
  117. package/dist/ui/elements/hit-box.works.d.ts +2 -2
  118. package/dist/ui/elements/hit-box.works.js +5 -5
  119. package/dist/ui/elements/hit-box.works.tsx +2 -1
  120. package/dist/ui/elements/image.d.ts +2 -1
  121. package/dist/ui/elements/image.js +2 -2
  122. package/dist/ui/elements/image.tsx +2 -1
  123. package/dist/ui/elements/line-chart.d.ts +2 -1
  124. package/dist/ui/elements/line-chart.js +4 -4
  125. package/dist/ui/elements/line-chart.tsx +2 -1
  126. package/dist/ui/elements/line-chart.works.js +2 -2
  127. package/dist/ui/elements/link.d.ts +2 -1
  128. package/dist/ui/elements/link.js +3 -3
  129. package/dist/ui/elements/link.tsx +2 -1
  130. package/dist/ui/elements/link.works.js +1 -1
  131. package/dist/ui/elements/media.d.ts +2 -1
  132. package/dist/ui/elements/media.js +2 -2
  133. package/dist/ui/elements/media.tsx +2 -1
  134. package/dist/ui/elements/menu.d.ts +2 -1
  135. package/dist/ui/elements/menu.js +5 -5
  136. package/dist/ui/elements/menu.tsx +2 -1
  137. package/dist/ui/elements/menu.works.d.ts +2 -1
  138. package/dist/ui/elements/menu.works.js +5 -5
  139. package/dist/ui/elements/menu.works.tsx +2 -1
  140. package/dist/ui/elements/money.d.ts +3 -1
  141. package/dist/ui/elements/money.js +10 -5
  142. package/dist/ui/elements/money.tsx +12 -3
  143. package/dist/ui/elements/money.works.js +1 -1
  144. package/dist/ui/elements/pagination.d.ts +2 -1
  145. package/dist/ui/elements/pagination.js +5 -5
  146. package/dist/ui/elements/pagination.tsx +2 -1
  147. package/dist/ui/elements/progress.d.ts +2 -1
  148. package/dist/ui/elements/progress.js +3 -3
  149. package/dist/ui/elements/progress.tsx +2 -1
  150. package/dist/ui/elements/radio-group.d.ts +2 -1
  151. package/dist/ui/elements/radio-group.js +4 -4
  152. package/dist/ui/elements/radio-group.tsx +2 -1
  153. package/dist/ui/elements/radio-group.works.js +1 -1
  154. package/dist/ui/elements/row.d.ts +2 -1
  155. package/dist/ui/elements/row.js +1 -1
  156. package/dist/ui/elements/row.tsx +2 -1
  157. package/dist/ui/elements/scatter.d.ts +2 -1
  158. package/dist/ui/elements/scatter.js +3 -3
  159. package/dist/ui/elements/scatter.tsx +2 -1
  160. package/dist/ui/elements/scatter.works.js +1 -1
  161. package/dist/ui/elements/select.d.ts +2 -1
  162. package/dist/ui/elements/select.js +4 -4
  163. package/dist/ui/elements/select.tsx +2 -1
  164. package/dist/ui/elements/separator.d.ts +2 -1
  165. package/dist/ui/elements/separator.js +2 -2
  166. package/dist/ui/elements/separator.tsx +2 -1
  167. package/dist/ui/elements/skeleton.d.ts +2 -1
  168. package/dist/ui/elements/skeleton.js +2 -2
  169. package/dist/ui/elements/skeleton.tsx +2 -1
  170. package/dist/ui/elements/slider.d.ts +2 -1
  171. package/dist/ui/elements/slider.js +3 -3
  172. package/dist/ui/elements/slider.tsx +2 -1
  173. package/dist/ui/elements/sparkline.d.ts +2 -1
  174. package/dist/ui/elements/sparkline.js +3 -3
  175. package/dist/ui/elements/sparkline.tsx +2 -1
  176. package/dist/ui/elements/sparkline.works.js +1 -1
  177. package/dist/ui/elements/spinner.d.ts +2 -1
  178. package/dist/ui/elements/spinner.js +2 -2
  179. package/dist/ui/elements/spinner.tsx +2 -1
  180. package/dist/ui/elements/stack.d.ts +2 -1
  181. package/dist/ui/elements/stack.js +1 -1
  182. package/dist/ui/elements/stack.tsx +2 -1
  183. package/dist/ui/elements/stat.d.ts +2 -1
  184. package/dist/ui/elements/stat.js +3 -3
  185. package/dist/ui/elements/stat.tsx +2 -1
  186. package/dist/ui/elements/stat.works.js +1 -1
  187. package/dist/ui/elements/surface.d.ts +2 -1
  188. package/dist/ui/elements/surface.js +2 -2
  189. package/dist/ui/elements/surface.tsx +2 -1
  190. package/dist/ui/elements/surface.works.js +1 -1
  191. package/dist/ui/elements/table.d.ts +2 -1
  192. package/dist/ui/elements/table.js +4 -4
  193. package/dist/ui/elements/table.tsx +2 -1
  194. package/dist/ui/elements/table.works.js +1 -1
  195. package/dist/ui/elements/tabs.d.ts +2 -1
  196. package/dist/ui/elements/tabs.js +4 -4
  197. package/dist/ui/elements/tabs.tsx +2 -1
  198. package/dist/ui/elements/tabs.works.js +1 -1
  199. package/dist/ui/elements/text.d.ts +2 -1
  200. package/dist/ui/elements/text.js +2 -2
  201. package/dist/ui/elements/text.tsx +2 -1
  202. package/dist/ui/elements/textarea.d.ts +2 -1
  203. package/dist/ui/elements/textarea.js +4 -4
  204. package/dist/ui/elements/textarea.tsx +2 -1
  205. package/dist/ui/elements/time.d.ts +3 -1
  206. package/dist/ui/elements/time.js +7 -4
  207. package/dist/ui/elements/time.tsx +9 -2
  208. package/dist/ui/elements/time.works.d.ts +1 -0
  209. package/dist/ui/elements/time.works.js +7 -3
  210. package/dist/ui/elements/time.works.ts +6 -2
  211. package/dist/ui/elements/toggle.d.ts +2 -1
  212. package/dist/ui/elements/toggle.js +3 -3
  213. package/dist/ui/elements/toggle.tsx +2 -1
  214. package/dist/ui/elements/tooltip.d.ts +2 -1
  215. package/dist/ui/elements/tooltip.js +2 -2
  216. package/dist/ui/elements/tooltip.tsx +2 -1
  217. package/dist/ui/elements/tooltip.works.js +2 -2
  218. package/dist/ui/elements/value.d.ts +3 -1
  219. package/dist/ui/elements/value.js +10 -5
  220. package/dist/ui/elements/value.tsx +12 -3
  221. package/dist/ui/elements/value.works.js +1 -1
  222. package/dist/ui/elements.d.ts +15 -11
  223. package/dist/ui/elements.js +6 -6
  224. package/dist/ui/elements.ts +7 -7
  225. package/dist/ui/fonts.d.ts +1 -1
  226. package/dist/ui/fonts.js +1 -1
  227. package/dist/ui/generators/dev.d.ts +1 -2
  228. package/dist/ui/generators/dev.js +33 -37
  229. package/dist/ui/generators/dev.ts +30 -37
  230. package/dist/ui/generators/elements.d.ts +1 -0
  231. package/dist/ui/generators/elements.js +11 -9
  232. package/dist/ui/generators/elements.ts +12 -9
  233. package/dist/ui/generators/i18n.js +6 -23
  234. package/dist/ui/generators/i18n.ts +1 -18
  235. package/dist/ui/generators/icons.js +5 -14
  236. package/dist/ui/generators/icons.ts +1 -10
  237. package/dist/ui/generators/react.js +4 -5
  238. package/dist/ui/generators/react.ts +2 -3
  239. package/dist/ui/generators/routes.js +66 -51
  240. package/dist/ui/generators/routes.ts +67 -46
  241. package/dist/ui/generators/show.js +9 -6
  242. package/dist/ui/generators/show.ts +4 -2
  243. package/dist/ui/generators/styles.js +12 -16
  244. package/dist/ui/generators/styles.ts +1 -5
  245. package/dist/ui/generators/variants.js +3 -3
  246. package/dist/ui/generators/variants.ts +1 -1
  247. package/dist/ui/i18n/catalogs/en.js +1 -1
  248. package/dist/ui/i18n/format.js +1 -1
  249. package/dist/ui/i18n/translator.js +2 -2
  250. package/dist/ui/material.d.ts +11 -11
  251. package/dist/ui/material.js +1 -1
  252. package/dist/ui/materials/mat_bordered.d.ts +13 -13
  253. package/dist/ui/materials/mat_bordered.js +1 -1
  254. package/dist/ui/materials/mat_ceramic.d.ts +13 -13
  255. package/dist/ui/materials/mat_ceramic.js +1 -1
  256. package/dist/ui/materials/mat_clay.d.ts +13 -13
  257. package/dist/ui/materials/mat_clay.js +1 -1
  258. package/dist/ui/materials/mat_elevated.d.ts +13 -13
  259. package/dist/ui/materials/mat_elevated.js +1 -1
  260. package/dist/ui/materials/mat_flat.d.ts +25 -25
  261. package/dist/ui/materials/mat_flat.js +1 -1
  262. package/dist/ui/materials/mat_glass.d.ts +17 -17
  263. package/dist/ui/materials/mat_glass.js +1 -1
  264. package/dist/ui/materials/mat_lit.d.ts +13 -13
  265. package/dist/ui/materials/mat_lit.js +1 -1
  266. package/dist/ui/materials/mat_moulded.d.ts +9 -9
  267. package/dist/ui/materials/mat_moulded.js +1 -1
  268. package/dist/ui/materials.d.ts +30 -30
  269. package/dist/ui/materials.js +3 -3
  270. package/dist/ui/materials.ts +1 -1
  271. package/dist/ui/modes.d.ts +2 -2
  272. package/dist/ui/presented.js +5 -5
  273. package/dist/ui/provider.d.ts +3 -0
  274. package/dist/ui/provider.js +9 -10
  275. package/dist/ui/provider.tsx +7 -5
  276. package/dist/ui/screens.js +6 -6
  277. package/dist/ui/screens.ts +1 -1
  278. package/dist/ui/scroll-lock.js +1 -1
  279. package/dist/ui/series.js +1 -1
  280. package/dist/ui/styleguide.js +1 -1
  281. package/dist/ui/tokens.d.ts +2 -2
  282. package/dist/ui/tokens.js +3 -3
  283. package/dist/ui/tokens.ts +1 -1
  284. package/dist/ui/validators.js +1 -1
  285. package/dist/ui/variant.d.ts +37 -37
  286. package/dist/ui/variant.js +2 -2
  287. package/dist/ui/variants/var_avatar-round.d.ts +13 -13
  288. package/dist/ui/variants/var_avatar-round.js +1 -1
  289. package/dist/ui/variants/var_bubble-me.d.ts +12 -12
  290. package/dist/ui/variants/var_bubble-me.js +1 -1
  291. package/dist/ui/variants/var_bubble-them.d.ts +10 -10
  292. package/dist/ui/variants/var_bubble-them.js +1 -1
  293. package/dist/ui/variants/var_button-border.d.ts +61 -61
  294. package/dist/ui/variants/var_button-border.js +1 -1
  295. package/dist/ui/variants/var_button-cta.d.ts +61 -61
  296. package/dist/ui/variants/var_button-cta.js +1 -1
  297. package/dist/ui/variants/var_button-destructive-ghost.d.ts +59 -59
  298. package/dist/ui/variants/var_button-destructive-ghost.js +1 -1
  299. package/dist/ui/variants/var_button-destructive.d.ts +61 -61
  300. package/dist/ui/variants/var_button-destructive.js +1 -1
  301. package/dist/ui/variants/var_button-fill.d.ts +61 -61
  302. package/dist/ui/variants/var_button-fill.js +1 -1
  303. package/dist/ui/variants/var_button-ghost.d.ts +59 -59
  304. package/dist/ui/variants/var_button-ghost.js +1 -1
  305. package/dist/ui/variants/var_button-glass.d.ts +40 -40
  306. package/dist/ui/variants/var_button-glass.js +1 -1
  307. package/dist/ui/variants/var_button-normal.d.ts +61 -61
  308. package/dist/ui/variants/var_button-normal.js +1 -1
  309. package/dist/ui/variants/var_button-quiet.d.ts +63 -63
  310. package/dist/ui/variants/var_button-quiet.js +1 -1
  311. package/dist/ui/variants/var_card.d.ts +17 -17
  312. package/dist/ui/variants/var_card.js +1 -1
  313. package/dist/ui/variants/var_chip.d.ts +10 -10
  314. package/dist/ui/variants/var_chip.js +1 -1
  315. package/dist/ui/variants/var_choice.d.ts +15 -15
  316. package/dist/ui/variants/var_choice.js +1 -1
  317. package/dist/ui/variants/var_framed.d.ts +5 -5
  318. package/dist/ui/variants/var_framed.js +1 -1
  319. package/dist/ui/variants/var_glyph-plain.d.ts +7 -7
  320. package/dist/ui/variants/var_glyph-plain.js +1 -1
  321. package/dist/ui/variants/var_input.d.ts +30 -30
  322. package/dist/ui/variants/var_input.js +1 -1
  323. package/dist/ui/variants/var_link-inline.d.ts +17 -17
  324. package/dist/ui/variants/var_link-inline.js +1 -1
  325. package/dist/ui/variants/var_list-row.d.ts +22 -22
  326. package/dist/ui/variants/var_list-row.js +1 -1
  327. package/dist/ui/variants/var_rule.d.ts +5 -5
  328. package/dist/ui/variants/var_rule.js +1 -1
  329. package/dist/ui/variants/var_skeleton-block.d.ts +9 -9
  330. package/dist/ui/variants/var_skeleton-block.js +1 -1
  331. package/dist/ui/variants/var_spinner-turning.d.ts +9 -9
  332. package/dist/ui/variants/var_spinner-turning.js +1 -1
  333. package/dist/ui/variants/var_stat-tile.d.ts +10 -10
  334. package/dist/ui/variants/var_stat-tile.js +1 -1
  335. package/dist/ui/variants/var_tab-bar.d.ts +14 -14
  336. package/dist/ui/variants/var_tab-bar.js +1 -1
  337. package/dist/ui/variants/var_tap-target.d.ts +11 -11
  338. package/dist/ui/variants/var_tap-target.js +1 -1
  339. package/dist/ui/variants.d.ts +88 -88
  340. package/dist/ui/wrappers.d.ts +7 -6
  341. package/dist/ui/wrappers.js +16 -14
  342. package/dist/ui/wrappers.tsx +21 -18
  343. package/package.json +2 -2
@@ -1,11 +1,11 @@
1
1
  'use client';
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useId, useRef, useState } from 'react';
4
4
  import { createPortal } from 'react-dom';
5
- import { PRESENTATION_BEHAVIOUR } from "./door.js";
6
- import { useDismissLayer } from "./dismiss-layer.js";
7
- import { useFocusScope } from "./focus-scope.js";
8
- import { lockScroll } from "./scroll-lock.js";
5
+ import { PRESENTATION_BEHAVIOUR } from './door.js';
6
+ import { useDismissLayer } from './dismiss-layer.js';
7
+ import { useFocusScope } from './focus-scope.js';
8
+ import { lockScroll } from './scroll-lock.js';
9
9
  export function Presented(props) {
10
10
  const behaviour = PRESENTATION_BEHAVIOUR[props.presentation];
11
11
  const open = props.open ?? true;
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode } from 'react';
2
+ import { type CollectorOptions } from './collector.ts';
2
3
  import { type UiConfig } from './wrappers.tsx';
3
4
  export interface ThreadUiProps {
4
5
  readonly children: ReactNode;
@@ -25,6 +26,8 @@ export interface ThreadUiProps {
25
26
  readonly endpoint?: string;
26
27
  readonly allowed: () => boolean;
27
28
  readonly sample?: number;
29
+ readonly beacon?: CollectorOptions['beacon'];
30
+ readonly fetch?: CollectorOptions['fetch'];
28
31
  };
29
32
  readonly dispatch?: (name: string, input?: Readonly<Record<string, unknown>>) => Promise<unknown>;
30
33
  readonly navigateTo?: (screen: string) => void;
@@ -1,12 +1,12 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useCallback, useContext, useEffect, useMemo, useSyncExternalStore } from 'react';
4
- import { en } from "./i18n/catalogs/en.js";
5
- import { createTranslator } from "./i18n/translator.js";
6
- import { EDGE_SCROLL_DEFAULTS } from "./drag.js";
7
- import { createCollector, INERT_COLLECTOR } from "./collector.js";
8
- import { Clock, Ticker } from "./door.js";
9
- import { UiContext, UiProvider } from "./wrappers.js";
4
+ import { en } from './i18n/catalogs/en.js';
5
+ import { createTranslator } from './i18n/translator.js';
6
+ import { EDGE_SCROLL_DEFAULTS } from './drag.js';
7
+ import { createCollector, INERT_COLLECTOR } from './collector.js';
8
+ import { Clock, Ticker } from './door.js';
9
+ import { UiContext, UiProvider } from './wrappers.js';
10
10
  function useMedia(query, fallback) {
11
11
  const subscribe = useCallback((onChange) => {
12
12
  if (typeof globalThis.matchMedia !== 'function')
@@ -77,11 +77,10 @@ export function ThreadUi(props) {
77
77
  endpoint: props.telemetry.endpoint ?? '/obs/client',
78
78
  allowed: props.telemetry.allowed,
79
79
  ...(props.telemetry.sample === undefined ? {} : { sample: props.telemetry.sample }),
80
- ...(typeof navigator === 'object' && typeof navigator.sendBeacon === 'function'
81
- ? { beacon: (url, body) => navigator.sendBeacon(url, new Blob([body], { type: 'application/json' })) }
82
- : {}),
80
+ ...(props.telemetry.beacon === undefined ? {} : { beacon: props.telemetry.beacon }),
81
+ ...(props.telemetry.fetch === undefined ? {} : { fetch: props.telemetry.fetch }),
83
82
  });
84
- }, [telemetryOff, props.telemetry?.endpoint, props.telemetry?.sample, props.telemetry?.allowed]);
83
+ }, [telemetryOff, props.telemetry?.endpoint, props.telemetry?.sample, props.telemetry?.allowed, props.telemetry?.beacon, props.telemetry?.fetch]);
85
84
  useEffect(() => () => collector.stop(), [collector]);
86
85
  const gate = props.permits;
87
86
  const asked = props.asking;
@@ -6,7 +6,7 @@ import { en } from './i18n/catalogs/en.ts'
6
6
  import { createTranslator } from './i18n/translator.ts'
7
7
  import { EDGE_SCROLL_DEFAULTS } from './drag.ts'
8
8
 
9
- import { createCollector, INERT_COLLECTOR } from './collector.ts'
9
+ import { createCollector, INERT_COLLECTOR, type CollectorOptions } from './collector.ts'
10
10
  import { Clock, Ticker } from './door.ts'
11
11
  import { UiContext, UiProvider, type Appearance, type UiConfig } from './wrappers.tsx'
12
12
 
@@ -34,6 +34,9 @@ export interface ThreadUiProps {
34
34
  readonly allowed: () => boolean
35
35
 
36
36
  readonly sample?: number
37
+
38
+ readonly beacon?: CollectorOptions['beacon']
39
+ readonly fetch?: CollectorOptions['fetch']
37
40
  }
38
41
 
39
42
  readonly dispatch?: (name: string, input?: Readonly<Record<string, unknown>>) => Promise<unknown>
@@ -133,12 +136,11 @@ export function ThreadUi(props: ThreadUiProps): ReactNode {
133
136
  endpoint: props.telemetry.endpoint ?? '/obs/client',
134
137
  allowed: props.telemetry.allowed,
135
138
  ...(props.telemetry.sample === undefined ? {} : { sample: props.telemetry.sample }),
136
- ...(typeof navigator === 'object' && typeof navigator.sendBeacon === 'function'
137
- ? { beacon: (url: string, body: string) => navigator.sendBeacon(url, new Blob([body], { type: 'application/json' })) }
138
- : {}),
139
+ ...(props.telemetry.beacon === undefined ? {} : { beacon: props.telemetry.beacon }),
140
+ ...(props.telemetry.fetch === undefined ? {} : { fetch: props.telemetry.fetch }),
139
141
  })
140
142
 
141
- }, [telemetryOff, props.telemetry?.endpoint, props.telemetry?.sample, props.telemetry?.allowed])
143
+ }, [telemetryOff, props.telemetry?.endpoint, props.telemetry?.sample, props.telemetry?.allowed, props.telemetry?.beacon, props.telemetry?.fetch])
142
144
 
143
145
  useEffect(() => () => collector.stop(), [collector])
144
146
 
@@ -1,11 +1,11 @@
1
- import { existsSync, readFileSync, writeFileSync } from "@prestack/thread/core/files";
1
+ import { existsSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk';
2
2
  import { basename, join } from 'node:path';
3
3
  import { argv, stdout } from 'node:process';
4
- import { exit, invoked } from "@prestack/thread/core/invoked";
5
- import { valuesIn } from "@prestack/thread/core/rows";
6
- import { findTree, inTree } from "@prestack/thread/core/tree";
7
- import { HOME, settled, undeclared } from "./compositions.js";
8
- import { PRESENTATIONS } from "./door.js";
4
+ import { exit, invoked } from '@prestack/thread/core/invoked';
5
+ import { valuesIn } from '@prestack/thread/core/rows';
6
+ import { findTree, inTree } from '@prestack/thread/core/tree';
7
+ import { HOME, settled, undeclared } from './compositions.js';
8
+ import { PRESENTATIONS } from './door.js';
9
9
  const here = 'thread/ui/screens.ts';
10
10
  const said = [
11
11
  {
@@ -1,4 +1,4 @@
1
- import { existsSync, readFileSync, writeFileSync } from '@prestack/thread/core/files'
1
+ import { existsSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
2
  import { basename, dirname, join } from 'node:path'
3
3
  import { argv, stdout } from 'node:process'
4
4
 
@@ -1,4 +1,4 @@
1
- import { nameOf } from "./token.js";
1
+ import { nameOf } from './token.js';
2
2
  let held = 0;
3
3
  let previous = null;
4
4
  export function lockScroll() {
package/dist/ui/series.js CHANGED
@@ -1,4 +1,4 @@
1
- import { contrast, CONTRAST_LARGE } from "./contrast.js";
1
+ import { contrast, CONTRAST_LARGE } from './contrast.js';
2
2
  const GOLDEN_ANGLE = 137.508;
3
3
  const toLinear = (c) => (c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4);
4
4
  const toSrgb = (c) => (c <= 0.0031308 ? 12.92 * c : 1.055 * c ** (1 / 2.4) - 0.055);
@@ -1,4 +1,4 @@
1
- import { held, sheeted } from "./token.js";
1
+ import { held, sheeted } from './token.js';
2
2
  export function themedBy(theme) {
3
3
  return `:root[data-theme="${theme}"]`;
4
4
  }
@@ -80,9 +80,9 @@ export declare const declares: readonly [Threaded & {
80
80
  readonly id: "shadow";
81
81
  }];
82
82
  export declare const TOKENS: {
83
- readonly id: "token";
83
+ readonly id: 'token';
84
84
  readonly at: "thread/ui/tokens.ts";
85
- readonly describes: "A sort of variable an app may have, named and never valued — colour, space, shadow. It says such a variable can exist; the style guide says which ones there are and what each holds. Where the thing is better stated as a rule than as a list, the token carries that rule and a style guide row hands it arguments instead of a value. An app adds one to bring a new sort of variable into being, and may not remove what the framework put there.";
85
+ readonly describes: 'A sort of variable an app may have, named and never valued — colour, space, shadow. It says such a variable can exist; the style guide says which ones there are and what each holds. Where the thing is better stated as a rule than as a list, the token carries that rule and a style guide row hands it arguments instead of a value. An app adds one to bring a new sort of variable into being, and may not remove what the framework put there.';
86
86
  readonly version: 1;
87
87
  readonly cites: {
88
88
  on: string;
package/dist/ui/tokens.js CHANGED
@@ -6,12 +6,12 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
6
6
  }
7
7
  return path;
8
8
  };
9
- import { existsSync, readdirSync, writeFileSync } from "@prestack/thread/core/files";
9
+ import { existsSync, readdirSync, writeFileSync } from '@prestack/thread/integrations/disk';
10
10
  import { basename, dirname, join } from 'node:path';
11
11
  import { argv, stdout } from 'node:process';
12
12
  import { pathToFileURL } from 'node:url';
13
- import { exit, invoked } from "@prestack/thread/core/invoked";
14
- import { findTree, inTree } from "@prestack/thread/core/tree";
13
+ import { exit, invoked } from '@prestack/thread/core/invoked';
14
+ import { findTree, inTree } from '@prestack/thread/core/tree';
15
15
  const here = 'thread/ui/tokens.ts';
16
16
  const said = [
17
17
  {
package/dist/ui/tokens.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { existsSync, readdirSync, writeFileSync } from '@prestack/thread/core/files'
1
+ import { existsSync, readdirSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
2
  import { basename, dirname, join } from 'node:path'
3
3
  import { argv, stdout } from 'node:process'
4
4
  import { pathToFileURL } from 'node:url'
@@ -1,4 +1,4 @@
1
- import { ENTRY_MODES, FORMATS, KEYBOARDS, formatNamed, showValue, } from "@prestack/thread/core/types";
1
+ import { ENTRY_MODES, FORMATS, KEYBOARDS, formatNamed, showValue, } from '@prestack/thread/core/types';
2
2
  export { ENTRY_MODES, KEYBOARDS };
3
3
  export const valid = (value) => ({ ok: true, value });
4
4
  export const invalid = (errorKey) => ({ ok: false, errorKey });
@@ -12,42 +12,42 @@ interface Stateful {
12
12
  type SignalId = (typeof holds)[number]['id'] | (string & {});
13
13
  type MaterialId = (typeof MATERIALS)['declares'][number]['id'] | (string & {});
14
14
  declare const BOUND: {
15
- readonly background: readonly ["colour", "gradient", "texture", "noise", "img"];
16
- readonly borderColor: readonly ["colour"];
17
- readonly color: readonly ["colour"];
18
- readonly borderRadius: readonly ["radius"];
19
- readonly borderWidth: readonly ["edge"];
20
- readonly borderStyle: readonly ["line"];
21
- readonly boxShadow: readonly ["shadow"];
22
- readonly cursor: readonly ["cursor"];
23
- readonly gap: readonly ["space"];
24
- readonly padding: readonly ["space"];
25
- readonly outlineOffset: readonly ["space"];
26
- readonly minHeight: readonly ["control", "space"];
27
- readonly minWidth: readonly ["space"];
28
- readonly maxWidth: readonly ["space"];
29
- readonly opacity: readonly ["opacity"];
30
- readonly transform: readonly ["transform"];
31
- readonly animation: readonly ["animation"];
32
- readonly width: readonly ["icon"];
33
- readonly height: readonly ["control", "icon"];
34
- readonly display: readonly ["layout"];
35
- readonly flexDirection: readonly ["flow"];
36
- readonly alignItems: readonly ["align"];
37
- readonly justifyContent: readonly ["align"];
38
- readonly flexWrap: readonly ["wrap"];
39
- readonly position: readonly ["position"];
40
- readonly visibility: readonly ["visibility"];
41
- readonly pointerEvents: readonly ["reach"];
42
- readonly userSelect: readonly ["picking"];
43
- readonly touchAction: readonly ["touch"];
44
- readonly willChange: readonly ["readying"];
45
- readonly transformOrigin: readonly ["origin"];
46
- readonly overflow: readonly ["overflow"];
47
- readonly zIndex: readonly ["layer"];
48
- readonly top: readonly ["space"];
49
- readonly left: readonly ["space"];
50
- readonly aspectRatio: readonly ["ratio"];
15
+ readonly background: readonly ['colour', 'gradient', 'texture', 'noise', 'img'];
16
+ readonly borderColor: readonly ['colour'];
17
+ readonly color: readonly ['colour'];
18
+ readonly borderRadius: readonly ['radius'];
19
+ readonly borderWidth: readonly ['edge'];
20
+ readonly borderStyle: readonly ['line'];
21
+ readonly boxShadow: readonly ['shadow'];
22
+ readonly cursor: readonly ['cursor'];
23
+ readonly gap: readonly ['space'];
24
+ readonly padding: readonly ['space'];
25
+ readonly outlineOffset: readonly ['space'];
26
+ readonly minHeight: readonly ['control', 'space'];
27
+ readonly minWidth: readonly ['space'];
28
+ readonly maxWidth: readonly ['space'];
29
+ readonly opacity: readonly ['opacity'];
30
+ readonly transform: readonly ['transform'];
31
+ readonly animation: readonly ['animation'];
32
+ readonly width: readonly ['icon'];
33
+ readonly height: readonly ['control', 'icon'];
34
+ readonly display: readonly ['layout'];
35
+ readonly flexDirection: readonly ['flow'];
36
+ readonly alignItems: readonly ['align'];
37
+ readonly justifyContent: readonly ['align'];
38
+ readonly flexWrap: readonly ['wrap'];
39
+ readonly position: readonly ['position'];
40
+ readonly visibility: readonly ['visibility'];
41
+ readonly pointerEvents: readonly ['reach'];
42
+ readonly userSelect: readonly ['picking'];
43
+ readonly touchAction: readonly ['touch'];
44
+ readonly willChange: readonly ['readying'];
45
+ readonly transformOrigin: readonly ['origin'];
46
+ readonly overflow: readonly ['overflow'];
47
+ readonly zIndex: readonly ['layer'];
48
+ readonly top: readonly ['space'];
49
+ readonly left: readonly ['space'];
50
+ readonly aspectRatio: readonly ['ratio'];
51
51
  };
52
52
  type Property = keyof typeof BOUND;
53
53
  type BoundSettingFor<P extends Property> = {
@@ -88,7 +88,7 @@ export declare function freeHeld(): readonly string[];
88
88
  export declare const structural: Set<string>;
89
89
  export declare function looking(made: Readonly<Record<string, string>>): boolean;
90
90
  export declare const variant: <const T extends Variant>(one: T & {
91
- readonly sets: { readonly [I in keyof T["sets"]]: T["sets"][I] extends {
91
+ readonly sets: { readonly [I in keyof T['sets']]: T['sets'][I] extends {
92
92
  readonly is: infer Said;
93
93
  } ? {
94
94
  readonly is: Wearing<Said & string>;
@@ -1,5 +1,5 @@
1
- import { BOUND as MATERIAL_BOUND, compose, composed, FREE } from "./material.js";
2
- import { coexist, isSignal, selectorOf, signalNames } from "./signals.js";
1
+ import { BOUND as MATERIAL_BOUND, compose, composed, FREE } from './material.js';
2
+ import { coexist, isSignal, selectorOf, signalNames } from './signals.js';
3
3
  const BOUND = {
4
4
  background: ['colour', 'gradient', 'texture', 'noise', 'img'],
5
5
  borderColor: ['colour'],
@@ -1,23 +1,23 @@
1
1
  export declare const AVATAR_ROUND: {
2
- readonly id: "avatar-round";
2
+ readonly id: 'avatar-round';
3
3
  readonly sets: readonly [{
4
- readonly property: "width";
5
- readonly is: "icon-lg";
4
+ readonly property: 'width';
5
+ readonly is: 'icon-lg';
6
6
  }, {
7
- readonly property: "height";
8
- readonly is: "icon-lg";
7
+ readonly property: 'height';
8
+ readonly is: 'icon-lg';
9
9
  }, {
10
- readonly property: "borderRadius";
11
- readonly is: "radius-pill";
10
+ readonly property: 'borderRadius';
11
+ readonly is: 'radius-pill';
12
12
  }, {
13
- readonly property: "background";
14
- readonly is: "colour-sunken";
13
+ readonly property: 'background';
14
+ readonly is: 'colour-sunken';
15
15
  }, {
16
- readonly property: "display";
17
- readonly is: "layout-flex";
16
+ readonly property: 'display';
17
+ readonly is: 'layout-flex';
18
18
  }, {
19
- readonly property: "alignItems";
20
- readonly is: "align-centre";
19
+ readonly property: 'alignItems';
20
+ readonly is: 'align-centre';
21
21
  }];
22
22
  readonly reacts: readonly [];
23
23
  };
@@ -1,4 +1,4 @@
1
- import { variant } from "../variant.js";
1
+ import { variant } from '../variant.js';
2
2
  export const AVATAR_ROUND = variant({
3
3
  id: 'avatar-round',
4
4
  sets: [
@@ -1,21 +1,21 @@
1
1
  export declare const BUBBLE_ME: {
2
- readonly id: "bubble-me";
3
- readonly material: "flat";
2
+ readonly id: 'bubble-me';
3
+ readonly material: 'flat';
4
4
  readonly sets: readonly [{
5
- readonly property: "background";
6
- readonly is: "colour-accent";
5
+ readonly property: 'background';
6
+ readonly is: 'colour-accent';
7
7
  }, {
8
- readonly property: "color";
9
- readonly is: "colour-on-accent";
8
+ readonly property: 'color';
9
+ readonly is: 'colour-on-accent';
10
10
  }, {
11
- readonly property: "borderRadius";
12
- readonly is: "radius-lg";
11
+ readonly property: 'borderRadius';
12
+ readonly is: 'radius-lg';
13
13
  }, {
14
- readonly property: "padding";
15
- readonly is: "space-3 space-4";
14
+ readonly property: 'padding';
15
+ readonly is: 'space-3 space-4';
16
16
  }, {
17
- readonly property: "gap";
18
- readonly is: "space-2";
17
+ readonly property: 'gap';
18
+ readonly is: 'space-2';
19
19
  }];
20
20
  readonly reacts: readonly ["focus", "hover"];
21
21
  };
@@ -1,4 +1,4 @@
1
- import { variant } from "../variant.js";
1
+ import { variant } from '../variant.js';
2
2
  export const BUBBLE_ME = variant({
3
3
  id: 'bubble-me',
4
4
  material: 'flat',
@@ -1,18 +1,18 @@
1
1
  export declare const BUBBLE_THEM: {
2
- readonly id: "bubble-them";
3
- readonly material: "flat";
2
+ readonly id: 'bubble-them';
3
+ readonly material: 'flat';
4
4
  readonly sets: readonly [{
5
- readonly property: "color";
6
- readonly is: "colour-ink";
5
+ readonly property: 'color';
6
+ readonly is: 'colour-ink';
7
7
  }, {
8
- readonly property: "borderRadius";
9
- readonly is: "radius-lg";
8
+ readonly property: 'borderRadius';
9
+ readonly is: 'radius-lg';
10
10
  }, {
11
- readonly property: "padding";
12
- readonly is: "space-3 space-4";
11
+ readonly property: 'padding';
12
+ readonly is: 'space-3 space-4';
13
13
  }, {
14
- readonly property: "gap";
15
- readonly is: "space-2";
14
+ readonly property: 'gap';
15
+ readonly is: 'space-2';
16
16
  }];
17
17
  readonly reacts: readonly ["focus", "hover"];
18
18
  };
@@ -1,4 +1,4 @@
1
- import { variant } from "../variant.js";
1
+ import { variant } from '../variant.js';
2
2
  export const BUBBLE_THEM = variant({
3
3
  id: 'bubble-them',
4
4
  material: 'flat',
@@ -1,115 +1,115 @@
1
1
  export declare const BUTTON_BORDER: {
2
- readonly id: "button-border";
3
- readonly type: "label";
4
- readonly icon: "md";
2
+ readonly id: 'button-border';
3
+ readonly type: 'label';
4
+ readonly icon: 'md';
5
5
  readonly sets: readonly [{
6
- readonly property: "display";
7
- readonly is: "layout-flex";
6
+ readonly property: 'display';
7
+ readonly is: 'layout-flex';
8
8
  }, {
9
- readonly property: "alignItems";
10
- readonly is: "align-centre";
9
+ readonly property: 'alignItems';
10
+ readonly is: 'align-centre';
11
11
  }, {
12
- readonly property: "justifyContent";
13
- readonly is: "align-centre";
12
+ readonly property: 'justifyContent';
13
+ readonly is: 'align-centre';
14
14
  }, {
15
- readonly property: "borderRadius";
16
- readonly is: "control-radius";
15
+ readonly property: 'borderRadius';
16
+ readonly is: 'control-radius';
17
17
  }, {
18
- readonly property: "height";
19
- readonly is: "control-md";
18
+ readonly property: 'height';
19
+ readonly is: 'control-md';
20
20
  }, {
21
- readonly property: "padding";
22
- readonly is: "control-pad-y control-pad-x";
21
+ readonly property: 'padding';
22
+ readonly is: 'control-pad-y control-pad-x';
23
23
  }, {
24
- readonly property: "gap";
25
- readonly is: "control-gap";
24
+ readonly property: 'gap';
25
+ readonly is: 'control-gap';
26
26
  }, {
27
- readonly property: "cursor";
28
- readonly is: "cursor-press";
27
+ readonly property: 'cursor';
28
+ readonly is: 'cursor-press';
29
29
  }, {
30
- readonly property: "transition";
31
- readonly is: "motion-quick ease-out";
30
+ readonly property: 'transition';
31
+ readonly is: 'motion-quick ease-out';
32
32
  }, {
33
- readonly property: "background";
34
- readonly is: "colour-clear";
33
+ readonly property: 'background';
34
+ readonly is: 'colour-clear';
35
35
  }, {
36
- readonly property: "color";
37
- readonly is: "colour-accent";
36
+ readonly property: 'color';
37
+ readonly is: 'colour-accent';
38
38
  }, {
39
- readonly property: "borderWidth";
40
- readonly is: "control-edge";
39
+ readonly property: 'borderWidth';
40
+ readonly is: 'control-edge';
41
41
  }, {
42
- readonly property: "borderStyle";
43
- readonly is: "line-solid";
42
+ readonly property: 'borderStyle';
43
+ readonly is: 'line-solid';
44
44
  }, {
45
- readonly property: "borderColor";
46
- readonly is: "colour-accent";
45
+ readonly property: 'borderColor';
46
+ readonly is: 'colour-accent';
47
47
  }, {
48
- readonly property: "boxShadow";
49
- readonly is: "shadow-0";
48
+ readonly property: 'boxShadow';
49
+ readonly is: 'shadow-0';
50
50
  }];
51
51
  readonly states: readonly [{
52
52
  readonly when: readonly ["hover"];
53
53
  readonly sets: readonly [{
54
- readonly property: "background";
55
- readonly is: "colour-surface-lit";
54
+ readonly property: 'background';
55
+ readonly is: 'colour-surface-lit';
56
56
  }, {
57
- readonly property: "transform";
58
- readonly is: "transform-lift";
57
+ readonly property: 'transform';
58
+ readonly is: 'transform-lift';
59
59
  }];
60
60
  }, {
61
61
  readonly when: readonly ["active"];
62
62
  readonly sets: readonly [{
63
- readonly property: "background";
64
- readonly is: "colour-surface-lit";
63
+ readonly property: 'background';
64
+ readonly is: 'colour-surface-lit';
65
65
  }, {
66
- readonly property: "transform";
67
- readonly is: "transform-press";
66
+ readonly property: 'transform';
67
+ readonly is: 'transform-press';
68
68
  }];
69
69
  }, {
70
70
  readonly when: readonly ["active", "hover"];
71
71
  readonly sets: readonly [{
72
- readonly property: "background";
73
- readonly is: "colour-surface-lit";
72
+ readonly property: 'background';
73
+ readonly is: 'colour-surface-lit';
74
74
  }, {
75
- readonly property: "transform";
76
- readonly is: "transform-press";
75
+ readonly property: 'transform';
76
+ readonly is: 'transform-press';
77
77
  }];
78
78
  }, {
79
79
  readonly when: readonly ["focus"];
80
80
  readonly sets: readonly [{
81
- readonly property: "outline";
82
- readonly is: "control-ring line-solid colour-accent";
81
+ readonly property: 'outline';
82
+ readonly is: 'control-ring line-solid colour-accent';
83
83
  }, {
84
- readonly property: "outlineOffset";
85
- readonly is: "control-ring-offset";
84
+ readonly property: 'outlineOffset';
85
+ readonly is: 'control-ring-offset';
86
86
  }];
87
87
  }, {
88
88
  readonly when: readonly ["loading"];
89
89
  readonly sets: readonly [{
90
- readonly property: "opacity";
91
- readonly is: "opacity-muted";
90
+ readonly property: 'opacity';
91
+ readonly is: 'opacity-muted';
92
92
  }];
93
93
  }, {
94
94
  readonly when: readonly ["disabled"];
95
95
  readonly sets: readonly [{
96
- readonly property: "cursor";
97
- readonly is: "cursor-refuse";
96
+ readonly property: 'cursor';
97
+ readonly is: 'cursor-refuse';
98
98
  }, {
99
- readonly property: "borderColor";
100
- readonly is: "colour-edge";
99
+ readonly property: 'borderColor';
100
+ readonly is: 'colour-edge';
101
101
  }, {
102
- readonly property: "color";
103
- readonly is: "colour-ink-faint";
102
+ readonly property: 'color';
103
+ readonly is: 'colour-ink-faint';
104
104
  }];
105
105
  }, {
106
106
  readonly when: readonly ["disabled", "hover"];
107
107
  readonly sets: readonly [{
108
- readonly property: "background";
109
- readonly is: "colour-clear";
108
+ readonly property: 'background';
109
+ readonly is: 'colour-clear';
110
110
  }, {
111
- readonly property: "transform";
112
- readonly is: "transform-rest";
111
+ readonly property: 'transform';
112
+ readonly is: 'transform-rest';
113
113
  }];
114
114
  }];
115
115
  readonly reacts: readonly ["active", "disabled", "focus", "hover", "loading"];
@@ -1,4 +1,4 @@
1
- import { variant } from "../variant.js";
1
+ import { variant } from '../variant.js';
2
2
  export const BUTTON_BORDER = variant({
3
3
  id: 'button-border',
4
4
  type: 'label',