@deepfuture/dui-cdn 0.0.16 → 0.0.17

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 (3) hide show
  1. package/dui.js +118 -74
  2. package/dui.min.js +433 -405
  3. package/package.json +1 -1
package/dui.js CHANGED
@@ -57,6 +57,20 @@ var __privateWrapper = (obj, member, setter, getter) => ({
57
57
  });
58
58
 
59
59
  // packages/core/src/apply-theme.ts
60
+ function flattenWithDependencies(roots) {
61
+ const seen = /* @__PURE__ */ new Set();
62
+ const result = [];
63
+ function visit(cls) {
64
+ if (seen.has(cls.tagName)) return;
65
+ seen.add(cls.tagName);
66
+ if (cls.dependencies) {
67
+ for (const dep of cls.dependencies) visit(dep);
68
+ }
69
+ result.push(cls);
70
+ }
71
+ for (const cls of roots) visit(cls);
72
+ return result;
73
+ }
60
74
  var activeTheme = null;
61
75
  function getActiveTheme() {
62
76
  return activeTheme;
@@ -69,7 +83,8 @@ function applyTheme({ theme, components }) {
69
83
  if (theme.prose && !document.adoptedStyleSheets.includes(theme.prose)) {
70
84
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, theme.prose];
71
85
  }
72
- for (const Base of components) {
86
+ const ordered = flattenWithDependencies(components);
87
+ for (const Base of ordered) {
73
88
  const tagName = Base.tagName;
74
89
  if (customElements.get(tagName)) continue;
75
90
  const themeStyles = theme.styles.get(tagName);
@@ -731,6 +746,7 @@ function type(size3, overrides) {
731
746
  }
732
747
 
733
748
  // packages/theme-default/src/components/accordion-item.ts
749
+ var chevronMask = r(`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")`);
734
750
  var accordionItemStyles = i`
735
751
  /* ── Item ── */
736
752
 
@@ -775,17 +791,23 @@ var accordionItemStyles = i`
775
791
  opacity: 0.4;
776
792
  }
777
793
 
778
- /* ── Indicator ── */
794
+ /* ── Indicator (theme-owned) ── */
779
795
 
780
- [part="indicator"] {
796
+ [part="trigger"]::after {
797
+ content: "";
798
+ display: var(--collapsible-indicator-display, block);
781
799
  width: var(--space-4);
782
800
  height: var(--space-4);
801
+ flex-shrink: 0;
802
+ background: currentColor;
803
+ -webkit-mask: ${chevronMask} center / contain no-repeat;
804
+ mask: ${chevronMask} center / contain no-repeat;
783
805
  transition-property: transform;
784
806
  transition-duration: var(--duration-fast);
785
807
  transition-timing-function: var(--ease-out-3);
786
808
  }
787
809
 
788
- [part="trigger"][data-open] [part="indicator"] {
810
+ [part="trigger"][data-open]::after {
789
811
  transform: rotate(180deg);
790
812
  }
791
813
 
@@ -813,7 +835,7 @@ var accordionItemStyles = i`
813
835
 
814
836
  @media (prefers-reduced-motion: reduce) {
815
837
  [part="trigger"],
816
- [part="indicator"],
838
+ [part="trigger"]::after,
817
839
  [part="panel"] {
818
840
  transition-duration: 0s;
819
841
  }
@@ -1754,13 +1776,14 @@ var checkboxGroupStyles = i`
1754
1776
  `;
1755
1777
 
1756
1778
  // packages/theme-default/src/components/collapsible.ts
1779
+ var chevronMask2 = r(`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")`);
1757
1780
  var collapsibleStyles = i`
1758
1781
  /* ── Trigger ── */
1759
1782
 
1760
1783
  [part="trigger"] {
1761
1784
  gap: var(--space-4);
1762
1785
  padding-block: var(--space-2);
1763
- padding-inline: var(--space-4);
1786
+ padding-inline: var(--space-2);
1764
1787
  color: var(--text-1);
1765
1788
  font-family: var(--font-sans);
1766
1789
  font-weight: var(--font-weight-semibold);
@@ -1789,17 +1812,23 @@ var collapsibleStyles = i`
1789
1812
  opacity: 0.4;
1790
1813
  }
1791
1814
 
1792
- /* ── Indicator ── */
1815
+ /* ── Indicator (theme-owned) ── */
1793
1816
 
1794
- [part="indicator"] {
1817
+ [part="trigger"]::after {
1818
+ content: "";
1819
+ display: var(--collapsible-indicator-display, block);
1795
1820
  width: var(--space-4);
1796
1821
  height: var(--space-4);
1822
+ flex-shrink: 0;
1823
+ background: currentColor;
1824
+ -webkit-mask: ${chevronMask2} center / contain no-repeat;
1825
+ mask: ${chevronMask2} center / contain no-repeat;
1797
1826
  transition-property: transform;
1798
1827
  transition-duration: var(--duration-fast);
1799
1828
  transition-timing-function: var(--ease-out-3);
1800
1829
  }
1801
1830
 
1802
- [part="trigger"][data-open] [part="indicator"] {
1831
+ [part="trigger"][data-open]::after {
1803
1832
  transform: rotate(180deg);
1804
1833
  }
1805
1834
 
@@ -1816,7 +1845,7 @@ var collapsibleStyles = i`
1816
1845
  }
1817
1846
 
1818
1847
  [part="content"] {
1819
- padding: var(--space-1) var(--space-4) var(--space-3);
1848
+ padding: var(--space-1) var(--space-2) var(--space-3);
1820
1849
  font-family: var(--font-sans);
1821
1850
  ${type("sm")}
1822
1851
  font-weight: var(--font-weight-regular);
@@ -1827,7 +1856,7 @@ var collapsibleStyles = i`
1827
1856
 
1828
1857
  @media (prefers-reduced-motion: reduce) {
1829
1858
  [part="trigger"],
1830
- [part="indicator"],
1859
+ [part="trigger"]::after,
1831
1860
  [part="panel"] {
1832
1861
  transition-duration: 0s;
1833
1862
  }
@@ -2074,17 +2103,28 @@ var tabsStyles = i``;
2074
2103
  // packages/theme-default/src/components/tabs-indicator.ts
2075
2104
  var tabsIndicatorStyles = i`
2076
2105
  :host {
2077
- height: var(--component-height-xs);
2078
- border-radius: var(--radius-sm);
2079
- background: oklch(from var(--foreground) l c h / 0.08);
2080
- transition-duration: var(--duration-normal);
2081
- transition-timing-function: var(--ease-in-out-3);
2106
+ --tabs-indicator-height: var(--component-height-xs);
2107
+ --tabs-indicator-radius: var(--radius-sm);
2108
+ --tabs-indicator-bg: oklch(from var(--foreground) l c h / 0.08);
2109
+ --tabs-indicator-duration: var(--duration-normal);
2110
+ --tabs-indicator-easing: var(--ease-in-out-3);
2111
+
2112
+ height: var(--tabs-indicator-height);
2113
+ border-radius: var(--tabs-indicator-radius);
2114
+ background: var(--tabs-indicator-bg);
2115
+ transition-duration: var(--tabs-indicator-duration);
2116
+ transition-timing-function: var(--tabs-indicator-easing);
2082
2117
  }
2083
2118
  `;
2084
2119
 
2085
2120
  // packages/theme-default/src/components/tabs-list.ts
2086
2121
  var tabsListStyles = i`
2122
+ :host {
2123
+ --tabs-list-justify: start;
2124
+ }
2125
+
2087
2126
  [part="list"] {
2127
+ justify-content: var(--tabs-list-justify);
2088
2128
  padding-inline: 0;
2089
2129
  gap: 0;
2090
2130
  }
@@ -2098,15 +2138,37 @@ var tabsListStyles = i`
2098
2138
 
2099
2139
  // packages/theme-default/src/components/tabs-panel.ts
2100
2140
  var tabsPanelStyles = i`
2141
+ :host {
2142
+ --tabs-panel-padding: var(--space-3);
2143
+ --tabs-panel-border-width: var(--border-width-thin);
2144
+ --tabs-panel-border-color: var(--border);
2145
+ --tabs-panel-border-radius: var(--radius-md);
2146
+ --tabs-panel-background: none;
2147
+ }
2148
+
2149
+ :host(:not([data-hidden])) {
2150
+ flex: 1;
2151
+ min-height: 0;
2152
+ padding: var(--tabs-panel-padding);
2153
+ border: var(--tabs-panel-border-width) solid var(--tabs-panel-border-color);
2154
+ border-radius: var(--tabs-panel-border-radius);
2155
+ background: var(--tabs-panel-background);
2156
+ }
2157
+
2101
2158
  [part="panel"] {
2102
2159
  transition-property: box-shadow;
2103
2160
  transition-duration: var(--duration-fast);
2161
+ font-family: var(--font-sans);
2162
+ ${type("sm")}
2163
+ font-weight: var(--font-weight-regular);
2164
+ color: var(--text-2);
2104
2165
  }
2105
2166
 
2106
2167
  [part="panel"]:focus-visible {
2107
2168
  box-shadow:
2108
2169
  0 0 0 var(--focus-ring-offset) var(--background),
2109
- 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color);
2170
+ 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width))
2171
+ var(--focus-ring-color);
2110
2172
  border-radius: var(--radius-md);
2111
2173
  }
2112
2174
  `;
@@ -3303,7 +3365,7 @@ var progressStyles = i`
3303
3365
 
3304
3366
  [part="track"] {
3305
3367
  height: var(--progress-height);
3306
- background: var(--surface-1);
3368
+ background: color-mix(in oklch, var(--foreground) 08%, transparent);
3307
3369
  border-radius: var(--radius-full);
3308
3370
  }
3309
3371
 
@@ -3835,6 +3897,13 @@ var calendarStyles = i`
3835
3897
  }
3836
3898
  `;
3837
3899
 
3900
+ // packages/theme-default/src/components/card-grid.ts
3901
+ var cardGridStyles = i`
3902
+ [part="root"] {
3903
+ gap: var(--space-4);
3904
+ }
3905
+ `;
3906
+
3838
3907
  // packages/theme-default/src/prose.css
3839
3908
  var prose_default = '/* =================================================================\n * DUI Prose \u2014 Rich-text / markdown content styles\n * =================================================================\n * Apply class="dui-prose" to any container with rendered HTML\n * (markdown output, CMS content, help text, etc.).\n *\n * All values reference --prose-* tokens (customizable) and existing\n * DUI design tokens. No hardcoded colors or spacing.\n * ================================================================= */\n\n/* --- Root -------------------------------------------------------- */\n.dui-prose {\n color: var(--prose-body);\n font-size: var(--font-size-base);\n line-height: var(--line-height-relaxed);\n max-width: 65ch;\n}\n\n.dui-prose > :first-child {\n margin-block-start: 0;\n}\n\n.dui-prose > :last-child {\n margin-block-end: 0;\n}\n\n/* --- Headings ---------------------------------------------------- */\n.dui-prose h1 {\n color: var(--prose-headings);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-4xl);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-tightest);\n margin-block: 0 var(--space-4);\n}\n\n.dui-prose h2 {\n color: var(--prose-headings);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-3xl);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-tighter);\n margin-block: var(--space-10) var(--space-3);\n}\n\n.dui-prose h3 {\n color: var(--prose-headings);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-2xl);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-tight);\n margin-block: var(--space-8) var(--space-3);\n}\n\n.dui-prose h4 {\n color: var(--prose-headings);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-xl);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-normal);\n margin-block: var(--space-6) var(--space-2);\n}\n\n.dui-prose h5 {\n color: var(--prose-headings);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-lg);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-normal);\n margin-block: var(--space-6) var(--space-2);\n}\n\n.dui-prose h6 {\n color: var(--prose-headings);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-lg);\n line-height: var(--line-height-tight);\n letter-spacing: var(--letter-spacing-normal);\n margin-block: var(--space-6) var(--space-2);\n}\n\n/* --- Paragraphs -------------------------------------------------- */\n.dui-prose p {\n color: var(--prose-body);\n margin-block: 1em 0;\n}\n\n/* --- Inline text ------------------------------------------------- */\n.dui-prose strong,\n.dui-prose b {\n color: var(--prose-bold);\n font-weight: var(--font-weight-semibold);\n}\n\n.dui-prose em,\n.dui-prose i {\n font-style: italic;\n}\n\n.dui-prose small {\n font-size: 0.875em;\n color: var(--prose-caption);\n}\n\n/* --- Links ------------------------------------------------------- */\n.dui-prose a {\n color: var(--prose-links);\n text-decoration: underline;\n text-underline-offset: 0.15em;\n}\n\n.dui-prose a:hover {\n color: var(--prose-links-hover);\n}\n\n/* --- Lists ------------------------------------------------------- */\n.dui-prose ul {\n list-style-type: disc;\n padding-inline-start: var(--space-6);\n margin-block: 1em 0;\n}\n\n.dui-prose ol {\n list-style-type: decimal;\n padding-inline-start: var(--space-6);\n margin-block: 1em 0;\n}\n\n.dui-prose li {\n margin-block: var(--space-1);\n}\n\n.dui-prose li > ul,\n.dui-prose li > ol {\n margin-block: var(--space-0_5);\n}\n\n.dui-prose li > p {\n margin-block: var(--space-1);\n}\n\n/* --- Blockquote -------------------------------------------------- */\n.dui-prose blockquote {\n border-inline-start: 3px solid var(--prose-blockquote-border);\n color: var(--prose-blockquote-text);\n padding-inline-start: var(--space-4);\n font-style: italic;\n margin-inline: 0;\n margin-block: 1em 0;\n}\n\n/* --- Inline code ------------------------------------------------- */\n.dui-prose code {\n color: var(--prose-code);\n background: var(--prose-code-bg);\n padding: 0.15em 0.35em;\n border-radius: var(--radius-sm);\n font-family: var(--font-mono);\n font-size: 0.875em;\n}\n\n/* --- Code blocks ------------------------------------------------- */\n.dui-prose pre {\n background: var(--prose-pre-bg);\n border: var(--border-width-thin) solid var(--prose-pre-border);\n border-radius: var(--radius-md);\n padding: var(--space-4);\n overflow-x: auto;\n font-size: var(--font-size-sm);\n line-height: var(--line-height-relaxed);\n margin-block: 1em 0;\n}\n\n.dui-prose pre code {\n background: none;\n padding: 0;\n border-radius: 0;\n font-size: inherit;\n}\n\n/* --- Horizontal rule --------------------------------------------- */\n.dui-prose hr {\n border: none;\n border-top: var(--border-width-thin) solid var(--prose-hr);\n margin-block: 2em;\n}\n\n/* --- Tables ------------------------------------------------------ */\n.dui-prose table {\n width: 100%;\n border-collapse: collapse;\n font-size: var(--font-size-sm);\n margin-block: 1em 0;\n}\n\n.dui-prose th {\n border-bottom: var(--border-width-medium) solid var(--prose-th-border);\n text-align: start;\n padding: var(--space-2) var(--space-3);\n font-weight: var(--font-weight-semibold);\n}\n\n.dui-prose td {\n border-bottom: var(--border-width-thin) solid var(--prose-td-border);\n padding: var(--space-2) var(--space-3);\n}\n\n.dui-prose caption {\n color: var(--prose-caption);\n font-size: var(--font-size-sm);\n margin-block-end: var(--space-2);\n}\n\n/* --- Keyboard input ---------------------------------------------- */\n.dui-prose kbd {\n background: var(--prose-kbd-bg);\n border: var(--border-width-thin) solid var(--prose-kbd-border);\n border-radius: var(--radius-sm);\n padding: 0.1em 0.35em;\n font-family: var(--font-mono);\n font-size: 0.875em;\n}\n\n/* --- Images and figures ------------------------------------------ */\n.dui-prose img {\n max-width: 100%;\n height: auto;\n border-radius: var(--radius-md);\n}\n\n.dui-prose figure {\n margin-inline: 0;\n margin-block: 1.5em;\n}\n\n.dui-prose figcaption {\n color: var(--prose-caption);\n font-size: var(--font-size-sm);\n margin-block-start: var(--space-2);\n}\n\n/* --- Details / summary ------------------------------------------- */\n.dui-prose details {\n margin-block: 1em;\n}\n\n.dui-prose summary {\n cursor: pointer;\n font-weight: var(--font-weight-medium);\n}\n';
3840
3909
 
@@ -3928,6 +3997,7 @@ var tokens_default = `/* =======================================================
3928
3997
  --letter-spacing-normal: 0em;
3929
3998
  --letter-spacing-wide: 0.006em;
3930
3999
  --letter-spacing-wider: 0.012em;
4000
+ --letter-spacing-widest: 0.018em;
3931
4001
 
3932
4002
  --font-size-fluid-sm: clamp(0.813rem, 0.75rem + 0.315vw, 0.875rem);
3933
4003
  --font-size-fluid-md: clamp(0.875rem, 0.813rem + 0.315vw, 1rem);
@@ -4657,7 +4727,8 @@ var defaultTheme = {
4657
4727
  ["dui-number-field", numberFieldStyles],
4658
4728
  ["dui-stepper", stepperStyles],
4659
4729
  ["dui-menubar", menubarStyles],
4660
- ["dui-calendar", calendarStyles]
4730
+ ["dui-calendar", calendarStyles],
4731
+ ["dui-card-grid", cardGridStyles]
4661
4732
  ])
4662
4733
  };
4663
4734
 
@@ -5106,29 +5177,12 @@ var styles2 = i`
5106
5177
  cursor: default;
5107
5178
  }
5108
5179
 
5109
- [part="indicator"] {
5110
- flex-shrink: 0;
5111
- }
5112
-
5113
5180
  [part="panel"] {
5114
5181
  overflow: hidden;
5115
5182
  contain: content;
5116
5183
  transition-property: height;
5117
5184
  }
5118
5185
  `;
5119
- var chevronSvg = b2`<svg
5120
- part="indicator"
5121
- width="16"
5122
- height="16"
5123
- viewBox="0 0 24 24"
5124
- fill="none"
5125
- stroke="currentColor"
5126
- stroke-width="2"
5127
- stroke-linecap="round"
5128
- stroke-linejoin="round"
5129
- >
5130
- <path d="m6 9 6 6 6-6" />
5131
- </svg>`;
5132
5186
  var _visible_dec, _panelHeight_dec, _ending_dec, _starting_dec, __ctx_dec2, _disabled_dec2, _value_dec2, _a2, _init2, _value2, _disabled2, __ctx2, _starting, _b2, starting_get, starting_set, _DuiAccordionItem_instances, _ending, _c, ending_get, ending_set, _panelHeight, _d, panelHeight_get, panelHeight_set, _visible, _e, visible_get, visible_set, _prevOpen, _animGen, open_get, isDisabled_get, triggerId_get, panelId_get, startOpenAnimation_fn, startCloseAnimation_fn, _onTransitionEnd, _onClick, _onKeyDown;
5133
5187
  var DuiAccordionItem = class extends (_a2 = i4, _value_dec2 = [n4({ type: String })], _disabled_dec2 = [n4({ type: Boolean })], __ctx_dec2 = [c4({ context: accordionContext, subscribe: true })], _starting_dec = [r5()], _ending_dec = [r5()], _panelHeight_dec = [r5()], _visible_dec = [r5()], _a2) {
5134
5188
  constructor() {
@@ -5228,7 +5282,6 @@ var DuiAccordionItem = class extends (_a2 = i4, _value_dec2 = [n4({ type: String
5228
5282
  @keydown=${__privateGet(this, _onKeyDown)}
5229
5283
  >
5230
5284
  <slot name="trigger"></slot>
5231
- ${chevronSvg}
5232
5285
  </button>
5233
5286
  </h3>
5234
5287
  ${shouldRender ? b2`
@@ -6989,8 +7042,9 @@ var styles15 = i`
6989
7042
  cursor: default;
6990
7043
  }
6991
7044
 
6992
- [part="indicator"] {
6993
- flex-shrink: 0;
7045
+ slot[name="trigger"] {
7046
+ flex: 1;
7047
+ min-width: 0;
6994
7048
  }
6995
7049
 
6996
7050
  [part="panel"] {
@@ -6999,19 +7053,6 @@ var styles15 = i`
6999
7053
  transition-property: height;
7000
7054
  }
7001
7055
  `;
7002
- var chevronSvg2 = b2`<svg
7003
- part="indicator"
7004
- width="16"
7005
- height="16"
7006
- viewBox="0 0 24 24"
7007
- fill="none"
7008
- stroke="currentColor"
7009
- stroke-width="2"
7010
- stroke-linecap="round"
7011
- stroke-linejoin="round"
7012
- >
7013
- <path d="m6 9 6 6 6-6" />
7014
- </svg>`;
7015
7056
  var _internalOpen_dec2, _visible_dec2, _panelHeight_dec2, _ending_dec2, _starting_dec2, _keepMounted_dec3, _disabled_dec7, _defaultOpen_dec2, _open_dec2, _a10, _init10, _open2, _defaultOpen2, _disabled7, _keepMounted3, _starting2, _b9, starting_get2, starting_set2, _DuiCollapsible_instances, _ending2, _c5, ending_get2, ending_set2, _panelHeight2, _d4, panelHeight_get2, panelHeight_set2, _visible2, _e3, visible_get2, visible_set2, _internalOpen2, _f, internalOpen_get2, internalOpen_set2, _prevOpen2, _animGen2, _controlled, isOpen_get2, startOpenAnimation_fn2, startCloseAnimation_fn2, _onTransitionEnd2, _onClick2;
7016
7057
  var DuiCollapsible = class extends (_a10 = i4, _open_dec2 = [n4({ type: Boolean, reflect: true })], _defaultOpen_dec2 = [n4({ type: Boolean, attribute: "default-open" })], _disabled_dec7 = [n4({ type: Boolean, reflect: true })], _keepMounted_dec3 = [n4({ type: Boolean, attribute: "keep-mounted" })], _starting_dec2 = [r5()], _ending_dec2 = [r5()], _panelHeight_dec2 = [r5()], _visible_dec2 = [r5()], _internalOpen_dec2 = [r5()], _a10) {
7017
7058
  constructor() {
@@ -7086,7 +7127,6 @@ var DuiCollapsible = class extends (_a10 = i4, _open_dec2 = [n4({ type: Boolean,
7086
7127
  @click=${__privateGet(this, _onClick2)}
7087
7128
  >
7088
7129
  <slot name="trigger"></slot>
7089
- ${chevronSvg2}
7090
7130
  </button>
7091
7131
  ${shouldRender ? b2`
7092
7132
  <div
@@ -9912,7 +9952,7 @@ var styles19 = i`
9912
9952
  display: block;
9913
9953
  }
9914
9954
 
9915
- :host([data-hidden]) {
9955
+ :host([data-hidden]) .Group {
9916
9956
  display: none;
9917
9957
  }
9918
9958
 
@@ -9976,7 +10016,7 @@ var styles20 = i`
9976
10016
  display: block;
9977
10017
  }
9978
10018
 
9979
- :host([data-hidden]) {
10019
+ :host([data-hidden]) .Item {
9980
10020
  display: none;
9981
10021
  }
9982
10022
 
@@ -10129,7 +10169,7 @@ var styles21 = i`
10129
10169
  display: block;
10130
10170
  }
10131
10171
 
10132
- :host([data-hidden]) {
10172
+ :host([data-hidden]) .Empty {
10133
10173
  display: none;
10134
10174
  }
10135
10175
 
@@ -12910,6 +12950,10 @@ var DuiPopoverTrigger = class extends i4 {
12910
12950
  // packages/components/src/popover/popover-popup.ts
12911
12951
  var hostStyles15 = i`
12912
12952
  :host {
12953
+ display: contents;
12954
+ }
12955
+
12956
+ .slot-wrapper {
12913
12957
  display: none;
12914
12958
  }
12915
12959
  `;
@@ -13023,7 +13067,7 @@ var DuiPopoverPopup = class extends (_a30 = i4, _showArrow_dec = [n4({ type: Boo
13023
13067
  __privateSet(this, _wasOpen, isOpen);
13024
13068
  }
13025
13069
  render() {
13026
- return b2`<slot></slot>`;
13070
+ return b2`<div class="slot-wrapper"><slot></slot></div>`;
13027
13071
  }
13028
13072
  };
13029
13073
  _init30 = __decoratorStart(_a30);
@@ -13370,6 +13414,10 @@ var DuiPreviewCardTrigger = class extends i4 {
13370
13414
  // packages/components/src/preview-card/preview-card-popup.ts
13371
13415
  var hostStyles19 = i`
13372
13416
  :host {
13417
+ display: contents;
13418
+ }
13419
+
13420
+ .slot-wrapper {
13373
13421
  display: none;
13374
13422
  }
13375
13423
  `;
@@ -13479,7 +13527,7 @@ var DuiPreviewCardPopup = class extends (_a33 = i4, _showArrow_dec2 = [n4({ type
13479
13527
  __privateSet(this, _wasOpen2, isOpen);
13480
13528
  }
13481
13529
  render() {
13482
- return b2`<slot></slot>`;
13530
+ return b2`<div class="slot-wrapper"><slot></slot></div>`;
13483
13531
  }
13484
13532
  };
13485
13533
  _init33 = __decoratorStart(_a33);
@@ -16578,7 +16626,11 @@ var styles56 = i`
16578
16626
  display: block;
16579
16627
  }
16580
16628
 
16581
- :host([data-hidden]) {
16629
+ .wrapper {
16630
+ display: contents;
16631
+ }
16632
+
16633
+ .wrapper[hidden] {
16582
16634
  display: none;
16583
16635
  }
16584
16636
 
@@ -16586,10 +16638,6 @@ var styles56 = i`
16586
16638
  position: relative;
16587
16639
  outline: 0;
16588
16640
  }
16589
-
16590
- [part="panel"][hidden] {
16591
- display: none;
16592
- }
16593
16641
  `;
16594
16642
  var __ctx_dec20, _keepMounted_dec5, _value_dec20, _a50, _init50, _value20, _keepMounted5, __ctx20, _DuiTabsPanel_instances, isActive_get2;
16595
16643
  var DuiTabsPanel = class extends (_a50 = i4, _value_dec20 = [n4()], _keepMounted_dec5 = [n4({ type: Boolean, attribute: "keep-mounted" })], __ctx_dec20 = [c4({ context: tabsContext, subscribe: true })], _a50) {
@@ -16609,17 +16657,9 @@ var DuiTabsPanel = class extends (_a50 = i4, _value_dec20 = [n4()], _keepMounted
16609
16657
  }
16610
16658
  render() {
16611
16659
  const isActive = __privateGet(this, _DuiTabsPanel_instances, isActive_get2);
16612
- if (!isActive && !this.keepMounted) {
16613
- return A;
16614
- }
16615
16660
  return b2`
16616
- <div
16617
- part="panel"
16618
- role="tabpanel"
16619
- ?hidden=${!isActive}
16620
- tabindex="0"
16621
- >
16622
- <slot></slot>
16661
+ <div class="wrapper" ?hidden=${!isActive}>
16662
+ ${isActive || this.keepMounted ? b2`<div part="panel" role="tabpanel" tabindex="0"><slot></slot></div>` : A}
16623
16663
  </div>
16624
16664
  `;
16625
16665
  }
@@ -17347,6 +17387,10 @@ __publicField(DuiTooltipTrigger, "styles", [base, hostStyles23, componentStyles1
17347
17387
  // packages/components/src/tooltip/tooltip-popup.ts
17348
17388
  var hostStyles24 = i`
17349
17389
  :host {
17390
+ display: contents;
17391
+ }
17392
+
17393
+ .slot-wrapper {
17350
17394
  display: none;
17351
17395
  }
17352
17396
  `;
@@ -17448,7 +17492,7 @@ var DuiTooltipPopup = class extends (_a57 = i4, _showArrow_dec3 = [n4({ type: Bo
17448
17492
  __privateSet(this, _wasOpen3, isOpen);
17449
17493
  }
17450
17494
  render() {
17451
- return b2`<slot></slot>`;
17495
+ return b2`<div class="slot-wrapper"><slot></slot></div>`;
17452
17496
  }
17453
17497
  };
17454
17498
  _init57 = __decoratorStart(_a57);