@rogieking/figui3 8.9.33 → 8.9.35

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.
@@ -59,7 +59,7 @@ Shared:
59
59
  | `propskit-text` | `#propskit-text` | `fig-input-text` | `type`, `readonly` |
60
60
  | `propskit-number` | `#propskit-number` | `fig-input-number` | `min`, `max`, `step`, `precision`, `units`, `steppers` |
61
61
  | `propskit-slider` | `#propskit-slider` | `fig-slider` | `type` range/hue/delta/stepper/opacity; `elastic` default true |
62
- | `propskit-wheel` | `#propskit-wheel` | `fig-input-wheel` + optional `fig-input-number` | Labeled scrubber with `label`, `text`, `precision`, `units`, `default`/reset, `size`, and `variant`; units stay on the wrapper/number field and the effective step is applied to the wheel |
62
+ | `propskit-wheel` | `#propskit-wheel` | `fig-input-wheel` + optional `fig-input-number` | Labeled scrubber with `label`, `text`, `spin`, `precision`, `units`, `default`/reset, `size`, and `variant`; units stay on the wrapper/number field and the effective step is applied to the wheel |
63
63
  | `propskit-position` | `#propskit-position` | two numbers | `x`, `y`, `units="percent"` |
64
64
  | `propskit-color-point` | `#propskit-color-point` | color + position | JSON `value`; `collapsible`, `open` |
65
65
  | `propskit-point-radius` | `#propskit-point-radius` | position + radius | JSON `value` |
@@ -99,7 +99,7 @@ Rich select (requires editor):
99
99
  |---|---|---|
100
100
  | `fig-canvas-control` | `#canvas-control` | Overlay on a positioned parent. `type`: `point` (default), `color`, `point-radius`, `point-radius-angle`, `point-point`. `value` JSON `{x,y,radius?,angle?,x2?,y2?}`. `snapping="modifier\|true\|false"`, `name`, `tooltips`, `color` |
101
101
  | `fig-input-angle` | `#angle` | Dial + optional text. `text`, `dial` default true, `rotations`, `min`/`max`/`units` |
102
- | `fig-input-wheel` | `#input-wheel` | Standalone SVG tick + handle scrubber. Numeric `value`, optional `min`/`max`, `step` default 1, `elastic` default true, `disabled` |
102
+ | `fig-input-wheel` | `#input-wheel` | Standalone SVG tick + handle scrubber. Numeric `value`, optional `min`/`max`, `step` default 1, `spin` and `elastic` default true, `disabled` |
103
103
  | `fig-reorder` | `#reorder` | `display:contents` wrapper; drag-reorders **direct children**. `axis="vertical\|horizontal"`, `handle` CSS selector when rows contain nested controls. Event: `reorder` `{ oldIndex, newIndex, item }` |
104
104
 
105
105
  ```html
@@ -37,9 +37,9 @@ Inner `fig-slider` still needs `min` / `max` / `step` / `value` as forwarded att
37
37
 
38
38
  Standalone interactive SVG tick + handle scrubber in the lab bundle.
39
39
 
40
- - Attrs: `value` (default `0`), `step` (default `1`), optional `min`/`max`, `elastic` (default true), `disabled`
40
+ - Attrs: `value` (default `0`), `step` (default `1`), optional `min`/`max`, `spin` (default true), `elastic` (default true), `disabled`
41
41
  - Props: `value`, `min`, `max`, `step`
42
- - Methods: `focus()`, `beginScrub()`, `updateScrub()`, `endScrub()`
42
+ - Methods: `focus()`, `spinTo(value)`, `beginScrub()`, `updateScrub()`, `endScrub()`
43
43
  - Events: numeric `input` and `change`, bubbling and composed
44
44
  - ARIA value text is numeric
45
45
  - Not supported: `units`, `text`, `precision`, `label`, `size`, `variant`, `default`/reset, or a number field
@@ -51,7 +51,7 @@ Standalone interactive SVG tick + handle scrubber in the lab bundle.
51
51
 
52
52
  ## `propskit-wheel`
53
53
 
54
- Composes `fig-input-wheel` with an optional `fig-input-number`. It retains `label`, `text`, `precision`, `units`, `default`/reset, `size`, and `variant`. Units and time aliases are wrapper/number-field behavior: normalized `s` defaults to step `0.1` and precision `2`, normalized `ms` defaults to step `100` and precision `0`, and other units default to step `1` and precision `0`. The wrapper applies the effective step and unit-aware `aria-valuetext` to the child wheel, but never sets child `units`.
54
+ Composes `fig-input-wheel` with an optional `fig-input-number`. It retains `label`, `text`, `spin`, `precision`, `units`, `default`/reset, `size`, and `variant`. Set `spin="false"` to update the value and number field while leaving wheel ticks stationary. Units and time aliases are wrapper/number-field behavior: normalized `s` defaults to step `0.1` and precision `2`, normalized `ms` defaults to step `100` and precision `0`, and other units default to step `1` and precision `0`. The wrapper applies the effective step and unit-aware `aria-valuetext` to the child wheel, but never sets child `units`.
55
55
 
56
56
  ```html
57
57
  <propskit-wheel label="Duration" value="1.5" units="seconds"></propskit-wheel>
package/README.md CHANGED
@@ -568,12 +568,13 @@ A standalone interactive SVG tick-and-handle control for scrubbing numeric value
568
568
  |---|---|---|---|
569
569
  | `value` | number | `0` | Current numeric value |
570
570
  | `step` | number | `1` | Scrub increment |
571
+ | `spin` | boolean/string | `true` | Keep ticks synchronized to `value`; set `"false"` to leave them stationary |
571
572
  | `min` | number | — | Inclusive lower bound; omit for no minimum |
572
573
  | `max` | number | — | Inclusive upper bound; omit for no maximum |
573
574
  | `elastic` | boolean/string | `true` | Resisted drag and spring return; set `"false"` to disable |
574
575
  | `disabled` | boolean | `false` | Disable interaction |
575
576
 
576
- The `value`, `min`, `max`, and `step` properties mirror their attributes. `aria-valuetext` is numeric. `focus()`, `beginScrub()`, `updateScrub()`, and `endScrub()` expose the interaction lifecycle for imperative integrations.
577
+ The `value`, `min`, `max`, and `step` properties mirror their attributes. `aria-valuetext` is numeric. `spinTo(value)` animates to a new value when `spin` is enabled. `focus()`, `beginScrub()`, `updateScrub()`, and `endScrub()` expose the interaction lifecycle for imperative integrations.
577
578
 
578
579
  **Events:** numeric `input` while scrubbing and `change` on commit. Both bubble across shadow boundaries.
579
580
 
@@ -603,6 +604,7 @@ Omitted `label` renders `"Value"`. If `label` is set, including `label=""`, that
603
604
  | `step` | number | `1`; `0.1` (`s`) / `100` (`ms`) | Drag, keyboard, and mouse wheel increment |
604
605
  | `precision` | number | `0`; `2` (`s`) / `0` (`ms`) | Displayed decimal places on the optional number field |
605
606
  | `elastic` | boolean/string | `true` | Resisted handle movement, edge stretch, and spring return while scrubbing; set `"false"` to disable |
607
+ | `spin` | boolean/string | `true` | Keep wheel ticks synchronized to `value`; set `"false"` to update only the value and number field |
606
608
  | `text` | boolean/string | `true` | Include the editable `fig-input-number`; set `"false"` for only `fig-input-wheel` |
607
609
  | `size` | string | default | Set to `"small"` for the compact layout |
608
610
  | `default` | number/string | initial `value` | Right-click reset target |
@@ -615,6 +617,7 @@ Omitted `label` renders `"Value"`. If `label` is set, including `label=""`, that
615
617
  <propskit-wheel label="Duration" value="1.5" default="0" units="seconds"></propskit-wheel>
616
618
  <propskit-wheel label="Delay" value="240" default="0" min="0" max="1000" units="ms"></propskit-wheel>
617
619
  <propskit-wheel label="Frames" value="12" text="false"></propskit-wheel>
620
+ <propskit-wheel label="Amount" value="12" spin="false"></propskit-wheel>
618
621
  ```
619
622
 
620
623
  ---
package/components.css CHANGED
@@ -211,6 +211,7 @@
211
211
  --font-family:
212
212
  AppleSystemUIFont, BlinkMacSystemFont, avenir next, avenir, segoe ui,
213
213
  helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
214
+ --font-variant-numeric: lining-nums tabular-nums slashed-zero;
214
215
  --body-medium-fontSize: 0.6875rem;
215
216
  --body-large-fontSize: 0.8125rem;
216
217
  --body-letter-spacing: 0.055px;