@fusion.dev/helix 0.18.0 → 0.19.1

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.
@@ -1040,6 +1040,10 @@
1040
1040
  "description": "Full width and flat, with the severity carried by a tinted fill and a\nhairline beneath rather than by a border on four sides: an announcement is a\nband across the top of the page, not a box that happens to be wide.",
1041
1041
  "name": "HelixAnnouncement",
1042
1042
  "cssProperties": [
1043
+ {
1044
+ "description": "How tall the band is at its shortest, so adding a control to it does not move the page down. A floor, not a cap: a message long enough to wrap still gets the room.",
1045
+ "name": "--announcement-block-size"
1046
+ },
1043
1047
  {
1044
1048
  "description": "Inline padding, matched to the page.",
1045
1049
  "name": "--announcement-inset"
@@ -1615,15 +1619,7 @@
1615
1619
  }
1616
1620
  },
1617
1621
  {
1618
- "description": "Trailing actions, such as a call to action.",
1619
- "name": "actions"
1620
- },
1621
- {
1622
- "description": "Wordmark or logo, at the inline start.",
1623
- "name": "brand"
1624
- },
1625
- {
1626
- "description": "Trailing content.",
1622
+ "description": "Trailing content, usually a call to action.",
1627
1623
  "name": "end",
1628
1624
  "inheritedFrom": {
1629
1625
  "name": "HelixHeadlessAppHeader",
@@ -36068,6 +36064,10 @@
36068
36064
  "description": "A button that empties the text, which is not the same as clearing the filter.",
36069
36065
  "slug": "clearable"
36070
36066
  },
36067
+ {
36068
+ "description": "Owning the text, which is done by refusing the change rather than by writing the value.",
36069
+ "slug": "controlled"
36070
+ },
36071
36071
  {
36072
36072
  "description": "Backspace on an empty field asks the same way the close control does.",
36073
36073
  "slug": "dismissing"
@@ -16,6 +16,11 @@ font-size: var(--helix-text-sm);
16
16
 
17
17
  font-weight: var(--helix-weight-medium);
18
18
  inline-size: 100%;
19
+
20
+ min-block-size: var(
21
+ --announcement-block-size,
22
+ calc(var(--helix-size-control) + var(--helix-space-xs) * 2)
23
+ );
19
24
  padding-block: var(--helix-space-xs);
20
25
  padding-inline: var(--announcement-inset, var(--helix-space-lg));
21
26
 
@@ -14,6 +14,7 @@ import type { CSSResultGroup } from 'lit';
14
14
  * @aliases Banner, Notification bar, Alert bar
15
15
  * @documentation https://helix.fusion.dev/components/announcement
16
16
  *
17
+ * @cssproperty --announcement-block-size - How tall the band is at its shortest, so adding a control to it does not move the page down. A floor, not a cap: a message long enough to wrap still gets the room.
17
18
  * @cssproperty --announcement-inset - Inline padding, matched to the page.
18
19
  */
19
20
  export declare class HelixAnnouncement extends HelixHeadlessAnnouncement {
@@ -22,8 +22,8 @@ import type { CSSResultGroup } from 'lit';
22
22
  * @documentation https://helix.fusion.dev/components/app-header
23
23
  *
24
24
  * @slot - Primary navigation.
25
- * @slot actions - Trailing actions, such as a call to action.
26
- * @slot brand - Wordmark or logo, at the inline start.
25
+ * @slot end - Trailing content, usually a call to action.
26
+ * @slot start - Leading content, usually a wordmark.
27
27
  *
28
28
  * @csspart content - The centered row inside the banner.
29
29
  *
@@ -317,6 +317,37 @@ order: 1;
317
317
  scale: -1 1;
318
318
  }
319
319
 
320
+ :host([orientation="vertical"]:not([indicator-placement])) [part="indicators"] {
321
+ align-self: var(--_carousel-indicators-along);
322
+ flex-direction: column;
323
+ grid-area: 2 / 3;
324
+ justify-self: center;
325
+ padding-block-start: var(--helix-space-none);
326
+ padding-inline: var(--helix-space-none);
327
+ padding-inline-start: var(--helix-space-sm);
328
+ }
329
+
330
+ :host([orientation="vertical"]:not([controls-placement])) [part="controls"] {
331
+ align-self: var(--_carousel-controls-along);
332
+ flex-direction: column;
333
+ grid-area: 2 / 3;
334
+ justify-self: center;
335
+ padding-block-start: var(--helix-space-none);
336
+ padding-inline: var(--helix-space-none);
337
+ padding-inline-start: var(--helix-space-sm);
338
+ }
339
+
340
+ :host([orientation="vertical"]:not([indicator-placement])) [part="indicator"] {
341
+ transition:
342
+ background-color var(--_carousel-indicator-motion),
343
+ block-size var(--_carousel-indicator-motion);
344
+ }
345
+
346
+ :host([orientation="vertical"]:not([indicator-placement])) [part="indicator"][data-current] {
347
+ block-size: var(--helix-space-lg);
348
+ inline-size: var(--helix-space-xs);
349
+ }
350
+
320
351
  @media print {
321
352
  :host {
322
353
  box-shadow: none;
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.18.0",
4
+ "version": "0.19.1",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -46,14 +46,14 @@
46
46
  },
47
47
  "bugs": "https://github.com/project-fusion/fusion/issues",
48
48
  "dependencies": {
49
- "@fusion.dev/helix-core": "0.18.0",
50
- "@fusion.dev/helix-headless": "0.18.0",
51
- "@fusion.dev/helix-styles": "0.18.0"
49
+ "@fusion.dev/helix-core": "0.19.1",
50
+ "@fusion.dev/helix-headless": "0.19.1",
51
+ "@fusion.dev/helix-styles": "0.19.1"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@custom-elements-manifest/analyzer": "^0.11.0",
55
- "@fusion.dev/helix-cem": "0.18.0",
56
- "@fusion.dev/helix-testing": "0.18.0",
55
+ "@fusion.dev/helix-cem": "0.19.1",
56
+ "@fusion.dev/helix-testing": "0.19.1",
57
57
  "@fusion.dev/scripts": "0.0.0-dev",
58
58
  "@happy-dom/global-registrator": "^20.0.0",
59
59
  "@lit-labs/ssr": "^3.3.0",
package/types/jsx.d.ts CHANGED
@@ -18559,6 +18559,7 @@ export type CustomElements = {
18559
18559
  *
18560
18560
  * CSS variables available for styling the component.
18561
18561
  *
18562
+ * - `--announcement-block-size`: How tall the band is at its shortest, so adding a control to it does not move the page down. A floor, not a cap: a message long enough to wrap still gets the room. (default: `undefined`)
18562
18563
  * - `--announcement-inset`: Inline padding, matched to the page. (default: `undefined`)
18563
18564
  *
18564
18565
  * ## CSS Parts
@@ -18683,9 +18684,7 @@ export type CustomElements = {
18683
18684
  * Areas where markup can be added to the component.
18684
18685
  *
18685
18686
  * - `(default)`: Primary navigation.
18686
- * - `actions`: Trailing actions, such as a call to action.
18687
- * - `brand`: Wordmark or logo, at the inline start.
18688
- * - `end`: Trailing content.
18687
+ * - `end`: Trailing content, usually a call to action.
18689
18688
  * - `start`: Leading content, usually a wordmark.
18690
18689
  *
18691
18690
  * ## CSS Custom Properties
@@ -34515,6 +34514,7 @@ export type CustomElementsSolidJs = {
34515
34514
  *
34516
34515
  * CSS variables available for styling the component.
34517
34516
  *
34517
+ * - `--announcement-block-size`: How tall the band is at its shortest, so adding a control to it does not move the page down. A floor, not a cap: a message long enough to wrap still gets the room. (default: `undefined`)
34518
34518
  * - `--announcement-inset`: Inline padding, matched to the page. (default: `undefined`)
34519
34519
  *
34520
34520
  * ## CSS Parts
@@ -34642,9 +34642,7 @@ export type CustomElementsSolidJs = {
34642
34642
  * Areas where markup can be added to the component.
34643
34643
  *
34644
34644
  * - `(default)`: Primary navigation.
34645
- * - `actions`: Trailing actions, such as a call to action.
34646
- * - `brand`: Wordmark or logo, at the inline start.
34647
- * - `end`: Trailing content.
34645
+ * - `end`: Trailing content, usually a call to action.
34648
34646
  * - `start`: Leading content, usually a wordmark.
34649
34647
  *
34650
34648
  * ## CSS Custom Properties
@@ -50593,6 +50591,8 @@ export type CustomCssProperties = {
50593
50591
  "--accordion-gap"?: (string) | undefined;
50594
50592
  /** Corner radius of each item, when outlined. */
50595
50593
  "--accordion-radius"?: (string) | undefined;
50594
+ /** How tall the band is at its shortest, so adding a control to it does not move the page down. A floor, not a cap: a message long enough to wrap still gets the room. */
50595
+ "--announcement-block-size"?: (string) | undefined;
50596
50596
  /** Inline padding, matched to the page. */
50597
50597
  "--announcement-inset"?: (string) | undefined;
50598
50598
  /** The filter behind it. `none` to pair it with a panel. */
package/types/vue.d.ts CHANGED
@@ -9367,6 +9367,8 @@ export type CustomCssProperties = {
9367
9367
  "--accordion-gap"?: (string) | undefined;
9368
9368
  /** Corner radius of each item, when outlined. */
9369
9369
  "--accordion-radius"?: (string) | undefined;
9370
+ /** How tall the band is at its shortest, so adding a control to it does not move the page down. A floor, not a cap: a message long enough to wrap still gets the room. */
9371
+ "--announcement-block-size"?: (string) | undefined;
9370
9372
  /** Inline padding, matched to the page. */
9371
9373
  "--announcement-inset"?: (string) | undefined;
9372
9374
  /** The filter behind it. `none` to pair it with a panel. */