@ctrliq/quantic-components 1.85.1 → 1.86.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.
Files changed (48) hide show
  1. package/dist/card/card-carousel.stories.js +2 -2
  2. package/dist/card/card-group.stories.js +2 -2
  3. package/dist/checkbox/index.stories.js +3 -3
  4. package/dist/cluster/cluster.component.d.ts +7 -0
  5. package/dist/cluster/cluster.component.js +14 -5
  6. package/dist/cluster/index.constants.d.ts +3 -0
  7. package/dist/cluster/index.constants.js +3 -0
  8. package/dist/code-input/index.stories.js +3 -3
  9. package/dist/grid/grid.component.d.ts +8 -0
  10. package/dist/grid/grid.component.js +16 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/meta/index.js.map +1 -1
  13. package/dist/meta.json +53 -65
  14. package/dist/number-input/index.stories.js +3 -3
  15. package/dist/option-card/option-card-group.stories.js +3 -3
  16. package/dist/panel/panel-group.stories.js +1 -1
  17. package/dist/quantic-components.js +48 -10
  18. package/dist/quantic-components.js.map +1 -1
  19. package/dist/quantic-components.min.js +3 -3
  20. package/dist/quantic-components.min.js.map +1 -1
  21. package/dist/radio/index.stories.js +1 -1
  22. package/dist/radio/radio-group.stories.js +5 -5
  23. package/dist/register.js.map +1 -1
  24. package/dist/shared/meta.types.d.ts +1 -1
  25. package/dist/tabs/index.stories.js +35 -35
  26. package/dist/text/index.constants.d.ts +4 -0
  27. package/dist/text/index.constants.js +2 -0
  28. package/dist/text/index.d.ts +7 -0
  29. package/dist/text/index.js +13 -3
  30. package/dist/text-input/index.stories.js +3 -3
  31. package/dist/textarea/index.stories.js +3 -3
  32. package/dist/toggle/index.stories.js +3 -3
  33. package/dist/types/cluster/cluster.component.d.ts +7 -0
  34. package/dist/types/cluster/index.constants.d.ts +3 -0
  35. package/dist/types/grid/grid.component.d.ts +8 -0
  36. package/dist/types/shared/meta.types.d.ts +1 -1
  37. package/dist/types/text/index.constants.d.ts +4 -0
  38. package/dist/types/text/index.d.ts +7 -0
  39. package/package.json +1 -1
  40. package/dist/cluster/cluster.stories.d.ts +0 -57
  41. package/dist/cluster/cluster.stories.js +0 -67
  42. package/dist/grid/grid.stories.d.ts +0 -36
  43. package/dist/grid/grid.stories.js +0 -95
  44. package/dist/text/index.stories.d.ts +0 -50
  45. package/dist/text/index.stories.js +0 -55
  46. package/dist/types/cluster/cluster.stories.d.ts +0 -57
  47. package/dist/types/grid/grid.stories.d.ts +0 -36
  48. package/dist/types/text/index.stories.d.ts +0 -50
@@ -20,7 +20,7 @@ export interface ComponentMeta {
20
20
  category: 'action' | 'form' | 'display' | 'layout' | 'feedback' | 'navigation' | 'data';
21
21
  ascii?: string;
22
22
  deprecated?: {
23
- use: string;
23
+ use?: string;
24
24
  reason?: string;
25
25
  };
26
26
  props?: Record<string, PropMeta>;
@@ -38,19 +38,19 @@ const base = story({
38
38
  <quantic-tab-button index="2">Security</quantic-tab-button>
39
39
 
40
40
  <quantic-tab-panel index="0">
41
- <quantic-text size="lg">Jane Doe</quantic-text>
42
- <quantic-text>Email: jane.doe@example.com</quantic-text>
43
- <quantic-text>Member since Jan 2021</quantic-text>
41
+ <p class="story-lead">Jane Doe</p>
42
+ <p class="story-copy">Email: jane.doe@example.com</p>
43
+ <p class="story-copy">Member since Jan 2021</p>
44
44
  </quantic-tab-panel>
45
45
 
46
46
  <quantic-tab-panel index="1">
47
- <quantic-text size="md">Email Notifications: Enabled</quantic-text>
48
- <quantic-text size="md">SMS Alerts: Disabled</quantic-text>
47
+ <p class="story-copy">Email Notifications: Enabled</p>
48
+ <p class="story-copy">SMS Alerts: Disabled</p>
49
49
  <quantic-button>Edit</quantic-button>
50
50
  </quantic-tab-panel>
51
51
 
52
52
  <quantic-tab-panel index="2">
53
- <quantic-text size="md">Change Password</quantic-text>
53
+ <p class="story-copy">Change Password</p>
54
54
  <quantic-password-input placeholder="New password"></quantic-password-input>
55
55
  <quantic-button>Save</quantic-button>
56
56
  </quantic-tab-panel>
@@ -80,14 +80,14 @@ export const CustomGap = story({
80
80
  <quantic-tab-button index="2">Security</quantic-tab-button>
81
81
 
82
82
  <quantic-tab-panel index="0">
83
- <quantic-text size="lg">Jane Doe</quantic-text>
84
- <quantic-text>Email: jane.doe@example.com</quantic-text>
83
+ <p class="story-lead">Jane Doe</p>
84
+ <p class="story-copy">Email: jane.doe@example.com</p>
85
85
  </quantic-tab-panel>
86
86
  <quantic-tab-panel index="1">
87
- <quantic-text size="md">Email Notifications: Enabled</quantic-text>
87
+ <p class="story-copy">Email Notifications: Enabled</p>
88
88
  </quantic-tab-panel>
89
89
  <quantic-tab-panel index="2">
90
- <quantic-text size="md">Change Password</quantic-text>
90
+ <p class="story-copy">Change Password</p>
91
91
  </quantic-tab-panel>
92
92
  </quantic-tabs>
93
93
  `);
@@ -142,14 +142,14 @@ export const CustomIndicator = story({
142
142
  <quantic-tab-button index="2">Security</quantic-tab-button>
143
143
 
144
144
  <quantic-tab-panel index="0">
145
- <quantic-text size="lg">Jane Doe</quantic-text>
146
- <quantic-text>Email: jane.doe@example.com</quantic-text>
145
+ <p class="story-lead">Jane Doe</p>
146
+ <p class="story-copy">Email: jane.doe@example.com</p>
147
147
  </quantic-tab-panel>
148
148
  <quantic-tab-panel index="1">
149
- <quantic-text size="md">Email Notifications: Enabled</quantic-text>
149
+ <p class="story-copy">Email Notifications: Enabled</p>
150
150
  </quantic-tab-panel>
151
151
  <quantic-tab-panel index="2">
152
- <quantic-text size="md">Change Password</quantic-text>
152
+ <p class="story-copy">Change Password</p>
153
153
  </quantic-tab-panel>
154
154
  </quantic-tabs>
155
155
  `);
@@ -182,23 +182,23 @@ export const WithDisabled = story({
182
182
  <quantic-tab-button index="3" disabled>Billing</quantic-tab-button>
183
183
 
184
184
  <quantic-tab-panel index="0">
185
- <quantic-text size="lg">Jane Doe</quantic-text>
186
- <quantic-text>Email: jane.doe@example.com</quantic-text>
187
- <quantic-text>Member since Jan 2021</quantic-text>
185
+ <p class="story-lead">Jane Doe</p>
186
+ <p class="story-copy">Email: jane.doe@example.com</p>
187
+ <p class="story-copy">Member since Jan 2021</p>
188
188
  </quantic-tab-panel>
189
189
 
190
190
  <quantic-tab-panel index="1">
191
- <quantic-text>Notifications are unavailable for this account.</quantic-text>
191
+ <p class="story-copy">Notifications are unavailable for this account.</p>
192
192
  </quantic-tab-panel>
193
193
 
194
194
  <quantic-tab-panel index="2">
195
- <quantic-text size="md">Change Password</quantic-text>
195
+ <p class="story-copy">Change Password</p>
196
196
  <quantic-password-input placeholder="New password"></quantic-password-input>
197
197
  <quantic-button>Save</quantic-button>
198
198
  </quantic-tab-panel>
199
199
 
200
200
  <quantic-tab-panel index="3">
201
- <quantic-text>Billing is unavailable for this account.</quantic-text>
201
+ <p class="story-copy">Billing is unavailable for this account.</p>
202
202
  </quantic-tab-panel>
203
203
  </quantic-tabs>
204
204
  `);
@@ -255,14 +255,14 @@ export const WithIcons = story({
255
255
  </quantic-tab-button>
256
256
 
257
257
  <quantic-tab-panel index="0">
258
- <quantic-text size="lg">Jane Doe</quantic-text>
259
- <quantic-text>Email: jane.doe@example.com</quantic-text>
258
+ <p class="story-lead">Jane Doe</p>
259
+ <p class="story-copy">Email: jane.doe@example.com</p>
260
260
  </quantic-tab-panel>
261
261
  <quantic-tab-panel index="1">
262
- <quantic-text size="md">Email Notifications: Enabled</quantic-text>
262
+ <p class="story-copy">Email Notifications: Enabled</p>
263
263
  </quantic-tab-panel>
264
264
  <quantic-tab-panel index="2">
265
- <quantic-text size="md">Change Password</quantic-text>
265
+ <p class="story-copy">Change Password</p>
266
266
  </quantic-tab-panel>
267
267
  </quantic-tabs>
268
268
  `);
@@ -293,20 +293,20 @@ export const NestedTabs = story({
293
293
  <quantic-tab-button index="1">Outer B</quantic-tab-button>
294
294
 
295
295
  <quantic-tab-panel index="0">
296
- <quantic-text size="xs">Switching inner tabs here must leave the outer selection on Outer A.</quantic-text>
296
+ <p class="story-note">Switching inner tabs here must leave the outer selection on Outer A.</p>
297
297
  <quantic-tabs selected-index="0" size=${size} orientation=${orientation}>
298
298
  <quantic-tab-button index="0">Inner 1</quantic-tab-button>
299
299
  <quantic-tab-button index="1">Inner 2</quantic-tab-button>
300
300
  <quantic-tab-button index="2">Inner 3</quantic-tab-button>
301
301
 
302
- <quantic-tab-panel index="0"><quantic-text>Inner panel 1</quantic-text></quantic-tab-panel>
303
- <quantic-tab-panel index="1"><quantic-text>Inner panel 2</quantic-text></quantic-tab-panel>
304
- <quantic-tab-panel index="2"><quantic-text>Inner panel 3</quantic-text></quantic-tab-panel>
302
+ <quantic-tab-panel index="0"><p class="story-copy">Inner panel 1</p></quantic-tab-panel>
303
+ <quantic-tab-panel index="1"><p class="story-copy">Inner panel 2</p></quantic-tab-panel>
304
+ <quantic-tab-panel index="2"><p class="story-copy">Inner panel 3</p></quantic-tab-panel>
305
305
  </quantic-tabs>
306
306
  </quantic-tab-panel>
307
307
 
308
308
  <quantic-tab-panel index="1">
309
- <quantic-text>Outer panel B.</quantic-text>
309
+ <p class="story-copy">Outer panel B.</p>
310
310
  </quantic-tab-panel>
311
311
  </quantic-tabs>
312
312
  `);
@@ -351,13 +351,13 @@ export const IndependentlyScrollable = story({
351
351
  <quantic-tab-button index="2">Security</quantic-tab-button>
352
352
 
353
353
  <quantic-tab-panel index="0">
354
- ${Array.from({ length: 12 }, (_, i) => html `<quantic-text>Profile row ${i + 1}</quantic-text>`)}
354
+ ${Array.from({ length: 12 }, (_, i) => html `<p class="story-copy">Profile row ${i + 1}</p>`)}
355
355
  </quantic-tab-panel>
356
356
  <quantic-tab-panel index="1">
357
- <quantic-text>Email Notifications: Enabled</quantic-text>
357
+ <p class="story-copy">Email Notifications: Enabled</p>
358
358
  </quantic-tab-panel>
359
359
  <quantic-tab-panel index="2">
360
- <quantic-text>Change Password</quantic-text>
360
+ <p class="story-copy">Change Password</p>
361
361
  </quantic-tab-panel>
362
362
  </quantic-tabs>
363
363
  </div>
@@ -402,13 +402,13 @@ export const CollapseBelow = story({
402
402
  <quantic-tab-button index="2">Security</quantic-tab-button>
403
403
 
404
404
  <quantic-tab-panel index="0">
405
- <quantic-text>Stacked when the tabs container is 640px wide or less.</quantic-text>
405
+ <p class="story-copy">Stacked when the tabs container is 640px wide or less.</p>
406
406
  </quantic-tab-panel>
407
407
  <quantic-tab-panel index="1">
408
- <quantic-text>Email Notifications: Enabled</quantic-text>
408
+ <p class="story-copy">Email Notifications: Enabled</p>
409
409
  </quantic-tab-panel>
410
410
  <quantic-tab-panel index="2">
411
- <quantic-text>Change Password</quantic-text>
411
+ <p class="story-copy">Change Password</p>
412
412
  </quantic-tab-panel>
413
413
  </quantic-tabs>
414
414
  </div>
@@ -1,8 +1,11 @@
1
+ /** @deprecated `Text` is deprecated. Set `font-family` from a `--quantic-font-family-*` token in your own stylesheet. */
1
2
  export declare const TextVariant: {
2
3
  readonly Body: "body";
3
4
  readonly Display: "display";
4
5
  };
6
+ /** @deprecated `Text` is deprecated. Set `font-family` from a `--quantic-font-family-*` token in your own stylesheet. */
5
7
  export type TextVariant = (typeof TextVariant)[keyof typeof TextVariant];
8
+ /** @deprecated `Text` is deprecated. Set `font-size` from a `--quantic-font-size-*` token in your own stylesheet. */
6
9
  export declare const TextSize: {
7
10
  readonly ExtraSmall: "xs";
8
11
  readonly Small: "sm";
@@ -11,4 +14,5 @@ export declare const TextSize: {
11
14
  readonly ExtraLarge: "xl";
12
15
  readonly TwoExtraLarge: "2xl";
13
16
  };
17
+ /** @deprecated `Text` is deprecated. Set `font-size` from a `--quantic-font-size-*` token in your own stylesheet. */
14
18
  export type TextSize = (typeof TextSize)[keyof typeof TextSize];
@@ -1,7 +1,9 @@
1
+ /** @deprecated `Text` is deprecated. Set `font-family` from a `--quantic-font-family-*` token in your own stylesheet. */
1
2
  export const TextVariant = {
2
3
  Body: 'body',
3
4
  Display: 'display',
4
5
  };
6
+ /** @deprecated `Text` is deprecated. Set `font-size` from a `--quantic-font-size-*` token in your own stylesheet. */
5
7
  export const TextSize = {
6
8
  ExtraSmall: 'xs',
7
9
  Small: 'sm',
@@ -2,6 +2,13 @@ import { QuanticElement } from '../shared/quantic-element';
2
2
  import type { ComponentMeta } from '../shared/meta.types';
3
3
  import { TextVariant, TextSize } from './index.constants';
4
4
  export { TextVariant, TextSize } from './index.constants';
5
+ /**
6
+ * @deprecated The markup belongs to the consumer. `as` renders the consumer's own element
7
+ * inside a shadow root, where `prose.scss` and `type.scss` cannot reach it, type selectors
8
+ * stop matching, and `aria-labelledby` and `label[for]` cannot cross the boundary. Write
9
+ * the semantic element in your own document and let the typography stylesheet style it.
10
+ * Removed in the next major. See `rules/component-api-boundary.md`.
11
+ */
5
12
  export declare class Text extends QuanticElement {
6
13
  static meta: ComponentMeta;
7
14
  as: keyof HTMLElementTagNameMap;
@@ -28,6 +28,13 @@ const rules = [
28
28
  ...Object.values(TextVariant).map(variantRule),
29
29
  ...Object.values(TextSize).flatMap((size) => Object.values(TextVariant).map((variant) => sizeRule(size, variant))),
30
30
  ].join('\n');
31
+ /**
32
+ * @deprecated The markup belongs to the consumer. `as` renders the consumer's own element
33
+ * inside a shadow root, where `prose.scss` and `type.scss` cannot reach it, type selectors
34
+ * stop matching, and `aria-labelledby` and `label[for]` cannot cross the boundary. Write
35
+ * the semantic element in your own document and let the typography stylesheet style it.
36
+ * Removed in the next major. See `rules/component-api-boundary.md`.
37
+ */
31
38
  let Text = class Text extends QuanticElement {
32
39
  constructor() {
33
40
  super(...arguments);
@@ -46,13 +53,16 @@ let Text = class Text extends QuanticElement {
46
53
  };
47
54
  Text.meta = {
48
55
  tag: 'quantic-text',
49
- description: 'Typography component for rendering text with consistent sizing, weight, and color tokens. ' +
50
- 'Renders any HTML element via the `as` prop for semantic correctness.',
56
+ description: 'Deprecated typography wrapper. Write the semantic element in your own document, ' +
57
+ 'where quantic-css type styles and IDREF-based accessibility can reach it.',
51
58
  category: 'display',
59
+ deprecated: {
60
+ reason: "Renders the consumer's element inside a shadow root, so the typography stylesheet cannot style it and IDREFs cannot cross the boundary.",
61
+ },
52
62
  slots: {
53
63
  '': { description: 'Text content to render.' },
54
64
  },
55
- relatedTo: [],
65
+ relatedTo: ['quantic-prose'],
56
66
  };
57
67
  Text.styles = unsafeCSS(rules);
58
68
  __decorate([
@@ -128,7 +128,7 @@ export const WithEventHandlers = story({
128
128
  return `
129
129
  <div style="display: flex; gap: .5em; flex-direction: column">
130
130
  <quantic-text-input ${attrList}></quantic-text-input>
131
- <quantic-text size="xs">See actions panel for more details.</quantic-text>
131
+ <p class="story-note">See actions panel for more details.</p>
132
132
  </div>
133
133
  `;
134
134
  });
@@ -166,11 +166,11 @@ export const FormAssociated = story({
166
166
  <quantic-button size="sm" type="reset" variant="outline">Reset</quantic-button>
167
167
  </div>
168
168
 
169
- <quantic-text size="xs">
169
+ <p class="story-note">
170
170
  This story demonstrates form-associated behavior using ElementInternals.
171
171
  Try submitting or resetting the form to see the values in the Actions
172
172
  panel.
173
- </quantic-text>
173
+ </p>
174
174
  </form>
175
175
  `);
176
176
  FormAssociated.parameters = {
@@ -84,7 +84,7 @@ export const WithEventHandlers = story({
84
84
  return `
85
85
  <div style="display: flex; gap: .5em; flex-direction: column">
86
86
  <quantic-textarea ${attrList}></quantic-textarea>
87
- <quantic-text size="xs">See actions panel for more details.</quantic-text>
87
+ <p class="story-note">See actions panel for more details.</p>
88
88
  </div>
89
89
  `;
90
90
  });
@@ -117,10 +117,10 @@ export const FormAssociated = story({
117
117
  <quantic-button size="sm" type="reset" variant="outline">Reset</quantic-button>
118
118
  </div>
119
119
 
120
- <quantic-text size="xs">
120
+ <p class="story-note">
121
121
  This story demonstrates form-associated behavior using ElementInternals.
122
122
  Try submitting or resetting the form to see the values in the Actions panel.
123
- </quantic-text>
123
+ </p>
124
124
  </form>
125
125
  `);
126
126
  FormAssociated.parameters = {
@@ -62,7 +62,7 @@ export const WithEventHandlers = story({
62
62
  ?required=${required}
63
63
  ?invalid=${invalid}
64
64
  ></quantic-toggle>
65
- <quantic-text size="xs">See actions panel for more details.</quantic-text>
65
+ <p class="story-note">See actions panel for more details.</p>
66
66
  </div>
67
67
  `);
68
68
  export const WithSlotContent = story().render(() => `
@@ -116,11 +116,11 @@ export const FormAssociated = story({
116
116
  <quantic-button size="sm" type="reset" variant="outline">Reset</quantic-button>
117
117
  </div>
118
118
 
119
- <quantic-text size="xs">
119
+ <p class="story-note">
120
120
  This story demonstrates form-associated behavior using ElementInternals.
121
121
  Try submitting or resetting the form to see the values in the Actions
122
122
  panel.
123
- </quantic-text>
123
+ </p>
124
124
  </form>
125
125
  `);
126
126
  FormAssociated.parameters = {
@@ -1,6 +1,13 @@
1
1
  import { ClusterAxis, ClusterGap, ClusterAlign } from './index.constants';
2
2
  import { QuanticElement } from '../shared/quantic-element';
3
3
  import type { ComponentMeta } from '../shared/meta.types';
4
+ /**
5
+ * @deprecated Presentation belongs in CSS. Every prop this element carries maps
6
+ * one-to-one to a CSS property, so it is a `div` with a shadow root around it. For a
7
+ * uniform run of children use the group that names them: `TagGroup`, `BadgeGroup` or
8
+ * `ActionGroup`. Anything else is page layout, so write the flex rule in your own
9
+ * stylesheet. Removed in the next major. See `rules/component-api-boundary.md`.
10
+ */
4
11
  export declare class Cluster extends QuanticElement {
5
12
  static meta: ComponentMeta;
6
13
  axis: ClusterAxis;
@@ -1,7 +1,9 @@
1
+ /** @deprecated `Cluster` is deprecated. Set `flex-direction` in your own stylesheet. */
1
2
  export declare enum ClusterAxis {
2
3
  Horizontal = "horizontal",
3
4
  Vertical = "vertical"
4
5
  }
6
+ /** @deprecated `Cluster` is deprecated. Set `gap` to a `--quantic-spacing-*` token in your own stylesheet. */
5
7
  export declare enum ClusterGap {
6
8
  None = "none",
7
9
  ExtraSmall = "xs",
@@ -10,6 +12,7 @@ export declare enum ClusterGap {
10
12
  Large = "lg",
11
13
  ExtraLarge = "xl"
12
14
  }
15
+ /** @deprecated `Cluster` is deprecated. Set `align-items` in your own stylesheet. */
13
16
  export declare enum ClusterAlign {
14
17
  Start = "start",
15
18
  Center = "center",
@@ -1,6 +1,14 @@
1
1
  import { GridDensity } from './index.constants';
2
2
  import { QuanticElement } from '../shared/quantic-element';
3
3
  import type { ComponentMeta } from '../shared/meta.types';
4
+ /**
5
+ * @deprecated Becoming internal anatomy. Grid sizes its children, so every layout it does
6
+ * not anticipate is unreachable from outside the shadow boundary. Use `CardGroup`, which
7
+ * owns its row sizing, or write the grid in your own stylesheet. `OptionCardGroup` is the
8
+ * equivalent when the children are option cards. The element stays registered because
9
+ * those two render it; the public export goes in the next major. See
10
+ * `rules/component-api-boundary.md`.
11
+ */
4
12
  export declare class Grid extends QuanticElement {
5
13
  static meta: ComponentMeta;
6
14
  density: GridDensity;
@@ -20,7 +20,7 @@ export interface ComponentMeta {
20
20
  category: 'action' | 'form' | 'display' | 'layout' | 'feedback' | 'navigation' | 'data';
21
21
  ascii?: string;
22
22
  deprecated?: {
23
- use: string;
23
+ use?: string;
24
24
  reason?: string;
25
25
  };
26
26
  props?: Record<string, PropMeta>;
@@ -1,8 +1,11 @@
1
+ /** @deprecated `Text` is deprecated. Set `font-family` from a `--quantic-font-family-*` token in your own stylesheet. */
1
2
  export declare const TextVariant: {
2
3
  readonly Body: "body";
3
4
  readonly Display: "display";
4
5
  };
6
+ /** @deprecated `Text` is deprecated. Set `font-family` from a `--quantic-font-family-*` token in your own stylesheet. */
5
7
  export type TextVariant = (typeof TextVariant)[keyof typeof TextVariant];
8
+ /** @deprecated `Text` is deprecated. Set `font-size` from a `--quantic-font-size-*` token in your own stylesheet. */
6
9
  export declare const TextSize: {
7
10
  readonly ExtraSmall: "xs";
8
11
  readonly Small: "sm";
@@ -11,4 +14,5 @@ export declare const TextSize: {
11
14
  readonly ExtraLarge: "xl";
12
15
  readonly TwoExtraLarge: "2xl";
13
16
  };
17
+ /** @deprecated `Text` is deprecated. Set `font-size` from a `--quantic-font-size-*` token in your own stylesheet. */
14
18
  export type TextSize = (typeof TextSize)[keyof typeof TextSize];
@@ -2,6 +2,13 @@ import { QuanticElement } from '../shared/quantic-element';
2
2
  import type { ComponentMeta } from '../shared/meta.types';
3
3
  import { TextVariant, TextSize } from './index.constants';
4
4
  export { TextVariant, TextSize } from './index.constants';
5
+ /**
6
+ * @deprecated The markup belongs to the consumer. `as` renders the consumer's own element
7
+ * inside a shadow root, where `prose.scss` and `type.scss` cannot reach it, type selectors
8
+ * stop matching, and `aria-labelledby` and `label[for]` cannot cross the boundary. Write
9
+ * the semantic element in your own document and let the typography stylesheet style it.
10
+ * Removed in the next major. See `rules/component-api-boundary.md`.
11
+ */
5
12
  export declare class Text extends QuanticElement {
6
13
  static meta: ComponentMeta;
7
14
  as: keyof HTMLElementTagNameMap;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ctrliq/quantic-components",
3
- "version": "1.85.1",
3
+ "version": "1.86.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -1,57 +0,0 @@
1
- import { ClusterAxis, ClusterGap, ClusterAlign } from './index.constants';
2
- declare const _default: {
3
- title: string;
4
- component: string;
5
- tags: string[];
6
- argTypes: {
7
- axis: {
8
- control: string;
9
- options: ClusterAxis[];
10
- table: {
11
- defaultValue: {
12
- summary: ClusterAxis;
13
- };
14
- };
15
- };
16
- gap: {
17
- control: string;
18
- options: ClusterGap[];
19
- table: {
20
- defaultValue: {
21
- summary: ClusterGap;
22
- };
23
- };
24
- };
25
- align: {
26
- control: string;
27
- options: ClusterAlign[];
28
- table: {
29
- defaultValue: {
30
- summary: ClusterAlign;
31
- };
32
- };
33
- };
34
- wrap: {
35
- control: string;
36
- table: {
37
- defaultValue: {
38
- summary: string;
39
- };
40
- };
41
- };
42
- };
43
- };
44
- export default _default;
45
- interface Args {
46
- axis: ClusterAxis;
47
- gap: ClusterGap;
48
- align: ClusterAlign;
49
- wrap: boolean;
50
- }
51
- export declare const Horizontal: import("../shared/story").StoryObject<Args>;
52
- export declare const Vertical: import("../shared/story").StoryObject<Args>;
53
- export declare const ExtraSmall: import("../shared/story").StoryObject<Args>;
54
- export declare const Small: import("../shared/story").StoryObject<Args>;
55
- export declare const Large: import("../shared/story").StoryObject<Args>;
56
- export declare const ExtraLarge: import("../shared/story").StoryObject<Args>;
57
- export declare const Centered: import("../shared/story").StoryObject<Args>;
@@ -1,67 +0,0 @@
1
- import { story } from '../shared/story';
2
- import { ClusterAxis, ClusterGap, ClusterAlign } from './index.constants';
3
- export default {
4
- title: 'Components/Layout/Cluster',
5
- component: 'quantic-cluster',
6
- tags: ['autodocs'],
7
- argTypes: {
8
- axis: {
9
- control: 'select',
10
- options: Object.values(ClusterAxis),
11
- table: { defaultValue: { summary: ClusterAxis.Horizontal } },
12
- },
13
- gap: {
14
- control: 'select',
15
- options: Object.values(ClusterGap),
16
- table: { defaultValue: { summary: ClusterGap.Medium } },
17
- },
18
- align: {
19
- control: 'select',
20
- options: Object.values(ClusterAlign),
21
- table: { defaultValue: { summary: ClusterAlign.Start } },
22
- },
23
- wrap: {
24
- control: 'boolean',
25
- table: { defaultValue: { summary: 'true' } },
26
- },
27
- },
28
- };
29
- const badges = [
30
- 'Backgrounds',
31
- 'Email signatures',
32
- 'LinkedIn header graphic',
33
- 'Social media posts',
34
- 'Presentation slides',
35
- ];
36
- const renderBadges = () => badges.map((label) => `<quantic-badge color="purple" size="xs">${label}</quantic-badge>`).join('\n');
37
- const base = story({
38
- args: {
39
- axis: ClusterAxis.Horizontal,
40
- gap: ClusterGap.Medium,
41
- align: ClusterAlign.Start,
42
- wrap: true,
43
- },
44
- }).render(({ axis, gap, align, wrap }) => `
45
- <quantic-cluster axis="${axis}" gap="${gap}" align="${align}" ${wrap ? 'wrap' : 'nowrap'}>
46
- ${renderBadges()}
47
- </quantic-cluster>
48
- `);
49
- export const Horizontal = base;
50
- export const Vertical = base.override({
51
- axis: ClusterAxis.Vertical,
52
- });
53
- export const ExtraSmall = base.override({
54
- gap: ClusterGap.ExtraSmall,
55
- });
56
- export const Small = base.override({
57
- gap: ClusterGap.Small,
58
- });
59
- export const Large = base.override({
60
- gap: ClusterGap.Large,
61
- });
62
- export const ExtraLarge = base.override({
63
- gap: ClusterGap.ExtraLarge,
64
- });
65
- export const Centered = base.override({
66
- align: ClusterAlign.Center,
67
- });
@@ -1,36 +0,0 @@
1
- import { GridDensity } from './index.constants';
2
- declare const _default: {
3
- title: string;
4
- component: string;
5
- tags: string[];
6
- argTypes: {
7
- density: {
8
- control: string;
9
- options: GridDensity[];
10
- description: string;
11
- table: {
12
- defaultValue: {
13
- summary: GridDensity;
14
- };
15
- };
16
- };
17
- cardCount: {
18
- control: {
19
- type: string;
20
- min: number;
21
- max: number;
22
- };
23
- description: string;
24
- };
25
- };
26
- };
27
- export default _default;
28
- interface Args {
29
- density: GridDensity;
30
- cardCount: number;
31
- }
32
- export declare const Dense: import("../shared/story").StoryObject<Args>;
33
- export declare const Compact: import("../shared/story").StoryObject<Args>;
34
- export declare const Comfortable: import("../shared/story").StoryObject<Args>;
35
- export declare const Sparse: import("../shared/story").StoryObject<Args>;
36
- export declare const Custom: import("../shared/story").StoryObject<Args>;