@archetypeai/ds-cli 0.14.0 → 0.15.0
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/files/ds-manifest.json +45 -6
- package/package.json +1 -1
package/files/ds-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "archetypeai-design-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"name": "alert",
|
|
@@ -754,11 +754,17 @@
|
|
|
754
754
|
"source": "https://design-system-labs.archetypeai.workers.dev/r/logo.json",
|
|
755
755
|
"description": "Archetype AI brand logo mark.",
|
|
756
756
|
"usage": [
|
|
757
|
-
"Headers: `<Logo class=\"h-6 w-auto\" />` next to the app title; sizes sm | default | lg."
|
|
757
|
+
"Headers: `<Logo class=\"h-6 w-auto\" />` next to the app title; sizes sm | default | lg.",
|
|
758
|
+
"Compact lockup: `variant=\"compact\"` is the stacked social/avatar artwork (~1.6:1 instead of the wordmark's ~5.4:1). Use it where a horizontal wordmark will not fit — square tiles, avatars, narrow sidebars, splash marks. Defaults to `variant=\"default\"`.",
|
|
759
|
+
"Sizing is shared: both variants honour size sm | default | lg (h-4 | h-6 | h-8) and take their width from the artwork aspect, so compact renders far narrower at the same height. Prefer default or lg for compact."
|
|
758
760
|
],
|
|
759
761
|
"variants": {
|
|
760
762
|
"logoVariants": {
|
|
761
763
|
"axes": {
|
|
764
|
+
"variant": [
|
|
765
|
+
"default",
|
|
766
|
+
"compact"
|
|
767
|
+
],
|
|
762
768
|
"size": [
|
|
763
769
|
"sm",
|
|
764
770
|
"default",
|
|
@@ -766,6 +772,7 @@
|
|
|
766
772
|
]
|
|
767
773
|
},
|
|
768
774
|
"defaults": {
|
|
775
|
+
"variant": "default",
|
|
769
776
|
"size": "default"
|
|
770
777
|
}
|
|
771
778
|
}
|
|
@@ -1120,8 +1127,11 @@
|
|
|
1120
1127
|
"description": "Hover hint.",
|
|
1121
1128
|
"usage": [
|
|
1122
1129
|
"Wrap the app/section in `Tooltip.Provider delayDuration={200}`.",
|
|
1123
|
-
"Field help: `Tooltip.Trigger variant=\"info\"`
|
|
1124
|
-
"`
|
|
1130
|
+
"Field help: `Tooltip.Trigger variant=\"info\"` is a filled 20px disc holding a mono `i` — pass it no children, it renders its own glyph. Explanation goes in `Tooltip.Content`.",
|
|
1131
|
+
"`aria-label` on the info trigger is required and is the caller's: name what is being explained (`aria-label=\"About Detection Log\"`). The glyph is `aria-hidden`, so without a label the button has no accessible name.",
|
|
1132
|
+
"The info disc squares against `Counter`'s height on purpose — a list title, its `Counter` and its info disc in one `flex items-center gap-2` row is the intended cluster, the solid pill reading as the count and the muted one as the meaning.",
|
|
1133
|
+
"`variant=\"inlineLink\"` — underlined trigger flowing inside prose (supported file requirements).",
|
|
1134
|
+
"The arrow centres itself on the trigger on all four sides and protrudes half its box — `arrowClasses` is for its ink or size, not for centring corrections. If a tip looks off, it is a bug in `tooltipArrowVariants`, not something to counter-shift at the call site."
|
|
1125
1135
|
],
|
|
1126
1136
|
"variants": {
|
|
1127
1137
|
"tooltipTriggerVariants": {
|
|
@@ -1142,9 +1152,16 @@
|
|
|
1142
1152
|
"name": "video-player",
|
|
1143
1153
|
"import": "@archetypeai/ds-ui-svelte-labs/primitives/video-player",
|
|
1144
1154
|
"source": "https://design-system-labs.archetypeai.workers.dev/r/video-player.json",
|
|
1145
|
-
"description": "Media-playback card
|
|
1155
|
+
"description": "Media-playback card whose seek track doubles as a timeline: named marker windows, tinted highlight bands and bindable playback state. Composes Card + AspectRatio + Button + Slider.",
|
|
1146
1156
|
"usage": [
|
|
1147
|
-
"`<VideoPlayer src muted />` for the standard controlled player; `controls={false}` for ambient/looping footage."
|
|
1157
|
+
"`<VideoPlayer src muted />` for the standard controlled player; `controls={false}` for ambient/looping footage. `preload=\"metadata\"` by default, so `duration` is known before the first play.",
|
|
1158
|
+
"Playback state: `bind:time` / `bind:duration` / `bind:paused` mirror the media element out, and `time` and `paused` are writable - assigning to `time` seeks, assigning `paused = false` plays. That is how another view drives the player.",
|
|
1159
|
+
"Markers: `markers={[{ start, end, label?, color? }]}` in **seconds, not fractions** draws one focusable dot per window on the seek track. Clicking a dot expands it into a range pill, seeks to its start and plays; one is expanded at a time, and `bind:activeMarker` is its index (or null). Scrubbing by hand, or a click on the video surface, collapses it. `loopActiveMarker` loops playback inside the expanded window.",
|
|
1160
|
+
"Linked brushing: `highlights={[{ start, end, color? }]}` tints regions another view is pointing at (brushing in), and `onMarkerHover(index | null)` fires on hover **and focus** so a hovered marker can highlight the matching row elsewhere (brushing out).",
|
|
1161
|
+
"Two lifecycle traps when `src` changes: a new `src` remounts the player and Svelte's media bindings write your bound values into the fresh element, so reset `time = 0` and `paused = true` yourself or a stale position becomes the new clip's start; and `bind:duration` holds the previous clip's value until `loadedmetadata`, so reseed `duration` from a known length if marker geometry must be right on the first frame (`duration === 0` collapses every marker to the left edge).",
|
|
1162
|
+
"`controlsVisibility=\"always\"` pins the control bar open - required whenever markers must stay clickable during playback, since the default `\"auto\"` fades the bar (and the markers with it) 2.5s into playback. `formatTime` replaces the mm:ss clock in the time readout and the marker captions.",
|
|
1163
|
+
"Style hooks: `data-slot` on `video-player`, `-video`, `-overlay`, `-controls`, `-time`, `-markers`, `-marker` (carries `data-expanded`), `-marker-caption`, `-highlight`. A per-marker `color` inks the outline and fill via `currentColor`.",
|
|
1164
|
+
"Marker seeking needs an origin that serves HTTP Range requests; against one that does not, seeks silently do nothing (serve the clip from a blob URL instead)."
|
|
1148
1165
|
],
|
|
1149
1166
|
"variants": {
|
|
1150
1167
|
"videoPlayerOverlayVariants": {
|
|
@@ -1168,6 +1185,28 @@
|
|
|
1168
1185
|
"defaults": {
|
|
1169
1186
|
"visible": "true"
|
|
1170
1187
|
}
|
|
1188
|
+
},
|
|
1189
|
+
"videoPlayerMarkerVariants": {
|
|
1190
|
+
"axes": {
|
|
1191
|
+
"expanded": [
|
|
1192
|
+
"true",
|
|
1193
|
+
"false"
|
|
1194
|
+
],
|
|
1195
|
+
"filled": [
|
|
1196
|
+
"true",
|
|
1197
|
+
"false"
|
|
1198
|
+
],
|
|
1199
|
+
"emphasis": [
|
|
1200
|
+
"hidden",
|
|
1201
|
+
"full",
|
|
1202
|
+
"ambient"
|
|
1203
|
+
]
|
|
1204
|
+
},
|
|
1205
|
+
"defaults": {
|
|
1206
|
+
"expanded": "false",
|
|
1207
|
+
"filled": "false",
|
|
1208
|
+
"emphasis": "ambient"
|
|
1209
|
+
}
|
|
1171
1210
|
}
|
|
1172
1211
|
}
|
|
1173
1212
|
}
|