@ctrliq/quantic-components 1.86.1 → 1.87.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 (69) hide show
  1. package/dist/action-group/action-group.component.js +7 -2
  2. package/dist/badge/badge-group.component.js +1 -2
  3. package/dist/badge/badge.component.js +8 -3
  4. package/dist/button/index.js +3 -2
  5. package/dist/button-bar/button-bar-item.js +1 -0
  6. package/dist/button-bar/button-bar.js +0 -1
  7. package/dist/button-group/button-group-item.js +3 -0
  8. package/dist/button-group/button-group.js +0 -1
  9. package/dist/card/card-image.component.js +1 -0
  10. package/dist/card/card-meta.component.js +1 -0
  11. package/dist/card/card-title.component.js +1 -0
  12. package/dist/card/card.component.js +14 -21
  13. package/dist/checkbox/checkbox-group.component.js +0 -1
  14. package/dist/dialog/dialog-actions.js +1 -1
  15. package/dist/dialog/dialog-title.js +1 -0
  16. package/dist/dialog/dialog.js +0 -1
  17. package/dist/dropdown-menu/dropdown-menu.component.js +0 -4
  18. package/dist/dropdown-menu/group.component.js +1 -0
  19. package/dist/dropdown-menu/item.component.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/layout/layout.component.js +1 -1
  22. package/dist/layout/sidebar-menu-item-group.component.js +1 -0
  23. package/dist/layout/sidebar-menu-item.component.js +2 -0
  24. package/dist/layout/sidebar.component.js +1 -4
  25. package/dist/meta/all-meta.test.js +18 -0
  26. package/dist/meta/index.js.map +1 -1
  27. package/dist/meta/serialize.d.ts +3 -1
  28. package/dist/meta/serialize.js +20 -3
  29. package/dist/meta/serialize.test.js +30 -0
  30. package/dist/meta/slot-parity.test.d.ts +1 -0
  31. package/dist/meta/slot-parity.test.js +83 -0
  32. package/dist/meta.json +146 -58
  33. package/dist/number-input/index.js +1 -0
  34. package/dist/option-card/option-card-group.component.js +0 -1
  35. package/dist/option-card/option-card.component.js +1 -0
  36. package/dist/panel/panel-group.component.js +0 -1
  37. package/dist/panel/panel-header.component.js +1 -0
  38. package/dist/panel/panel.component.js +0 -1
  39. package/dist/popover/popover-popup.js +1 -0
  40. package/dist/popover/popover.js +0 -1
  41. package/dist/quantic-components.js +84 -70
  42. package/dist/quantic-components.js.map +1 -1
  43. package/dist/quantic-components.min.js +61 -79
  44. package/dist/quantic-components.min.js.map +1 -1
  45. package/dist/radio/radio.component.js +1 -0
  46. package/dist/register.js.map +1 -1
  47. package/dist/select/index.js +7 -0
  48. package/dist/shared/meta.types.d.ts +21 -1
  49. package/dist/splitter/splitter-group.component.js +0 -1
  50. package/dist/splitter/splitter-pane.component.js +1 -0
  51. package/dist/table/table-body.component.js +1 -0
  52. package/dist/table/table-cell.component.js +1 -0
  53. package/dist/table/table-controls.component.js +1 -0
  54. package/dist/table/table-footer.component.js +1 -0
  55. package/dist/table/table-head.component.js +1 -0
  56. package/dist/table/table-header.component.js +1 -0
  57. package/dist/table/table-row.component.js +1 -0
  58. package/dist/table/table.component.js +0 -9
  59. package/dist/tabs/button.component.js +1 -0
  60. package/dist/tabs/panel.component.js +1 -0
  61. package/dist/tabs/tabs.component.js +0 -1
  62. package/dist/tag/tag-group.component.js +6 -2
  63. package/dist/text-input/index.js +6 -8
  64. package/dist/tooltip/tooltip-popup.js +1 -0
  65. package/dist/tooltip/tooltip.js +0 -1
  66. package/dist/types/meta/serialize.d.ts +3 -1
  67. package/dist/types/meta/slot-parity.test.d.ts +1 -0
  68. package/dist/types/shared/meta.types.d.ts +21 -1
  69. package/package.json +1 -1
@@ -561,7 +561,7 @@
561
561
  value=${o$3(this.value)}
562
562
  @click=${this.handleClick}
563
563
  >
564
- <slot data-description="Button label or icon content."></slot>
564
+ <slot></slot>
565
565
  </button>`
566
566
  : u$2 `
567
567
  <${Tag}
@@ -573,7 +573,7 @@
573
573
  target=${o$3(this.target)}
574
574
  download=${o$3(this.download)}
575
575
  >
576
- <slot data-description="Button label or icon content."></slot>
576
+ <slot></slot>
577
577
  </${Tag}>`;
578
578
  }
579
579
  };
@@ -583,6 +583,7 @@
583
583
  'Supports icon-only mode and polymorphic rendering as an <a> or <span>. ' +
584
584
  'Prefer over quantic-icon-label when the element needs to be interactive.',
585
585
  category: 'action',
586
+ slots: { '': { description: 'Button label or icon content.' } },
586
587
  relatedTo: ['quantic-button-bar', 'quantic-icon-label'],
587
588
  };
588
589
  exports.Button.formAssociated = true;
@@ -5587,9 +5588,9 @@
5587
5588
  });
5588
5589
  return u$2 `
5589
5590
  <div class=${classes}>
5590
- <slot name="before" data-description="Content before the label (e.g. icon)."></slot>
5591
- <slot data-description="Badge label text or icon."></slot>
5592
- <slot name="after" data-description="Content after the label."></slot>
5591
+ <slot name="before"></slot>
5592
+ <slot></slot>
5593
+ <slot name="after"></slot>
5593
5594
  </div>
5594
5595
  `;
5595
5596
  }
@@ -5600,6 +5601,11 @@
5600
5601
  'Non-interactive — use quantic-button for clickable chips. ' +
5601
5602
  'Supports a wide color palette and an icon-only square mode.',
5602
5603
  category: 'display',
5604
+ slots: {
5605
+ before: { description: 'Content before the label (e.g. icon).' },
5606
+ '': { description: 'Badge label text or icon.' },
5607
+ after: { description: 'Content after the label.' },
5608
+ },
5603
5609
  relatedTo: ['quantic-tag', 'quantic-status-badge'],
5604
5610
  };
5605
5611
  exports.Badge.styles = i$7 `
@@ -5788,8 +5794,7 @@
5788
5794
  description: 'quantic-badge or quantic-status-badge elements.',
5789
5795
  },
5790
5796
  },
5791
- subComponents: ['quantic-badge', 'quantic-status-badge'],
5792
- relatedTo: ['quantic-badge', 'quantic-tag-group'],
5797
+ relatedTo: ['quantic-badge', 'quantic-tag-group', 'quantic-status-badge'],
5793
5798
  };
5794
5799
  exports.BadgeGroup.styles = i$7 `
5795
5800
  :host {
@@ -6032,8 +6037,13 @@
6032
6037
  description: 'quantic-button elements, or a quantic-dropdown-menu or quantic-popover triggered by one.',
6033
6038
  },
6034
6039
  },
6035
- subComponents: ['quantic-button', 'quantic-dropdown-menu', 'quantic-popover'],
6036
- relatedTo: ['quantic-button', 'quantic-button-bar', 'quantic-dialog-actions'],
6040
+ relatedTo: [
6041
+ 'quantic-button',
6042
+ 'quantic-button-bar',
6043
+ 'quantic-dialog-actions',
6044
+ 'quantic-dropdown-menu',
6045
+ 'quantic-popover',
6046
+ ],
6037
6047
  };
6038
6048
  exports.ActionGroup.styles = i$7 `
6039
6049
  :host {
@@ -6223,7 +6233,6 @@
6223
6233
  'Prefer quantic-button for a standalone action, and quantic-tabs when each segment reveals a panel.',
6224
6234
  category: 'action',
6225
6235
  slots: { '': { description: 'One or more quantic-button-bar-item elements.' } },
6226
- subComponents: ['quantic-button-bar-item'],
6227
6236
  relatedTo: ['quantic-button'],
6228
6237
  };
6229
6238
  exports.ButtonBar.styles = i$7 `
@@ -6281,7 +6290,6 @@
6281
6290
  reason: 'The name describes a row of buttons, which this is not. Use quantic-action-group for that.',
6282
6291
  },
6283
6292
  slots: { '': { description: 'One or more quantic-button-group-item elements.' } },
6284
- subComponents: ['quantic-button-group-item'],
6285
6293
  };
6286
6294
  exports.ButtonGroup = __decorate([
6287
6295
  quanticElement('quantic-button-group')
@@ -6323,6 +6331,7 @@
6323
6331
  description: 'Single segment within a quantic-button-bar. ' +
6324
6332
  'Renders as a native button with shared sizing from the parent context and a pressed state via active.',
6325
6333
  category: 'action',
6334
+ subComponentOf: 'quantic-button-bar',
6326
6335
  slots: { '': { description: 'Button label or icon content.' } },
6327
6336
  relatedTo: ['quantic-button-bar', 'quantic-button'],
6328
6337
  };
@@ -6487,6 +6496,9 @@
6487
6496
  tag: 'quantic-button-group-item',
6488
6497
  description: 'Deprecated alias of quantic-button-bar-item. Use quantic-button-bar-item.',
6489
6498
  deprecated: { use: 'quantic-button-bar-item' },
6499
+ // The spread would otherwise inherit quantic-button-bar from ButtonBarItem, and
6500
+ // the deprecated item belongs to the deprecated bar.
6501
+ subComponentOf: 'quantic-button-group',
6490
6502
  relatedTo: ['quantic-button-group'],
6491
6503
  };
6492
6504
  exports.ButtonGroupItem = __decorate([
@@ -6549,22 +6561,10 @@
6549
6561
  ['is-disabled']: this.disabled,
6550
6562
  });
6551
6563
  const slots = u$2 `
6552
- <slot
6553
- name="header"
6554
- class="header"
6555
- data-description="Header area — place quantic-card-title and quantic-card-meta here."
6556
- ></slot>
6557
- <slot class="body" data-description="Main body content."></slot>
6558
- <slot
6559
- name="footer"
6560
- class="footer"
6561
- data-description="Footer content, pinned to the bottom of the card."
6562
- ></slot>
6563
- <slot
6564
- name="action-icon"
6565
- class="action-icon"
6566
- data-description="Icon in the top-right corner; only visible on interactive cards."
6567
- ></slot>
6564
+ <slot name="header" class="header"></slot>
6565
+ <slot class="body"></slot>
6566
+ <slot name="footer" class="footer"></slot>
6567
+ <slot name="action-icon" class="action-icon"></slot>
6568
6568
  `;
6569
6569
  if (this.as === 'button') {
6570
6570
  return u$2 `<button
@@ -6598,11 +6598,16 @@
6598
6598
  'Render as "a" or "button" to make the entire card interactive. ' +
6599
6599
  'Prefer quantic-panel for non-interactive content sections.',
6600
6600
  category: 'display',
6601
- subComponents: [
6602
- 'quantic-card-title',
6603
- 'quantic-card-image',
6604
- 'quantic-card-meta',
6605
- ],
6601
+ slots: {
6602
+ header: {
6603
+ description: 'Header area. Place quantic-card-title and quantic-card-meta here.',
6604
+ },
6605
+ '': { description: 'Main body content.' },
6606
+ footer: { description: 'Footer content, pinned to the bottom of the card.' },
6607
+ 'action-icon': {
6608
+ description: 'Icon in the top-right corner; only visible on interactive cards.',
6609
+ },
6610
+ },
6606
6611
  relatedTo: ['quantic-card-group', 'quantic-panel'],
6607
6612
  };
6608
6613
  exports.Card.styles = [
@@ -7606,6 +7611,7 @@
7606
7611
  description: 'Image sub-component for quantic-card. Place inside the card body or header slot. ' +
7607
7612
  'Use the bleeds prop to stretch the image edge-to-edge by negating the card padding.',
7608
7613
  category: 'display',
7614
+ subComponentOf: 'quantic-card',
7609
7615
  slots: { '': { description: 'An <img> element to display.' } },
7610
7616
  relatedTo: ['quantic-card'],
7611
7617
  };
@@ -7656,6 +7662,7 @@
7656
7662
  description: 'Metadata overlay sub-component for quantic-card, positioned absolutely in the top-right corner. ' +
7657
7663
  'Use for secondary information such as dates, tags, or status badges.',
7658
7664
  category: 'display',
7665
+ subComponentOf: 'quantic-card',
7659
7666
  slots: { '': { description: 'Metadata content — badges, dates, or tags.' } },
7660
7667
  relatedTo: ['quantic-card'],
7661
7668
  };
@@ -7694,6 +7701,7 @@
7694
7701
  description: 'Title/heading sub-component for quantic-card. Renders an hgroup with optional pretitle and subtitle slots. ' +
7695
7702
  'Empty slots are auto-hidden.',
7696
7703
  category: 'display',
7704
+ subComponentOf: 'quantic-card',
7697
7705
  slots: {
7698
7706
  '': { description: 'Main title text or heading element.' },
7699
7707
  pretitle: { description: 'Small label displayed above the title.' },
@@ -8231,7 +8239,6 @@
8231
8239
  'Optionally propagates disabled/required to children; each checkbox owns its own checked and name state.',
8232
8240
  category: 'form',
8233
8241
  slots: { '': { description: 'One or more quantic-checkbox elements.' } },
8234
- subComponents: ['quantic-checkbox'],
8235
8242
  relatedTo: ['quantic-checkbox', 'quantic-field'],
8236
8243
  };
8237
8244
  exports.CheckboxGroup.styles = i$7 `
@@ -8894,6 +8901,7 @@
8894
8901
  description: 'Header/title bar sub-component for quantic-dialog. ' +
8895
8902
  'Renders a semantic heading with optional pretitle and subtitle slots.',
8896
8903
  category: 'feedback',
8904
+ subComponentOf: 'quantic-dialog',
8897
8905
  slots: {
8898
8906
  pretitle: { description: 'Small label displayed above the main title.' },
8899
8907
  '': { description: 'Main title text.' },
@@ -8966,8 +8974,8 @@
8966
8974
  description: 'Footer actions bar for quantic-dialog. ' +
8967
8975
  'Lays action buttons out as a quantic-action-group, flush to the right.',
8968
8976
  category: 'feedback',
8977
+ subComponentOf: 'quantic-dialog',
8969
8978
  slots: { '': { description: 'Action buttons, typically quantic-button elements.' } },
8970
- subComponents: ['quantic-action-group'],
8971
8979
  relatedTo: ['quantic-dialog', 'quantic-button', 'quantic-action-group'],
8972
8980
  };
8973
8981
  exports.DialogActions.styles = i$7 `
@@ -11069,7 +11077,6 @@
11069
11077
  '': { description: 'Main dialog body content.' },
11070
11078
  footer: { description: 'Dialog footer — place quantic-dialog-actions here.' },
11071
11079
  },
11072
- subComponents: ['quantic-dialog-title', 'quantic-dialog-actions'],
11073
11080
  relatedTo: ['quantic-button'],
11074
11081
  };
11075
11082
  exports.Dialog.styles = i$7 `
@@ -11545,6 +11552,7 @@
11545
11552
  'Positioned fixed relative to the trigger via @floating-ui. ' +
11546
11553
  'Do not use directly — use quantic-popover instead.',
11547
11554
  category: 'feedback',
11555
+ subComponentOf: 'quantic-popover',
11548
11556
  slots: {
11549
11557
  header: { description: 'Optional header section.' },
11550
11558
  '': { description: 'Main popup body content.' },
@@ -11941,7 +11949,6 @@
11941
11949
  '': { description: 'Main body content of the popup.' },
11942
11950
  footer: { description: 'Optional footer content inside the popup.' },
11943
11951
  },
11944
- subComponents: ['quantic-popover-popup'],
11945
11952
  };
11946
11953
  exports.Popover.styles = i$7 `
11947
11954
  :host {
@@ -12139,10 +12146,6 @@
12139
12146
  description: 'Menu items — quantic-dropdown-menu-item and quantic-dropdown-menu-group elements.',
12140
12147
  },
12141
12148
  },
12142
- subComponents: [
12143
- 'quantic-dropdown-menu-item',
12144
- 'quantic-dropdown-menu-group',
12145
- ],
12146
12149
  };
12147
12150
  exports.DropdownMenu.styles = i$7 `
12148
12151
  :host {
@@ -12327,6 +12330,7 @@
12327
12330
  'Renders as a button by default or as an anchor for navigation. ' +
12328
12331
  'Place icons or text in the default slot.',
12329
12332
  category: 'navigation',
12333
+ subComponentOf: 'quantic-dropdown-menu',
12330
12334
  slots: {
12331
12335
  '': { description: 'Item content — icon and/or label text.' },
12332
12336
  },
@@ -12570,6 +12574,7 @@
12570
12574
  description: 'Visual section divider inside a quantic-dropdown-menu. ' +
12571
12575
  'Renders an optional uppercase label above a group of menu items and draws a separator from the previous group.',
12572
12576
  category: 'navigation',
12577
+ subComponentOf: 'quantic-dropdown-menu',
12573
12578
  slots: {
12574
12579
  label: {
12575
12580
  description: 'Custom label content rendered above the group items. Takes priority over the label prop.',
@@ -13350,10 +13355,7 @@
13350
13355
  const a11y = this.getA11yAttributes({ invalid: this.invalid });
13351
13356
  return b `
13352
13357
  <div class=${classes}>
13353
- <slot
13354
- name="prefix"
13355
- data-description="Leading content (e.g. icon or currency symbol)."
13356
- ></slot>
13358
+ <slot name="prefix"></slot>
13357
13359
  <input
13358
13360
  .value=${this.value}
13359
13361
  .autocomplete="${this.autoComplete}"
@@ -13400,10 +13402,7 @@
13400
13402
  ></quantic-icon-lucide-circle-alert>`
13401
13403
  : ''}
13402
13404
  ${!this.invalid
13403
- ? b `<slot
13404
- name="suffix"
13405
- data-description="Trailing content (e.g. icon or unit label)."
13406
- ></slot>`
13405
+ ? b `<slot name="suffix"></slot>`
13407
13406
  : ''}
13408
13407
  </div>
13409
13408
  `;
@@ -13415,6 +13414,10 @@
13415
13414
  'Wrap in quantic-field to add a visible label, hint text, and validation messaging. ' +
13416
13415
  'Use type="password" or type="email" to get browser-native input behaviour.',
13417
13416
  category: 'form',
13417
+ slots: {
13418
+ prefix: { description: 'Leading content (e.g. icon or currency symbol).' },
13419
+ suffix: { description: 'Trailing content (e.g. icon or unit label).' },
13420
+ },
13418
13421
  relatedTo: ['quantic-field', 'quantic-number-input', 'quantic-select'],
13419
13422
  };
13420
13423
  exports.TextInput.formAssociated = true;
@@ -13784,6 +13787,13 @@
13784
13787
  description: 'Dropdown select input backed by a native <select>. Form-associated. ' +
13785
13788
  'Pass options via the options prop or slot native <option> elements.',
13786
13789
  category: 'form',
13790
+ slots: {
13791
+ '': {
13792
+ description: 'Native option elements, read to build the list. Never rendered directly.',
13793
+ },
13794
+ prefix: { description: 'Leading content (e.g. icon).' },
13795
+ suffix: { description: 'Trailing content, replacing the default chevron.' },
13796
+ },
13787
13797
  relatedTo: ['quantic-field', 'quantic-text-input'],
13788
13798
  };
13789
13799
  exports.Select.styles = i$7 `
@@ -14094,6 +14104,7 @@
14094
14104
  description: 'Single radio button for exclusive-choice selection. ' +
14095
14105
  'Intended to be used inside quantic-radio-group, which handles mutual exclusion and form association.',
14096
14106
  category: 'form',
14107
+ slots: { '': { description: 'Label content, used when the label prop is not set.' } },
14097
14108
  relatedTo: ['quantic-radio-group'],
14098
14109
  };
14099
14110
  exports.Radio.formAssociated = true;
@@ -63447,6 +63458,7 @@
63447
63458
  description: 'Numeric input field with optional min/max/step constraints. ' +
63448
63459
  'Form-associated. Wrap in quantic-field to add a label and validation messaging.',
63449
63460
  category: 'form',
63461
+ slots: { prefix: { description: 'Leading content (e.g. icon or unit symbol).' } },
63450
63462
  relatedTo: ['quantic-field', 'quantic-text-input'],
63451
63463
  };
63452
63464
  exports.NumberInput.formAssociated = true;
@@ -64664,7 +64676,7 @@
64664
64676
  description: 'Top-level application shell that composes a collapsible sidebar, a top navbar, and a main content area. ' +
64665
64677
  'On small viewports the sidebar slides in as a drawer with a focus trap; on desktop it collapses to an icon rail.',
64666
64678
  category: 'layout',
64667
- subComponents: ['quantic-sidebar', 'quantic-navbar', 'quantic-page'],
64679
+ relatedTo: ['quantic-navbar', 'quantic-page'],
64668
64680
  slots: {
64669
64681
  logo: {
64670
64682
  description: 'Brand logo shown in the header (no-sidebar) or inside the aside.',
@@ -65131,6 +65143,7 @@
65131
65143
  'Positioned absolutely relative to the trigger via @floating-ui/dom. ' +
65132
65144
  'Not intended for direct use — use quantic-tooltip instead.',
65133
65145
  category: 'feedback',
65146
+ subComponentOf: 'quantic-tooltip',
65134
65147
  slots: {
65135
65148
  '': { description: 'Tooltip content (managed by quantic-tooltip).' },
65136
65149
  },
@@ -65406,7 +65419,6 @@
65406
65419
  '': { description: 'Trigger element that activates the tooltip.' },
65407
65420
  content: { description: 'Content displayed inside the tooltip popup.' },
65408
65421
  },
65409
- subComponents: ['quantic-tooltip-popup'],
65410
65422
  relatedTo: [],
65411
65423
  };
65412
65424
  exports.Tooltip.styles = i$7 `
@@ -65522,7 +65534,9 @@
65522
65534
  description: 'Individual nav item within quantic-sidebar. Renders as a link when href is set, otherwise as a button. ' +
65523
65535
  'When the sidebar is collapsed on desktop, shows only the icon with a tooltip.',
65524
65536
  category: 'navigation',
65537
+ subComponentOf: 'quantic-sidebar',
65525
65538
  slots: {
65539
+ '': { description: 'Label content, used when the label prop is not set.' },
65526
65540
  icon: { description: 'Icon displayed to the left of the label.' },
65527
65541
  after: { description: 'Optional trailing content (e.g. badge or count).' },
65528
65542
  },
@@ -65756,10 +65770,7 @@
65756
65770
  description: 'Collapsible side navigation panel placed in the sidebar slot of quantic-layout. ' +
65757
65771
  'On desktop it can collapse to an icon rail; on mobile it is controlled by the layout as a drawer.',
65758
65772
  category: 'navigation',
65759
- subComponents: [
65760
- 'quantic-sidebar-menu-item',
65761
- 'quantic-sidebar-menu-item-group',
65762
- ],
65773
+ subComponentOf: 'quantic-layout',
65763
65774
  slots: {
65764
65775
  header: {
65765
65776
  description: 'Optional sticky header rendered above the scrollable content.',
@@ -65902,6 +65913,7 @@
65902
65913
  description: 'Grouped section of sidebar nav items with an uppercase section label. ' +
65903
65914
  'The label is hidden automatically when the sidebar is collapsed.',
65904
65915
  category: 'navigation',
65916
+ subComponentOf: 'quantic-sidebar',
65905
65917
  slots: { '': { description: 'quantic-sidebar-menu-item elements belonging to this group.' } },
65906
65918
  relatedTo: ['quantic-sidebar', 'quantic-sidebar-menu-item'],
65907
65919
  };
@@ -66124,6 +66136,7 @@
66124
66136
  'Behaves like a radio or checkbox but displayed as a card. ' +
66125
66137
  'Use inside quantic-option-card-group to manage selection logic.',
66126
66138
  category: 'form',
66139
+ subComponentOf: 'quantic-option-card-group',
66127
66140
  slots: {
66128
66141
  '': { description: 'Main label content of the card.' },
66129
66142
  icon: { description: 'Optional leading icon.' },
@@ -66690,7 +66703,6 @@
66690
66703
  slots: {
66691
66704
  '': { description: 'Place quantic-option-card elements here.' },
66692
66705
  },
66693
- subComponents: ['quantic-option-card'],
66694
66706
  relatedTo: ['quantic-field'],
66695
66707
  };
66696
66708
  exports.OptionCardGroup.formAssociated = true;
@@ -66949,7 +66961,6 @@
66949
66961
  '': { description: 'Main body content.' },
66950
66962
  footer: { description: 'Footer content.' },
66951
66963
  },
66952
- subComponents: ['quantic-panel-header'],
66953
66964
  relatedTo: ['quantic-panel-group', 'quantic-card'],
66954
66965
  };
66955
66966
  exports.Panel.styles = i$7 `
@@ -67065,6 +67076,7 @@
67065
67076
  description: 'Header sub-component for quantic-panel. ' +
67066
67077
  'Contains title, optional pretitle, subtitle, and an actions slot.',
67067
67078
  category: 'display',
67079
+ subComponentOf: 'quantic-panel',
67068
67080
  slots: {
67069
67081
  pretitle: { description: 'Small label above the main title.' },
67070
67082
  '': { description: 'Main title content.' },
@@ -67180,7 +67192,6 @@
67180
67192
  slots: {
67181
67193
  '': { description: 'Place quantic-panel elements here.' },
67182
67194
  },
67183
- subComponents: ['quantic-panel'],
67184
67195
  relatedTo: ['quantic-panel'],
67185
67196
  };
67186
67197
  exports.PanelGroup.styles = i$7 `
@@ -68203,7 +68214,6 @@
68203
68214
  'Collapses to a stacked layout below the collapse-below breakpoint.',
68204
68215
  category: 'layout',
68205
68216
  slots: { '': { description: 'Two or more quantic-splitter-pane elements.' } },
68206
- subComponents: ['quantic-splitter-pane'],
68207
68217
  };
68208
68218
  exports.SplitterGroup.styles = i$7 `
68209
68219
  :host {
@@ -68349,6 +68359,7 @@
68349
68359
  description: 'Individual resizable pane within a quantic-splitter-group. ' +
68350
68360
  'Set min-size and max-size to constrain how far it can be dragged.',
68351
68361
  category: 'layout',
68362
+ subComponentOf: 'quantic-splitter-group',
68352
68363
  slots: { '': { description: 'Pane content.' } },
68353
68364
  relatedTo: ['quantic-splitter-group'],
68354
68365
  };
@@ -68477,15 +68488,6 @@
68477
68488
  toolbar: { description: 'quantic-table-controls or other toolbar content placed above the table.' },
68478
68489
  controls: { description: 'quantic-table-controls or pagination content placed below the table.' },
68479
68490
  },
68480
- subComponents: [
68481
- 'quantic-table-header',
68482
- 'quantic-table-body',
68483
- 'quantic-table-footer',
68484
- 'quantic-table-row',
68485
- 'quantic-table-cell',
68486
- 'quantic-table-head',
68487
- 'quantic-table-controls',
68488
- ],
68489
68491
  };
68490
68492
  exports.Table.styles = i$7 `
68491
68493
  :host {
@@ -68609,6 +68611,7 @@
68609
68611
  'Provides a two-zone layout: default slot for start-aligned items (search, filters) ' +
68610
68612
  'and the end slot for end-aligned items (bulk actions, column toggles).',
68611
68613
  category: 'display',
68614
+ subComponentOf: 'quantic-table',
68612
68615
  slots: {
68613
68616
  '': { description: 'Start-aligned controls such as search inputs and filter buttons.' },
68614
68617
  end: { description: 'End-aligned controls such as bulk actions or column visibility toggles.' },
@@ -68656,6 +68659,7 @@
68656
68659
  description: 'The <thead> equivalent for quantic-table. ' +
68657
68660
  'Place quantic-table-row elements containing quantic-table-head cells as children.',
68658
68661
  category: 'display',
68662
+ subComponentOf: 'quantic-table',
68659
68663
  slots: {
68660
68664
  '': { description: 'quantic-table-row elements with quantic-table-head cells.' },
68661
68665
  },
@@ -68742,6 +68746,7 @@
68742
68746
  'Renders as a <th> equivalent and supports optional sort controls. ' +
68743
68747
  'Emits sort-change when clicked while sortable.',
68744
68748
  category: 'display',
68749
+ subComponentOf: 'quantic-table',
68745
68750
  slots: {
68746
68751
  '': { description: 'Column header label text or content.' },
68747
68752
  },
@@ -68865,6 +68870,7 @@
68865
68870
  description: 'The <tbody> equivalent for quantic-table. ' +
68866
68871
  'Contains quantic-table-row elements with data cells.',
68867
68872
  category: 'display',
68873
+ subComponentOf: 'quantic-table',
68868
68874
  slots: {
68869
68875
  '': { description: 'quantic-table-row elements.' },
68870
68876
  },
@@ -68908,6 +68914,7 @@
68908
68914
  description: 'Single data row within a quantic-table-body or quantic-table-footer. ' +
68909
68915
  'Receives variant context from the parent quantic-table and applies matching styles.',
68910
68916
  category: 'display',
68917
+ subComponentOf: 'quantic-table',
68911
68918
  slots: {
68912
68919
  '': { description: 'quantic-table-cell elements.' },
68913
68920
  },
@@ -68964,6 +68971,7 @@
68964
68971
  description: 'Individual data cell within a quantic-table-row. ' +
68965
68972
  'Receives variant context from the parent quantic-table.',
68966
68973
  category: 'display',
68974
+ subComponentOf: 'quantic-table',
68967
68975
  slots: {
68968
68976
  '': { description: 'Cell content — text, elements, or other components.' },
68969
68977
  },
@@ -69013,6 +69021,7 @@
69013
69021
  description: 'The <tfoot> equivalent for quantic-table. ' +
69014
69022
  'Place quantic-table-row elements with summary or footer data as children.',
69015
69023
  category: 'display',
69024
+ subComponentOf: 'quantic-table',
69016
69025
  slots: {
69017
69026
  '': { description: 'quantic-table-row elements with footer data.' },
69018
69027
  },
@@ -69160,7 +69169,6 @@
69160
69169
  description: 'quantic-tab-button and quantic-tab-panel elements as direct children.',
69161
69170
  },
69162
69171
  },
69163
- subComponents: ['quantic-tab-button', 'quantic-tab-panel'],
69164
69172
  };
69165
69173
  exports.Tabs.styles = [
69166
69174
  i$7 `
@@ -69385,6 +69393,7 @@
69385
69393
  'Reflects a selected attribute while active. Restyle the mark with ::part(indicator) ' +
69386
69394
  'or --quantic-component-tab-indicator-* / --quantic-component-tab-active-bg.',
69387
69395
  category: 'navigation',
69396
+ subComponentOf: 'quantic-tabs',
69388
69397
  slots: {
69389
69398
  icon: {
69390
69399
  description: 'Icon element, displayed before the label and scaled to the tab size.',
@@ -69670,6 +69679,7 @@
69670
69679
  'Set index to match the corresponding quantic-tab-button. ' +
69671
69680
  'Visibility is controlled automatically by the parent quantic-tabs.',
69672
69681
  category: 'navigation',
69682
+ subComponentOf: 'quantic-tabs',
69673
69683
  slots: {
69674
69684
  '': { description: 'Panel content shown when this tab is active.' },
69675
69685
  },
@@ -70112,8 +70122,12 @@
70112
70122
  description: 'quantic-tag, quantic-status-tag or quantic-count-tag elements.',
70113
70123
  },
70114
70124
  },
70115
- subComponents: ['quantic-tag', 'quantic-status-tag', 'quantic-count-tag'],
70116
- relatedTo: ['quantic-tag', 'quantic-badge-group'],
70125
+ relatedTo: [
70126
+ 'quantic-tag',
70127
+ 'quantic-badge-group',
70128
+ 'quantic-status-tag',
70129
+ 'quantic-count-tag',
70130
+ ],
70117
70131
  };
70118
70132
  exports.TagGroup.styles = i$7 `
70119
70133
  :host {