@antadesign/anta 0.3.15 → 0.3.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 (54) hide show
  1. package/README.md +75 -45
  2. package/dist/anta_helpers.d.ts +8 -13
  3. package/dist/anta_helpers.js +11 -3
  4. package/dist/components/Banner.js +1 -0
  5. package/dist/components/ButtonCopy.d.ts +9 -6
  6. package/dist/components/ButtonCopy.js +5 -3
  7. package/dist/components/Card.js +1 -15
  8. package/dist/components/InputAutocomplete.js +1 -1
  9. package/dist/components/InputTime.d.ts +5 -4
  10. package/dist/components/Slider.d.ts +89 -0
  11. package/dist/components/Slider.js +144 -0
  12. package/dist/components/Switch.d.ts +68 -0
  13. package/dist/components/Switch.js +90 -0
  14. package/dist/components/copy-props.d.ts +2 -0
  15. package/dist/components/copy-props.js +2 -1
  16. package/dist/elements/a-banner.css +1 -1
  17. package/dist/elements/a-button.css +1 -1
  18. package/dist/elements/a-card.css +1 -1
  19. package/dist/elements/a-checkbox.css +1 -1
  20. package/dist/elements/a-copy.d.ts +1 -1
  21. package/dist/elements/a-copy.js +103 -69
  22. package/dist/elements/a-dialog.css +1 -1
  23. package/dist/elements/a-dialog.js +1 -1
  24. package/dist/elements/a-expander.css +1 -1
  25. package/dist/elements/a-icon.css +1 -1
  26. package/dist/elements/a-icon.shapes.css +1 -1
  27. package/dist/elements/a-icon.shapes.d.ts +3 -1
  28. package/dist/elements/a-icon.shapes.js +4 -0
  29. package/dist/elements/a-input-time.css +1 -1
  30. package/dist/elements/a-input-time.js +298 -377
  31. package/dist/elements/a-input.css +1 -1
  32. package/dist/elements/a-input.d.ts +0 -3
  33. package/dist/elements/a-input.js +16 -46
  34. package/dist/elements/a-progress.css +1 -1
  35. package/dist/elements/a-progress.js +2 -0
  36. package/dist/elements/a-radio.css +1 -1
  37. package/dist/elements/a-slider.css +1 -0
  38. package/dist/elements/a-slider.d.ts +24 -0
  39. package/dist/elements/a-slider.js +479 -0
  40. package/dist/elements/a-switch.css +1 -0
  41. package/dist/elements/a-switch.d.ts +31 -0
  42. package/dist/elements/a-switch.js +109 -0
  43. package/dist/elements/a-tabs.css +1 -1
  44. package/dist/elements/a-tag.css +1 -1
  45. package/dist/elements/a-tooltip.css +1 -1
  46. package/dist/elements/copy-behavior.d.ts +3 -3
  47. package/dist/elements/index.d.ts +2 -0
  48. package/dist/elements/index.js +6 -0
  49. package/dist/general_types.d.ts +98 -4
  50. package/dist/index.d.ts +4 -0
  51. package/dist/index.js +4 -0
  52. package/dist/jsx-runtime.d.ts +6 -1
  53. package/dist/theme-anta.css +1 -1
  54. package/package.json +2 -2
@@ -4,6 +4,7 @@ import "./a-copy.css";
4
4
  const BUTTON_HOST = "a-button, button, [role=button]";
5
5
  const MENU_HOST = "a-menu-item, [role=menuitem]";
6
6
  const ANY_HOST = `${BUTTON_HOST}, ${MENU_HOST}`;
7
+ const pointerOrigins = /* @__PURE__ */ new WeakMap();
7
8
  function copyChild(host) {
8
9
  return host?.querySelector(":scope > a-copy") ?? null;
9
10
  }
@@ -12,13 +13,20 @@ function hostBlocked(host) {
12
13
  }
13
14
  function installCopyDelegation(doc) {
14
15
  if (!doc || doc.hasCopyDelegation) return;
15
- const preRequest = (target) => {
16
+ const preRequest = (target, origin) => {
16
17
  const host = target?.closest?.(ANY_HOST);
17
18
  if (!host || hostBlocked(host)) return;
18
19
  const el = copyChild(host);
19
- if (el) emitCopyRequest(el);
20
+ if (!el) return;
21
+ if (origin) pointerOrigins.set(el, origin);
22
+ else pointerOrigins.delete(el);
23
+ emitCopyRequest(el);
20
24
  };
21
- doc.addEventListener("pointerdown", (e) => preRequest(e.target), true);
25
+ doc.addEventListener(
26
+ "pointerdown",
27
+ (e) => preRequest(e.target, { x: e.clientX, y: e.clientY }),
28
+ true
29
+ );
22
30
  doc.addEventListener(
23
31
  "keydown",
24
32
  (e) => {
@@ -32,7 +40,12 @@ function installCopyDelegation(doc) {
32
40
  (e) => {
33
41
  const host = e.target?.closest?.(BUTTON_HOST);
34
42
  if (!host || hostBlocked(host)) return;
35
- copyChild(host)?.activate();
43
+ const el = copyChild(host);
44
+ if (!el) return;
45
+ if (e.detail)
46
+ pointerOrigins.set(el, { x: e.clientX, y: e.clientY });
47
+ else pointerOrigins.delete(el);
48
+ el.activate();
36
49
  },
37
50
  true
38
51
  );
@@ -47,91 +60,112 @@ function installCopyDelegation(doc) {
47
60
  );
48
61
  doc.hasCopyDelegation = true;
49
62
  }
50
- const GHOST_MS = 650;
63
+ const FEEDBACK_MS = 900;
64
+ const COPY_FEEDBACK_TEMPLATE = typeof document === "undefined" ? void 0 : (() => {
65
+ const template = document.createElement("template");
66
+ const style = document.createElement("style");
67
+ style.textContent = `
68
+ .feedback {
69
+ position: fixed;
70
+ margin: 0;
71
+ padding: 0;
72
+ border: 0;
73
+ inset: auto;
74
+ background: none;
75
+ overflow: visible;
76
+ pointer-events: none;
77
+ display: inline-flex;
78
+ align-items: center;
79
+ gap: 4px;
80
+ box-sizing: border-box;
81
+ color: var(--text-2-success);
82
+ font-family: var(--sans-serif);
83
+ font-size: 13px;
84
+ line-height: 16px;
85
+ font-weight: 500;
86
+ white-space: nowrap;
87
+ transform: translate(var(--_feedback-x), calc(-100% - 10px));
88
+ }
89
+ .feedback:not(:popover-open) { display: none; }
90
+ .feedback[data-show] { animation: a-copy-feedback-rise ${FEEDBACK_MS}ms ease-out forwards; }
91
+ @keyframes a-copy-feedback-rise {
92
+ from { opacity: 1; transform: translate(var(--_feedback-x), calc(-100% - 10px)); }
93
+ to { opacity: 0; transform: translate(var(--_feedback-x), calc(-100% - 1.5em)); }
94
+ }
95
+ `;
96
+ const feedback = document.createElement("div");
97
+ feedback.className = "feedback";
98
+ feedback.part.add("feedback");
99
+ feedback.setAttribute("popover", "manual");
100
+ feedback.setAttribute("role", "status");
101
+ const icon = document.createElement("span");
102
+ icon.setAttribute("aria-hidden", "true");
103
+ icon.textContent = "\u2713";
104
+ const label = document.createElement("span");
105
+ label.className = "label";
106
+ feedback.append(icon, label);
107
+ template.content.append(style, feedback);
108
+ return template;
109
+ })();
51
110
  class ACopyElement extends HTMLElementBase {
52
- #ghost;
53
- #ghostTimer;
111
+ #feedback;
112
+ #feedbackLabel;
113
+ #feedbackTimer;
54
114
  connectedCallback() {
55
115
  installCopyDelegation(this.doc);
56
116
  this.addEventListener("copydone", this.#onCopyDone);
57
117
  }
58
118
  /** Run the copy for the activated host. Called from the delegated click /
59
- * menuselect handlers; the ghost (if any) follows on `copydone`. */
119
+ * menuselect handlers; the confirmation follows a successful `copydone`. */
60
120
  activate() {
61
121
  runCopy(this);
62
122
  }
63
123
  #onCopyDone = (e) => {
124
+ const origin = pointerOrigins.get(this);
125
+ pointerOrigins.delete(this);
64
126
  if (!this.hasAttribute("toast")) return;
65
127
  if (!e.detail?.ok) return;
66
128
  const host = this.closest(ANY_HOST);
67
- if (host) this.#showGhost(host);
129
+ if (host) this.#showFeedback(host, origin);
68
130
  };
69
131
  #buildShadow() {
132
+ if (!COPY_FEEDBACK_TEMPLATE) return;
70
133
  const root = this.attachShadow({ mode: "open" });
71
- root.innerHTML = `<style>
72
- .ghost {
73
- position: fixed;
74
- margin: 0;
75
- padding: 0;
76
- border: 0;
77
- inset: auto;
78
- background: none;
79
- overflow: visible;
80
- pointer-events: none;
81
- display: grid;
82
- place-items: center;
83
- font: inherit;
84
- color: inherit;
85
- white-space: nowrap;
86
- }
87
- .ghost:not(:popover-open) { display: none; }
88
- .ghost[data-show] { animation: a-copy-rise ${GHOST_MS - 50}ms ease-out forwards; }
89
- @keyframes a-copy-rise {
90
- from { opacity: 1; transform: translateY(0); }
91
- to { opacity: 0; transform: translateY(-1.5em); }
134
+ root.append(COPY_FEEDBACK_TEMPLATE.content.cloneNode(true));
135
+ this.#feedback = root.querySelector(".feedback");
136
+ this.#feedbackLabel = root.querySelector(".label");
92
137
  }
93
- </style><div class="ghost" part="ghost" popover="manual"></div>`;
94
- this.#ghost = root.querySelector(".ghost");
95
- }
96
- #showGhost(host) {
97
- if (!this.#ghost) this.#buildShadow();
98
- const ghost = this.#ghost;
99
- if (!ghost || typeof ghost.showPopover !== "function") return;
100
- const text = (host.textContent ?? "").trim();
101
- if (!text) return;
102
- const r = host.getBoundingClientRect();
103
- ghost.textContent = text;
104
- ghost.style.left = `${r.left}px`;
105
- ghost.style.top = `${r.top}px`;
106
- ghost.style.width = `${r.width}px`;
107
- ghost.style.height = `${r.height}px`;
108
- clearTimeout(this.#ghostTimer);
109
- ghost.removeAttribute("data-show");
110
- if (ghost.matches(":popover-open")) {
111
- try {
112
- ghost.hidePopover();
113
- } catch {
114
- }
115
- }
116
- try {
117
- ghost.showPopover();
118
- } catch {
119
- return;
138
+ #showFeedback(host, origin) {
139
+ if (!this.#feedback) this.#buildShadow();
140
+ const feedback = this.#feedback;
141
+ const label = this.#feedbackLabel;
142
+ if (!feedback || !label) return;
143
+ label.textContent = this.getAttribute("copied-label") ?? "Copied";
144
+ if (origin) {
145
+ feedback.style.left = `${origin.x}px`;
146
+ feedback.style.top = `${origin.y}px`;
147
+ feedback.style.setProperty("--_feedback-x", "8px");
148
+ } else {
149
+ const rect = host.getBoundingClientRect();
150
+ const rtl = this.view.getComputedStyle(host).direction === "rtl";
151
+ feedback.style.left = `${rtl ? rect.right - 12 : rect.left + 12}px`;
152
+ feedback.style.top = `${rect.top}px`;
153
+ feedback.style.setProperty("--_feedback-x", rtl ? "-100%" : "0");
120
154
  }
121
- void ghost.offsetWidth;
122
- ghost.setAttribute("data-show", "");
123
- this.#ghostTimer = setTimeout(() => {
124
- ghost.removeAttribute("data-show");
125
- if (ghost.matches(":popover-open")) {
126
- try {
127
- ghost.hidePopover();
128
- } catch {
129
- }
130
- }
131
- }, GHOST_MS);
155
+ clearTimeout(this.#feedbackTimer);
156
+ feedback.removeAttribute("data-show");
157
+ if (feedback.matches(":popover-open")) feedback.hidePopover();
158
+ feedback.showPopover();
159
+ void feedback.offsetWidth;
160
+ feedback.setAttribute("data-show", "");
161
+ this.#feedbackTimer = setTimeout(() => {
162
+ feedback.removeAttribute("data-show");
163
+ if (feedback.matches(":popover-open")) feedback.hidePopover();
164
+ }, FEEDBACK_MS);
132
165
  }
133
166
  disconnectedCallback() {
134
- clearTimeout(this.#ghostTimer);
167
+ clearTimeout(this.#feedbackTimer);
168
+ pointerOrigins.delete(this);
135
169
  this.removeEventListener("copydone", this.#onCopyDone);
136
170
  }
137
171
  }
@@ -1 +1 @@
1
- @layer anta{a-dialog{--dialog-bg: var(--bg-1);--dialog-text: var(--text-2);--dialog-border: color-mix(in oklch, black 9%, transparent);--dialog-radius: 10px;--dialog-shadow: inset 0 0 0 1px var(--dialog-border), 0 1px 3px color-mix(in oklch, black 10%, transparent), 0 12px 32px color-mix(in oklch, black 22%, transparent), 0 28px 64px color-mix(in oklch, black 14%, transparent);--dialog-overlay: color-mix(in oklch, black 42%, transparent);display:contents}a-dialog[round]{--dialog-round: attr(round type(<length>), var(--dialog-radius, 10px))}a-dialog:not(:defined){display:none}.dark a-dialog{--dialog-border: color-mix(in oklch, white 14%, transparent);--dialog-shadow: inset 0 0 0 1px var(--dialog-border), 0 1px 3px color-mix(in oklch, black 40%, transparent), 0 12px 32px color-mix(in oklch, black 55%, transparent), 0 28px 64px color-mix(in oklch, black 40%, transparent);--dialog-overlay: color-mix(in oklch, black 62%, transparent)}}
1
+ @layer anta{a-dialog{--dialog-bg: var(--bg-1);--dialog-text: var(--text-2);--dialog-border: color-mix(in oklch, black 9%, transparent);--dialog-radius: 10px;--dialog-shadow: inset 0 0 0 1px var(--dialog-border), 0 1px 3px color-mix(in oklch, black 10%, transparent), 0 12px 32px color-mix(in oklch, black 22%, transparent), 0 28px 64px color-mix(in oklch, black 14%, transparent);--dialog-overlay: color-mix(in oklch, black 42%, transparent);display:contents}a-dialog[round]{--dialog-round: attr(round type(<length>), var(--dialog-radius, 10px))}a-dialog:not(:defined){display:none}.dark a-dialog{--dialog-border: color-mix(in oklch, white 14%, transparent);--dialog-shadow: inset 0 0 0 1px var(--dialog-border), 0 1px 3px color-mix(in oklch, black 40%, transparent), 0 12px 32px color-mix(in oklch, black 55%, transparent), 0 28px 64px color-mix(in oklch, black 40%, transparent);--dialog-overlay: color-mix(in oklch, black 62%, transparent)}@media(forced-colors:active){a-dialog{--dialog-outline: 1px solid CanvasText;--dialog-shadow: none}}}
@@ -12,7 +12,7 @@ const SHADOW_STYLE = `
12
12
  position: fixed;
13
13
  box-sizing: border-box;
14
14
  padding: 0;
15
- border: none;
15
+ border: var(--dialog-outline, none);
16
16
  max-width: calc(100vw - 2 * var(--dialog-margin, 32px));
17
17
  max-height: calc(100dvh - 2 * var(--dialog-margin, 32px));
18
18
  width: var(--dialog-width, 480px);
@@ -1 +1 @@
1
- @layer anta{a-expander{--expander-text: var(--text-2);--expander-text-hover: var(--text-1);--expander-bg-secondary: var(--bg-2);--expander-border-secondary: var(--border-5);--expander-bg-primary: var(--bg-4);--expander-border-primary: var(--border-4);--expander-bg: var(--expander-bg-secondary);--expander-border: var(--expander-border-secondary);--expander-bg-hover-lift: .01;--expander-bg-hover: oklch(from var(--expander-bg) calc(l + var(--expander-bg-hover-lift)) c h);--expander-gutter: 24px;--_expander-chevron: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18 6-6-6-6'/%3e%3c/svg%3e");display:block;width:100%;box-sizing:border-box;border:1px solid var(--expander-border);border-radius:4px;color:var(--expander-text);background:var(--expander-bg);transition:background-color .1s ease}a-expander[round]{--expander-round: attr(round type(<length>));border-radius:var(--expander-round, var(--_expander-round-radius, 999px))}a-expander>[slot=actions]{display:contents}a-expander:not(:defined) a-expander-details{display:none}a-expander:not(:defined)[state=open] a-expander-details,a-expander:not(:defined)[default-state=open] a-expander-details{display:block}a-expander:not(:defined) a-expander-summary{position:relative;padding:6px 4px 6px var(--expander-gutter)}a-expander:not(:defined) a-expander-summary:before{content:"";position:absolute;left:calc(var(--expander-gutter) - 16px - 2px);top:50%;width:16px;height:16px;transform:translateY(-50%);background-color:currentColor;-webkit-mask:var(--_expander-chevron) center / contain no-repeat;mask:var(--_expander-chevron) center / contain no-repeat;opacity:.6}a-expander:not(:defined){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}a-expander:not(:defined) a-expander-summary{grid-column:1}a-expander:not(:defined)>[slot=actions]{grid-column:2;display:flex;align-items:center;gap:2px;flex-shrink:0;margin-inline-start:8px;margin-inline-end:4px}a-expander:not(:defined) a-expander-details{grid-column:1 / -1}a-expander-summary{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:20px;font-weight:584.62;letter-spacing:0;text-decoration-line:var(--_summary-underline, none);text-decoration-style:dotted;text-decoration-color:color-mix(in oklch,currentColor 75%,transparent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s ease}a-expander[level="1"] a-expander-summary{font-size:28px;line-height:32px}a-expander[level="2"] a-expander-summary{font-size:24px;line-height:28px}a-expander[level="3"] a-expander-summary{font-size:20px;line-height:24px}a-expander[level="4"] a-expander-summary{font-size:17px;line-height:20px}a-expander[level="6"] a-expander-summary{font-size:13px;line-height:16px}a-expander-details{display:block;padding:2px 4px 6px var(--expander-gutter);line-height:20px;overflow:auto}a-expander[priority=tertiary][outdent] a-expander-details{padding-inline-start:4px;margin-inline-start:-4px}a-expander[priority=primary]{--expander-bg: var(--expander-bg-primary);--expander-border: var(--expander-border-primary)}a-expander[priority=tertiary]{--expander-bg: transparent;--expander-border: transparent}a-expander:not([disabled]):not(:state(open)):hover{background:var(--expander-bg-hover)}a-expander:not([disabled]):not(:state(open)):active{background:var(--expander-bg)}a-expander[priority=tertiary][outdent]{--expander-gutter: 0px}a-expander[tone=brand]{--expander-text: var(--text-2-brand);--expander-text-hover: var(--text-1-brand);--expander-bg-secondary: var(--bg-2-brand);--expander-border-secondary: var(--border-5-brand);--expander-bg-primary: var(--bg-4-brand);--expander-border-primary: var(--border-4-brand)}a-expander[tone=info]{--expander-text: var(--text-2-info);--expander-text-hover: var(--text-1-info);--expander-bg-secondary: var(--bg-2-info);--expander-border-secondary: var(--border-5-info);--expander-bg-primary: var(--bg-4-info);--expander-border-primary: var(--border-4-info)}a-expander[tone=success]{--expander-text: var(--text-2-success);--expander-text-hover: var(--text-1-success);--expander-bg-secondary: var(--bg-2-success);--expander-border-secondary: var(--border-5-success);--expander-bg-primary: var(--bg-4-success);--expander-border-primary: var(--border-4-success)}a-expander[tone=warning]{--expander-text: var(--text-2-warning);--expander-text-hover: var(--text-1-warning);--expander-bg-secondary: var(--bg-2-warning);--expander-border-secondary: var(--border-5-warning);--expander-bg-primary: var(--bg-4-warning);--expander-border-primary: var(--border-4-warning)}a-expander[tone=critical]{--expander-text: var(--text-2-critical);--expander-text-hover: var(--text-1-critical);--expander-bg-secondary: var(--bg-2-critical);--expander-border-secondary: var(--border-5-critical);--expander-bg-primary: var(--bg-4-critical);--expander-border-primary: var(--border-4-critical)}a-expander[tone]:not([tone=neutral],[tone=brand],[tone=info],[tone=success],[tone=warning],[tone=critical]){--expander-tone-source: attr(tone type(<color>), currentColor);--expander-text: oklch(from var(--expander-tone-source) .5 .125 h);--expander-text-hover: oklch(from var(--expander-tone-source) .4 .11 h);--expander-bg-secondary: oklch(from var(--expander-tone-source) .99 .004 h);--expander-border-secondary: oklch(from var(--expander-tone-source) .935 .028 h);--expander-bg-primary: oklch(from var(--expander-tone-source) .955 .02 h);--expander-border-primary: oklch(from var(--expander-tone-source) .9 .04 h)}.dark a-expander[tone]:not([tone=neutral],[tone=brand],[tone=info],[tone=success],[tone=warning],[tone=critical]){--expander-text: oklch(from var(--expander-tone-source) .77 .11 h);--expander-text-hover: oklch(from var(--expander-tone-source) .85 .1 h);--expander-bg-secondary: oklch(from var(--expander-tone-source) .13 .02 h);--expander-border-secondary: oklch(from var(--expander-tone-source) .21 .045 h);--expander-bg-primary: oklch(from var(--expander-tone-source) .185 .05 h);--expander-border-primary: oklch(from var(--expander-tone-source) .26 .06 h)}a-expander[disabled],a-expander[disabled][tone]{--expander-text: #afa9b1}.dark a-expander[disabled],.dark a-expander[disabled][tone]{--expander-text: #635b65}}
1
+ @layer anta{a-expander,details[data-anta]{--_expander-chevron: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18 6-6-6-6'/%3e%3c/svg%3e")}a-expander{--expander-text: var(--text-2);--expander-text-hover: var(--text-1);--expander-bg-secondary: var(--bg-2);--expander-border-secondary: var(--border-5);--expander-bg-primary: var(--bg-4);--expander-border-primary: var(--border-4);--expander-bg: var(--expander-bg-secondary);--expander-border: var(--expander-border-secondary);--expander-bg-hover-lift: .01;--expander-bg-hover: oklch(from var(--expander-bg) calc(l + var(--expander-bg-hover-lift)) c h);--expander-gutter: 24px;display:block;width:100%;box-sizing:border-box;border:1px solid var(--expander-border);border-radius:4px;color:var(--expander-text);background:var(--expander-bg);transition:background-color .1s ease}a-expander[round]{--expander-round: attr(round type(<length>));border-radius:var(--expander-round, var(--_expander-round-radius, 999px))}a-expander>span[slot=actions]{display:contents}a-expander:not(:defined) a-expander-details{display:none}a-expander:not(:defined)[state=open] a-expander-details,a-expander:not(:defined)[default-state=open] a-expander-details{display:block}a-expander:not(:defined) a-expander-summary{position:relative;padding:6px 4px 6px var(--expander-gutter)}a-expander:not(:defined) a-expander-summary:before{content:"";position:absolute;left:calc(var(--expander-gutter) - 16px - 2px);top:50%;width:16px;height:16px;transform:translateY(-50%);background-color:currentColor;-webkit-mask:var(--_expander-chevron) center / contain no-repeat;mask:var(--_expander-chevron) center / contain no-repeat;opacity:.6}a-expander:not(:defined){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}a-expander:not(:defined) a-expander-summary{grid-column:1}a-expander:not(:defined)>[slot=actions]{grid-column:2;display:flex;align-items:center;gap:2px;flex-shrink:0;margin-inline-start:8px;margin-inline-end:4px}a-expander:not(:defined) a-expander-details{grid-column:1 / -1}a-expander-summary{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:20px;font-weight:584.62;letter-spacing:0;text-decoration-line:var(--_summary-underline, none);text-decoration-style:dotted;text-decoration-color:color-mix(in oklch,currentColor 75%,transparent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s ease}a-expander[level="1"] a-expander-summary{font-size:28px;line-height:32px}a-expander[level="2"] a-expander-summary{font-size:24px;line-height:28px}a-expander[level="3"] a-expander-summary{font-size:20px;line-height:24px}a-expander[level="4"] a-expander-summary{font-size:17px;line-height:20px}a-expander[level="6"] a-expander-summary{font-size:13px;line-height:16px}a-expander-details{display:block;padding:2px 4px 6px var(--expander-gutter);line-height:20px;overflow:auto}a-expander[priority=tertiary][outdent] a-expander-details{padding-inline-start:4px;margin-inline-start:-4px}a-expander[priority=primary]{--expander-bg: var(--expander-bg-primary);--expander-border: var(--expander-border-primary)}a-expander[priority=tertiary]{--expander-bg: transparent;--expander-border: transparent}a-expander:not([disabled]):not(:state(open)):hover{background:var(--expander-bg-hover)}a-expander:not([disabled]):not(:state(open)):active{background:var(--expander-bg)}a-expander[priority=tertiary][outdent]{--expander-gutter: 0px}a-expander[tone=brand]{--expander-text: var(--text-2-brand);--expander-text-hover: var(--text-1-brand);--expander-bg-secondary: var(--bg-2-brand);--expander-border-secondary: var(--border-5-brand);--expander-bg-primary: var(--bg-4-brand);--expander-border-primary: var(--border-4-brand)}a-expander[tone=info]{--expander-text: var(--text-2-info);--expander-text-hover: var(--text-1-info);--expander-bg-secondary: var(--bg-2-info);--expander-border-secondary: var(--border-5-info);--expander-bg-primary: var(--bg-4-info);--expander-border-primary: var(--border-4-info)}a-expander[tone=success]{--expander-text: var(--text-2-success);--expander-text-hover: var(--text-1-success);--expander-bg-secondary: var(--bg-2-success);--expander-border-secondary: var(--border-5-success);--expander-bg-primary: var(--bg-4-success);--expander-border-primary: var(--border-4-success)}a-expander[tone=warning]{--expander-text: var(--text-2-warning);--expander-text-hover: var(--text-1-warning);--expander-bg-secondary: var(--bg-2-warning);--expander-border-secondary: var(--border-5-warning);--expander-bg-primary: var(--bg-4-warning);--expander-border-primary: var(--border-4-warning)}a-expander[tone=critical]{--expander-text: var(--text-2-critical);--expander-text-hover: var(--text-1-critical);--expander-bg-secondary: var(--bg-2-critical);--expander-border-secondary: var(--border-5-critical);--expander-bg-primary: var(--bg-4-critical);--expander-border-primary: var(--border-4-critical)}a-expander[tone]:not([tone=neutral],[tone=brand],[tone=info],[tone=success],[tone=warning],[tone=critical]){--expander-tone-source: attr(tone type(<color>), currentColor);--expander-text: oklch(from var(--expander-tone-source) .5 .125 h);--expander-text-hover: oklch(from var(--expander-tone-source) .4 .11 h);--expander-bg-secondary: oklch(from var(--expander-tone-source) .99 .004 h);--expander-border-secondary: oklch(from var(--expander-tone-source) .935 .028 h);--expander-bg-primary: oklch(from var(--expander-tone-source) .955 .02 h);--expander-border-primary: oklch(from var(--expander-tone-source) .9 .04 h)}.dark a-expander[tone]:not([tone=neutral],[tone=brand],[tone=info],[tone=success],[tone=warning],[tone=critical]){--expander-text: oklch(from var(--expander-tone-source) .77 .11 h);--expander-text-hover: oklch(from var(--expander-tone-source) .85 .1 h);--expander-bg-secondary: oklch(from var(--expander-tone-source) .13 .02 h);--expander-border-secondary: oklch(from var(--expander-tone-source) .21 .045 h);--expander-bg-primary: oklch(from var(--expander-tone-source) .185 .05 h);--expander-border-primary: oklch(from var(--expander-tone-source) .26 .06 h)}a-expander[disabled],a-expander[disabled][tone]{--expander-text: #afa9b1}.dark a-expander[disabled],.dark a-expander[disabled][tone]{--expander-text: #635b65}details[data-anta]{--native-expander-gutter: 24px;--native-expander-summary-padding-block: 6px;--native-expander-summary-font-size: 15px;--native-expander-summary-line-height: 20px;--native-expander-chevron-size: 16px;--native-expander-text: var(--text-2);--native-expander-text-hover: var(--text-1);--native-expander-bg-secondary: var(--bg-2);--native-expander-border-secondary: var(--border-5);--native-expander-bg-primary: var(--bg-4);--native-expander-border-primary: var(--border-4);--native-expander-round-size: 16px;--native-expander-round: 4px;--native-expander-bg: transparent;--native-expander-border: transparent;display:block;inline-size:100%;box-sizing:border-box;border:0 solid var(--native-expander-border);border-radius:var(--native-expander-round);color:var(--native-expander-text);background:var(--native-expander-bg);font-family:var(--sans-serif);font-size:15px;font-feature-settings:"ss02","ss05","tnum";line-height:var(--native-expander-summary-line-height);transition:background-color .1s ease}details[data-anta][priority=secondary]{--native-expander-bg: var(--native-expander-bg-secondary);--native-expander-border: var(--native-expander-border-secondary);border-width:1px}details[data-anta][priority=primary]{--native-expander-bg: var(--native-expander-bg-primary);--native-expander-border: var(--native-expander-border-primary);border-width:1px}details[data-anta][level="1"]{--native-expander-summary-font-size: 28px;--native-expander-summary-line-height: 32px;--native-expander-round-size: 22px}details[data-anta][level="2"]{--native-expander-summary-font-size: 24px;--native-expander-summary-line-height: 28px;--native-expander-round-size: 20px}details[data-anta][level="3"]{--native-expander-summary-font-size: 20px;--native-expander-summary-line-height: 24px;--native-expander-round-size: 18px}details[data-anta][level="4"]{--native-expander-summary-font-size: 17px;--native-expander-summary-line-height: 20px}details[data-anta][level="6"]{--native-expander-summary-font-size: 13px;--native-expander-summary-line-height: 16px;--native-expander-round-size: 14px}details[data-anta][round]{--native-expander-round: var(--native-expander-round-size)}details[data-anta][round]:not([round=""]){--native-expander-round: attr(round type(<length>), var(--native-expander-round-size))}details[data-anta][priority=tertiary][outdent]{--native-expander-gutter: 0px}details[data-anta][tone=brand]{--native-expander-text: var(--text-2-brand);--native-expander-text-hover: var(--text-1-brand);--native-expander-bg-secondary: var(--bg-2-brand);--native-expander-border-secondary: var(--border-5-brand);--native-expander-bg-primary: var(--bg-4-brand);--native-expander-border-primary: var(--border-4-brand)}details[data-anta][tone=info]{--native-expander-text: var(--text-2-info);--native-expander-text-hover: var(--text-1-info);--native-expander-bg-secondary: var(--bg-2-info);--native-expander-border-secondary: var(--border-5-info);--native-expander-bg-primary: var(--bg-4-info);--native-expander-border-primary: var(--border-4-info)}details[data-anta][tone=success]{--native-expander-text: var(--text-2-success);--native-expander-text-hover: var(--text-1-success);--native-expander-bg-secondary: var(--bg-2-success);--native-expander-border-secondary: var(--border-5-success);--native-expander-bg-primary: var(--bg-4-success);--native-expander-border-primary: var(--border-4-success)}details[data-anta][tone=warning]{--native-expander-text: var(--text-2-warning);--native-expander-text-hover: var(--text-1-warning);--native-expander-bg-secondary: var(--bg-2-warning);--native-expander-border-secondary: var(--border-5-warning);--native-expander-bg-primary: var(--bg-4-warning);--native-expander-border-primary: var(--border-4-warning)}details[data-anta][tone=critical]{--native-expander-text: var(--text-2-critical);--native-expander-text-hover: var(--text-1-critical);--native-expander-bg-secondary: var(--bg-2-critical);--native-expander-border-secondary: var(--border-5-critical);--native-expander-bg-primary: var(--bg-4-critical);--native-expander-border-primary: var(--border-4-critical)}details[data-anta][tone]:not([tone=""],[tone=neutral],[tone=brand],[tone=info],[tone=success],[tone=warning],[tone=critical]){--native-expander-tone-source: attr(tone type(<color>), currentColor);--native-expander-text: oklch(from var(--native-expander-tone-source) .5 .125 h);--native-expander-text-hover: oklch(from var(--native-expander-tone-source) .4 .11 h);--native-expander-bg-secondary: oklch(from var(--native-expander-tone-source) .99 .004 h);--native-expander-border-secondary: oklch(from var(--native-expander-tone-source) .935 .028 h);--native-expander-bg-primary: oklch(from var(--native-expander-tone-source) .955 .02 h);--native-expander-border-primary: oklch(from var(--native-expander-tone-source) .9 .04 h)}.dark details[data-anta][tone]:not([tone=""],[tone=neutral],[tone=brand],[tone=info],[tone=success],[tone=warning],[tone=critical]){--native-expander-text: oklch(from var(--native-expander-tone-source) .77 .11 h);--native-expander-text-hover: oklch(from var(--native-expander-tone-source) .85 .1 h);--native-expander-bg-secondary: oklch(from var(--native-expander-tone-source) .13 .02 h);--native-expander-border-secondary: oklch(from var(--native-expander-tone-source) .21 .045 h);--native-expander-bg-primary: oklch(from var(--native-expander-tone-source) .185 .05 h);--native-expander-border-primary: oklch(from var(--native-expander-tone-source) .26 .06 h)}details[data-anta]>summary{position:relative;box-sizing:border-box;display:block;min-width:0;padding:var(--native-expander-summary-padding-block) 4px var(--native-expander-summary-padding-block) var(--native-expander-gutter);color:inherit;cursor:pointer;font:inherit;font-size:var(--native-expander-summary-font-size);line-height:var(--native-expander-summary-line-height);font-weight:584.62;letter-spacing:0;list-style:none;text-decoration-line:none;transition:color .15s ease}details[data-anta]>summary::-webkit-details-marker{display:none}details[data-anta]>summary::marker{content:""}details[data-anta]>summary:before{content:"";position:absolute;left:calc(var(--native-expander-gutter) - var(--native-expander-chevron-size) - 2px);top:var(--native-expander-summary-padding-block);width:var(--native-expander-chevron-size);height:var(--native-expander-summary-line-height);background-color:currentColor;-webkit-mask:var(--_expander-chevron) center / var(--native-expander-chevron-size) no-repeat;mask:var(--_expander-chevron) center / var(--native-expander-chevron-size) no-repeat;opacity:.6;transform:rotate(0);transition:transform .15s ease,opacity .15s ease,background-color .15s ease}details[data-anta][open]>summary:before{opacity:1;transform:rotate(90deg)}details[data-anta]:is([priority=primary],[priority=secondary]):not([open]):hover{background:oklch(from var(--native-expander-bg) calc(l + .01) c h)}details[data-anta]:is([priority=primary],[priority=secondary]):not([open]):active{background:var(--native-expander-bg)}details[data-anta]>summary:hover{color:var(--native-expander-text-hover);text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in oklch,currentColor 75%,transparent);text-decoration-thickness:1px;text-underline-offset:3px}details[data-anta]>summary:hover:before{opacity:1}details[data-anta]>summary:active{color:var(--native-expander-text)}details[data-anta]>summary:focus-visible{outline:1px solid var(--focus-ring);outline-offset:1px}details[data-anta]>:not(summary){display:block;padding:2px 4px 6px var(--native-expander-gutter);line-height:20px}@media(forced-colors:active){:is(a-expander,details[data-anta]){border-color:CanvasText}:is(a-expander,details[data-anta]):not([priority=primary],[priority=tertiary]){border-style:dashed}:is(a-expander,details[data-anta])[priority=tertiary]{border-color:Canvas}a-expander::part(summary):before,a-expander:not(:defined) a-expander-summary:before,details[data-anta]>summary:before{forced-color-adjust:none;background-color:CanvasText}a-expander[disabled]::part(summary):before{background-color:GrayText}}}
@@ -1 +1 @@
1
- @layer anta{a-icon{--icon-size: 16px;display:inline-block;vertical-align:middle;width:var(--icon-size);height:var(--icon-size);flex-shrink:0;background-color:currentColor;-webkit-mask-image:var(--icon);mask-image:var(--icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}@supports (width: attr(size px,16px)){a-icon[size]{--icon-size: attr(size px, 16px)}}}
1
+ @layer anta{a-icon{--icon-size: 16px;display:inline-block;vertical-align:middle;width:var(--icon-size);height:var(--icon-size);flex-shrink:0;background-color:currentColor;-webkit-mask-image:var(--icon);mask-image:var(--icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}@media(forced-colors:active){a-icon{forced-color-adjust:none;background-color:var(--anta-forced-foreground, CanvasText)}}@supports (width: attr(size px,16px)){a-icon[size]{--icon-size: attr(size px, 16px)}}}