@kubex/zinc 1.1.101 → 1.1.103

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.
Files changed (82) hide show
  1. package/dist/custom-elements.json +261 -82
  2. package/dist/vscode.html-custom-data.json +13 -13
  3. package/dist/web-types.json +25 -25
  4. package/dist/zn.d.ts +128 -6
  5. package/dist/zn.min.css +1 -1
  6. package/dist/zn.min.js +469 -393
  7. package/docs/pages/components/remarkd-editor.md +59 -0
  8. package/package.json +1 -1
  9. package/scss/_root.scss +121 -8
  10. package/scss/shared/_base.scss +10 -4
  11. package/scss/shared/_button-mixin.scss +29 -0
  12. package/scss/shared/_button.scss +3 -33
  13. package/scss/themes/_aura.scss +87 -8
  14. package/scss/themes/_dark.scss +14 -2
  15. package/scss/themes/_light.scss +4 -3
  16. package/scss/themes/_modes.scss +32 -0
  17. package/src/components/animated-button/animated-button.component.ts +2 -1
  18. package/src/components/animated-button/animated-button.scss +1 -1
  19. package/src/components/bulk-actions/bulk-actions.component.ts +2 -1
  20. package/src/components/bulk-actions/bulk-actions.scss +0 -1
  21. package/src/components/button/button.component.ts +6 -1
  22. package/src/components/button/button.scss +1 -1
  23. package/src/components/chart/chart.component.ts +4 -0
  24. package/src/components/checkbox/checkbox.component.ts +3 -1
  25. package/src/components/checkbox/checkbox.scss +0 -2
  26. package/src/components/checkbox-group/checkbox-group.component.ts +2 -1
  27. package/src/components/checkbox-group/checkbox-group.scss +0 -1
  28. package/src/components/data-table/data-table.component.ts +3 -1
  29. package/src/components/data-table/data-table.scss +0 -1
  30. package/src/components/datepicker/datepicker.component.ts +2 -1
  31. package/src/components/datepicker/datepicker.scss +0 -1
  32. package/src/components/editor/modules/toolbar/toolbar.component.ts +3 -1
  33. package/src/components/editor/modules/toolbar/toolbar.scss +0 -1
  34. package/src/components/file/file.component.ts +2 -1
  35. package/src/components/file/file.scss +0 -1
  36. package/src/components/form-group/form-group.component.ts +2 -1
  37. package/src/components/form-group/form-group.scss +0 -1
  38. package/src/components/icon-picker/icon-picker.component.ts +8 -3
  39. package/src/components/icon-picker/icon-picker.scss +0 -1
  40. package/src/components/inline-edit/inline-edit.component.ts +2 -1
  41. package/src/components/inline-edit/inline-edit.scss +0 -1
  42. package/src/components/input/input.component.ts +2 -1
  43. package/src/components/input/input.scss +0 -1
  44. package/src/components/input-group/input-group.component.ts +2 -1
  45. package/src/components/input-group/input-group.scss +0 -1
  46. package/src/components/menu/menu.component.ts +4 -1
  47. package/src/components/menu/menu.scss +9 -1
  48. package/src/components/page/page.scss +19 -5
  49. package/src/components/priority-list/priority-list.component.ts +2 -1
  50. package/src/components/priority-list/priority-list.scss +0 -1
  51. package/src/components/query-builder/query-builder.component.ts +2 -1
  52. package/src/components/query-builder/query-builder.scss +0 -1
  53. package/src/components/radio/radio.component.ts +3 -1
  54. package/src/components/radio/radio.scss +0 -2
  55. package/src/components/radio-group/radio-group.component.ts +2 -1
  56. package/src/components/radio-group/radio-group.scss +0 -1
  57. package/src/components/rating/rating.component.ts +2 -1
  58. package/src/components/rating/rating.scss +0 -1
  59. package/src/components/remarkd-editor/actions.ts +155 -0
  60. package/src/components/remarkd-editor/feature-keys.ts +17 -0
  61. package/src/components/remarkd-editor/remarkd-editor.component.ts +509 -49
  62. package/src/components/remarkd-editor/remarkd-editor.scss +68 -1
  63. package/src/components/remarkd-editor/remarkd-editor.test.ts +677 -9
  64. package/src/components/schedule-builder/schedule-builder.component.ts +2 -1
  65. package/src/components/schedule-builder/schedule-builder.scss +0 -1
  66. package/src/components/select/select.component.ts +2 -1
  67. package/src/components/select/select.scss +0 -1
  68. package/src/components/slash-menu/slash-menu.scss +2 -0
  69. package/src/components/tabs/tabs.component.ts +3 -1
  70. package/src/components/tabs/tabs.scss +0 -1
  71. package/src/components/textarea/textarea.component.ts +2 -1
  72. package/src/components/textarea/textarea.scss +0 -1
  73. package/src/components/tile/tile.component.ts +33 -20
  74. package/src/components/tile/tile.scss +2 -0
  75. package/src/components/tile/tile.test.ts +64 -3
  76. package/src/components/toggle/toggle.component.ts +2 -1
  77. package/src/components/toggle/toggle.scss +0 -1
  78. package/src/components/translations/translations.component.ts +2 -1
  79. package/src/components/translations/translations.scss +0 -1
  80. package/src/internal/theme.ts +37 -12
  81. package/src/internal/toolbar-overflow.ts +100 -0
  82. package/src/internal/zinc-element.ts +7 -5
@@ -13,6 +13,7 @@ import ZincElement from '../../internal/zinc-element';
13
13
  import type {ZincFormControl} from '../../internal/zinc-element';
14
14
  import type ZnCheckbox from "../checkbox";
15
15
 
16
+ import formControlStyles from '../../form-control.scss';
16
17
  import styles from './checkbox-group.scss';
17
18
 
18
19
  /**
@@ -38,7 +39,7 @@ import styles from './checkbox-group.scss';
38
39
  * @cssproperty --zn-checkbox-group-column-width - Minimum column width used by the horizontal contained grid, or the card basis when `wrap` is set.
39
40
  */
40
41
  export default class ZnCheckboxGroup extends ZincElement implements ZincFormControl {
41
- static styles: CSSResultGroup = unsafeCSS(styles);
42
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
42
43
 
43
44
  protected readonly formControlController = new FormControlController(this);
44
45
  private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -29,6 +29,8 @@ import type ZnInput from "../input";
29
29
  import type ZnQueryBuilder from "../query-builder";
30
30
  import type ZnSelect from "../select";
31
31
 
32
+ // Tables load in such a way that the global sheet has to be re-applied inside the shadow root.
33
+ import bootStyles from '../../../scss/boot.scss';
32
34
  import styles from './data-table.scss';
33
35
 
34
36
  const DEFAULT_PAGE = 1;
@@ -187,7 +189,7 @@ type AllowedInputElement =
187
189
  * @cssproperty --example - An example CSS custom property.
188
190
  */
189
191
  export default class ZnDataTable extends ZincElement {
190
- static styles: CSSResultGroup = unsafeCSS(styles);
192
+ static styles: CSSResultGroup = [unsafeCSS(bootStyles), unsafeCSS(styles)];
191
193
  static dependencies = {
192
194
  'zn-alert': ZnAlert,
193
195
  'zn-button': ZnButton,
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../../scss/boot"; // Tables load in such a way we need to include the global styles on them again
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -14,6 +14,7 @@ import ZnTooltip from "../tooltip";
14
14
  import type {ZincFormControl} from '../../internal/zinc-element';
15
15
 
16
16
  import airDatepickerStyles from '../../../scss/air-datapicker.scss';
17
+ import formControlStyles from '../../form-control.scss';
17
18
  import styles from './datepicker.scss';
18
19
 
19
20
  /**
@@ -54,7 +55,7 @@ import styles from './datepicker.scss';
54
55
  * @cssproperty --zn-input-* - Inherited input component CSS custom properties.
55
56
  */
56
57
  export default class ZnDatepicker extends ZincElement implements ZincFormControl {
57
- static styles: CSSResultGroup = unsafeCSS(styles);
58
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
58
59
 
59
60
  static dependencies = {
60
61
  'zn-icon': ZnIcon,
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
 
5
4
  :host {
@@ -9,10 +9,12 @@ import ZnMenu from "../../../menu";
9
9
  import ZnMenuItem from "../../../menu-item";
10
10
  import type {EditorFeatureConfig} from "../../editor.component";
11
11
 
12
+ // Air Picker only positions correctly with the global sheet present inside this shadow root.
13
+ import bootStyles from '../../../../../scss/boot.scss';
12
14
  import styles from './toolbar.scss';
13
15
 
14
16
  export default class ToolbarComponent extends ZincElement {
15
- static styles: CSSResultGroup = unsafeCSS(styles);
17
+ static styles: CSSResultGroup = [unsafeCSS(bootStyles), unsafeCSS(styles)];
16
18
 
17
19
  @property({type: Number})
18
20
  public containerWidth: number;
@@ -1,4 +1,3 @@
1
- @use "../../../../../scss/boot"; // Need to include the global styles again for Air Picker to work properly
2
1
 
3
2
  .toolbar {
4
3
  display: flex;
@@ -14,6 +14,7 @@ import ZincElement, {type ZincFormControl} from '../../internal/zinc-element';
14
14
  import ZnDialog from "../dialog";
15
15
  import type ZnButton from "../button";
16
16
 
17
+ import formControlStyles from '../../form-control.scss';
17
18
  import styles from './file.scss';
18
19
 
19
20
  /**
@@ -69,7 +70,7 @@ import styles from './file.scss';
69
70
  * when a file is dropped
70
71
  */
71
72
  export default class ZnFile extends ZincElement implements ZincFormControl {
72
- static styles: CSSResultGroup = unsafeCSS(styles);
73
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
73
74
  static dependencies = {
74
75
  'zn-dialog': ZnDialog
75
76
  };
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -4,6 +4,7 @@ import { HasSlotController } from "../../internal/slot";
4
4
  import { property } from 'lit/decorators.js';
5
5
  import ZincElement from '../../internal/zinc-element';
6
6
 
7
+ import formControlStyles from '../../form-control.scss';
7
8
  import styles from './form-group.scss';
8
9
 
9
10
  /**
@@ -17,7 +18,7 @@ import styles from './form-group.scss';
17
18
  *
18
19
  */
19
20
  export default class ZnFormGroup extends ZincElement {
20
- static styles: CSSResultGroup = unsafeCSS(styles);
21
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
21
22
 
22
23
  private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label', 'chip');
23
24
 
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -12,10 +12,11 @@ import ZnOption from '../option';
12
12
  import ZnSelect from '../select';
13
13
  import type {ZincFormControl} from '../../internal/zinc-element';
14
14
 
15
+ import formControlStyles from '../../form-control.scss';
15
16
  import styles from './icon-picker.scss';
16
17
 
17
18
  export default class ZnIconPicker extends ZincElement implements ZincFormControl {
18
- static styles: CSSResultGroup = unsafeCSS(styles);
19
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
19
20
  static dependencies = {
20
21
  'zn-icon': ZnIcon,
21
22
  'zn-button': ZnButton,
@@ -29,7 +30,11 @@ export default class ZnIconPicker extends ZincElement implements ZincFormControl
29
30
  assumeInteractionOn: ['zn-change'],
30
31
  // With allow-upload, a chosen file is submitted under `name` in place of
31
32
  // the icon string — the two are mutually exclusive.
32
- value: (el: ZnIconPicker) => el._file ?? el.icon
33
+ value: (el: ZnIconPicker) => el._file ?? el.icon,
34
+ setValue: (el: ZnIconPicker, value: string) => {
35
+ el.clearFile();
36
+ el.icon = value ?? '';
37
+ }
33
38
  });
34
39
 
35
40
  @property() name = '';
@@ -49,7 +54,7 @@ export default class ZnIconPicker extends ZincElement implements ZincFormControl
49
54
  @property() accept = 'image/*';
50
55
  @property({reflect: true}) form: string;
51
56
 
52
- @defaultValue() defaultValue = '';
57
+ @defaultValue('icon') defaultValue = '';
53
58
 
54
59
  @state() private _dialogOpen = false;
55
60
  @state() private _searchQuery = '';
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -13,6 +13,7 @@ import ZnSelect from "../select";
13
13
  import type { ZincFormControl } from '../../internal/zinc-element';
14
14
  import type ZnInput from "../input";
15
15
 
16
+ import formElementStyles from '../../../scss/shared/_form-elements.scss';
16
17
  import styles from './inline-edit.scss';
17
18
 
18
19
  /**
@@ -34,7 +35,7 @@ import styles from './inline-edit.scss';
34
35
  * @cssproperty --example - An example CSS custom property.
35
36
  */
36
37
  export default class ZnInlineEdit extends ZincElement implements ZincFormControl {
37
- static styles: CSSResultGroup = unsafeCSS(styles);
38
+ static styles: CSSResultGroup = [unsafeCSS(formElementStyles), unsafeCSS(styles)];
38
39
 
39
40
  private readonly formControlController = new FormControlController(this, {
40
41
  defaultValue: (control: ZnInlineEdit) => control.defaultValue,
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../../scss/shared/form-elements";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -17,6 +17,7 @@ import ZnSlashMenu from "../slash-menu";
17
17
  import ZnTooltip from "../tooltip";
18
18
  import type {ZincFormControl} from '../../internal/zinc-element';
19
19
 
20
+ import formControlStyles from '../../form-control.scss';
20
21
  import styles from './input.scss';
21
22
 
22
23
  /**
@@ -75,7 +76,7 @@ import styles from './input.scss';
75
76
  * @cssproperty --zn-range-thumb-ring-width - The width of the ring drawn around a range input's thumb.
76
77
  */
77
78
  export default class ZnInput extends ZincElement implements ZincFormControl {
78
- static styles = unsafeCSS(styles);
79
+ static styles = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
79
80
  static dependencies = {
80
81
  'zn-icon': ZnIcon,
81
82
  'zn-slash-item': ZnSlashItem,
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -4,6 +4,7 @@ import {HasSlotController} from '../../internal/slot';
4
4
  import {property, query} from 'lit/decorators.js';
5
5
  import ZincElement from '../../internal/zinc-element';
6
6
 
7
+ import formControlStyles from '../../form-control.scss';
7
8
  import styles from './input-group.scss';
8
9
 
9
10
  /**
@@ -21,7 +22,7 @@ import styles from './input-group.scss';
21
22
  * @csspart form-control-input - The input group container.
22
23
  */
23
24
  export default class ZnInputGroup extends ZincElement {
24
- static styles: CSSResultGroup = unsafeCSS(styles);
25
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
25
26
 
26
27
  private readonly hasSlotController = new HasSlotController(this, 'label');
27
28
 
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -8,8 +8,8 @@ import ZnIcon from "../icon";
8
8
  import ZnMenuItem from "../menu-item";
9
9
  import ZnTooltip from "../tooltip";
10
10
 
11
- import styles from './menu.scss';
12
11
  import { classMap } from "lit/directives/class-map.js";
12
+ import styles from './menu.scss';
13
13
 
14
14
  interface NavItem {
15
15
  title: string;
@@ -44,6 +44,8 @@ interface NavItem {
44
44
  * @csspart base - The component's base wrapper.
45
45
  *
46
46
  * @cssproperty --example - An example CSS custom property.
47
+ * @cssproperty --zn-menu-max-height - Caps the menu's height and makes it scroll internally.
48
+ * Unset (`none`) by default, so the menu grows to fit its items unless a consumer sets this.
47
49
  */
48
50
  export default class ZnMenu extends ZincElement {
49
51
  static styles: CSSResultGroup = unsafeCSS(styles);
@@ -101,6 +103,7 @@ export default class ZnMenu extends ZincElement {
101
103
  render() {
102
104
  return html`
103
105
  <div
106
+ part="base"
104
107
  class="${classMap({
105
108
  'menu': true,
106
109
  'menu--shell': this.variant === 'shell',
@@ -8,10 +8,18 @@
8
8
  border-radius: var(--zn-border-radius);
9
9
  width: fit-content;
10
10
  min-width: var(--zn-size-spanel);
11
+ // Unconstrained by default — a consumer that needs the menu to scroll inside a bounded
12
+ // popup (rather than growing to fit all its items) sets this custom property.
13
+ max-height: var(--zn-menu-max-height, none);
11
14
  overflow: auto;
12
15
  overscroll-behavior: none;
13
16
  box-shadow: 0 4px 8px -4px rgba(33, 33, 33, 0.1);
14
- background-color: rgb(var(--zn-panel));
17
+ // Same surface as the shell-header menus below, so every dropdown in the
18
+ // product reads as one material rather than splitting into --zn-panel menus
19
+ // and --zn-color-navigation ones depending on where it was mounted.
20
+ // (No backdrop-filter here: at 0.95 the blur is not worth the GPU cost on
21
+ // every dropdown, and .menu--shell keeps it for the chrome look.)
22
+ background-color: rgba(var(--zn-color-navigation, 255, 255, 255), 0.95);
15
23
  }
16
24
 
17
25
  // Dropdown vs shell hover/row styling lives on zn-menu-item, keyed by the
@@ -12,7 +12,11 @@
12
12
  // A theme sets it to an image and its tile size; unset it costs nothing.
13
13
  --zn-page-texture: none;
14
14
  --zn-page-texture-size: auto;
15
- --zn-page-content-background: var(--zn-body);
15
+ // The page canvas. Defaults to the body so the page is flush with the shell,
16
+ // but a theme can lift it clear by setting --zn-page-canvas on its root (it
17
+ // inherits across this shadow boundary). The indirection is needed because
18
+ // this :host declaration would otherwise beat any inherited value.
19
+ --zn-page-content-background: var(--zn-page-canvas, var(--zn-body));
16
20
  --zn-page-header-background: var(--zn-page-surface-background, var(--zn-page-background, var(--zn-body)));
17
21
  // A modal shell overlays its own close button at --zn-base-gap from the page edge;
18
22
  // these describe it so the header can keep clear of it.
@@ -62,11 +66,19 @@
62
66
  }
63
67
  }
64
68
 
65
- // Aura theme — the page header carries a soft violet/teal aurora gradient
66
- // instead of the flat body-coloured surface.
69
+ // Aura theme — the page header carries an aurora gradient instead of the flat
70
+ // body-coloured surface. The gradient itself is a token so each mode can own its
71
+ // own (pale violet/teal in light, deep violet/blue in dark) without a second
72
+ // selector here; it is set on the theme root in zinc's scss/_root.scss and
73
+ // inherits across this shadow boundary. Deliberately NOT called
74
+ // --zn-page-header-background: that name is already taken above, by an RGB
75
+ // triplet read as rgba(var(--zn-page-header-background), 95%).
76
+ //
77
+ // The var() fallback is the light gradient, so a consumer on a stale zn.min.css
78
+ // (no token) still gets the original aura header rather than a bare surface.
67
79
  :host-context([t="aura"]) .page__header,
68
80
  :host-context(.theme-aura) .page__header {
69
- background: linear-gradient(225deg, rgba(233, 227, 255, 1) 0%, rgba(214, 246, 245, 1) 40%, rgba(233, 227, 255, 1) 100%), linear-gradient(180deg, rgba(129, 153, 217, 0) 0%, rgba(0, 0, 0, 1) 100%);
81
+ background: var(--zn-page-header-aurora, linear-gradient(225deg, rgba(233, 227, 255, 1) 0%, rgba(214, 246, 245, 1) 40%, rgba(233, 227, 255, 1) 100%), linear-gradient(180deg, rgba(129, 153, 217, 0) 0%, rgba(0, 0, 0, 1) 100%));
70
82
 
71
83
 
72
84
  // Held still deliberately. This gradient used to drift via
@@ -111,7 +123,9 @@
111
123
  // aurora wave (it no longer darkens what it sits on); restore the blend mode
112
124
  // if the look regresses, but expect the GPU cost back with it.
113
125
  //mix-blend-mode: color-burn;
114
- opacity: 0.04;
126
+ // The wave artwork is a mid violet (#8b7fd4): on the pale light gradient it
127
+ // darkens, on the deep dark one it lifts, so each mode needs its own weight.
128
+ opacity: var(--zn-page-header-wave-opacity, 0.04);
115
129
  pointer-events: none;
116
130
  }
117
131
 
@@ -11,6 +11,7 @@ import ZincElement from '../../internal/zinc-element';
11
11
  import ZnIcon from '../icon';
12
12
  import type {ZincFormControl} from '../../internal/zinc-element';
13
13
 
14
+ import formControlStyles from '../../form-control.scss';
14
15
  import styles from './priority-list.scss';
15
16
 
16
17
  export interface PriorityItem {
@@ -60,7 +61,7 @@ export default class ZnPriorityList extends ZincElement implements ZincFormContr
60
61
  'zn-icon': ZnIcon,
61
62
  };
62
63
 
63
- static styles: CSSResultGroup = unsafeCSS(styles);
64
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
64
65
 
65
66
  protected readonly formControlController = new FormControlController(this, {
66
67
  value: (control: ZnPriorityList) => {
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -12,6 +12,7 @@ import type {ZincFormControl} from '../../internal/zinc-element';
12
12
  import type {ZnChangeEvent} from "../../events/zn-change";
13
13
  import type {ZnInputEvent} from "../../events/zn-input";
14
14
 
15
+ import formElementStyles from '../../../scss/shared/_form-elements.scss';
15
16
  import styles from './query-builder.scss';
16
17
  import type ZnDatepicker from "../datepicker";
17
18
 
@@ -138,7 +139,7 @@ export interface CreatedRule {
138
139
  * @cssproperty --example - An example CSS custom property.
139
140
  */
140
141
  export default class ZnQueryBuilder extends ZincElement implements ZincFormControl {
141
- static styles: CSSResultGroup = unsafeCSS(styles);
142
+ static styles: CSSResultGroup = [unsafeCSS(formElementStyles), unsafeCSS(styles)];
142
143
  static dependencies = {
143
144
  'zn-button': ZnButton,
144
145
  'zn-input': ZnInput,
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../../scss/shared/form-elements";
3
2
 
4
3
  :host {
5
4
  display: contents;
@@ -12,6 +12,8 @@ import ZnIcon from "../icon";
12
12
  import type {SelectionCardControlPosition, SelectionCardImagePosition} from '../../internal/selection-card';
13
13
  import type {ZincFormControl} from '../../internal/zinc-element';
14
14
 
15
+ import formControlStyles from '../../form-control.scss';
16
+ import selectionCardStyles from '../../selection-card.scss';
15
17
  import styles from './radio.scss';
16
18
 
17
19
  /**
@@ -55,7 +57,7 @@ import styles from './radio.scss';
55
57
  * @cssproperty --zn-selection-card-border-radius - Corner radius of a contained container.
56
58
  */
57
59
  export default class ZnRadio extends ZincElement implements ZincFormControl {
58
- static styles: CSSResultGroup = unsafeCSS(styles);
60
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(selectionCardStyles), unsafeCSS(styles)];
59
61
  static dependencies = {'zn-icon': ZnIcon};
60
62
 
61
63
  private readonly formControlController = new FormControlController(this, {
@@ -1,6 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
- @use "../../selection-card";
4
2
 
5
3
  :host {
6
4
  display: block;
@@ -13,6 +13,7 @@ import ZincElement from '../../internal/zinc-element';
13
13
  import type {ZincFormControl} from '../../internal/zinc-element';
14
14
  import type ZnRadio from "../radio";
15
15
 
16
+ import formControlStyles from '../../form-control.scss';
16
17
  import styles from './radio-group.scss';
17
18
 
18
19
  /**
@@ -33,7 +34,7 @@ import styles from './radio-group.scss';
33
34
  * @cssproperty --zn-radio-group-column-width - Minimum column width used by the horizontal contained grid, or the card basis when `wrap` is set.
34
35
  */
35
36
  export default class ZnRadioGroup extends ZincElement implements ZincFormControl {
36
- static styles: CSSResultGroup = unsafeCSS(styles);
37
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
37
38
 
38
39
  protected readonly formControlController = new FormControlController(this);
39
40
  private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  display: block;
@@ -9,6 +9,7 @@ import ZincElement from '../../internal/zinc-element';
9
9
 
10
10
  import type {ZincFormControl} from '../../internal/zinc-element';
11
11
 
12
+ import formControlStyles from '../../form-control.scss';
12
13
  import styles from './rating.scss';
13
14
 
14
15
  /**
@@ -35,7 +36,7 @@ import styles from './rating.scss';
35
36
  * @cssproperty --preview-size - The font size of the preview value.
36
37
  */
37
38
  export default class ZnRating extends ZincElement implements ZincFormControl {
38
- static styles: CSSResultGroup = unsafeCSS(styles);
39
+ static styles: CSSResultGroup = [unsafeCSS(formControlStyles), unsafeCSS(styles)];
39
40
 
40
41
  private readonly formControlController = new FormControlController(this, {
41
42
  assumeInteractionOn: ['zn-blur', 'zn-input']
@@ -1,5 +1,4 @@
1
1
  @use "../../wc";
2
- @use "../../form-control";
3
2
 
4
3
  :host {
5
4
  --symbol-color: rgb(var(--zn-border-color));