@fusion.dev/helix 0.49.0 → 0.50.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.
@@ -5185,7 +5185,7 @@
5185
5185
  "helix": {
5186
5186
  "category": "media",
5187
5187
  "since": "0.1.0",
5188
- "status": "experimental",
5188
+ "status": "stable",
5189
5189
  "documentation": "https://fusion.dev/helix/components/aura",
5190
5190
  "aliases": [
5191
5191
  "Backdrop",
@@ -24911,7 +24911,7 @@
24911
24911
  "text": "boolean"
24912
24912
  },
24913
24913
  "default": "false",
24914
- "description": "Whether the control refuses changes while still submitting its value.\n\n**Enforced by refusing every request in one place**, which is the seam this\ncomponent already has: `requestValue` is what every path here comes through,\nand gating it once is what stops the next call site from being written\nwithout the check.\n\nNot `disabled`, which is the confusion worth naming: a disabled control\nsubmits nothing and leaves the tab order, and a read-only one submits its\nvalue and stays reachable, which is what a form showing a color somebody\nelse set needs.\n\n**One gate is not enough here, and the second is `move`.** This picker\nholds a model beside its value, which Date Picker and Time Picker do not:\n`moved` is the HSB the square is drawn from, and it is written before the\nvalue is requested. Gating only the request would leave the square under\nthe reader's pointer and the value where it was, which is a control that\nrefuses and looks like it accepted.",
24914
+ "description": "Whether the control refuses changes while still submitting its value.\n\n**Enforced by refusing every request in one place**, which is the seam this\ncomponent already has: `requestValue` is what every path here comes through,\nand gating it once is what stops the next call site from being written\nwithout the check.\n\nNot `disabled`, which is the confusion worth naming: a disabled control\nsubmits nothing and leaves the tab order, and a read-only one submits its\nvalue and stays reachable, which is what a form showing a color somebody\nelse set needs.\n\n**One gate is not enough here, and the second is `move`.** This picker\nholds a model beside its value, which Date Picker and Time Picker do not:\n`moved` is the HSB the square is drawn from, and it is written before the\nvalue is requested. Gating only the request would leave the square under\nthe reader's pointer and the value where it was, which is a control that\nrefuses and looks like it accepted.\n\n**Two controls are refused whole rather than at either seam**, because\nboth do something before they ask. The syntax toggle rewrites the value, so\nletting it move would show `rgb` over a hex it is no longer allowed to\nrestate. The eyedropper clears the screen and runs a system sampler, so\nletting it open would take a color from the reader and drop it.",
24915
24915
  "attribute": "readonly",
24916
24916
  "reflects": true,
24917
24917
  "inheritedFrom": {
@@ -25796,7 +25796,7 @@
25796
25796
  "helix": {
25797
25797
  "category": "forms",
25798
25798
  "since": "0.1.0",
25799
- "status": "experimental",
25799
+ "status": "stable",
25800
25800
  "documentation": "https://fusion.dev/helix/components/color-picker",
25801
25801
  "aliases": [
25802
25802
  "Color",
@@ -25968,7 +25968,7 @@
25968
25968
  "text": "boolean"
25969
25969
  },
25970
25970
  "default": "false",
25971
- "description": "Whether the control refuses changes while still submitting its value.\n\n**Enforced by refusing every request in one place**, which is the seam this\ncomponent already has: `requestValue` is what every path here comes through,\nand gating it once is what stops the next call site from being written\nwithout the check.\n\nNot `disabled`, which is the confusion worth naming: a disabled control\nsubmits nothing and leaves the tab order, and a read-only one submits its\nvalue and stays reachable, which is what a form showing a color somebody\nelse set needs.\n\n**One gate is not enough here, and the second is `move`.** This picker\nholds a model beside its value, which Date Picker and Time Picker do not:\n`moved` is the HSB the square is drawn from, and it is written before the\nvalue is requested. Gating only the request would leave the square under\nthe reader's pointer and the value where it was, which is a control that\nrefuses and looks like it accepted.",
25971
+ "description": "Whether the control refuses changes while still submitting its value.\n\n**Enforced by refusing every request in one place**, which is the seam this\ncomponent already has: `requestValue` is what every path here comes through,\nand gating it once is what stops the next call site from being written\nwithout the check.\n\nNot `disabled`, which is the confusion worth naming: a disabled control\nsubmits nothing and leaves the tab order, and a read-only one submits its\nvalue and stays reachable, which is what a form showing a color somebody\nelse set needs.\n\n**One gate is not enough here, and the second is `move`.** This picker\nholds a model beside its value, which Date Picker and Time Picker do not:\n`moved` is the HSB the square is drawn from, and it is written before the\nvalue is requested. Gating only the request would leave the square under\nthe reader's pointer and the value where it was, which is a control that\nrefuses and looks like it accepted.\n\n**Two controls are refused whole rather than at either seam**, because\nboth do something before they ask. The syntax toggle rewrites the value, so\nletting it move would show `rgb` over a hex it is no longer allowed to\nrestate. The eyedropper clears the screen and runs a system sampler, so\nletting it open would take a color from the reader and drop it.",
25972
25972
  "fieldName": "readOnly",
25973
25973
  "inheritedFrom": {
25974
25974
  "name": "HelixHeadlessColorPicker",
@@ -92429,7 +92429,7 @@
92429
92429
  "helix": {
92430
92430
  "category": "forms",
92431
92431
  "since": "0.1.0",
92432
- "status": "experimental",
92432
+ "status": "stable",
92433
92433
  "documentation": "https://fusion.dev/helix/components/rating",
92434
92434
  "aliases": [
92435
92435
  "Stars",
@@ -105752,6 +105752,20 @@
105752
105752
  "module": "src/splitter/root/splitter-root.ts"
105753
105753
  }
105754
105754
  },
105755
+ {
105756
+ "kind": "field",
105757
+ "name": "began",
105758
+ "type": {
105759
+ "text": "number | undefined"
105760
+ },
105761
+ "privacy": "private",
105762
+ "default": "undefined",
105763
+ "description": "Where the divider was when the gesture now under way began.\n\nTaken on the press, read once by `settle` and cleared there. `undefined`\nbetween gestures and for every discrete path, where nothing has been\napplied yet and so the position it has *is* the position it began at.\n\nBeside `opened` rather than folded into it: that one is `undefined` for a\npane that starts shut, which is a different question and a real answer.",
105764
+ "inheritedFrom": {
105765
+ "name": "HelixHeadlessSplitter",
105766
+ "module": "src/splitter/root/splitter-root.ts"
105767
+ }
105768
+ },
105755
105769
  {
105756
105770
  "kind": "field",
105757
105771
  "name": "reached",
@@ -106062,7 +106076,7 @@
106062
106076
  }
106063
106077
  }
106064
106078
  ],
106065
- "description": "Says the arrangement has settled, so a consumer can keep it.\n\nThrough the audited path, so a consumer who owns `position` is told what was\nasked for and decides, and one who does not has already had it applied.\n\n**The second announcement is conditional on the first, because it is derived\nfrom it.** `shutAt` reads the position the gesture ended on, so a refused\n`helix-before-resize` leaves a collapse computed from a number that was\nrefused. Announced anyway, the refusal produced the outcome it was refusing:\nmeasured on a divider at 40 with a listener calling `preventDefault`, Home\nleft `position` reporting 0 and `collapsed` reporting `start`, because the\ncollapse applied and `position` reads the sliver once a pane is shut. The\nreturn of the first request is what says so, and it was being dropped: a\ncancelable event dispatched as a bare statement with nothing reading the\nanswer, which is the shape the navigation cohort named on `Outline` and left.\n\nRefusing the collapse alone still leaves the resize, which is the other way\nround and is coherent: the divider goes where the drag put it and the pane\nis not declared shut. What a consumer cannot have is a pane that collapses\nout from under a position they said no to.",
106079
+ "description": "Says the arrangement has settled, so a consumer can keep it.\n\nThrough the audited path, so a consumer who owns `position` is told what was\nasked for and decides, and one who does not has already had it applied.\n\n**The second announcement is conditional on the first, because it is derived\nfrom it.** `shutAt` reads the position the gesture ended on, so a refused\n`helix-before-resize` leaves a collapse computed from a number that was\nrefused. Announced anyway, the refusal produced the outcome it was refusing:\nmeasured on a divider at 40 with a listener calling `preventDefault`, Home\nleft `position` reporting 0 and `collapsed` reporting `start`, because the\ncollapse applied and `position` reads the sliver once a pane is shut. The\nreturn of the first request is what says so, and it was being dropped: a\ncancelable event dispatched as a bare statement with nothing reading the\nanswer, which is the shape the navigation cohort named on `Outline` and left.\n\nRefusing the collapse alone still leaves the resize, which is the other way\nround and is coherent: the divider goes where the drag put it and the pane\nis not declared shut. What a consumer cannot have is a pane that collapses\nout from under a position they said no to.\n\n**A gesture that moved nothing announces nothing, and this is the one place\nthat can say so.** A change carrying the position the divider already had\nrewrites a consumer's stored value from a gesture that moved nothing:\nharmless where the value round-trips exactly, and not where it does not,\nwhich is any consumer storing pixels and dividing by a box. The separator's\n`pointerup` held that as an early return of its own and was the only door\nwith one. There are five: the separator's pointer and arrows, the corner's\npointer and arrows, and a double click through `reset`, and `moveTo` is a\nsixth a consumer can open. Measured in Chromium 17 Sep 2026 on the built\nbundle, every door but the guarded one announced a move of zero: a corner\npress with nothing between announced on both splitters, `Home` on a divider\nalready at its minimum announced, and a double click on one already at its\ndefault announced.\n\n**Measured against where the gesture began, and not against `position`.**\n`move` applies as it goes, so by the time a drag settles the position is\nalready the number about to be announced, and comparing those two would\nsilence every drag there is. `began` is the press; a discrete path takes\nnone and compares against the position, which for it is the same thing.\n\n**Per divider rather than per gesture, which is the corner's question.** The\ncorner drives two at once, so \"moved nothing\" cannot mean \"neither moved\":\na drag along one axis moves one of them, and the other would be announcing\na number nobody asked to change. Each settles on its own and guards on its\nown, so the one that moved still announces while the one that did not stays\nquiet. That is also why the guard cannot live in `handleCornerUp`, which\nonly ever sees the pair.\n\n**The collapse counts as movement, because a refusal can leave the two\ndisagreeing.** A consumer who refuses `helix-before-collapse` has a pane at\nthe edge that is not declared shut, and a guard reading the position alone\nwould then never offer the collapse again: `Home` is already at the\nminimum, so every later press is a move of zero.",
106066
106080
  "inheritedFrom": {
106067
106081
  "name": "HelixHeadlessSplitter",
106068
106082
  "module": "src/splitter/root/splitter-root.ts"
@@ -106877,7 +106891,7 @@
106877
106891
  "type": {
106878
106892
  "text": "HelixBeforeResizeEvent"
106879
106893
  },
106880
- "description": "Fired before the divider settles. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.",
106894
+ "description": "Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.",
106881
106895
  "name": "helix-before-resize",
106882
106896
  "reactProp": "onhelix-before-resize",
106883
106897
  "inheritedFrom": {
@@ -122133,7 +122147,7 @@
122133
122147
  "helix": {
122134
122148
  "category": "forms",
122135
122149
  "since": "0.1.0",
122136
- "status": "experimental",
122150
+ "status": "stable",
122137
122151
  "documentation": "https://fusion.dev/helix/components/time-picker",
122138
122152
  "aliases": [
122139
122153
  "Time",
@@ -34,7 +34,7 @@ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
34
34
  * consumer could restyle and nothing for a headless twin to hold.
35
35
  *
36
36
  * @since 0.1.0
37
- * @status experimental
37
+ * @status stable
38
38
  * @category media
39
39
  * @aliases Backdrop, Background, Atmosphere, Gradient
40
40
  * @documentation https://fusion.dev/helix/components/aura
@@ -31,7 +31,7 @@ import '../../slider/index.js';
31
31
  * brought its own card would be a card inside a card there.
32
32
  *
33
33
  * @since 0.1.0
34
- * @status experimental
34
+ * @status stable
35
35
  * @category forms
36
36
  * @aliases Color, ColorArea, Swatch picker
37
37
  * @documentation https://fusion.dev/helix/components/color-picker
@@ -12,7 +12,7 @@ gap: var(--helix-space-2xs);
12
12
  [part="field"] {
13
13
  align-items: center;
14
14
  display: inline-flex;
15
- gap: var(--rating-gap, var(--helix-space-xs));
15
+ gap: var(--helix-space-xs);
16
16
  }
17
17
 
18
18
  [part="marks"] {
@@ -8,7 +8,7 @@ import type { CSSResultGroup } from 'lit';
8
8
  * Everything about what the score is and how it is chosen is the base class.
9
9
  *
10
10
  * @since 0.1.0
11
- * @status experimental
11
+ * @status stable
12
12
  * @category forms
13
13
  * @aliases Stars, Score, Review score
14
14
  * @documentation https://fusion.dev/helix/components/rating
@@ -16,7 +16,7 @@ import '../../option/index.js';
16
16
  * card would be a card inside a card there.
17
17
  *
18
18
  * @since 0.1.0
19
- * @status experimental
19
+ * @status stable
20
20
  * @category forms
21
21
  * @aliases Time, TimeList
22
22
  * @documentation https://fusion.dev/helix/components/time-picker
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix",
3
3
  "description": "Styled component tier. Extends the headless tier with token-driven presentation.",
4
- "version": "0.49.0",
4
+ "version": "0.50.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -47,14 +47,14 @@
47
47
  },
48
48
  "bugs": "https://github.com/project-fusion/fusion/issues",
49
49
  "dependencies": {
50
- "@fusion.dev/helix-core": "0.49.0",
51
- "@fusion.dev/helix-headless": "0.49.0",
52
- "@fusion.dev/helix-styles": "0.49.0"
50
+ "@fusion.dev/helix-core": "0.50.0",
51
+ "@fusion.dev/helix-headless": "0.50.0",
52
+ "@fusion.dev/helix-styles": "0.50.0"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@custom-elements-manifest/analyzer": "^0.11.0",
56
- "@fusion.dev/helix-cem": "0.49.0",
57
- "@fusion.dev/helix-testing": "0.49.0",
56
+ "@fusion.dev/helix-cem": "0.50.0",
57
+ "@fusion.dev/helix-testing": "0.50.0",
58
58
  "@fusion.dev/scripts": "0.0.0-dev",
59
59
  "@happy-dom/global-registrator": "^20.0.0",
60
60
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -4348,7 +4348,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
4348
4348
  `moved` is the HSB the square is drawn from, and it is written before the
4349
4349
  value is requested. Gating only the request would leave the square under
4350
4350
  the reader's pointer and the value where it was, which is a control that
4351
- refuses and looks like it accepted. */
4351
+ refuses and looks like it accepted.
4352
+
4353
+ **Two controls are refused whole rather than at either seam**, because
4354
+ both do something before they ask. The syntax toggle rewrites the value, so
4355
+ letting it move would show `rgb` over a hex it is no longer allowed to
4356
+ restate. The eyedropper clears the screen and runs a system sampler, so
4357
+ letting it open would take a color from the reader and drop it. */
4352
4358
  readonly?: (HelixColorPicker["readOnly"]) | undefined;
4353
4359
  /** Whether the control refuses changes while still submitting its value.
4354
4360
 
@@ -4367,7 +4373,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
4367
4373
  `moved` is the HSB the square is drawn from, and it is written before the
4368
4374
  value is requested. Gating only the request would leave the square under
4369
4375
  the reader's pointer and the value where it was, which is a control that
4370
- refuses and looks like it accepted. */
4376
+ refuses and looks like it accepted.
4377
+
4378
+ **Two controls are refused whole rather than at either seam**, because
4379
+ both do something before they ask. The syntax toggle rewrites the value, so
4380
+ letting it move would show `rgb` over a hex it is no longer allowed to
4381
+ restate. The eyedropper clears the screen and runs a system sampler, so
4382
+ letting it open would take a color from the reader and drop it. */
4371
4383
  readOnly?: (HelixColorPicker["readOnly"]) | undefined;
4372
4384
  /** Whether the form refuses to submit while no color is chosen.
4373
4385
 
@@ -4529,7 +4541,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
4529
4541
  `moved` is the HSB the square is drawn from, and it is written before the
4530
4542
  value is requested. Gating only the request would leave the square under
4531
4543
  the reader's pointer and the value where it was, which is a control that
4532
- refuses and looks like it accepted. */
4544
+ refuses and looks like it accepted.
4545
+
4546
+ **Two controls are refused whole rather than at either seam**, because
4547
+ both do something before they ask. The syntax toggle rewrites the value, so
4548
+ letting it move would show `rgb` over a hex it is no longer allowed to
4549
+ restate. The eyedropper clears the screen and runs a system sampler, so
4550
+ letting it open would take a color from the reader and drop it. */
4533
4551
  "bool:readonly"?: (HelixColorPicker["readOnly"]) | undefined;
4534
4552
  /** Whether the control refuses changes while still submitting its value.
4535
4553
 
@@ -4548,7 +4566,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
4548
4566
  `moved` is the HSB the square is drawn from, and it is written before the
4549
4567
  value is requested. Gating only the request would leave the square under
4550
4568
  the reader's pointer and the value where it was, which is a control that
4551
- refuses and looks like it accepted. */
4569
+ refuses and looks like it accepted.
4570
+
4571
+ **Two controls are refused whole rather than at either seam**, because
4572
+ both do something before they ask. The syntax toggle rewrites the value, so
4573
+ letting it move would show `rgb` over a hex it is no longer allowed to
4574
+ restate. The eyedropper clears the screen and runs a system sampler, so
4575
+ letting it open would take a color from the reader and drop it. */
4552
4576
  "prop:readOnly"?: (HelixColorPicker["readOnly"]) | undefined;
4553
4577
  /** Whether the form refuses to submit while no color is chosen.
4554
4578
 
@@ -16043,7 +16067,7 @@ has an honest answer. */
16043
16067
  "onhelix-before-collapse"?: ((
16044
16068
  e: HelixSplitterHelixBeforeCollapseElementEvent,
16045
16069
  ) => void) | undefined;
16046
- /** Fired before the divider settles. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
16070
+ /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
16047
16071
  "onhelix-before-resize"?: ((
16048
16072
  e: HelixSplitterHelixBeforeResizeElementEvent,
16049
16073
  ) => void) | undefined;
@@ -16163,7 +16187,7 @@ has an honest answer. */
16163
16187
  "on:helix-before-collapse"?: ((
16164
16188
  e: HelixSplitterHelixBeforeCollapseElementEvent,
16165
16189
  ) => void) | undefined;
16166
- /** Fired before the divider settles. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
16190
+ /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
16167
16191
  "on:helix-before-resize"?: ((
16168
16192
  e: HelixSplitterHelixBeforeResizeElementEvent,
16169
16193
  ) => void) | undefined;
@@ -24385,6 +24409,12 @@ export type CustomElements = {
24385
24409
  * value is requested. Gating only the request would leave the square under
24386
24410
  * the reader's pointer and the value where it was, which is a control that
24387
24411
  * refuses and looks like it accepted.
24412
+ *
24413
+ * **Two controls are refused whole rather than at either seam**, because
24414
+ * both do something before they ask. The syntax toggle rewrites the value, so
24415
+ * letting it move would show `rgb` over a hex it is no longer allowed to
24416
+ * restate. The eyedropper clears the screen and runs a system sampler, so
24417
+ * letting it open would take a color from the reader and drop it.
24388
24418
  * - `required`: Whether the form refuses to submit while no color is chosen.
24389
24419
  *
24390
24420
  * **A color is exactly as requirable as a date**, which is the comparison
@@ -35625,7 +35655,7 @@ export type CustomElements = {
35625
35655
  * Events that will be emitted by the component.
35626
35656
  *
35627
35657
  * - `helix-before-collapse`: Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it.
35628
- * - `helix-before-resize`: Fired before the divider settles. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.
35658
+ * - `helix-before-resize`: Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.
35629
35659
  *
35630
35660
  * ## Slots
35631
35661
  *
@@ -43852,6 +43882,12 @@ export type CustomElementsSolidJs = {
43852
43882
  * value is requested. Gating only the request would leave the square under
43853
43883
  * the reader's pointer and the value where it was, which is a control that
43854
43884
  * refuses and looks like it accepted.
43885
+ *
43886
+ * **Two controls are refused whole rather than at either seam**, because
43887
+ * both do something before they ask. The syntax toggle rewrites the value, so
43888
+ * letting it move would show `rgb` over a hex it is no longer allowed to
43889
+ * restate. The eyedropper clears the screen and runs a system sampler, so
43890
+ * letting it open would take a color from the reader and drop it.
43855
43891
  * - `required`: Whether the form refuses to submit while no color is chosen.
43856
43892
  *
43857
43893
  * **A color is exactly as requirable as a date**, which is the comparison
@@ -55326,7 +55362,7 @@ export type CustomElementsSolidJs = {
55326
55362
  * Events that will be emitted by the component.
55327
55363
  *
55328
55364
  * - `helix-before-collapse`: Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it.
55329
- * - `helix-before-resize`: Fired before the divider settles. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.
55365
+ * - `helix-before-resize`: Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own.
55330
55366
  *
55331
55367
  * ## Slots
55332
55368
  *
package/types/vue.d.ts CHANGED
@@ -2275,7 +2275,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
2275
2275
  `moved` is the HSB the square is drawn from, and it is written before the
2276
2276
  value is requested. Gating only the request would leave the square under
2277
2277
  the reader's pointer and the value where it was, which is a control that
2278
- refuses and looks like it accepted. */
2278
+ refuses and looks like it accepted.
2279
+
2280
+ **Two controls are refused whole rather than at either seam**, because
2281
+ both do something before they ask. The syntax toggle rewrites the value, so
2282
+ letting it move would show `rgb` over a hex it is no longer allowed to
2283
+ restate. The eyedropper clears the screen and runs a system sampler, so
2284
+ letting it open would take a color from the reader and drop it. */
2279
2285
  readonly?: (HelixColorPicker["readOnly"]) | undefined;
2280
2286
  /** Whether the control refuses changes while still submitting its value.
2281
2287
 
@@ -2294,7 +2300,13 @@ holds a model beside its value, which Date Picker and Time Picker do not:
2294
2300
  `moved` is the HSB the square is drawn from, and it is written before the
2295
2301
  value is requested. Gating only the request would leave the square under
2296
2302
  the reader's pointer and the value where it was, which is a control that
2297
- refuses and looks like it accepted. */
2303
+ refuses and looks like it accepted.
2304
+
2305
+ **Two controls are refused whole rather than at either seam**, because
2306
+ both do something before they ask. The syntax toggle rewrites the value, so
2307
+ letting it move would show `rgb` over a hex it is no longer allowed to
2308
+ restate. The eyedropper clears the screen and runs a system sampler, so
2309
+ letting it open would take a color from the reader and drop it. */
2298
2310
  readOnly?: (HelixColorPicker["readOnly"]) | undefined;
2299
2311
  /** Whether the form refuses to submit while no color is chosen.
2300
2312
 
@@ -8277,7 +8289,7 @@ has an honest answer. */
8277
8289
  export type HelixSplitterVueEvents = {
8278
8290
  /** Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it. */
8279
8291
  "helix-before-collapse": HelixSplitterHelixBeforeCollapseElementEvent;
8280
- /** Fired before the divider settles. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
8292
+ /** Fired before the divider settles, and only where the gesture moved it: a press that moved nothing, a drag that came back, an arrow with nowhere left to go and a corner that moved the other divider are all silent on this one. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
8281
8293
  "helix-before-resize": HelixSplitterHelixBeforeResizeElementEvent;
8282
8294
  };
8283
8295