@prestack/thread-ui 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,183 @@
1
1
  # @prestack/thread-ui
2
2
 
3
+ ## 0.1.3
4
+
5
+ what it exports is untouched and its code moved.
6
+
7
+ ### Fixed
8
+
9
+ - `ui-attach` — its code moved and what it exports did not.
10
+
11
+ <!-- release 0.1.3 -->
12
+ <!-- holds
13
+ accordion 315747ae9d69 ui/elements/accordion#AccordionProps:73ce472833d3 ui/elements/accordion#Accordion:83e995f2269f ui/elements/accordion.works#uses:5d3b00d92875 ui/elements/accordion.works#section:4ae99f778938 ui/elements/accordion.works#header:4ae99f778938 ui/elements/accordion.works#region:4ae99f778938 ui/elements/accordion.works#shown:2b4a0795f92f
14
+ animations-writer e2cf74c66b6a ui/animations#BOUND:903de4e047f6 ui/animations#AnimationSetting:e4c302183d8e ui/animations#Animation:5212a1aa8d74 ui/animations#keyframeName:ff8fa0760be2 ui/animations#stopsOf:b2c6e0e60a68 ui/animations#shorthandOf:6a990de10b41 ui/animations#declares:cad46cab877c ui/animations#ANIMATIONS:a836915082b0 ui/animations#nameOf:ff8fa0760be2 ui/animations#seeds:e5c803f28183 ui/animations#mismatched:5679b09f6252 ui/animations#orphaned:8865319ec4c3
15
+ appear f2488319c0c9 ui/animations/anm_appear#APPEAR:301afe9bf4dc
16
+ aspect-ratio 4a4c4ec6e61d ui/elements/aspect-ratio#AspectRatioProps:0847ecebf249 ui/elements/aspect-ratio#AspectRatio:080b92fde974 ui/elements/aspect-ratio.works#measured:c68e17838e54
17
+ avatar 3c5e9c201758 ui/elements/avatar#AvatarProps:036f319489f5 ui/elements/avatar#Avatar:0aa8f982e898 ui/elements/avatar.works#shown:71384a69d3af
18
+ avatar-round da7acf061c62 ui/variants/var_avatar-round#AVATAR_ROUND:ccce1a17f0bf
19
+ badge 5b2fdfcfbcf3 ui/elements/badge#BadgeProps:735de9042fa4 ui/elements/badge#Badge:2e5b7c04041c ui/elements/badge.works#shows:fdabcaaa1a37
20
+ bars a728d4c0efc7 ui/elements/bars#BarsProps:429c72e96da9 ui/elements/bars#Bars:45ece6c69851 ui/elements/bars.works#uses:21c0411bcd1a ui/elements/bars.works#sized:4fbc468fd612 ui/elements/bars.works#shown:71800d3c3261
21
+ blur-in 1311ce3a3fda ui/animations/anm_blur_in#BLUR_IN:6892dfe198c0
22
+ blur-out f8c4f2cdff1e ui/animations/anm_blur_out#BLUR_OUT:bf564f95f617
23
+ bordered ed33d5c9bcd8 ui/materials/mat_bordered#BORDERED:ae68626a835b
24
+ box 9135e63049fc ui/elements/box#BoxProps:bc6d4d90848d ui/elements/box#Box:71451d7d0d75
25
+ breadcrumb 66bf516f8183 ui/elements/breadcrumb#BreadcrumbProps:90326c0e741c ui/elements/breadcrumb#Breadcrumb:7fa664c4c672 ui/elements/breadcrumb.works#steps:1143e7397f7e ui/elements/breadcrumb.works#crumb:2d47ada157f0
26
+ bubble-me 5a742c2ed7a7 ui/variants/var_bubble-me#BUBBLE_ME:ad950ac45abe
27
+ bubble-them 728e1129e2a9 ui/variants/var_bubble-them#BUBBLE_THEM:e4ca2cde9739
28
+ button 29cf957dbfa1 ui/elements/button#ButtonProps:3dd153481c9c ui/elements/button#Button:5c5b34292c8c ui/elements/button.works#uses:3e0750aa8681 ui/elements/button.works#wires:0b5df5218d63 ui/elements/button.works#iconed:c2caebd886f9 ui/elements/button.works#worded:c2caebd886f9 ui/elements/button.works#shown:2d2723ffce9f
29
+ button-border 6e6bf634e1c6 ui/variants/var_button-border#BUTTON_BORDER:5c178d7beb57
30
+ button-cta 01e30d4ec68d ui/variants/var_button-cta#BUTTON_CTA:970026cce345
31
+ button-destructive 96ec12dd1acf ui/variants/var_button-destructive#BUTTON_DESTRUCTIVE:1a01bdef3004
32
+ button-destructive-ghost 50791a7ec41c ui/variants/var_button-destructive-ghost#BUTTON_DESTRUCTIVE_GHOST:6418dad96469
33
+ button-fill 7f6509f2bcd8 ui/variants/var_button-fill#BUTTON_FILL:01446b8623cb
34
+ button-ghost 81ab88717b77 ui/variants/var_button-ghost#BUTTON_GHOST:4629e6de0279
35
+ button-glass da9a524fd64d ui/variants/var_button-glass#BUTTON_GLASS:bb95b54e94b6
36
+ button-normal 79d08fe4779f ui/variants/var_button-normal#BUTTON_NORMAL:8e300f205850
37
+ button-quiet 3ad6cdd1794e ui/variants/var_button-quiet#BUTTON_QUIET:015eee9c6a9d
38
+ card cd72fc4eb250 ui/variants/var_card#CARD:11d65ea74e1e
39
+ ceramic 4922d7156e24 ui/materials/mat_ceramic#CERAMIC:a1df3c22029a
40
+ charts 799a8177e784 ui/charts#Row:eee0c117177a ui/charts#WhenTight:17ade237b678 ui/charts#ChartBase:5c23cd2a9e3f ui/charts#num:bf021c1a2c8c ui/charts#str:28fd80e9f148 ui/charts#useRamp:f6fdb5be0c84 ui/charts#placed:fe15c30aa6bf ui/charts#measured:4d39d48edd1d ui/charts#SeriesProps:0fa5db4164e4 ui/charts#polyline:ccbb1fdf9a3a ui/charts#CategoryProps:9c091b968226 ui/charts#TwoAxisProps:6d05ba489e28
41
+ checked b3db1ccbae77 ui/checked#Wearing:deebde0237b4 ui/checked#Dispatching:deebde0237b4 ui/checked#VariantsFor:20a411132cb6 ui/checked#ArrangementElement:4d32298786d2 ui/checked#idOf:7ad5f68e2c86
42
+ chip c23cc6dce38c ui/variants/var_chip#CHIP:65c2396c3be4
43
+ choice 96d8c5e8912a ui/variants/var_choice#CHOICE:be45a6463762
44
+ clay c0a2c9b526fc ui/materials/mat_clay#CLAY:720ba7ce183e
45
+ collector b1cb143bbc9d ui/collector#ClientEvent:eb3074274552 ui/collector#CollectorOptions:5c022ee3fd3b ui/collector#RecordedEvent:edd6c51b46bd ui/collector#Collector:bc3c96c74f1e ui/collector#INERT_COLLECTOR:50752f61c393 ui/collector#createCollector:e8bf723f970e
46
+ column 5c1a7eb179ea ui/elements/column#ColumnProps:ad269764b266 ui/elements/column#Column:1b9550e6a545
47
+ compositions dd00d48904fa ui/compositions#REACHES:09aa52ab5287 ui/compositions#declares:cad46cab877c ui/compositions#COMPOSITIONS:2412f9a2cc25 ui/compositions#PASCAL:72b4c80878b8 ui/compositions#nameOf:38eeb450b217 ui/compositions#Listed:ebe67be9ab8b ui/compositions#sheetOf:7e68e5aa528f ui/compositions#composed:bf363b830157 ui/compositions#HOME:16475c413846 ui/compositions#DOORS:75b7a7c39b95 ui/compositions#reaching:f772a3f7a0e9 ui/compositions#COMPILED:8a2e68c66250 ui/compositions#compiledAt:38eeb450b217 ui/compositions#settled:c2671abe553d ui/compositions#RUNTIME:4de2138e3a11 ui/compositions#emitting:12075f4c4f66 ui/compositions#stale:081f906ac9d3 ui/compositions#handing:c2ba7db38c14 ui/compositions#undeclared:b84deaf1f67c ui/compositions#seeds:950628166bbd
48
+ consent 5dd5e7ad00ad ui/elements/consent#ConsentProps:4d2e2c5c74ae ui/elements/consent#Consent:f288ab8ee1af
49
+ consent-categories 063d79030614 ui/consent#ConsentCategorySchema:e3521eb40a21 ui/consent#ConsentCategory:d495db30ead2 ui/consent#defineConsentCategory:dc7375e62187 ui/consent#consentCategories:fc75fbe08af8 ui/consent#consentCategory:b515e4d050f9 ui/consent#ConsentDecisionSchema:f29793770bb3 ui/consent#ConsentDecision:37669319ada2 ui/consent#consentAllows:2ce94d59b747
50
+ consent-element fa8efc39cb87 ui/elements/consent.works#uses:408a55ef20fc ui/elements/consent.works#categories:cab969c5fa8b ui/elements/consent.works#hasPolicy:41e8cd1e14fe ui/elements/consent.works#withdrawable:27a86b8e1345 ui/elements/consent.works#optional:1d0be2d81bca ui/elements/consent.works#required:1d0be2d81bca ui/elements/consent.works#title:8bb7d2c23113 ui/elements/consent.works#policy:ff8839910ba9 ui/elements/consent.works#label:b88c8ee4712f ui/elements/consent.works#describe:b88c8ee4712f ui/elements/consent.works#fixed:efa0c3794a4c ui/elements/consent.works#chooser:f06207471636 ui/elements/consent.works#withdraw:e7c5c7c955e4 ui/elements/consent.works#decline:e7c5c7c955e4 ui/elements/consent.works#accept:e7c5c7c955e4 ui/elements/consent.works#acceptAll:e7c5c7c955e4
51
+ content 46197c590f10 ui/content#MessageKey:bb3a9997b027 ui/content#ValueProps:9decf576db80 ui/content#renderValue:26dafdf7eb3f
52
+ contrast d58eef8241a7 ui/contrast#CONTRAST_LARGE:319ea26151c0 ui/contrast#luminance:7b446b9fed05 ui/contrast#contrast:8ad383dc8043
53
+ controls e64de1d19cf3 ui/controls#PressProps:d7b2a109483b ui/controls#Option:bb867d0c2790 ui/controls#Menu:99af6606ff9d ui/controls#MenuProps:e64bf652667a ui/controls#MenuItem:e6972b78d002
54
+ dev-runner 5ba2ec07b456 ui/generators/dev#unrunnable:a00d94275089
55
+ disclosure 64d2ffbff21d ui/disclosure#TabItem:5637034a9966 ui/disclosure#AccordionItem:5637034a9966
56
+ dismiss 1062fb6d8d49 ui/animations/anm_dismiss#DISMISS:44547e6662ab
57
+ dismiss-layer c81dadfa632c ui/dismiss-layer#Layer:1739bdeed158 ui/dismiss-layer#useDismissLayer:fc45673b9550 ui/dismiss-layer#openLayers:dbe6494f9d41
58
+ donut 778a867b06e0 ui/elements/donut#DonutProps:3b9e7fde51af ui/elements/donut#Donut:394c3abab12b ui/elements/donut.works#uses:f8d2db81931c ui/elements/donut.works#slice:1c42064c095a
59
+ drag 0ef5149ec5b9 ui/drag#EDGE_SCROLL_DEFAULTS:162de3815f33 ui/drag#Subject:c27b664a52fd ui/drag#DragSession:6af215ec8136 ui/drag#dragSession:e84fc1b5ed17 ui/drag#subscribeDrag:c456c983029f ui/drag#DragStatus:4440e8c46de5 ui/drag#dragStatusOf:df66d31d913f ui/drag#Scroller:038eab5f1ca9 ui/drag#Layout:8a03934bc399 ui/drag#DOM_LAYOUT:a4ae951f0933 ui/drag#setLayout:5e8ae80ca924 ui/drag#currentLayout:23ed529a101a ui/drag#claimGesture:d7ff15860d3c ui/drag#releaseGesture:48d5e5330326 ui/drag#gestureClaim:65fda728778f ui/drag#DropTarget:bff392b218d8 ui/drag#registerTarget:8a22941d233a ui/drag#targetFor:ca512db492ae ui/drag#innermostTarget:8f13034f8379 ui/drag#BeginDrag:06a945bd02b8 ui/drag#beginDrag:8993a12ea898 ui/drag#MoveDrag:40d697607f2c ui/drag#moveDrag:5e744e28a670 ui/drag#collect:87adb0b806fb ui/drag#endDrag:e84fc1b5ed17 ui/drag#resetDrag:a3965c1dfabe ui/drag#dwell:696612acada0 ui/drag#accepted:b2c139a84a5a ui/drag#EdgeScrollTuning:8656a344cfa0 ui/drag#edgeScroll:54f1744007c7 ui/drag#pullEdges:93e827aaa0b8
60
+ drop 07bbafbbbfa5 ui/animations/anm_drop#DROP:28d834809d56
61
+ each 99eb68bf0b39 ui/elements/each#EachProps:83129dd2b3ac ui/elements/each#Each:e6f142a2d09c ui/elements/each.works#shows:ad356e86f65d
62
+ element-rows 17e6806e3269 ui/elements#ELEMENTS:8f09f1d86714
63
+ elements-writer 1bbb51178621 ui/generators/elements#pascal:ff8fa0760be2 ui/generators/elements#OWNED_AT:7fac350f2d5d ui/generators/elements#owned:19dbe2a693ea ui/generators/elements#translated:0ee7c254775e ui/generators/elements#CARRIES:4de2138e3a11 ui/generators/elements#READINGS:4de2138e3a11 ui/generators/elements#declared:74cde91fc910 ui/generators/elements#wears:a91b72bd4390
64
+ elevated 498ed7e13271 ui/materials/mat_elevated#ELEVATED:f1d54bdaf726
65
+ empty 408cc55e3924 ui/elements/empty#EmptyProps:e89b67d88a13 ui/elements/empty#Empty:02e6deb405b0
66
+ en-catalog 975f32111040 ui/i18n/catalogs/en#en:f72fd845118b ui/i18n/catalogs/en#EnCatalog:07aac6125d69
67
+ fall b9051b59c4eb ui/animations/anm_fall#FALL:de7c5232ae66
68
+ field d0f76e98261b ui/elements/field#FieldProps:f6208a53a0dd ui/elements/field#Field:38e7e6136c67 ui/elements/field.works#uses:b460b57a1079 ui/elements/field.works#entry:ed11af6bd73c ui/elements/field.works#shown:450fd3b336bc
69
+ flash 069f70cedec1 ui/animations/anm_flash#FLASH:bb0d6061b2a8
70
+ flat b77b9e10eb88 ui/materials/mat_flat#FLAT:45034ea327e8
71
+ focus-scope c872a7d46e1b ui/focus-scope#tabbables:6dc1a8ed6338 ui/focus-scope#useFocusScope:4c9b51943dba
72
+ fonts b0a63e294524 ui/fonts#FACES:d0c818c9b4e2 ui/fonts#Face:65b392495807 ui/fonts#FontFamily:a5184b2dfb4c ui/fonts#FontSet:9f12cc81549d ui/fonts#defineFontSet:28d60920ecaf ui/fonts#fontSets:b79664265bb8 ui/fonts#fontSet:d3b23f97c463 ui/fonts#fontFaces:3ccbfc44dc32 ui/fonts#fontModules:3ccbfc44dc32 ui/fonts#fontIn:947791605637 ui/fonts#fontVariable:0b2ea3f92138 ui/fonts#fontStack:0bb08ee73396 ui/fonts#fontFor:1ed2cf132c34 ui/fonts#FontRole:bcde61774ad8 ui/fonts#FontRoleId:df296a09b71d ui/fonts#ROLE_IDS:11cdcc1f7f95 ui/fonts#DEFAULT_ROLE:60b8b8b397b0 ui/fonts#SET_ROW:00b33e3ffbf1 ui/fonts#holds:66da16a1d8a6 ui/fonts#FONTS:a4cd8dbc5c1b ui/fonts#classOfRole:ff8fa0760be2 ui/fonts#settingsOf:a2e6277c42f5 ui/fonts#roleClass:b3e7d41fde38 ui/fonts#familyFor:68125aabf80b ui/fonts#setNamed:c3ef0235837e
73
+ framed 36372f49dd19 ui/variants/var_framed#FRAMED:7603b136eda5
74
+ funnel f40085ae814c ui/elements/funnel#FunnelProps:429c72e96da9 ui/elements/funnel#Funnel:346fda430d23 ui/elements/funnel.works#uses:75344a7846bb ui/elements/funnel.works#sized:26f9281d9d39 ui/elements/funnel.works#shown:cc4f256199ff
75
+ gauge cd51dc0a77fe ui/elements/gauge#GaugeProps:69bb45d0d458 ui/elements/gauge#Gauge:f3902bbbcb90 ui/elements/gauge.works#uses:1ea30b999ca0 ui/elements/gauge.works#track:9017e22c6cd9 ui/elements/gauge.works#needle:ffb05fac60d7
76
+ glass 4f712c474709 ui/materials/mat_glass#GLASS:e8983a778649
77
+ glow f27e9c60847a ui/animations/anm_glow#GLOW:b75cde1c65e8
78
+ glyph d7479eeda99b ui/elements/glyph#GlyphProps:4106330e88f5 ui/elements/glyph#Glyph:b49fddd10040 ui/elements/glyph.works#drawn:f45ca9f62049 ui/elements/glyph.works#shows:881db1c0701a
79
+ glyph-plain db2198da017a ui/variants/var_glyph-plain#GLYPH_PLAIN:d6228326b2bf
80
+ grid 3abfdec9d4bb ui/elements/grid#GridProps:ad269764b266 ui/elements/grid#Grid:8e4ad19dcc06
81
+ heatmap 9521d967dd16 ui/elements/heatmap#HeatmapProps:b147106482f2 ui/elements/heatmap#Heatmap:4eed2b5e160c ui/elements/heatmap.works#uses:a0768529ca8f ui/elements/heatmap.works#sized:55318f305b27
82
+ hit-box ac1e67976a87 ui/elements/hit-box#HitBoxProps:3edc4ed422b1 ui/elements/hit-box#HitBox:d778244710bb ui/elements/hit-box.works#Axis:33c35b0ffe72 ui/elements/hit-box.works#uses:9b57f94aa1e8 ui/elements/hit-box.works#wires:1cddad8cf225 ui/elements/hit-box.works#shown:82f106431cdf
83
+ i18n-types 2b3358461d33 ui/i18n/types#Money:5ccc2e8715d7 ui/i18n/types#Locale:bb3a9997b027 ui/i18n/types#MessageParams:c8b98c9ef662 ui/i18n/types#DeclaredMessage:15146945b7f9 ui/i18n/types#msg:6f4ce4ea0ad1 ui/i18n/types#MessageEntry:a3011654f357 ui/i18n/types#RequiresExplicitParams:9afc22df209f ui/i18n/types#ValidEntry:55d6c8d1b432 ui/i18n/types#CatalogShape:035eff70ed94 ui/i18n/types#ParamsOf:f11c778e63a5 ui/i18n/types#Translator:bc6ce843db37 ui/i18n/types#entryText:8f7f9b6fb21b ui/i18n/types#defineCatalog:67309cff79a2
84
+ i18n-writer 770d8bfb697a ui/generators/i18n#walk:2b0caf2efd3b ui/generators/i18n#keyProps:2c319c8c1507 ui/generators/i18n#keysIn:4c2dd7de01b6 ui/generators/i18n#readWording:97cf5049ec86 ui/generators/i18n#wordingFile:40969fbfabda
85
+ icon-sets 2ee5c4cf60f4 ui/icons#IconSet:7d3af541078c ui/icons#ICON_TARGET:0693728301e7 ui/icons#DEFAULT_ICON:b343f4fca562 ui/icons#sizeRows:6a8284e80b30 ui/icons#sizeNamed:7ad5f68e2c86 ui/icons#strokeFor:d15243b42f12 ui/icons#BRAND_MODULE:696f4addc79d ui/icons#defineIconSet:8e7d61a3595e ui/icons#defineIcon:6722a9c4f6e3 ui/icons#iconSets:2e3d0c4f422e ui/icons#iconSet:77161f6cbc87 ui/icons#iconNames:3ccbfc44dc32 ui/icons#iconIn:a393ee7ee7f8 ui/icons#brandExport:b872f6e302c0 ui/icons#SET_ROW:dcaa0bb52c1b ui/icons#SIZE_PREFIX:0ca5e5e4c9eb ui/icons#holds:66da16a1d8a6 ui/icons#ICONS:a4cd8dbc5c1b ui/icons#drawnAs:39b2d0b66e76 ui/icons#setNamed:b78f1dfb90c3 ui/icons#IconComponent:3519fd0448c9 ui/icons#installIcons:4bca1126f326 ui/icons#installedSet:ea11a029b2ff ui/icons#iconSize:051b1f5bfa93 ui/icons#drawnFor:77cf59fc0e97
86
+ icons-writer 8576042b094e
87
+ image 967499e9a772 ui/elements/image#ImageProps:a32890747c93 ui/elements/image#Image:cec94eb7378c
88
+ input ae7068e4a182 ui/variants/var_input#INPUT:27581d657b96
89
+ lift 8464180c5da1 ui/animations/anm_lift#LIFT:a63fd1fc6227
90
+ line-chart 6863d667c0e7 ui/elements/line-chart#LineChartProps:dae99c7ce631 ui/elements/line-chart#LineChart:15cfdd29751a ui/elements/line-chart.works#lines:68f3cc937de0 ui/elements/line-chart.works#uses:ca3cae02625f ui/elements/line-chart.works#drawing:4fc88b6eb2c8
91
+ link 13b71587b0be ui/elements/link#LinkProps:f8e3636cb290 ui/elements/link#Link:fa8f20713d7c ui/elements/link.works#uses:bafbafc2c328
92
+ link-inline 2336d8bdc7ef ui/variants/var_link-inline#LINK_INLINE:828401d1d8fc
93
+ list-row a59bce53118a ui/variants/var_list-row#LIST_ROW:002f108b821a
94
+ lit dca654b7cfdb ui/materials/mat_lit#LIT:1355d07bd5ec
95
+ locales 81f3eca3ddf7 ui/i18n/locales#REFERENCE_LOCALE:ec7df020bf1e ui/i18n/locales#LocaleDecl:bc1f89b83d74 ui/i18n/locales#defineLocale:79994004ee18 ui/i18n/locales#locales:b65c2631bfae ui/i18n/locales#locale:a1be3346f05c ui/i18n/locales#resetLocales:a3965c1dfabe
96
+ localizations 3f9e0fbb2fda ui/localizations#fileFor:ea4183b63099 ui/localizations#SOURCE_ROW:0b2b038d7a60 ui/localizations#holds:66da16a1d8a6 ui/localizations#declares:44fc181d2f2e ui/localizations#LOCALIZATIONS:5aa81ac1526e ui/localizations#languagesIn:3c191d1da982 ui/localizations#sourceIn:ca722c0439bb
97
+ material-shape 355d5d618b85 ui/material#Setting:426554dca885 ui/material#BOUND:60b3bf658f7c ui/material#Material:10384161b39a ui/material#FREE:e3380039b05d ui/material#material:1cf1cf5e74a4 ui/material#composed:40eef03784ab ui/material#compose:e3e390f844a8 ui/material#keyframesOf:d2489886fde6
98
+ materials 4ca37dd116b0 ui/materials#MATERIALS:d99dbff5a125 ui/materials#nameOf:ff8fa0760be2 ui/materials#seeds:950628166bbd ui/materials#mismatched:5679b09f6252 ui/materials#orphaned:8865319ec4c3 ui/materials#unguarded:2402578021fc ui/materials#guarding:b0bd4f259649
99
+ media f10dbbca543f ui/elements/media#MediaProps:a6f78a4b17e9 ui/elements/media#Media:dcaabbc68839
100
+ menu 4f69ea6a415f ui/elements/menu#MenuProps:d36936ad43b5 ui/elements/menu#Menu:fba867d9c33c ui/elements/menu.works#MenuItem:02e633272dfb ui/elements/menu.works#Presented:5e5067bd5ae0 ui/elements/menu.works#MenuRow:a802423247f1 ui/elements/menu.works#uses:d6ce5f7df945 ui/elements/menu.works#opener:c69eaabd4bec ui/elements/menu.works#portal:52c185db8c74 ui/elements/menu.works#listing:f17800975fbc ui/elements/menu.works#row:565839797be7 ui/elements/menu.works#measured:f814b8fb25f8
101
+ message-format 093c4f86bcb3 ui/i18n/format#MissingParamError:aa7e44c63280 ui/i18n/format#ParamTypeError:c68d491e4531 ui/i18n/format#FormatOptions:78186c114b44 ui/i18n/format#formatMessage:8bcdb57eb68c
102
+ message-parse 8bed438a6add ui/i18n/parse#Money:a00bde948c6d ui/i18n/parse#Node:fb8f1cd0fbe1 ui/i18n/parse#MessageSyntaxError:f55480cb6fe5 ui/i18n/parse#parseMessage:789d981d91a9 ui/i18n/parse#messageArgs:9c3bae9eeab2
103
+ modes 8637df698b4f ui/modes#holds:09551d35202f ui/modes#MODES:bc3de2fdf92a
104
+ money 41ccdd66db7c ui/elements/money#MoneyProps:bfccaebe6f06 ui/elements/money#Money:32e4d81b941e ui/elements/money.works#shows:7ad4291b35f4
105
+ moulded 882a86e690d3 ui/materials/mat_moulded#MOULDED:f4751a918421
106
+ navigation 0e47d978cd87 ui/navigation#ScreenName:bbfc0371f587 ui/navigation#trailTo:0fb587559b4b
107
+ nudge 7f4195c8619c ui/animations/anm_nudge#NUDGE:35f48565000a
108
+ pagination c62506f06693 ui/elements/pagination#PaginationProps:ccf8727f774b ui/elements/pagination#Pagination:1c1e9106ea48 ui/elements/pagination.works#steps:61d0370471b4 ui/elements/pagination.works#step:ffee64ebf86f
109
+ pop-in 0f5ed5f1732d ui/animations/anm_pop_in#POP_IN:99aab36dd6e6
110
+ pop-out bdb26827c938 ui/animations/anm_pop_out#POP_OUT:09d7a8b68046
111
+ positioning 3a289987f9e8 ui/positioning#AnchorOptions:4c3402cd1a69 ui/positioning#Position:9c70539bcb3d ui/positioning#positionOf:3c3c43bfe549 ui/positioning#useAnchored:593ec514203e
112
+ presentation 8ed76916e8ba ui/door#PRESENTATIONS:0b4b6dd8a649 ui/door#Presentation:5378f3ae7da7 ui/door#PRESENTATION_BEHAVIOUR:11cc9a11a516 ui/door#ClockSubscriber:cd2a448da470 ui/door#Ticker:f3fd8773c688 ui/door#Clock:da7deb95122a ui/door#Surface:7d312cda7a5a
113
+ presented 67a05bb9e520 ui/presented#PresentedProps:ed075c0f7d0b ui/presented#Presented:b5610082d862
114
+ press 8570528dfb22 ui/animations/anm_press#PRESS:93f066007712
115
+ progress f79fdd4eb7bf ui/elements/progress#ProgressProps:754b505c5be3 ui/elements/progress#Progress:1072cc0de3a1 ui/elements/progress.works#measured:56dd5b194e54
116
+ provider 1ea77f0a6489 ui/provider#ThreadUiProps:f9e8a8ef7cb8 ui/provider#ThreadUi:e310895b7a7c
117
+ pulse f90915f67e93 ui/animations/anm_pulse#PULSE:6c5cbf0c4759
118
+ radio-group c903bacce153 ui/elements/radio-group#RadioGroupProps:a44a0a13b29e ui/elements/radio-group#RadioGroup:e53bf0a781d6 ui/elements/radio-group.works#uses:93b2bbc321ab ui/elements/radio-group.works#option:a16909c8c8c1 ui/elements/radio-group.works#shown:5e7a9552c0ad
119
+ react-writer aa38aef215e4 ui/generators/react#compiled:59c5d77cc186 ui/generators/react#ungated:6de55407f5b9 ui/generators/react#loader:08e5438231dd ui/generators/react#plugin:b70a97bb6556
120
+ render-loop be960ec1a828 ui/render-loop#RenderLoop:26cd3aa222be ui/render-loop#RenderLoopError:79c4d40f96f7 ui/render-loop#useRenderLoopDetector:90e66afe4c82
121
+ rise 61ded997838c ui/animations/anm_rise#RISE:d178eebd2d96
122
+ route-grammar 908017e6633d ui/islands/map#ViewId:1803b726a3f2 ui/islands/map#ScreenName:1803b726a3f2 ui/islands/map#ScreenSchema:e34dac772797 ui/islands/map#Screen:d89925503325 ui/islands/map#LinkSchema:2cffc4530649 ui/islands/map#Link:cddf1e8c9a89 ui/islands/map#MapSchema:7534b09abac3 ui/islands/map#MapIsland:cd73cbe9975f
123
+ routes-writer 3d35abc02975 ui/generators/routes#typedRoute:b0bd4f259649 ui/generators/routes#viewsIn:9945a607f187 ui/generators/routes#holding:d2af8731dc6b
124
+ roving-focus cb0ac52a89ee ui/roving-focus#ITEM_ATTR:8b73d7f449d1 ui/roving-focus#RovingOptions:99d861749f5e ui/roving-focus#typeaheadMatch:03faca7fba5b ui/roving-focus#useRovingFocus:3b7852d6152b
125
+ row 3edfc1bb496b ui/elements/row#RowProps:ad269764b266 ui/elements/row#Row:569a64b06443
126
+ rule 378160180b5b ui/variants/var_rule#RULE:27e702157c9c
127
+ scatter 22d298a2efa2 ui/elements/scatter#ScatterProps:91be4e563d68 ui/elements/scatter#Scatter:601a9061ff54 ui/elements/scatter.works#uses:4fc5950fb41d ui/elements/scatter.works#point:d986d6e7e804
128
+ screens 52d643184478 ui/screens#declares:cad46cab877c ui/screens#SCREENS:2412f9a2cc25 ui/screens#nameOf:38eeb450b217 ui/screens#PAGE:b7bbe39b7b35 ui/screens#presentedIn:cb083ae57ffe ui/screens#routeFor:9212f2e08bc1 ui/screens#pageAt:8accc096b285 ui/screens#entryAmong:e8e913cd736e ui/screens#seeds:950628166bbd
129
+ scroll-lock 0f916058a352 ui/scroll-lock#lockScroll:1ebfb8414d04 ui/scroll-lock#scrollLocks:dbe6494f9d41
130
+ select 97ead0eb87a4 ui/elements/select#SelectProps:e5720f21652e ui/elements/select#Select:304fef768983 ui/elements/select.works#does:eae69973c066
131
+ separator 03aeb2b5f1bb ui/elements/separator#SeparatorProps:39c0ed47c8a0 ui/elements/separator#Separator:ef292b7118cf
132
+ series c57f94d44322 ui/series#Oklch:c89405845570 ui/series#hexToOklch:4789883600c4 ui/series#oklchToHex:addb0ebe3e77 ui/series#seriesRamp:dcbdba1604ca ui/series#seriesColour:59e2788e6eda
133
+ shadow-token a853481182c9 ui/tokens/shadow#SHADOW:4be3d61d7b28
134
+ shake 823853a54116 ui/animations/anm_shake#SHAKE:0fa001de0cc4
135
+ show-reader 265e7f6c23c6 ui/generators/show#namedBy:512bfc15cc9b
136
+ signals 71b9ca638d39 ui/signals#SignalEntry:c4df440da285 ui/signals#holds:09920a64717d ui/signals#selectorOf:3760cece0feb ui/signals#SIGNALS:1e4ed72981ce ui/signals#EXCLUSIVE:9246e03a89ae ui/signals#coexist:40aac7cabc7c ui/signals#knowSignals:d809925e46fd ui/signals#signalNames:3ccbfc44dc32 ui/signals#isSignal:7ec24fea5b8b ui/signals#PointerSample:5d35cad46706 ui/signals#GestureFrame:eaf70a3d7781 ui/signals#GesturePhase:b48b44476bac ui/signals#Recognition:5803e495593d ui/signals#IDLE:8343023bcafc ui/signals#GestureEntry:2a90384c0121 ui/signals#defineGesture:f1b67e16a59e ui/signals#gestures:19649f79edf5 ui/signals#gestureFor:978e6ce3869c ui/signals#isGesture:7ec24fea5b8b ui/signals#gestureNames:3ccbfc44dc32 ui/signals#recognise:fac5ccc84865 ui/signals#SignalIssue:4165faba45aa ui/signals#checkInteractions:09d6e5b4183b
137
+ skeleton c3c54fdabacc ui/elements/skeleton#SkeletonProps:4757f547cc95 ui/elements/skeleton#Skeleton:37f365492a9d
138
+ skeleton-block 1d031eb6fe66 ui/variants/var_skeleton-block#SKELETON_BLOCK:c18f7e7cf3dc
139
+ slide-in-left a2090e0e36e3 ui/animations/anm_slide_in_left#SLIDE_IN_LEFT:3f466d0564c7
140
+ slide-in-right 03201522158d ui/animations/anm_slide_in_right#SLIDE_IN_RIGHT:0c4d922d831e
141
+ slide-out-left e770370b0540 ui/animations/anm_slide_out_left#SLIDE_OUT_LEFT:880a18c52b89
142
+ slide-out-right c2a861af9c90 ui/animations/anm_slide_out_right#SLIDE_OUT_RIGHT:a7faf4d2b78c
143
+ slider 29d634b58d3f ui/elements/slider#SliderProps:53c464f32e4b ui/elements/slider#Slider:29e115f5629b ui/elements/slider.works#does:1c10d363e445
144
+ sparkline d000a9f40102 ui/elements/sparkline#SparklineProps:30103b965675 ui/elements/sparkline#Sparkline:541243ee9db2 ui/elements/sparkline.works#uses:b6cc82bd5732 ui/elements/sparkline.works#drawing:62c65ae3b123
145
+ spin 49b33c0bd6ae ui/animations/anm_spin#SPIN:30e735ce0bd4
146
+ spinner dc5d9825ce24 ui/elements/spinner#SpinnerProps:e89b67d88a13 ui/elements/spinner#Spinner:e38e42d0b0c5
147
+ spinner-turning 59556dee7c9f ui/variants/var_spinner-turning#SPINNER_TURNING:0c7bdb2fdf29
148
+ stack 2eeddd1a72a3 ui/elements/stack#StackProps:ad269764b266 ui/elements/stack#Stack:fdd85c412df6
149
+ stat c691e09c06e7 ui/elements/stat#StatProps:96cd57b2e8e4 ui/elements/stat#Stat:fa6a34480102 ui/elements/stat.works#shown:25c9bae03897
150
+ stat-tile c8717d893ac4 ui/variants/var_stat-tile#STAT_TILE:1b611bad8d11
151
+ styleguide-shape fc172d4e9545 ui/styleguide#StyleGuide:872bb558460e ui/styleguide#themedBy:b1e17b642d8c ui/styleguide#kindsHeld:3ccbfc44dc32 ui/styleguide#shapeOf:0191a88f5272 ui/styleguide#chosen:98aeef39cf52 ui/styleguide#shifted:9fa8d7f1bbec
152
+ styleguides c783e16f6e2e ui/styleguides#holds:66da16a1d8a6 ui/styleguides#STYLEGUIDES:e8e2b9e43e3d
153
+ styles-writer 36b119353d0f
154
+ surface fedb1c18423f ui/elements/surface#SurfaceProps:ad269764b266 ui/elements/surface#Surface:553e947ae889 ui/elements/surface.works#uses:8b8e3a9fe8d0
155
+ swell 55b58053ed5a ui/animations/anm_swell#SWELL:e66f7cdef31a
156
+ tab-bar 27306b5f110a ui/variants/var_tab-bar#TAB_BAR:5b7295b1d4a0
157
+ table 45e6a6608811 ui/elements/table#TableProps:96fb88caf788 ui/elements/table#Table:42c3ac158f4e ui/elements/table.works#uses:3085121fd6b4 ui/elements/table.works#shown:75fca49b7d63 ui/elements/table.works#heading:d9482c8fbf24
158
+ tabs c7b67f52b340 ui/elements/tabs#TabsProps:cf28cb6ed29f ui/elements/tabs#Tabs:bdf4c5c4a04a ui/elements/tabs.works#uses:1e91366e992b ui/elements/tabs.works#strip:24729769900c ui/elements/tabs.works#tab:13a2e9b7ad30 ui/elements/tabs.works#opened:768544dc2ba6 ui/elements/tabs.works#panel:a066bd3e1ba8 ui/elements/tabs.works#shown:c14c6452def5
159
+ tap-target 3b1d83984a4c ui/variants/var_tap-target#TAP_TARGET:f83b88aa706b
160
+ text 0f03b3b5bce7 ui/elements/text#TextProps:81c96ab6243e ui/elements/text#Text:7e9a751cc97c
161
+ textarea 76880dee05ad ui/elements/textarea#TextareaProps:9004657bc84f ui/elements/textarea#Textarea:e9304e28d0e9 ui/elements/textarea.works#does:9fddd3177d22
162
+ themes 578150eec4c9 ui/themes#holds:e5c0c9297825 ui/themes#THEMES:66852c882bbe
163
+ time 9a277ad00e23 ui/elements/time#TimeProps:c654fa2d8b40 ui/elements/time#Time:f1090f04bc57 ui/elements/time.works#uses:a10fbc45685b ui/elements/time.works#shows:c92126ddc36e
164
+ toggle 9db23c69b51c ui/elements/toggle#ToggleProps:fefe061bcc79 ui/elements/toggle#Toggle:5e938057fbfe ui/elements/toggle.works#does:9ca75ef2795c
165
+ token-shape d072589be2f5 ui/token#Token:8d672efc335b ui/token#Wearing:10a6833bf679 ui/token#Holds:e30cbdfece90 ui/token#nameOf:7ad5f68e2c86 ui/token#naming:107c722f7b02 ui/token#held:a2b8fff9fbaa ui/token#sheeted:f0b5eed68e64
166
+ tokens 8d3bdf2dc147 ui/tokens#holds:da8687a09455 ui/tokens#declares:040f49b399ed ui/tokens#TOKENS:9e4c1275ec9c ui/tokens#nameOf:ff8fa0760be2 ui/tokens#seeds:950628166bbd ui/tokens#mismatched:5679b09f6252 ui/tokens#orphaned:579e61bf7b35
167
+ tooltip c41d8c367003 ui/elements/tooltip#TooltipProps:c49189b9f17a ui/elements/tooltip#Tooltip:dea7727a0321 ui/elements/tooltip.works#uses:d00d3ada96f8 ui/elements/tooltip.works#showing:cae65122fed6 ui/elements/tooltip.works#bubble:90bd36385377 ui/elements/tooltip.works#measured:2df010cbbfb8
168
+ translator 2e6486cb17d5 ui/i18n/translator#UnknownMessageKeyError:8dd90403c7fe ui/i18n/translator#TranslatorOptions:78186c114b44 ui/i18n/translator#createTranslator:4eb69b879704
169
+ ui-attach a514e9979580 ui/attach#ATTACH_HOME:16475c413846 ui/attach#ATTACH:8b0b999ca5c9
170
+ validators e648b6cfc317 ui/validators#ENTRY_MODES:6238d04fe5a8 ui/validators#KEYBOARDS:38e63312aeee ui/validators#EntryMode:18d83f0e69e6 ui/validators#Keyboard:2316810a5de3 ui/validators#ValidateResult:530bdd02c4e4 ui/validators#valid:3ce6786a6b1c ui/validators#invalid:46bcfbeb6f8e ui/validators#ValidatorContext:cf494e7f96b8 ui/validators#validators:0fd6015be8fa ui/validators#hasValidator:7ec24fea5b8b ui/validators#validatorFor:eaa1acab74f0 ui/validators#runValidator:3fc93347d97f ui/validators#formatValue:062cca5c1239 ui/validators#EntryConstraints:a5662931f360 ui/validators#entryConstraints:676ee3d7fbda ui/validators#acceptsKeystroke:cb848d0041fa ui/validators#applyMask:3f93a2d6184a ui/validators#minorUnits:921fda509ea5 ui/validators#evaluateMoney:e710eca6aed8 ui/validators#limited:77aa553c4b7a
171
+ value f85e6f17b76b ui/elements/value#ValueProps:3346fb6b4e16 ui/elements/value#Value:59ceafd2bbba ui/elements/value.works#shows:07daabb6f547
172
+ variant-rows 601640ae7284 ui/variants#VARIANTS:054eaa012e24
173
+ variant-shape 175a5b8b3821 ui/variant#Variant:c9fa1bded409 ui/variant#propertiesHeld:f2f795682efa ui/variant#freeHeld:3ccbfc44dc32 ui/variant#structural:74cde91fc910 ui/variant#looking:25ed76b8a1b8 ui/variant#variant:58068a021fa3 ui/variant#boundHeld:f2f795682efa ui/variant#camel:ff8fa0760be2 ui/variant#classOf:ff8fa0760be2 ui/variant#classOfElement:ff8fa0760be2 ui/variant#classOfComposition:ff8fa0760be2 ui/variant#classOfScreen:ff8fa0760be2 ui/variant#unreacted:c61cf4383338 ui/variant#complete:068de9765c79 ui/variant#statesOf:c8962010907d ui/variant#under:265eab85913f ui/variant#undeclaredStates:11961d12ec9d
174
+ variants-seeder b38650db0928 ui/generators/variants#nameOf:ff8fa0760be2 ui/generators/variants#seeds:e5c803f28183 ui/generators/variants#mismatched:5679b09f6252 ui/generators/variants#orphaned:8865319ec4c3 ui/generators/variants#unguarded:2402578021fc ui/generators/variants#guarding:b0bd4f259649
175
+ wobble edf6e636810f ui/animations/anm_wobble#WOBBLE:6d3b15f44665
176
+ wrappers 0328fc1efdb7 ui/wrappers#Appearance:ec3028b4b84a ui/wrappers#UiConfig:d899ce533c78 ui/wrappers#UiContext:96dbef1bc6b9 ui/wrappers#UiProvider:49c08762a14c ui/wrappers#useUi:0734231ecf54 ui/wrappers#SurfaceRequest:c8015cd4cd32 ui/wrappers#useSurface:4b8b39afaf79 ui/wrappers#Press:77733f69fb6e ui/wrappers#pressOf:4bdd7232323b ui/wrappers#PressOrigin:3daa7623dd12 ui/wrappers#pressing:65fa29c030f0 ui/wrappers#usePress:486493cd9a8b ui/wrappers#useVisibility:4d1b5ddb676e ui/wrappers#ScreenOptions:244dc14dd3b0 ui/wrappers#ElementBody:71817b4c2a87 ui/wrappers#Element:ab34dbdc55be ui/wrappers#element:a7e4708803dc ui/wrappers#composition:d129e11ec13b ui/wrappers#ScreenControls:6b17634c6ed4 ui/wrappers#useView:97298a47e810 ui/wrappers#screen:80f46a5e3cda ui/wrappers#behaviourOf:5841f6ad0abe
177
+ zoom-in de9f521f292c ui/animations/anm_zoom_in#ZOOM_IN:e39ceba8428e
178
+ zoom-out 841dc6cd15af ui/animations/anm_zoom_out#ZOOM_OUT:0c67b3faf366
179
+ -->
180
+
3
181
  ## 0.1.2
4
182
 
5
183
  something it shipped is gone or is not the shape it was, so taking this one can stop your code compiling.
@@ -160,12 +160,6 @@ export async function mismatched(rows, loader) {
160
160
  }
161
161
  return found;
162
162
  }
163
- function extensionOf(path) {
164
- const name = basename(path);
165
- const at = name.lastIndexOf('.');
166
- return at === -1 ? '' : name.slice(at);
167
- }
168
- const ANM_PREFIX = /^anm_/;
169
163
  export function orphaned(rows, strays) {
170
164
  const named = new Set(rows.map((row) => row.at));
171
165
  return strays
@@ -1,5 +1,5 @@
1
- import { existsSync, readdirSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
- import { basename, dirname, join } from 'node:path'
1
+ import { existsSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
+ import { basename, join } from 'node:path'
3
3
  import { argv, stdout } from 'node:process'
4
4
  import { pathToFileURL } from 'node:url'
5
5
 
@@ -231,14 +231,6 @@ export async function mismatched(
231
231
  return found
232
232
  }
233
233
 
234
- function extensionOf(path: string): string {
235
- const name = basename(path)
236
- const at = name.lastIndexOf('.')
237
- return at === -1 ? '' : name.slice(at)
238
- }
239
-
240
- const ANM_PREFIX = /^anm_/
241
-
242
234
  export function orphaned(rows: readonly Threaded[], strays: readonly string[]): readonly string[] {
243
235
  const named = new Set(rows.map((row) => row.at))
244
236
  return strays
@@ -1,10 +1,9 @@
1
1
  'use client'
2
2
 
3
- import { formatValue } from './validators.ts'
4
- import { seriesColour, seriesRamp } from './series.ts'
3
+ import { seriesRamp } from './series.ts'
5
4
  import { classOfElement } from './variant.ts'
6
5
 
7
- import { element, useSurface, useUi } from './wrappers.tsx'
6
+ import { useUi } from './wrappers.tsx'
8
7
  import type { MessageKey } from './content.tsx'
9
8
 
10
9
  export type Row = Readonly<Record<string, unknown>>
@@ -1,4 +1,4 @@
1
- import { type ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  import { useSurface } from './wrappers.tsx';
3
3
  export type MessageKey = string;
4
4
  export interface ValueProps {
@@ -1,10 +1,9 @@
1
1
  'use client'
2
2
 
3
- import { useCallback, useSyncExternalStore, type ReactNode } from 'react'
3
+ import type { ReactNode } from 'react'
4
4
  import { formatValue, runValidator } from './validators.ts'
5
- import { ICON_TARGET, strokeFor } from './icons.ts'
6
5
 
7
- import { element, useSurface, useUi, useVisibility } from './wrappers.tsx'
6
+ import { useSurface } from './wrappers.tsx'
8
7
 
9
8
  export type MessageKey = string
10
9
 
@@ -1,10 +1,5 @@
1
1
  'use client'
2
2
 
3
- import { useRef, useState } from 'react'
4
- import { acceptsKeystroke, applyMask, entryConstraints, evaluateMoney, runValidator } from './validators.ts'
5
-
6
- import { ITEM_ATTR, useRovingFocus } from './roving-focus.ts'
7
- import { element, pressOf, useSurface, usePress } from './wrappers.tsx'
8
3
  import type { MessageKey } from './content.tsx'
9
4
  import type { Dispatching } from './checked.ts'
10
5
 
@@ -1,4 +1,4 @@
1
- import { type ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  import type { MessageKey } from './content.tsx';
3
3
  export interface TabItem {
4
4
  readonly id: string;
@@ -1,9 +1,7 @@
1
1
  'use client'
2
2
 
3
- import { useId, useRef, useState, type ReactNode } from 'react'
3
+ import type { ReactNode } from 'react'
4
4
 
5
- import { ITEM_ATTR, useRovingFocus } from './roving-focus.ts'
6
- import { element, useSurface } from './wrappers.tsx'
7
5
  import type { MessageKey } from './content.tsx'
8
6
 
9
7
  export interface TabItem {
@@ -1,6 +1,5 @@
1
1
  'use client'
2
2
 
3
- import type { MessageKey } from '../content.tsx'
4
3
  import { roleClass } from '../fonts.ts'
5
4
  import type { TabItem } from '../disclosure.tsx'
6
5
 
@@ -11,7 +11,7 @@ import { Each } from '../elements/each.js';
11
11
  import { title, policy, hasPolicy, categories, label, describe, chooser, optional, fixed, required, withdraw, withdrawable, decline, accept, acceptAll, uses } from './consent.works.js';
12
12
  export const Consent = element('Consent', (props, className) => {
13
13
  const kept = uses(props);
14
- const surface = useSurface({ className: roleClass(undefined, className),
14
+ useSurface({ className: roleClass(undefined, className),
15
15
  invokes: { ...(props.dispatch === undefined ? {} : { dispatch: props.dispatch }), ...(props.input === undefined ? {} : { input: props.input }), ...(props.invokeOn === undefined ? {} : { on: props.invokeOn }) },
16
16
  holds: [
17
17
  ...(kept.holds ?? []),
@@ -29,7 +29,7 @@ export const Consent: Element<'Consent', ConsentProps> = element(
29
29
  'Consent',
30
30
  (props: ConsentProps, className) => {
31
31
  const kept = uses(props)
32
- const surface = useSurface({ className: roleClass(undefined, className),
32
+ useSurface({ className: roleClass(undefined, className),
33
33
  invokes: { ...(props.dispatch === undefined ? {} : { dispatch: props.dispatch }), ...(props.input === undefined ? {} : { input: props.input }), ...(props.invokeOn === undefined ? {} : { on: props.invokeOn }) },
34
34
  holds: [
35
35
  ...(kept.holds ?? []),
@@ -1,6 +1,6 @@
1
1
  import { type GesturePhase } from '../signals.ts';
2
2
  import { type PointerEvent, type ReactNode } from 'react';
3
- import { type DragStatus, type Subject } from '../drag.ts';
3
+ import { type DragStatus } from '../drag.ts';
4
4
  import { useSurface } from '../wrappers.tsx';
5
5
  import type { HitBoxProps } from './hit-box.tsx';
6
6
  export type Axis = 'x' | 'y' | 'both';
@@ -52,7 +52,7 @@ export declare function uses(props: HitBoxProps): {
52
52
  setLean: import("react").Dispatch<import("react").SetStateAction<number>>;
53
53
  leanSpeed: import("react").RefObject<number>;
54
54
  lastTick: import("react").RefObject<number>;
55
- grabbed: import("react").RefObject<readonly Subject[] | Subject | undefined>;
55
+ grabbed: import("react").RefObject<readonly import("../drag.ts").Subject[] | import("../drag.ts").Subject | undefined>;
56
56
  grabsKey: string;
57
57
  tuned: import("react").RefObject<Readonly<Record<string, number>> | undefined>;
58
58
  tuningKey: string;
@@ -170,7 +170,7 @@ export function uses(props) {
170
170
  }
171
171
  export function wires(props, kept, surface) {
172
172
  const { dispatch: invoke } = useUi();
173
- const { pull, id, claimed, down, setDown, phase, setPhase, produced, setProduced, released, took, pointer, setPointer, settling, setSettling, speed, moved, lean, setLean, leanSpeed, lastTick, grabbed, grabsKey, tuned, tuningKey, node, clockNow, wants, synthesised, tracked, at, lastFrame, key, status, carrying, raises } = kept;
173
+ const { pull, id, down, setDown, phase, setPhase, setProduced, released, took, pointer, setPointer, settling, setSettling, speed, moved, lean, setLean, leanSpeed, lastTick, grabbed, grabsKey, tuned, tuningKey, node, clockNow, tracked, at, lastFrame, key, carrying } = kept;
174
174
  useEffect(() => {
175
175
  if (!down)
176
176
  return undefined;
@@ -23,7 +23,6 @@ import {
23
23
  type DragSession,
24
24
  type DragStatus,
25
25
  type DropTarget,
26
- type Subject,
27
26
  } from '../drag.ts'
28
27
  import { measured, placed } from '../charts.tsx'
29
28
  import { nameOf } from '../token.ts'
@@ -246,7 +245,7 @@ export function uses(props: HitBoxProps) {
246
245
 
247
246
  export function wires(props: HitBoxProps, kept: ReturnType<typeof uses>, surface: ReturnType<typeof useSurface>) {
248
247
  const { dispatch: invoke } = useUi()
249
- const { pull, id, claimed, down, setDown, phase, setPhase, produced, setProduced, released, took, pointer, setPointer, settling, setSettling, speed, moved, lean, setLean, leanSpeed, lastTick, grabbed, grabsKey, tuned, tuningKey, node, clockNow, wants, synthesised, tracked, at, lastFrame, key, status, carrying, raises } = kept
248
+ const { pull, id, down, setDown, phase, setPhase, setProduced, released, took, pointer, setPointer, settling, setSettling, speed, moved, lean, setLean, leanSpeed, lastTick, grabbed, grabsKey, tuned, tuningKey, node, clockNow, tracked, at, lastFrame, key, carrying } = kept
250
249
 
251
250
  useEffect(() => {
252
251
  if (!down) return undefined
@@ -1,6 +1,5 @@
1
1
  'use client'
2
2
 
3
- import type { MessageKey } from '../content.tsx'
4
3
  import { roleClass, type FontRoleId } from '../fonts.ts'
5
4
 
6
5
  import type { Dispatching } from '../checked.ts'
@@ -1,6 +1,5 @@
1
1
  'use client'
2
2
 
3
- import type { MessageKey } from '../content.tsx'
4
3
  import { roleClass } from '../fonts.ts'
5
4
  import type { TabItem } from '../disclosure.tsx'
6
5
 
@@ -1,6 +1,5 @@
1
1
  'use client'
2
2
 
3
- import type { MessageKey } from '../content.tsx'
4
3
  import { roleClass, type FontRoleId } from '../fonts.ts'
5
4
 
6
5
  import type { Dispatching } from '../checked.ts'
@@ -1,6 +1,5 @@
1
1
  'use client'
2
2
 
3
- import type { MessageKey } from '../content.tsx'
4
3
  import { roleClass, type FontRoleId } from '../fonts.ts'
5
4
 
6
5
  import type { Dispatching } from '../checked.ts'
@@ -81,7 +81,6 @@ export function translated(name, tag, arranges, raises, from, carries = {}, alwa
81
81
  }),
82
82
  ...raises.map((one) => ` readonly ${one}?: boolean`),
83
83
  ];
84
- const SAID = new Set(['tag', 'shows', 'reads', 'holds', 'each', 'by', 'takes', 'marks', 'gives', 'keyed', 'when']);
85
84
  const named = [
86
85
  ...new Set(Object.values(places)
87
86
  .map((made) => made?.['tag'])
@@ -276,6 +275,7 @@ export function translated(name, tag, arranges, raises, from, carries = {}, alwa
276
275
  .filter(([key]) => key !== 'by')
277
276
  .map(([key, one]) => ` case '${key}':\n return (\n ${written(one).split('\n').join('\n ')}\n )`)
278
277
  .join('\n')}\n default:\n return null\n }\n })()`;
278
+ const speaks = wires !== undefined || /\bsurface\b/.test(shut);
279
279
  const fromProps = measures.filter((one) => carries[one] !== undefined);
280
280
  const computes = measures.filter((one) => carries[one] === undefined);
281
281
  const passed = fromProps.map((one) => `${JSON.stringify(one)}: String(props.${one} ?? '')`).join(', ');
@@ -300,7 +300,7 @@ ${[
300
300
  ...(arranges || stated.some(([, kind]) => KINDS[kind]?.from === 'react' || KINDS[kind]?.from === 'both')
301
301
  ? ["import type { ReactNode } from 'react'"]
302
302
  : []),
303
- ...((!arranges && !silent && !bare && called === undefined) || stated.some(([, kind]) => KINDS[kind]?.from === 'content')
303
+ ...((!arranges && !worded) || stated.some(([, kind]) => KINDS[kind]?.from === 'content')
304
304
  ? [`import type { MessageKey } from '${from.content}'`]
305
305
  : []),
306
306
  ...(stated.some(([, kind]) => KINDS[kind]?.from === 'rows' || KINDS[kind]?.from === 'both') ? [`import type { Row } from '${from.rows}'`] : []),
@@ -331,7 +331,7 @@ ${[...props, ...invoking].join('\n')}
331
331
  export const ${made}: Element<'${made}', ${made}Props> = element(
332
332
  '${made}',
333
333
  (props: ${made}Props, className) => {
334
- ${keeps ? ' const kept = uses(props)\n' : ''} const surface = useSurface({ className${roled},\n invokes: { ...(props.dispatch === undefined ? {} : { dispatch: props.dispatch }), ...(props.input === undefined ? {} : { input: props.input }), ...(props.invokeOn === undefined ? {} : { on: props.invokeOn }) },${held}${taken}${animates ? '\n animates: true,' : ''}${keeps ? "\n ...(kept.animates === undefined ? {} : { animates: kept.animates })," : ''} })${wires === undefined ? '' : `\n const wired = ${wires}(props${keeps ? ', kept' : ''}, surface)`}
334
+ ${keeps ? ' const kept = uses(props)\n' : ''} ${speaks ? 'const surface = ' : ''}useSurface({ className${roled},\n invokes: { ...(props.dispatch === undefined ? {} : { dispatch: props.dispatch }), ...(props.input === undefined ? {} : { input: props.input }), ...(props.invokeOn === undefined ? {} : { on: props.invokeOn }) },${held}${taken}${animates ? '\n animates: true,' : ''}${keeps ? "\n ...(kept.animates === undefined ? {} : { animates: kept.animates })," : ''} })${wires === undefined ? '' : `\n const wired = ${wires}(props${keeps ? ', kept' : ''}, surface)`}
335
335
  return (
336
336
  ${shut}
337
337
  )
@@ -118,8 +118,6 @@ export function translated(
118
118
  ...raises.map((one) => ` readonly ${one}?: boolean`),
119
119
  ]
120
120
 
121
- const SAID = new Set(['tag', 'shows', 'reads', 'holds', 'each', 'by', 'takes', 'marks', 'gives', 'keyed', 'when'])
122
-
123
121
  const named = [
124
122
  ...new Set(
125
123
  Object.values(places)
@@ -380,6 +378,7 @@ export function translated(
380
378
  .map(([key, one]) => ` case '${key}':\n return (\n ${written(one).split('\n').join('\n ')}\n )`)
381
379
  .join('\n')}\n default:\n return null\n }\n })()`
382
380
 
381
+ const speaks = wires !== undefined || /\bsurface\b/.test(shut)
383
382
  const fromProps = measures.filter((one) => carries[one] !== undefined)
384
383
  const computes = measures.filter((one) => carries[one] === undefined)
385
384
  const passed = fromProps.map((one) => `${JSON.stringify(one)}: String(props.${one} ?? '')`).join(', ')
@@ -410,7 +409,7 @@ ${[
410
409
  ...(arranges || stated.some(([, kind]) => KINDS[kind]?.from === 'react' || KINDS[kind]?.from === 'both')
411
410
  ? ["import type { ReactNode } from 'react'"]
412
411
  : []),
413
- ...((!arranges && !silent && !bare && called === undefined) || stated.some(([, kind]) => KINDS[kind]?.from === 'content')
412
+ ...((!arranges && !worded) || stated.some(([, kind]) => KINDS[kind]?.from === 'content')
414
413
  ? [`import type { MessageKey } from '${from.content}'`]
415
414
  : []),
416
415
  ...(stated.some(([, kind]) => KINDS[kind]?.from === 'rows' || KINDS[kind]?.from === 'both') ? [`import type { Row } from '${from.rows}'`] : []),
@@ -441,7 +440,7 @@ ${[...props, ...invoking].join('\n')}
441
440
  export const ${made}: Element<'${made}', ${made}Props> = element(
442
441
  '${made}',
443
442
  (props: ${made}Props, className) => {
444
- ${keeps ? ' const kept = uses(props)\n' : ''} const surface = useSurface({ className${roled},\n invokes: { ...(props.dispatch === undefined ? {} : { dispatch: props.dispatch }), ...(props.input === undefined ? {} : { input: props.input }), ...(props.invokeOn === undefined ? {} : { on: props.invokeOn }) },${held}${taken}${animates ? '\n animates: true,' : ''}${keeps ? "\n ...(kept.animates === undefined ? {} : { animates: kept.animates })," : ''} })${wires === undefined ? '' : `\n const wired = ${wires}(props${keeps ? ', kept' : ''}, surface)`}
443
+ ${keeps ? ' const kept = uses(props)\n' : ''} ${speaks ? 'const surface = ' : ''}useSurface({ className${roled},\n invokes: { ...(props.dispatch === undefined ? {} : { dispatch: props.dispatch }), ...(props.input === undefined ? {} : { input: props.input }), ...(props.invokeOn === undefined ? {} : { on: props.invokeOn }) },${held}${taken}${animates ? '\n animates: true,' : ''}${keeps ? "\n ...(kept.animates === undefined ? {} : { animates: kept.animates })," : ''} })${wires === undefined ? '' : `\n const wired = ${wires}(props${keeps ? ', kept' : ''}, surface)`}
445
444
  return (
446
445
  ${shut}
447
446
  )
@@ -1,5 +1,5 @@
1
1
  import { existsSync, readFileSync, readdirSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
- import { dirname, join, relative } from 'node:path'
2
+ import { join, relative } from 'node:path'
3
3
  import { argv, stderr, stdout } from 'node:process'
4
4
  import { pathToFileURL } from 'node:url'
5
5
 
@@ -4,7 +4,6 @@ import { existsSync, readdirSync, readFileSync, writeFileSync } from '@prestack/
4
4
  import { valuesIn } from '@prestack/thread/core/rows'
5
5
  import { dirname, join } from 'node:path'
6
6
  import { argv, stderr, stdout } from 'node:process'
7
- import { pathToFileURL } from 'node:url'
8
7
 
9
8
  import { exit } from '@prestack/thread/core/invoked'
10
9
  import { findTree, inTree } from '@prestack/thread/core/tree'
@@ -2,7 +2,6 @@ import { existsSync, readFileSync, readdirSync } from '@prestack/thread/integrat
2
2
  import { valuesIn } from '@prestack/thread/core/rows'
3
3
  import { join, resolve } from 'node:path'
4
4
  import { argv, stdout } from 'node:process'
5
- import { pathToFileURL } from 'node:url'
6
5
 
7
6
  import { exit, invoked } from '@prestack/thread/core/invoked'
8
7
  import { named as packageOf } from '@prestack/thread/core/scope'
@@ -1,5 +1,5 @@
1
1
  import { existsSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
- import { dirname, join, resolve } from 'node:path'
2
+ import { join, resolve } from 'node:path'
3
3
  import { argv, stderr, stdout } from 'node:process'
4
4
  import { fileURLToPath, pathToFileURL } from 'node:url'
5
5
 
@@ -10,7 +10,7 @@ import { findTree, inTree } from '@prestack/thread/core/tree'
10
10
  import { keyframeName, shorthandOf, stopsOf, type Animation } from '../animations.ts'
11
11
  import { classOfRole, familyFor, fontStack, fontVariable, setNamed, settingsOf, type FontRole } from '../fonts.ts'
12
12
  import { sizeNamed, sizeRows, SIZE_PREFIX } from '../icons.ts'
13
- import { compose, composed, keyframesOf, type Material } from '../material.ts'
13
+ import { compose, keyframesOf, type Material } from '../material.ts'
14
14
  import { checkInteractions, knowSignals } from '../signals.ts'
15
15
  import { chosen, shifted, themedBy, type StyleGuide } from '../styleguide.ts'
16
16
  import { naming, nameOf, sheeted, type Holds, type Token } from '../token.ts'
@@ -7,7 +7,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
7
7
  return path;
8
8
  };
9
9
  import { existsSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk';
10
- import { basename, join, resolve } from 'node:path';
10
+ import { join, resolve } from 'node:path';
11
11
  import { argv, stdout } from 'node:process';
12
12
  import { fileURLToPath, pathToFileURL } from 'node:url';
13
13
  import { exit, invoked } from '@prestack/thread/core/invoked';
@@ -44,12 +44,6 @@ export async function mismatched(rows, loader) {
44
44
  }
45
45
  return found;
46
46
  }
47
- function extensionOf(path) {
48
- const name = basename(path);
49
- const at = name.lastIndexOf('.');
50
- return at === -1 ? '' : name.slice(at);
51
- }
52
- const VAR_PREFIX = /^var_/;
53
47
  export function orphaned(rows, strays) {
54
48
  const named = new Set(rows.map((row) => row.at));
55
49
  return strays
@@ -1,5 +1,5 @@
1
- import { existsSync, readdirSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
- import { basename, dirname, join, resolve } from 'node:path'
1
+ import { existsSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
+ import { join, resolve } from 'node:path'
3
3
  import { argv, stdout } from 'node:process'
4
4
  import { fileURLToPath, pathToFileURL } from 'node:url'
5
5
 
@@ -53,14 +53,6 @@ export async function mismatched(
53
53
  return found
54
54
  }
55
55
 
56
- function extensionOf(path: string): string {
57
- const name = basename(path)
58
- const at = name.lastIndexOf('.')
59
- return at === -1 ? '' : name.slice(at)
60
- }
61
-
62
- const VAR_PREFIX = /^var_/
63
-
64
56
  export function orphaned(rows: readonly Threaded[], strays: readonly string[]): readonly string[] {
65
57
  const named = new Set(rows.map((row) => row.at))
66
58
  return strays
@@ -67,12 +67,6 @@ export async function mismatched(rows, loader) {
67
67
  }
68
68
  return found;
69
69
  }
70
- function extensionOf(path) {
71
- const name = basename(path);
72
- const at = name.lastIndexOf('.');
73
- return at === -1 ? '' : name.slice(at);
74
- }
75
- const MAT_PREFIX = /^mat_/;
76
70
  export function orphaned(rows, strays) {
77
71
  const named = new Set(rows.map((row) => row.at));
78
72
  return strays
@@ -1,5 +1,5 @@
1
- import { existsSync, readdirSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
- import { basename, dirname, join } from 'node:path'
1
+ import { existsSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
+ import { basename, join } from 'node:path'
3
3
  import { argv, stdout } from 'node:process'
4
4
  import { pathToFileURL } from 'node:url'
5
5
 
@@ -75,14 +75,6 @@ export async function mismatched(
75
75
  return found
76
76
  }
77
77
 
78
- function extensionOf(path: string): string {
79
- const name = basename(path)
80
- const at = name.lastIndexOf('.')
81
- return at === -1 ? '' : name.slice(at)
82
- }
83
-
84
- const MAT_PREFIX = /^mat_/
85
-
86
78
  export function orphaned(rows: readonly Threaded[], strays: readonly string[]): readonly string[] {
87
79
  const named = new Set(rows.map((row) => row.at))
88
80
  return strays
@@ -2,10 +2,7 @@
2
2
 
3
3
  import type { MapIsland, Screen } from './islands/map.ts'
4
4
 
5
- import { Link } from './elements/link.tsx'
6
-
7
5
  export type ScreenName = Screen['id']
8
- import { element, useSurface } from './wrappers.tsx'
9
6
 
10
7
  export function trailTo(map: MapIsland, to: ScreenName): readonly ScreenName[] {
11
8
  const entries = map.screens.filter((s) => s.entry).map((s) => s.id)
@@ -1,5 +1,5 @@
1
1
  import { existsSync, readFileSync, writeFileSync } from '@prestack/thread/integrations/disk'
2
- import { basename, dirname, join } from 'node:path'
2
+ import { basename, join } from 'node:path'
3
3
  import { argv, stdout } from 'node:process'
4
4
 
5
5
  import { exit, invoked } from '@prestack/thread/core/invoked'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prestack/thread-ui",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -17,6 +17,6 @@
17
17
  "react-dom": "^19.0.0",
18
18
  "typescript": "^6.0.0",
19
19
  "zod": "^4.5.4",
20
- "@prestack/thread": "^0.1.5"
20
+ "@prestack/thread": "^0.1.8"
21
21
  }
22
22
  }