@antadesign/anta 0.3.28 → 0.3.30
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.
- package/NOTICES.md +32 -1
- package/dist/anta_helpers.d.ts +21 -0
- package/dist/anta_helpers.js +24 -0
- package/dist/box-observation.d.ts +8 -0
- package/dist/box-observation.js +41 -0
- package/dist/box-types.d.ts +2 -0
- package/dist/bundle.css +1 -1
- package/dist/bundle.js +66 -29
- package/dist/components/Box.d.ts +28 -12
- package/dist/components/Box.js +18 -11
- package/dist/components/Breadcrumbs.css +1 -1
- package/dist/components/Breadcrumbs.d.ts +1 -1
- package/dist/components/Button.d.ts +3 -3
- package/dist/components/ButtonCopy.d.ts +1 -1
- package/dist/components/Calendar.js +3 -5
- package/dist/components/Checkbox.d.ts +2 -2
- package/dist/components/Input.d.ts +8 -2
- package/dist/components/Input.js +4 -0
- package/dist/components/InputAutocomplete.js +3 -12
- package/dist/components/InputDate.css +1 -1
- package/dist/components/InputDate.js +2 -0
- package/dist/components/Menu.d.ts +4 -4
- package/dist/components/Menu.js +1 -1
- package/dist/components/Panel.d.ts +17 -0
- package/dist/components/Panel.js +22 -0
- package/dist/components/RadioGroup.d.ts +2 -1
- package/dist/components/Select.d.ts +14 -14
- package/dist/components/Select.js +47 -35
- package/dist/components/SelectFaceted.d.ts +17 -6
- package/dist/components/SelectFaceted.js +61 -41
- package/dist/components/Steps.css +1 -1
- package/dist/components/Switch.d.ts +3 -3
- package/dist/components/TabPanel.d.ts +3 -8
- package/dist/components/TabPanel.js +2 -1
- package/dist/components/Tabs.d.ts +2 -2
- package/dist/components/Tabs.js +2 -1
- package/dist/components/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip.js +1 -1
- package/dist/components/select-parts.css +1 -1
- package/dist/elements/a-avatar.css +1 -1
- package/dist/elements/a-banner.css +1 -1
- package/dist/elements/a-box.css +1 -1
- package/dist/elements/a-box.d.ts +6 -6
- package/dist/elements/a-box.js +76 -23
- package/dist/elements/a-button.css +1 -1
- package/dist/elements/a-button.d.ts +9 -1
- package/dist/elements/a-button.js +64 -1
- package/dist/elements/a-calendar.css +1 -1
- package/dist/elements/a-capture.css +1 -1
- package/dist/elements/a-card.css +1 -1
- package/dist/elements/a-checkbox.css +1 -1
- package/dist/elements/a-checkbox.d.ts +3 -0
- package/dist/elements/a-checkbox.js +17 -1
- package/dist/elements/a-copy.css +1 -1
- package/dist/elements/a-dialog.css +1 -1
- package/dist/elements/a-expander.css +1 -1
- package/dist/elements/a-icon.css +1 -1
- package/dist/elements/a-icon.shapes.css +1 -1
- package/dist/elements/a-icon.shapes.d.ts +1 -1
- package/dist/elements/a-input-time.css +1 -1
- package/dist/elements/a-input-time.d.ts +8 -0
- package/dist/elements/a-input-time.js +115 -8
- package/dist/elements/a-input.css +1 -1
- package/dist/elements/a-input.d.ts +27 -1
- package/dist/elements/a-input.js +176 -35
- package/dist/elements/a-loader.css +1 -1
- package/dist/elements/a-menu-group.css +1 -1
- package/dist/elements/a-menu-item.css +1 -1
- package/dist/elements/a-menu-item.js +1 -0
- package/dist/elements/a-menu-separator.css +1 -1
- package/dist/elements/a-menu.css +1 -1
- package/dist/elements/a-menu.d.ts +8 -13
- package/dist/elements/a-menu.js +146 -45
- package/dist/elements/a-panel.css +1 -0
- package/dist/elements/a-panel.d.ts +16 -0
- package/dist/elements/a-panel.js +153 -0
- package/dist/elements/a-progress.css +1 -1
- package/dist/elements/a-radio-group.css +1 -1
- package/dist/elements/a-radio.css +1 -1
- package/dist/elements/a-radio.d.ts +4 -0
- package/dist/elements/a-radio.js +18 -0
- package/dist/elements/a-slider.css +1 -1
- package/dist/elements/a-slider.d.ts +1 -0
- package/dist/elements/a-slider.js +3 -3
- package/dist/elements/a-switch.css +1 -1
- package/dist/elements/a-switch.d.ts +3 -0
- package/dist/elements/a-switch.js +17 -1
- package/dist/elements/a-tab.css +1 -1
- package/dist/elements/a-tabpanel.css +1 -1
- package/dist/elements/a-tabs.css +1 -1
- package/dist/elements/a-tag.css +1 -1
- package/dist/elements/a-text.css +1 -1
- package/dist/elements/a-title.css +1 -1
- package/dist/elements/a-toast.css +1 -1
- package/dist/elements/a-toaster.css +1 -1
- package/dist/elements/a-tooltip.css +1 -1
- package/dist/elements/a-tooltip.js +30 -7
- package/dist/elements/focus.d.ts +9 -0
- package/dist/elements/focus.js +41 -0
- package/dist/elements/index.d.ts +1 -0
- package/dist/elements/index.js +3 -0
- package/dist/elements/panel-focus.d.ts +10 -0
- package/dist/elements/panel-focus.js +86 -0
- package/dist/elements/shadow-aria.d.ts +10 -0
- package/dist/elements/shadow-aria.js +155 -0
- package/dist/general_types.d.ts +48 -19
- package/dist/generate-icons.mjs +3 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +2 -0
- package/dist/jsx-runtime.d.ts +20 -1
- package/dist/jsx-runtime.js +12 -0
- package/dist/reset.css +1 -1
- package/dist/theme-antithesis.css +1 -1
- package/dist/theme-antune.css +1 -1
- package/dist/toaster.d.ts +1 -1
- package/dist/tokens.css +1 -1
- package/docs/accessibility.md +4 -2
- package/docs/changelog.md +89 -4
- package/docs/colors.md +6 -6
- package/docs/components/box.md +98 -34
- package/docs/components/breadcrumbs.md +33 -0
- package/docs/components/button.md +2 -2
- package/docs/components/capture.md +8 -8
- package/docs/components/checkbox.md +9 -4
- package/docs/components/input-autocomplete.md +6 -0
- package/docs/components/input-date.md +8 -2
- package/docs/components/input.md +99 -40
- package/docs/components/menu.md +3 -3
- package/docs/components/panel.md +189 -0
- package/docs/components/radio.md +4 -2
- package/docs/components/select-faceted.md +57 -2
- package/docs/components/select.md +63 -51
- package/docs/components/steps.md +4 -4
- package/docs/components/switch.md +12 -6
- package/docs/components/tabs.md +21 -8
- package/docs/components/tooltip.md +6 -4
- package/docs/index.md +2 -0
- package/docs/install-config.md +5 -4
- package/docs/normalization.md +3 -1
- package/docs/packages/plot.md +3771 -0
- package/docs/theming.md +1 -1
- package/package.json +16 -9
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Fragment, jsx, jsxs } from "@antadesign/anta/jsx-runtime";
|
|
2
|
-
import { useState
|
|
3
|
-
import { ISOLATE_HINT, optionPresentationAttrs } from "../anta_helpers";
|
|
2
|
+
import { useState } from "../jsx-runtime";
|
|
3
|
+
import { ISOLATE_HINT, ISOLATE_HINT_DELAY, optionPresentationAttrs } from "../anta_helpers";
|
|
4
4
|
import { normalizeOpt, matchQueryRegex, matchesQuery, highlight } from "./select-options";
|
|
5
5
|
import { Input } from "./Input";
|
|
6
|
+
import { Button } from "./Button";
|
|
6
7
|
import { Icon } from "./Icon";
|
|
7
8
|
import { Menu } from "./Menu";
|
|
8
9
|
import { MenuItem } from "./MenuItem";
|
|
@@ -81,8 +82,7 @@ const Select = (props) => {
|
|
|
81
82
|
const currentRaw = controlled ? value : internal;
|
|
82
83
|
const [open, setOpen] = useState(false);
|
|
83
84
|
const [query, setQuery] = useState("");
|
|
84
|
-
const [
|
|
85
|
-
const uid = useId();
|
|
85
|
+
const popupLabel = `${label ?? rest["aria-label"] ?? "Select"} options`;
|
|
86
86
|
const isSubmenu = (it) => typeof it === "object" && Array.isArray(it.submenu);
|
|
87
87
|
const isGroup = (it) => typeof it === "object" && Array.isArray(it.options);
|
|
88
88
|
const collectLeaves = (items, group, disabled2, out) => {
|
|
@@ -177,7 +177,6 @@ const Select = (props) => {
|
|
|
177
177
|
MenuItem,
|
|
178
178
|
{
|
|
179
179
|
...optionAttrs,
|
|
180
|
-
id: `${uid}-opt-${o.value}`,
|
|
181
180
|
selectionIndicator: menuItemIndicator,
|
|
182
181
|
...ariaSelectable,
|
|
183
182
|
indicator: customMark ?? void 0,
|
|
@@ -194,7 +193,7 @@ const Select = (props) => {
|
|
|
194
193
|
style: optionStyle,
|
|
195
194
|
children: [
|
|
196
195
|
custom,
|
|
197
|
-
tip && /* @__PURE__ */ jsx(Tooltip, {
|
|
196
|
+
tip && /* @__PURE__ */ jsx(Tooltip, { ...hintOnly ? { delay: ISOLATE_HINT_DELAY, placement: "left" } : { follow: true }, children: tip })
|
|
198
197
|
]
|
|
199
198
|
},
|
|
200
199
|
String(o.value)
|
|
@@ -255,48 +254,36 @@ const Select = (props) => {
|
|
|
255
254
|
}
|
|
256
255
|
return out;
|
|
257
256
|
};
|
|
258
|
-
|
|
259
|
-
renderTrigger ? renderTrigger({ open, value: currentRaw, selected: selectedOptions, disabled: !!disabled, icon }) : /* @__PURE__ */
|
|
260
|
-
|
|
257
|
+
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
258
|
+
renderTrigger ? renderTrigger({ open, value: currentRaw, selected: selectedOptions, disabled: !!disabled, icon }) : /* @__PURE__ */ jsxs(
|
|
259
|
+
Button,
|
|
261
260
|
{
|
|
262
|
-
label,
|
|
263
|
-
hint,
|
|
264
|
-
placeholder,
|
|
265
|
-
value: display,
|
|
266
|
-
readOnly: true,
|
|
267
|
-
dimActions: true,
|
|
268
261
|
disabled,
|
|
269
|
-
leading: leading ?? (icon ? /* @__PURE__ */ jsx(Icon, { shape: icon }) : void 0),
|
|
270
262
|
size,
|
|
271
|
-
status,
|
|
272
|
-
statusIcon,
|
|
273
263
|
round,
|
|
274
|
-
|
|
275
|
-
"aria-
|
|
264
|
+
"aria-label": typeof label === "string" || typeof label === "number" ? String(label) : void 0,
|
|
265
|
+
"aria-invalid": status === "critical" ? "true" : void 0,
|
|
266
|
+
"aria-haspopup": filtering ? "dialog" : "menu",
|
|
276
267
|
"aria-expanded": open ? "true" : "false",
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
/* @__PURE__ */ jsx("a-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
style,
|
|
284
|
-
...rest
|
|
268
|
+
...rest,
|
|
269
|
+
children: [
|
|
270
|
+
(leading ?? icon) && /* @__PURE__ */ jsx("a-select-leading", { "aria-hidden": "true", children: leading ?? /* @__PURE__ */ jsx(Icon, { shape: icon }) }),
|
|
271
|
+
/* @__PURE__ */ jsx("a-button-label", { "data-placeholder": !display ? "" : void 0, children: display || placeholder }),
|
|
272
|
+
/* @__PURE__ */ jsx("a-select-chevron", { open: open ? "" : void 0, "aria-hidden": "true", style: statusColor ? { color: statusColor } : void 0, children: /* @__PURE__ */ jsx(Icon, { shape: "chevron-down" }) })
|
|
273
|
+
]
|
|
285
274
|
}
|
|
286
275
|
),
|
|
287
276
|
/* @__PURE__ */ jsxs(
|
|
288
277
|
Menu,
|
|
289
278
|
{
|
|
279
|
+
role: filtering ? "dialog" : void 0,
|
|
280
|
+
"aria-label": filtering ? popupLabel : void 0,
|
|
290
281
|
placement,
|
|
291
282
|
offset,
|
|
292
283
|
onStateChange: (_e, { next }) => {
|
|
293
284
|
setOpen(next);
|
|
294
|
-
if (!next)
|
|
295
|
-
setQuery("");
|
|
296
|
-
setActiveId(null);
|
|
297
|
-
}
|
|
285
|
+
if (!next) setQuery("");
|
|
298
286
|
},
|
|
299
|
-
onactivedescendant: (e) => setActiveId((e.nativeEvent ?? e).detail?.id ?? null),
|
|
300
287
|
children: [
|
|
301
288
|
filtering && // `slot="header"` pins the field in the Menu's fixed header region (above
|
|
302
289
|
// the scrolling options); `data-menu-search` puts the menu in combobox
|
|
@@ -310,7 +297,6 @@ const Select = (props) => {
|
|
|
310
297
|
placeholder: "Filter\u2026",
|
|
311
298
|
"aria-label": "Filter options",
|
|
312
299
|
"aria-autocomplete": "list",
|
|
313
|
-
"aria-activedescendant": open && activeId ? activeId : void 0,
|
|
314
300
|
onInput: (e) => setQuery(e.currentTarget.value)
|
|
315
301
|
}
|
|
316
302
|
) }),
|
|
@@ -333,12 +319,38 @@ const Select = (props) => {
|
|
|
333
319
|
clearable && selectedValues.length > 0 && // Pinned in the footer so it never scrolls away in a long / filtered list.
|
|
334
320
|
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
335
321
|
/* @__PURE__ */ jsx(MenuSeparator, { slot: "footer" }),
|
|
336
|
-
/* @__PURE__ */ jsx("a-select-footer", { slot: "footer", children: /* @__PURE__ */ jsx(
|
|
322
|
+
/* @__PURE__ */ jsx("a-select-footer", { slot: "footer", children: /* @__PURE__ */ jsx(
|
|
323
|
+
MenuItem,
|
|
324
|
+
{
|
|
325
|
+
icon: "x",
|
|
326
|
+
label: clearLabel,
|
|
327
|
+
role: filtering ? "button" : void 0,
|
|
328
|
+
"data-menu-open": "",
|
|
329
|
+
onSelect: clear
|
|
330
|
+
}
|
|
331
|
+
) })
|
|
337
332
|
] })
|
|
338
333
|
]
|
|
339
334
|
}
|
|
340
335
|
)
|
|
341
336
|
] });
|
|
337
|
+
if (renderTrigger) return content;
|
|
338
|
+
const statusGlyph = {
|
|
339
|
+
brand: "circle-small-solid",
|
|
340
|
+
info: "info",
|
|
341
|
+
success: "circle-check",
|
|
342
|
+
warning: "warning-triangle",
|
|
343
|
+
critical: "warning-diamond"
|
|
344
|
+
};
|
|
345
|
+
const glyph = statusIcon === void 0 ? status ? statusGlyph[status] : void 0 : statusIcon;
|
|
346
|
+
return /* @__PURE__ */ jsxs("a-select-field", { size, status, disabled: disabled ? "" : void 0, class: className, style, children: [
|
|
347
|
+
label != null && /* @__PURE__ */ jsx("a-select-label", { children: label }),
|
|
348
|
+
content,
|
|
349
|
+
hint != null && /* @__PURE__ */ jsxs("a-select-hint", { children: [
|
|
350
|
+
glyph && /* @__PURE__ */ jsx(Icon, { shape: glyph, "aria-hidden": "true" }),
|
|
351
|
+
hint
|
|
352
|
+
] })
|
|
353
|
+
] });
|
|
342
354
|
};
|
|
343
355
|
export {
|
|
344
356
|
Select,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BaseProps, ToneScope } from '../general_types';
|
|
2
2
|
import type { IconShape } from '../elements/a-icon.shapes';
|
|
3
|
-
import type { OptionValue, SelectItem, SelectOption } from './Select';
|
|
3
|
+
import type { OptionState, OptionValue, SelectItem, SelectOption } from './Select';
|
|
4
4
|
import { type MenuProps } from './Menu';
|
|
5
5
|
import './select-parts.css';
|
|
6
6
|
interface FacetBase {
|
|
@@ -28,6 +28,11 @@ export interface SelectFacetSingle extends FacetBase {
|
|
|
28
28
|
options: SelectItem<OptionValue>[];
|
|
29
29
|
/** Add a search field atop this facet's flyout that filters its options. */
|
|
30
30
|
filter?: FacetFilter;
|
|
31
|
+
/** Replace the option's label, hint, and icon layout in the flyout and global
|
|
32
|
+
* search results. Receives the option and its value, selected, and disabled
|
|
33
|
+
* state. The row retains selection handling and its indicator. Filtering and
|
|
34
|
+
* summaries still use the option data. Return null to use the default layout. */
|
|
35
|
+
renderOption?: (option: SelectOption<OptionValue>, state: OptionState<OptionValue>) => React.ReactNode;
|
|
31
36
|
}
|
|
32
37
|
/** Pick **any number** of options. Value: an array of the chosen `value`s
|
|
33
38
|
* (empty array clears the facet). Options are the same `SelectItem`s as `single`,
|
|
@@ -38,6 +43,11 @@ export interface SelectFacetMultiple extends FacetBase {
|
|
|
38
43
|
options: SelectItem<OptionValue>[];
|
|
39
44
|
/** Add a search field atop this facet's flyout that filters its options. */
|
|
40
45
|
filter?: FacetFilter;
|
|
46
|
+
/** Replace the option's label, hint, and icon layout in the flyout and global
|
|
47
|
+
* search results. Receives the option and its value, selected, and disabled
|
|
48
|
+
* state. The row retains selection handling and its indicator. Filtering and
|
|
49
|
+
* summaries still use the option data. Return null to use the default layout. */
|
|
50
|
+
renderOption?: (option: SelectOption<OptionValue>, state: OptionState<OptionValue>) => React.ReactNode;
|
|
41
51
|
/** A "Select all" row that toggles every option. On by default — set `false`
|
|
42
52
|
* to drop it.
|
|
43
53
|
* @defaultValue true */
|
|
@@ -166,11 +176,12 @@ export interface SelectFacetedProps extends Omit<BaseProps, 'children'> {
|
|
|
166
176
|
/** Replaces the default `Button` with a trigger returned from this function.
|
|
167
177
|
* Receives a `SelectFacetedTriggerState`. Return exactly one focusable element:
|
|
168
178
|
* the menu is positioned relative to that element and opens when it is clicked.
|
|
169
|
-
* Add `aria-haspopup=
|
|
170
|
-
* element, on a role that
|
|
171
|
-
* `
|
|
172
|
-
*
|
|
173
|
-
* attributes to the returned
|
|
179
|
+
* Add `aria-haspopup={searchable ? 'dialog' : 'menu'}` and
|
|
180
|
+
* `aria-expanded={state.open}` to the returned element, on a role that
|
|
181
|
+
* supports them (an Anta `Button` already carries `role="button"`; otherwise
|
|
182
|
+
* add `role="combobox"`). `className`, `style`, and other trigger props apply
|
|
183
|
+
* only to the default Button, so add styling and attributes to the returned
|
|
184
|
+
* element. */
|
|
174
185
|
renderTrigger?: (state: SelectFacetedTriggerState) => React.ReactNode;
|
|
175
186
|
}
|
|
176
187
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Fragment, jsx, jsxs } from "@antadesign/anta/jsx-runtime";
|
|
2
2
|
import { useState, useMemo } from "../jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { ISOLATE_HINT, ISOLATE_HINT_DELAY, optionPresentationAttrs } from "../anta_helpers";
|
|
4
4
|
import { normalizeOpt, matchQueryRegex, matchesQuery } from "./select-options";
|
|
5
5
|
import { Button } from "./Button";
|
|
6
6
|
import { Menu } from "./Menu";
|
|
@@ -71,11 +71,6 @@ const SelectFaceted = (props) => {
|
|
|
71
71
|
}
|
|
72
72
|
const [queries, setQueries] = useState({});
|
|
73
73
|
const [rootQuery, setRootQuery] = useState("");
|
|
74
|
-
const [activeIds, setActiveIds] = useState({});
|
|
75
|
-
const onActive = (key) => (e) => {
|
|
76
|
-
const id = nativeStateChange(e).detail?.id ?? null;
|
|
77
|
-
setActiveIds((s) => s[key] === id ? s : { ...s, [key]: id });
|
|
78
|
-
};
|
|
79
74
|
const activeCount = facets.reduce((n, f) => n + (isEmpty(current[f.key]) ? 0 : 1), 0);
|
|
80
75
|
const leavesByKey = useMemo(
|
|
81
76
|
() => new Map(
|
|
@@ -114,17 +109,18 @@ const SelectFaceted = (props) => {
|
|
|
114
109
|
placeholder: "Filter\u2026",
|
|
115
110
|
"aria-label": `Filter ${facet.label}`,
|
|
116
111
|
"aria-autocomplete": "list",
|
|
117
|
-
"aria-activedescendant": activeIds[facet.key] ?? void 0,
|
|
118
112
|
onInput: (e) => setQueries((s) => ({ ...s, [facet.key]: e.currentTarget.value }))
|
|
119
113
|
}
|
|
120
114
|
) }) : null;
|
|
121
115
|
const optionRow = (facet, opt, keyPrefix = "") => {
|
|
122
116
|
const { className: optionClassName, style: optionStyle, ...optionAttrs } = optionPresentationAttrs(opt, true);
|
|
117
|
+
const selected = facet.kind === "single" ? current[facet.key] === opt.value : (current[facet.key] ?? []).includes(opt.value);
|
|
118
|
+
const custom = facet.renderOption?.(opt, { value: opt.value, selected, disabled: !!opt.disabled });
|
|
123
119
|
const shared = {
|
|
124
120
|
...optionAttrs,
|
|
125
|
-
icon: opt.icon,
|
|
126
|
-
label: opt.label ?? String(opt.value),
|
|
127
|
-
hint: opt.hint,
|
|
121
|
+
icon: custom ? void 0 : opt.icon,
|
|
122
|
+
label: custom ? void 0 : opt.label ?? String(opt.value),
|
|
123
|
+
hint: custom ? void 0 : opt.hint,
|
|
128
124
|
tone: opt.tone ?? tone,
|
|
129
125
|
toneScope: opt.toneScope ?? toneScope,
|
|
130
126
|
disabled: opt.disabled,
|
|
@@ -139,8 +135,9 @@ const SelectFaceted = (props) => {
|
|
|
139
135
|
{
|
|
140
136
|
...shared,
|
|
141
137
|
selectionIndicator: "check",
|
|
142
|
-
selected
|
|
143
|
-
onSelect: () => setFacet(facet, cur === opt.value ? void 0 : opt.value)
|
|
138
|
+
selected,
|
|
139
|
+
onSelect: () => setFacet(facet, cur === opt.value ? void 0 : opt.value),
|
|
140
|
+
children: custom
|
|
144
141
|
},
|
|
145
142
|
`${keyPrefix}${opt.value}`
|
|
146
143
|
);
|
|
@@ -149,14 +146,17 @@ const SelectFaceted = (props) => {
|
|
|
149
146
|
const isolable = facet.selectAll !== false && !opt.disabled;
|
|
150
147
|
const tip = opt.tooltip ?? (isolable ? ISOLATE_HINT : void 0);
|
|
151
148
|
const hintOnly = opt.tooltip == null && isolable;
|
|
152
|
-
return /* @__PURE__ */
|
|
149
|
+
return /* @__PURE__ */ jsxs(
|
|
153
150
|
MenuItem,
|
|
154
151
|
{
|
|
155
152
|
...shared,
|
|
156
153
|
selectionIndicator: "checkbox",
|
|
157
|
-
selected
|
|
154
|
+
selected,
|
|
158
155
|
onSelect: (e) => isolable && e?.altKey ? setFacet(facet, [opt.value]) : setFacet(facet, arr.includes(opt.value) ? arr.filter((v) => v !== opt.value) : [...arr, opt.value]),
|
|
159
|
-
children:
|
|
156
|
+
children: [
|
|
157
|
+
custom,
|
|
158
|
+
tip && /* @__PURE__ */ jsx(Tooltip, { ...hintOnly ? { delay: ISOLATE_HINT_DELAY, placement: "left" } : { follow: true }, children: tip })
|
|
159
|
+
]
|
|
160
160
|
},
|
|
161
161
|
`${keyPrefix}${opt.value}`
|
|
162
162
|
);
|
|
@@ -233,24 +233,33 @@ const SelectFaceted = (props) => {
|
|
|
233
233
|
}) });
|
|
234
234
|
const renderEditor = (facet) => {
|
|
235
235
|
const isOptions = facet.kind === "single" || facet.kind === "multiple";
|
|
236
|
+
const dialog = !isOptions || !!facet.filter;
|
|
236
237
|
const body = facet.kind === "single" ? renderSingle(facet) : facet.kind === "multiple" ? renderMultiple(facet) : facet.kind === "text" ? renderText(facet) : renderCustom(facet);
|
|
237
238
|
const hasValue = !isEmpty(current[facet.key]);
|
|
238
|
-
return /* @__PURE__ */ jsxs(
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
"
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
239
|
+
return /* @__PURE__ */ jsxs(
|
|
240
|
+
Menu,
|
|
241
|
+
{
|
|
242
|
+
role: dialog ? "dialog" : void 0,
|
|
243
|
+
"aria-label": dialog ? `${facet.label} ${isOptions ? "options" : "editor"}` : void 0,
|
|
244
|
+
children: [
|
|
245
|
+
isOptions && filterHeader(facet),
|
|
246
|
+
body,
|
|
247
|
+
clearable && hasValue && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
248
|
+
/* @__PURE__ */ jsx(MenuSeparator, { slot: "footer" }),
|
|
249
|
+
/* @__PURE__ */ jsx("a-select-footer", { slot: "footer", children: /* @__PURE__ */ jsx(
|
|
250
|
+
MenuItem,
|
|
251
|
+
{
|
|
252
|
+
icon: "x",
|
|
253
|
+
label: "Clear",
|
|
254
|
+
role: dialog ? "button" : void 0,
|
|
255
|
+
"data-menu-open": "",
|
|
256
|
+
onSelect: () => setFacet(facet, void 0)
|
|
257
|
+
}
|
|
258
|
+
) })
|
|
259
|
+
] })
|
|
260
|
+
]
|
|
261
|
+
}
|
|
262
|
+
);
|
|
254
263
|
};
|
|
255
264
|
const summaryOf = (facet) => {
|
|
256
265
|
const v = current[facet.key];
|
|
@@ -283,7 +292,7 @@ const SelectFaceted = (props) => {
|
|
|
283
292
|
priority,
|
|
284
293
|
size,
|
|
285
294
|
disabled,
|
|
286
|
-
"aria-haspopup": "menu",
|
|
295
|
+
"aria-haspopup": searchable ? "dialog" : "menu",
|
|
287
296
|
"aria-expanded": open ? "true" : "false",
|
|
288
297
|
className,
|
|
289
298
|
style,
|
|
@@ -294,6 +303,8 @@ const SelectFaceted = (props) => {
|
|
|
294
303
|
/* @__PURE__ */ jsxs(
|
|
295
304
|
Menu,
|
|
296
305
|
{
|
|
306
|
+
role: searchable ? "dialog" : void 0,
|
|
307
|
+
"aria-label": searchable ? `${label} options` : void 0,
|
|
297
308
|
placement,
|
|
298
309
|
offset,
|
|
299
310
|
open,
|
|
@@ -301,7 +312,6 @@ const SelectFaceted = (props) => {
|
|
|
301
312
|
setOpen(next);
|
|
302
313
|
if (!next) setRootQuery("");
|
|
303
314
|
},
|
|
304
|
-
onactivedescendant: searchable ? onActive("__root__") : void 0,
|
|
305
315
|
children: [
|
|
306
316
|
searchable && // Pinned global search: flattens all options facets while a query is active.
|
|
307
317
|
/* @__PURE__ */ jsx("a-select-header", { slot: "header", "data-menu-open": "", children: /* @__PURE__ */ jsx(
|
|
@@ -313,17 +323,26 @@ const SelectFaceted = (props) => {
|
|
|
313
323
|
placeholder: searchPlaceholder,
|
|
314
324
|
"aria-label": "Filter all facets",
|
|
315
325
|
"aria-autocomplete": "list",
|
|
316
|
-
"aria-activedescendant": activeIds["__root__"] ?? void 0,
|
|
317
326
|
onInput: (e) => setRootQuery(e.currentTarget.value)
|
|
318
327
|
}
|
|
319
328
|
) }),
|
|
320
|
-
searchable && rootQuery.trim() ? renderFlatResults() : facets.map((facet) => /* @__PURE__ */ jsxs(
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
329
|
+
searchable && rootQuery.trim() ? renderFlatResults() : facets.map((facet) => /* @__PURE__ */ jsxs(
|
|
330
|
+
MenuItem,
|
|
331
|
+
{
|
|
332
|
+
submenu: true,
|
|
333
|
+
icon: facet.icon,
|
|
334
|
+
label: facet.label,
|
|
335
|
+
"aria-haspopup": facet.kind === "text" || facet.kind === "custom" || !!facet.filter ? "dialog" : "menu",
|
|
336
|
+
children: [
|
|
337
|
+
(() => {
|
|
338
|
+
const s = summaryOf(facet);
|
|
339
|
+
return s != null ? /* @__PURE__ */ jsx(Tag, { size: "small", tone: "brand", children: /* @__PURE__ */ jsx("a-select-faceted-summary", { children: s }) }) : null;
|
|
340
|
+
})(),
|
|
341
|
+
renderEditor(facet)
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
facet.key
|
|
345
|
+
)),
|
|
327
346
|
clearable && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
328
347
|
/* @__PURE__ */ jsx(MenuSeparator, { slot: "footer" }),
|
|
329
348
|
/* @__PURE__ */ jsx("a-select-footer", { slot: "footer", children: /* @__PURE__ */ jsx(
|
|
@@ -331,6 +350,7 @@ const SelectFaceted = (props) => {
|
|
|
331
350
|
{
|
|
332
351
|
icon: "filter-x",
|
|
333
352
|
label: clearAllLabel,
|
|
353
|
+
role: searchable ? "button" : void 0,
|
|
334
354
|
disabled: activeCount === 0,
|
|
335
355
|
"data-menu-open": "",
|
|
336
356
|
onSelect: clearAll
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer anta.components{a-steps{--steps-marker-size: 28px;--steps-icon-size: 16px;--steps-marker-border-width: 1.5px;--steps-marker-rest-border: var(--border-4);--steps-item-gap: 6px;--steps-gap: 4px;--steps-connector-color: var(--border-3);--steps-connector-width: 1px;--steps-complete-connector-color: var(--border-2);--steps-tab-padding-x: 9px;--steps-tab-padding-block: 0px;--steps-hint-leading: 16px;display:flex;flex-direction:column;width:100%;min-width:0}a-steps:has(>a-tabs[size=small]){--steps-marker-size: 24px;--steps-icon-size: 14px;--steps-tab-padding-x: 7px;--steps-hint-leading: 14px}a-steps:has(>a-tabs[size=large]){--steps-marker-size: 32px;--steps-icon-size: 18px;--steps-tab-padding-x: 13px;--steps-hint-leading: 20px}a-tabs[data-steps]{--steps-marker-active-border: var(--border-1);--steps-primary-marker-fg: #ffffff;--tabs-gap: 0px;align-items:center;width:fit-content;align-self:flex-start;overflow-x:auto;scrollbar-width:thin}a-tabs[data-steps][fill]{width:100%;align-self:stretch;justify-content:space-between}a-tabs[data-steps]>a-tab[tone=brand]{--steps-marker-active-border: var(--border-1-brand)}a-tabs[data-steps]>a-tab[tone=info]{--steps-marker-active-border: var(--border-1-info)}a-tabs[data-steps]>a-tab[tone=success]{--steps-marker-active-border: var(--border-1-success)}a-tabs[data-steps]>a-tab[tone=warning]{--steps-marker-active-border: var(--border-1-warning)}a-tabs[data-steps]>a-tab[tone=critical]{--steps-marker-active-border: var(--border-1-critical)}a-tabs[data-steps]>a-tab[tone=neutral]{--steps-marker-active-border: var(--border-1)}a-tabs[data-steps]>a-tab[tone]:not([tone=""],[tone=neutral]){--steps-primary-marker-bg: light-dark( oklch(from var(--tabs-tone-source) .5 .17 h), oklch(from var(--tabs-tone-source) .4 .16 h) )}a-tabs[data-steps]:not([priority=secondary],[priority=tertiary]){--steps-marker-border-width: 2px;--steps-marker-rest-border: var(--border-3);--steps-connector-color: var(--border-3);--steps-connector-width: 2px}a-tabs[data-steps][priority=tertiary]{--steps-marker-size: calc(var(--steps-icon-size) + 4px);--steps-marker-border-width: 0px}a-steps>a-tabs[data-steps]{background:transparent;border-radius:0;box-shadow:none}a-tabs[data-steps]>a-tab{--steps-complete-connector-color: var(--tab-selected-border);--steps-primary-marker-bg: light-dark( oklch(from var(--tabs-tone-source) .5 .02 h), oklch(from var(--tabs-tone-source) .4 .015 h) );--steps-primary-completed-marker-bg: color-mix( in oklch, var(--steps-primary-marker-bg) 80%, transparent );position:relative;flex:1 1 0;min-width:0;max-width:max-content;padding-block:0;justify-content:flex-start;gap:var(--steps-item-gap);transition:color var(--tab-timing),background-color var(--tab-timing),box-shadow var(--tab-timing)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=brand]){--steps-complete-connector-color: var(--border-2-brand)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=info]){--steps-complete-connector-color: var(--border-2-info)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=success]){--steps-complete-connector-color: var(--border-2-success)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=warning]){--steps-complete-connector-color: var(--border-2-warning)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=critical]){--steps-complete-connector-color: var(--border-2-critical)}a-tabs[data-steps]:not([orientation=vertical])>a-tab:first-child{padding-inline-start:0}a-steps>a-tabs[data-steps][fill]>a-tab:not(:last-child){flex:1 1 0;max-width:none}a-steps>a-tabs[data-steps][fill]>a-tab:last-child{flex:0 1 auto;max-width:max-content}a-steps>a-tabs[data-steps]>a-tab:state(selected){--tab-bg: transparent;box-shadow:none}a-steps>a-tabs[data-steps][priority=tertiary]>a-tab:after{border:0}a-step-desc{display:inline-flex;flex:0 1 auto;flex-direction:column;min-width:0;max-width:100%}a-step-desc>a-tab-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}a-step-hint{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tab-rest-tone, var(--text-3));font-size:calc(1em - 2px);font-weight:400;line-height:var(--steps-hint-leading)}a-step-marker{display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--steps-marker-size);height:var(--steps-marker-size);box-sizing:border-box;color:var(--text-4);border:var(--steps-marker-border-width) solid var(--steps-marker-rest-border);border-radius:999px;transition:color var(--tab-timing),background-color var(--tab-timing),border-color var(--tab-timing)}a-tabs[data-steps] a-step-marker :is(a-icon,a-loader){--icon-size: var(--steps-icon-size)}a-tabs[data-steps]>a-tab[tone]{--tab-secondary-bg: light-dark( oklch(from var(--tabs-tone-source) .55 .008 h / .03), oklch(from var(--tabs-tone-source) .8 .008 h / .08) )}a-tabs[data-steps]>a-tab[tone]:not([tone=""],[tone=neutral]){--tab-secondary-bg: light-dark( oklch(from var(--tabs-tone-source) .55 .14 h / .03), oklch(from var(--tabs-tone-source) .8 .12 h / .08) )}a-tabs[data-steps]>a-tab[tone] a-step-marker{color:var(--tab-selected-text)}a-tabs[data-steps]>a-tab:is(:state(selected),[data-step-state=completed]) a-step-marker{border-color:var(--steps-marker-active-border)}a-tabs[data-steps]>a-tab[data-step-state=error]:not(:state(selected)):not([disabled]) a-step-marker{border-color:var(--border-2-critical)}a-tabs[data-steps]:is([priority=secondary],[priority=tertiary])>a-tab[tone]:not([tone=""],[tone=neutral]) a-step-marker{color:var(--tab-fg)}a-tabs[data-steps][priority=secondary] a-tab:state(selected):not([disabled]) a-step-marker{color:var(--tab-selected-text);background-color:var(--tab-secondary-bg);border-color:var(--steps-marker-active-border)}a-tabs[data-steps]:not([priority=secondary],[priority=tertiary]) a-tab:state(selected):not([disabled]) a-step-marker{color:var(--steps-primary-marker-fg);background-color:var(--steps-primary-marker-bg);border-color:var(--steps-primary-marker-bg)}a-tabs[data-steps]:not([priority=secondary],[priority=tertiary]) a-tab[data-step-state=completed]:not(:state(selected)):not([disabled]) a-step-marker{color:var(--steps-primary-marker-fg);background-color:var(--steps-primary-completed-marker-bg);border-color:transparent}a-tabs[data-steps][priority=tertiary] a-tab:state(selected):not([disabled]) a-step-marker{color:var(--tab-selected-text);background-color:transparent;border-color:transparent}a-tabs[data-steps] a-step-marker>a-loader{transition:color var(--tab-timing)}a-tabs[data-steps]:is([priority=secondary],[priority=tertiary]) a-step-marker>a-loader:not([tone=neutral]){color:inherit}a-tabs[data-steps] a-tab:state(selected):not([disabled]) a-step-marker>a-loader{color:inherit}a-tabs[data-steps]:not([orientation=vertical])>a-tab:not(:last-child):before{content:"";order:3;flex:1 1 auto;align-self:center;min-width:calc(var(--steps-marker-size) / 2);height:var(--steps-connector-width);margin-inline-start:calc(1ch - var(--steps-item-gap));margin-inline-end:calc(1ch - 2 * var(--steps-tab-padding-x));background:var(--steps-connector-color);pointer-events:none}a-tabs[data-steps]:not([orientation=vertical])>a-tab[data-step-state=completed]:not(:last-child):before{background:var(--steps-complete-connector-color)}a-tabs[data-steps] a-tab[disabled]{--tab-fg: var(--text-5);opacity:1}a-tabs[data-steps] a-tab[disabled] a-step-marker,a-tabs[data-steps] a-tab[disabled] a-step-marker>a-loader{color:var(--text-5)}a-tabs[data-steps] a-tab[disabled] a-step-hint{color:var(--text-5)}a-steps[data-orientation=vertical]{--steps-content-indent: calc( var(--steps-marker-size) + var(--steps-item-gap) );--steps-vertical-gap: calc(var(--steps-gap) + 4px);display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--steps-vertical-gap)}a-steps[data-orientation=vertical]>a-tabs[orientation=vertical]{display:contents}a-steps[data-orientation=vertical]>a-tabs[orientation=vertical]>a-tab{flex:none;min-width:0;grid-column:1;width:max-content;max-width:100%;padding-inline-start:0}a-steps[data-orientation=vertical] a-tab:not(:last-child):before{content:"";position:absolute;inset-block-start:calc(var(--steps-tab-padding-block) + var(--steps-marker-size));inset-inline-start:calc(var(--steps-marker-size) / 2 - var(--steps-connector-width) / 2);inset-inline-end:auto;width:var(--steps-connector-width);height:calc(100% - var(--steps-marker-size) + var(--steps-vertical-gap));background:var(--steps-connector-color);transform:none;pointer-events:none}a-steps[data-orientation=vertical]>a-tabpanel{grid-column:1;grid-row:var(--steps-panel-row);width:calc(100% - var(--steps-content-indent));margin-inline-start:var(--steps-content-indent)}a-steps[data-orientation=vertical]:has(>a-tabpanel):has(>a-tabs[orientation=vertical]>a-tab:state(selected):not(:last-child)):after{content:"";grid-column:1;grid-row:var(--steps-panel-row);align-self:stretch;justify-self:start;width:var(--steps-connector-width);min-height:var(--steps-marker-size);margin-inline-start:calc(var(--steps-marker-size) / 2 - var(--steps-connector-width) / 2);margin-block-end:calc(-1 * var(--steps-vertical-gap));background:var(--steps-connector-color);pointer-events:none;z-index:1}a-steps[data-orientation=vertical]>a-tabs[data-steps]>a-tab[data-step-state=completed]:not(:last-child):before{background:var(--steps-complete-connector-color)}a-steps[data-orientation=vertical]:has(>a-tabpanel):has(>a-tabs[data-steps][orientation=vertical]>a-tab[data-step-state=completed]:state(selected):not(:last-child)):after{background:var(--steps-complete-connector-color)}@media(forced-colors:active){a-tabs[data-steps][priority=secondary] a-tab:state(selected){background-color:transparent;border:0;box-shadow:none}a-step-marker{color:CanvasText;background-color:Canvas;border-color:CanvasText}a-tabs[data-steps] a-tab:state(selected):not([disabled]) a-step-marker{border-color:Highlight}}}
|
|
1
|
+
@layer base,anta,components,utilities;@layer anta.reset,anta.components,anta.theme;@layer anta.components{a-steps{--steps-marker-size: 28px;--steps-icon-size: 16px;--steps-marker-border-width: 1.5px;--steps-marker-rest-border: var(--border-4);--steps-item-gap: 6px;--steps-gap: 4px;--steps-connector-color: var(--border-3);--steps-connector-width: 1px;--steps-complete-connector-color: var(--border-2);--steps-tab-padding-x: 9px;--steps-tab-padding-block: 0px;--steps-hint-leading: 16px;display:flex;flex-direction:column;width:100%;min-width:0}a-steps:has(>a-tabs[size=small]){--steps-marker-size: 24px;--steps-icon-size: 14px;--steps-tab-padding-x: 7px;--steps-hint-leading: 14px}a-steps:has(>a-tabs[size=large]){--steps-marker-size: 32px;--steps-icon-size: 18px;--steps-tab-padding-x: 13px;--steps-hint-leading: 20px}a-tabs[data-steps]{--steps-marker-active-border: var(--border-1);--steps-primary-marker-fg: #ffffff;--tabs-gap: 0px;align-items:center;width:fit-content;align-self:flex-start;overflow-x:auto;scrollbar-width:thin}a-tabs[data-steps][fill]{width:100%;align-self:stretch;justify-content:space-between}a-tabs[data-steps]>a-tab[tone=brand]{--steps-marker-active-border: var(--border-1-brand)}a-tabs[data-steps]>a-tab[tone=info]{--steps-marker-active-border: var(--border-1-info)}a-tabs[data-steps]>a-tab[tone=success]{--steps-marker-active-border: var(--border-1-success)}a-tabs[data-steps]>a-tab[tone=warning]{--steps-marker-active-border: var(--border-1-warning)}a-tabs[data-steps]>a-tab[tone=critical]{--steps-marker-active-border: var(--border-1-critical)}a-tabs[data-steps]>a-tab[tone=neutral]{--steps-marker-active-border: var(--border-1)}a-tabs[data-steps]>a-tab[tone]:not([tone=""],[tone=neutral]){--steps-primary-marker-bg: light-dark( oklch(from var(--tabs-tone-source) .5 .17 h), oklch(from var(--tabs-tone-source) .4 .16 h) )}a-tabs[data-steps]:not([priority=secondary],[priority=tertiary]){--steps-marker-border-width: 2px;--steps-marker-rest-border: var(--border-3);--steps-connector-color: var(--border-3);--steps-connector-width: 2px}a-tabs[data-steps][priority=tertiary]{--steps-marker-size: calc(var(--steps-icon-size) + 4px);--steps-marker-border-width: 0px}a-steps>a-tabs[data-steps]{background:transparent;border-radius:0;box-shadow:none}a-tabs[data-steps]>a-tab{--steps-complete-connector-color: var(--tab-selected-border);--steps-primary-marker-bg: light-dark( oklch(from var(--tabs-tone-source) .5 .02 h), oklch(from var(--tabs-tone-source) .4 .015 h) );--steps-primary-completed-marker-bg: color-mix( in oklch, var(--steps-primary-marker-bg) 80%, transparent );position:relative;flex:1 1 0;min-width:0;max-width:max-content;padding-block:0;justify-content:flex-start;gap:var(--steps-item-gap);transition:color var(--tab-timing),background-color var(--tab-timing),box-shadow var(--tab-timing)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=brand]){--steps-complete-connector-color: var(--border-2-brand)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=info]){--steps-complete-connector-color: var(--border-2-info)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=success]){--steps-complete-connector-color: var(--border-2-success)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=warning]){--steps-complete-connector-color: var(--border-2-warning)}a-steps[data-orientation=vertical]:has(>a-tabs[data-steps]>a-tab:state(selected)[tone=critical]){--steps-complete-connector-color: var(--border-2-critical)}a-tabs[data-steps]:not([orientation=vertical])>a-tab:first-child{padding-inline-start:0}a-steps>a-tabs[data-steps][fill]>a-tab:not(:last-child){flex:1 1 0;max-width:none}a-steps>a-tabs[data-steps][fill]>a-tab:last-child{flex:0 1 auto;max-width:max-content}a-steps>a-tabs[data-steps]>a-tab:state(selected){--tab-bg: transparent;box-shadow:none}a-steps>a-tabs[data-steps][priority=tertiary]>a-tab:after{border:0}a-step-desc{display:inline-flex;flex:0 1 auto;flex-direction:column;min-width:0;max-width:100%}a-step-desc>a-tab-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}a-step-hint{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tab-rest-tone, var(--text-3));font-size:calc(1em - 2px);font-weight:400;line-height:var(--steps-hint-leading)}a-step-marker{display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--steps-marker-size);height:var(--steps-marker-size);box-sizing:border-box;color:var(--text-4);border:var(--steps-marker-border-width) solid var(--steps-marker-rest-border);border-radius:999px;transition:color var(--tab-timing),background-color var(--tab-timing),border-color var(--tab-timing)}a-tabs[data-steps] a-step-marker :is(a-icon,a-loader){--icon-size: var(--steps-icon-size)}a-tabs[data-steps]>a-tab[tone]{--tab-secondary-bg: light-dark( oklch(from var(--tabs-tone-source) .55 .008 h / .03), oklch(from var(--tabs-tone-source) .8 .008 h / .08) )}a-tabs[data-steps]>a-tab[tone]:not([tone=""],[tone=neutral]){--tab-secondary-bg: light-dark( oklch(from var(--tabs-tone-source) .55 .14 h / .03), oklch(from var(--tabs-tone-source) .8 .12 h / .08) )}a-tabs[data-steps]>a-tab[tone] a-step-marker{color:var(--tab-selected-text)}a-tabs[data-steps]>a-tab:is(:state(selected),[data-step-state=completed]) a-step-marker{border-color:var(--steps-marker-active-border)}a-tabs[data-steps]>a-tab[data-step-state=error]:not(:state(selected)):not([disabled]) a-step-marker{border-color:var(--border-2-critical)}a-tabs[data-steps]:is([priority=secondary],[priority=tertiary])>a-tab[tone]:not([tone=""],[tone=neutral]) a-step-marker{color:var(--tab-fg)}a-tabs[data-steps][priority=secondary] a-tab:state(selected):not([disabled]) a-step-marker{color:var(--tab-selected-text);background-color:var(--tab-secondary-bg);border-color:var(--steps-marker-active-border)}a-tabs[data-steps]:not([priority=secondary],[priority=tertiary]) a-tab:state(selected):not([disabled]) a-step-marker{color:var(--steps-primary-marker-fg);background-color:var(--steps-primary-marker-bg);border-color:var(--steps-primary-marker-bg)}a-tabs[data-steps]:not([priority=secondary],[priority=tertiary]) a-tab[data-step-state=completed]:not(:state(selected)):not([disabled]) a-step-marker{color:var(--steps-primary-marker-fg);background-color:var(--steps-primary-completed-marker-bg);border-color:transparent}a-tabs[data-steps][priority=tertiary] a-tab:state(selected):not([disabled]) a-step-marker{color:var(--tab-selected-text);background-color:transparent;border-color:transparent}a-tabs[data-steps] a-step-marker>a-loader{transition:color var(--tab-timing)}a-tabs[data-steps]:is([priority=secondary],[priority=tertiary]) a-step-marker>a-loader:not([tone=neutral]){color:inherit}a-tabs[data-steps] a-tab:state(selected):not([disabled]) a-step-marker>a-loader{color:inherit}a-tabs[data-steps]:not([orientation=vertical])>a-tab:not(:last-child):before{content:"";order:3;flex:1 1 auto;align-self:center;min-width:calc(var(--steps-marker-size) / 2);height:var(--steps-connector-width);margin-inline-start:calc(1ch - var(--steps-item-gap));margin-inline-end:calc(1ch - 2 * var(--steps-tab-padding-x));background:var(--steps-connector-color);pointer-events:none}a-tabs[data-steps]:not([orientation=vertical])>a-tab[data-step-state=completed]:not(:last-child):before{background:var(--steps-complete-connector-color)}a-tabs[data-steps] a-tab[disabled]{--tab-fg: var(--text-5);opacity:1}a-tabs[data-steps] a-tab[disabled] a-step-marker,a-tabs[data-steps] a-tab[disabled] a-step-marker>a-loader{color:var(--text-5)}a-tabs[data-steps] a-tab[disabled] a-step-hint{color:var(--text-5)}a-steps[data-orientation=vertical]{--steps-content-indent: calc( var(--steps-marker-size) + var(--steps-item-gap) );--steps-vertical-gap: calc(var(--steps-gap) + 4px);display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--steps-vertical-gap)}a-steps[data-orientation=vertical]>a-tabs[orientation=vertical]{display:contents}a-steps[data-orientation=vertical]>a-tabs[orientation=vertical]>a-tab{flex:none;min-width:0;grid-column:1;width:max-content;max-width:100%;padding-inline-start:0}a-steps[data-orientation=vertical] a-tab:not(:last-child):before{content:"";position:absolute;inset-block-start:calc(var(--steps-tab-padding-block) + var(--steps-marker-size));inset-inline-start:calc(var(--steps-marker-size) / 2 - var(--steps-connector-width) / 2);inset-inline-end:auto;width:var(--steps-connector-width);height:calc(100% - var(--steps-marker-size) + var(--steps-vertical-gap));background:var(--steps-connector-color);transform:none;pointer-events:none}a-steps[data-orientation=vertical]>a-tabpanel{grid-column:1;grid-row:var(--steps-panel-row);width:calc(100% - var(--steps-content-indent));margin-inline-start:var(--steps-content-indent)}a-steps[data-orientation=vertical]:has(>a-tabpanel):has(>a-tabs[orientation=vertical]>a-tab:state(selected):not(:last-child)):after{content:"";grid-column:1;grid-row:var(--steps-panel-row);align-self:stretch;justify-self:start;width:var(--steps-connector-width);min-height:var(--steps-marker-size);margin-inline-start:calc(var(--steps-marker-size) / 2 - var(--steps-connector-width) / 2);margin-block-end:calc(-1 * var(--steps-vertical-gap));background:var(--steps-connector-color);pointer-events:none;z-index:1}a-steps[data-orientation=vertical]>a-tabs[data-steps]>a-tab[data-step-state=completed]:not(:last-child):before{background:var(--steps-complete-connector-color)}a-steps[data-orientation=vertical]:has(>a-tabpanel):has(>a-tabs[data-steps][orientation=vertical]>a-tab[data-step-state=completed]:state(selected):not(:last-child)):after{background:var(--steps-complete-connector-color)}@media(forced-colors:active){a-tabs[data-steps][priority=secondary] a-tab:state(selected){background-color:transparent;border:0;box-shadow:none}a-step-marker{color:CanvasText;background-color:Canvas;border-color:CanvasText}a-tabs[data-steps] a-tab:state(selected):not([disabled]) a-step-marker{border-color:Highlight}}}
|
|
@@ -14,8 +14,8 @@ export interface SwitchChangeAttrs {
|
|
|
14
14
|
export interface SwitchProps extends BaseProps {
|
|
15
15
|
/** Visible, stable label for the setting. Use `children` for richer label content. */
|
|
16
16
|
label?: string;
|
|
17
|
-
/** Secondary text rendered under the label
|
|
18
|
-
* accessible name. */
|
|
17
|
+
/** Secondary text rendered under the label and exposed as the switch's
|
|
18
|
+
* accessible description. It does not become part of the accessible name. */
|
|
19
19
|
hint?: React.ReactNode;
|
|
20
20
|
/** Controlled checked value. In controlled mode, update this in `onStateChange`. */
|
|
21
21
|
checked?: boolean;
|
|
@@ -34,7 +34,7 @@ export interface SwitchProps extends BaseProps {
|
|
|
34
34
|
value?: string;
|
|
35
35
|
/** Color of the track and thumb. A tinted tone also colors the unchecked
|
|
36
36
|
* track border and thumb; use `toneScope="selected"` to color only the checked track.
|
|
37
|
-
* @defaultValue '
|
|
37
|
+
* @defaultValue 'neutral' */
|
|
38
38
|
tone?: 'brand' | 'neutral' | 'info' | 'success' | 'warning' | 'critical' | (string & {});
|
|
39
39
|
/** Apply `tone` to every state, or only while checked so the unchecked track
|
|
40
40
|
* and thumb stay neutral.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BaseProps } from "../general_types";
|
|
1
2
|
/**
|
|
2
3
|
* A tab panel inside `<Tabs>`. Renders a self-managing `<a-tabpanel>` — the element
|
|
3
4
|
* finds its `<a-tabs>` (its flat sibling under the same parent — `Tabs` renders the
|
|
@@ -10,20 +11,14 @@
|
|
|
10
11
|
* unmount an inactive panel (the old `mounting="active" | "lazy"`), drive selection
|
|
11
12
|
* with a controlled `value` and render the content yourself — see the Tabs docs.
|
|
12
13
|
*/
|
|
13
|
-
export interface TabPanelProps {
|
|
14
|
+
export interface TabPanelProps extends BaseProps {
|
|
14
15
|
/** Pairs this panel with the tab (`options` entry) of the same `value`. */
|
|
15
16
|
value: string;
|
|
16
|
-
/** Panel content — arbitrary React/Preact. */
|
|
17
|
-
children?: React.ReactNode;
|
|
18
17
|
/** How this panel hides while inactive: `display` (default — removed from layout
|
|
19
18
|
* and the a11y tree) or `visibility` (keeps its layout box, to measure it or
|
|
20
19
|
* avoid reflow). Both stay mounted; to *not render* an inactive panel, render it
|
|
21
20
|
* conditionally off a controlled `value` (see the Tabs docs).
|
|
22
21
|
* @defaultValue display */
|
|
23
22
|
hideMode?: "display" | "visibility";
|
|
24
|
-
/** CSS class on the rendered `<a-tabpanel>`. */
|
|
25
|
-
className?: string;
|
|
26
|
-
/** Inline style on the rendered `<a-tabpanel>`. */
|
|
27
|
-
style?: React.CSSProperties;
|
|
28
23
|
}
|
|
29
|
-
export declare const TabPanel: ({ value, children, hideMode, className, style }: TabPanelProps) => any;
|
|
24
|
+
export declare const TabPanel: ({ value, children, hideMode, className, style, ...rest }: TabPanelProps) => any;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from "@antadesign/anta/jsx-runtime";
|
|
2
|
-
const TabPanel = ({ value, children, hideMode, className, style }) => /* @__PURE__ */ jsx(
|
|
2
|
+
const TabPanel = ({ value, children, hideMode, className, style, ...rest }) => /* @__PURE__ */ jsx(
|
|
3
3
|
"a-tabpanel",
|
|
4
4
|
{
|
|
5
5
|
value,
|
|
@@ -7,6 +7,7 @@ const TabPanel = ({ value, children, hideMode, className, style }) => /* @__PURE
|
|
|
7
7
|
"hide-mode": hideMode === "visibility" ? "visibility" : void 0,
|
|
8
8
|
class: className,
|
|
9
9
|
style,
|
|
10
|
+
...rest,
|
|
10
11
|
children
|
|
11
12
|
}
|
|
12
13
|
);
|
|
@@ -38,8 +38,8 @@ export interface TabOption extends OptionPresentationProps {
|
|
|
38
38
|
* tones color both in every mode. Overrides the strip's `tone` for this tab.
|
|
39
39
|
* @defaultValue inherits the strip's `tone` */
|
|
40
40
|
tone?: "neutral" | "brand" | "info" | "success" | "warning" | "critical" | (string & {});
|
|
41
|
-
/**
|
|
42
|
-
*
|
|
41
|
+
/** Prevent user activation of this tab. A disabled tab can still indicate
|
|
42
|
+
* the current selection. */
|
|
43
43
|
disabled?: boolean;
|
|
44
44
|
/** Tooltip for this tab — a string or any node — shown **only when one of the
|
|
45
45
|
* tab's ellipsizing label parts is truncated** (tabs ellipsize when the strip
|
package/dist/components/Tabs.js
CHANGED
|
@@ -49,6 +49,7 @@ const Tabs = ({
|
|
|
49
49
|
onValueChange?.(e, { value: e.currentTarget?.value ?? null });
|
|
50
50
|
} : void 0;
|
|
51
51
|
const vertical = orientation === "vertical";
|
|
52
|
+
const focusValue = currentValue != null && tabs.some((tab) => tab.value === currentValue) ? currentValue : tabs.find((tab) => !disabled && !tab.disabled)?.value;
|
|
52
53
|
const strip = /* @__PURE__ */ jsx(
|
|
53
54
|
"a-tabs",
|
|
54
55
|
{
|
|
@@ -86,7 +87,7 @@ const Tabs = ({
|
|
|
86
87
|
value: p.value,
|
|
87
88
|
tone: p.tone || void 0,
|
|
88
89
|
"aria-disabled": tabDisabled ? "true" : void 0,
|
|
89
|
-
tabIndex:
|
|
90
|
+
tabIndex: p.value === focusValue ? 0 : -1,
|
|
90
91
|
disabled: tabDisabled ? "" : void 0,
|
|
91
92
|
round: roundAttr(round) ?? roundAttr(p.round),
|
|
92
93
|
class: optionClassName,
|
|
@@ -10,7 +10,7 @@ export interface TooltipProps extends BaseProps {
|
|
|
10
10
|
/** Which side of the anchor the bubble prefers. Auto-flips to the other
|
|
11
11
|
* side when there isn't room.
|
|
12
12
|
* @defaultValue bottom */
|
|
13
|
-
placement?: 'top' | 'bottom';
|
|
13
|
+
placement?: 'top' | 'bottom' | 'left';
|
|
14
14
|
/** Round the bubble to a 20px radius (matching a round menu). Pass a `number`
|
|
15
15
|
* (px) or a CSS length string for a custom radius. */
|
|
16
16
|
round?: boolean | number | string;
|
|
@@ -17,7 +17,7 @@ const Tooltip = ({
|
|
|
17
17
|
"a-tooltip",
|
|
18
18
|
{
|
|
19
19
|
delay: delay != null ? String(delay) : void 0,
|
|
20
|
-
placement: placement === "top"
|
|
20
|
+
placement: placement === "top" || placement === "left" ? placement : void 0,
|
|
21
21
|
round: roundAttr(round),
|
|
22
22
|
follow: follow ? "" : void 0,
|
|
23
23
|
interactive: interactive ? "" : void 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer anta.components{a-select-chevron{display:inline-flex;transition:transform .15s ease}a-select-chevron[open]{transform:rotate(180deg)}a-select-faceted-summary{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
|
|
1
|
+
@layer base,anta,components,utilities;@layer anta.reset,anta.components,anta.theme;@layer anta.components{a-select-field{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;--select-text: var(--text-1);--select-bg: var(--bg-1);--select-border: var(--border-2);--select-hint: var(--text-3);--select-fs: 15px;--select-lh: 20px;font-family:var(--sans-serif);font-size:var(--select-fs);line-height:var(--select-lh)}a-select-field[size=small]{--select-fs: 13px;--select-lh: 16px}a-select-field[size=large]{--select-fs: 17px;--select-lh: 22px}a-select-label{color:var(--text-3);font-weight:500}a-select-hint{display:flex;align-items:start;gap:4px;padding-inline:1px;color:var(--select-hint);font-size:calc(var(--select-fs) - 1px);line-height:var(--select-lh)}a-select-field>a-button{width:100%;min-width:0;box-sizing:border-box;padding-inline:7px;color:var(--select-text);background:var(--select-bg);box-shadow:inset 0 0 0 .5px var(--select-border);font-size:var(--select-fs);line-height:var(--select-lh);font-weight:400;letter-spacing:normal}a-select-field>a-button>a-button-label{flex:1;text-align:start;line-height:var(--select-lh);padding:0}a-select-field>a-button>a-button-label[data-placeholder]{color:var(--text-4)}a-select-field>a-button:focus-visible{box-shadow:inset 0 0 0 1px var(--select-border)}@media(hover:hover)and (pointer:fine){a-select-field>a-button:hover:not([disabled]){box-shadow:inset 0 0 0 1px var(--select-border)}}a-select-leading,a-select-chevron{flex:none;color:var(--text-3)}a-select-leading{display:inline-flex;align-items:center}a-select-field[size=small] a-icon{--icon-size: 14px}a-select-field[size=large] a-icon{--icon-size: 18px}a-select-field[status=critical]{--select-status-source: var(--anta-seed-critical);--select-bg: var(--bg-2-critical);--select-hint: var(--text-2-critical)}a-select-field[status=warning]{--select-status-source: var(--anta-seed-warning);--select-bg: var(--bg-2-warning);--select-hint: var(--text-2-warning)}a-select-field[status=success]{--select-status-source: var(--anta-seed-success);--select-bg: var(--bg-2-success);--select-hint: var(--text-2-success)}a-select-field[status=info]{--select-status-source: var(--anta-seed-info);--select-bg: var(--bg-2-info);--select-hint: var(--text-2-info)}a-select-field[status=brand]{--select-status-source: var(--anta-seed-brand);--select-bg: var(--bg-2-brand);--select-hint: var(--text-2-brand)}a-select-field[status]:not([status=neutral]){--select-border: light-dark(oklch(from var(--select-status-source) .58 c h), oklch(from var(--select-status-source) .52 c h))}a-select-field[status]:not([status=neutral])>a-button{box-shadow:inset 0 0 0 1px var(--select-border)}a-select-field[disabled]{--select-text: var(--text-4);--select-hint: var(--text-5);--select-bg: color-mix(in oklch, var(--text-1) 5%, transparent);--select-border: var(--border-2)}a-select-field[disabled]>a-select-label{color:var(--text-4)}a-select-chevron{display:inline-flex;transition:transform .15s ease}a-select-chevron[open]{transform:rotate(180deg)}a-select-faceted-summary{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer anta.components{a-avatar{--avatar-size: 44px;--avatar-radius: 22%;--avatar-placeholder-bg: var(--bg-3);--avatar-badge-ratio: .24;--avatar-badge-size: calc(var(--avatar-size) * var(--avatar-badge-ratio));--avatar-badge-inset: 0px;--avatar-badge-gap: 2px;--avatar-badge-mask: none;--avatar-badge-tone-source: var(--anta-seed-neutral);--avatar-badge-chroma: .17;--avatar-badge-color: light-dark( oklch(from var(--avatar-badge-tone-source) .62 var(--avatar-badge-chroma) h), oklch(from var(--avatar-badge-tone-source) .68 var(--avatar-badge-chroma) h) );display:inline-block;inline-size:var(--avatar-size);block-size:var(--avatar-size);vertical-align:middle}a-avatar[round]{--avatar-radius: var(--avatar-round, 50%);--avatar-badge-inset: calc(var(--avatar-size) * .03);@supports (border-radius: attr(probe type(<length>),1px)){--avatar-round: attr(round type(<length>))}}a-avatar[size=small]{--avatar-size: 32px;--avatar-badge-gap: 1.5px}a-avatar[size=large]{--avatar-size: 64px;--avatar-badge-gap: 2.5px}a-avatar[badge]:not([badge=""],[badge=none]){--avatar-badge-mask: radial-gradient( circle calc(var(--avatar-badge-size) / 2 + var(--avatar-badge-gap)) at calc(100% - var(--avatar-badge-inset) - var(--avatar-badge-size) / 2) calc(100% - var(--avatar-badge-inset) - var(--avatar-badge-size) / 2), transparent 99%, #000 100% )}a-avatar:not(:defined){display:inline-block;inline-size:var(--avatar-size);block-size:var(--avatar-size);border-radius:var(--avatar-radius);background:var(--avatar-placeholder-bg);vertical-align:middle}a-avatar[badge=neutral]{--avatar-badge-chroma: .005}a-avatar[badge=brand]{--avatar-badge-tone-source: var(--anta-seed-brand)}a-avatar[badge=info]{--avatar-badge-tone-source: var(--anta-seed-info)}a-avatar[badge=success]{--avatar-badge-tone-source: var(--anta-seed-success)}a-avatar[badge=warning]{--avatar-badge-tone-source: var(--anta-seed-warning)}a-avatar[badge=critical]{--avatar-badge-tone-source: var(--anta-seed-critical)}@supports (color: attr(badge type(<color>),transparent)){a-avatar[badge]:not([badge=""],[badge=neutral],[badge=brand],[badge=info],[badge=success],[badge=warning],[badge=critical]){--avatar-badge-tone-source: attr(badge type(<color>), transparent)}}}
|
|
1
|
+
@layer base,anta,components,utilities;@layer anta.reset,anta.components,anta.theme;@layer anta.components{a-avatar{--avatar-size: 44px;--avatar-radius: 22%;--avatar-placeholder-bg: var(--bg-3);--avatar-badge-ratio: .24;--avatar-badge-size: calc(var(--avatar-size) * var(--avatar-badge-ratio));--avatar-badge-inset: 0px;--avatar-badge-gap: 2px;--avatar-badge-mask: none;--avatar-badge-tone-source: var(--anta-seed-neutral);--avatar-badge-chroma: .17;--avatar-badge-color: light-dark( oklch(from var(--avatar-badge-tone-source) .62 var(--avatar-badge-chroma) h), oklch(from var(--avatar-badge-tone-source) .68 var(--avatar-badge-chroma) h) );display:inline-block;inline-size:var(--avatar-size);block-size:var(--avatar-size);vertical-align:middle}a-avatar[round]{--avatar-radius: var(--avatar-round, 50%);--avatar-badge-inset: calc(var(--avatar-size) * .03);@supports (border-radius: attr(probe type(<length>),1px)){--avatar-round: attr(round type(<length>))}}a-avatar[size=small]{--avatar-size: 32px;--avatar-badge-gap: 1.5px}a-avatar[size=large]{--avatar-size: 64px;--avatar-badge-gap: 2.5px}a-avatar[badge]:not([badge=""],[badge=none]){--avatar-badge-mask: radial-gradient( circle calc(var(--avatar-badge-size) / 2 + var(--avatar-badge-gap)) at calc(100% - var(--avatar-badge-inset) - var(--avatar-badge-size) / 2) calc(100% - var(--avatar-badge-inset) - var(--avatar-badge-size) / 2), transparent 99%, #000 100% )}a-avatar:not(:defined){display:inline-block;inline-size:var(--avatar-size);block-size:var(--avatar-size);border-radius:var(--avatar-radius);background:var(--avatar-placeholder-bg);vertical-align:middle}a-avatar[badge=neutral]{--avatar-badge-chroma: .005}a-avatar[badge=brand]{--avatar-badge-tone-source: var(--anta-seed-brand)}a-avatar[badge=info]{--avatar-badge-tone-source: var(--anta-seed-info)}a-avatar[badge=success]{--avatar-badge-tone-source: var(--anta-seed-success)}a-avatar[badge=warning]{--avatar-badge-tone-source: var(--anta-seed-warning)}a-avatar[badge=critical]{--avatar-badge-tone-source: var(--anta-seed-critical)}@supports (color: attr(badge type(<color>),transparent)){a-avatar[badge]:not([badge=""],[badge=neutral],[badge=brand],[badge=info],[badge=success],[badge=warning],[badge=critical]){--avatar-badge-tone-source: attr(badge type(<color>), transparent)}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer anta.components{a-banner{--banner-bg: var(--bg-4);--banner-border: var(--border-4);--banner-text: var(--text-2);display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px 1ch;position:relative;box-sizing:border-box;width:100%;min-height:40px;padding-block:6px;padding-inline:16px 48px;color:var(--banner-text);background:var(--banner-bg);border:0 solid var(--banner-border);border-radius:0;overflow:clip;overflow-clip-margin:3px;interpolate-size:allow-keywords;transition:opacity .16s ease,block-size .2s ease,padding-block .2s ease,border-block-width .2s ease,display .2s allow-discrete}a-banner[align=center]{justify-content:center;padding-inline:48px}a-banner[round]{border-radius:var(--banner-round, 999px);@supports (border-radius: attr(probe type(<length>),1px)){--banner-round: attr(round type(<length>))}}a-banner [slot=close] a-button,a-banner a-button[slot=close]{height:100%;width:40px}a-banner-message{font-size:14px;line-height:20px;font-weight:475;text-align:start}a-banner[align=center] a-banner-message{text-align:center}a-banner[tone=brand]{--banner-bg: var(--bg-4-brand);--banner-border: var(--border-4-brand);--banner-text: var(--text-2-brand)}a-banner[tone=info]{--banner-bg: var(--bg-4-info);--banner-border: var(--border-4-info);--banner-text: var(--text-2-info)}a-banner[tone=success]{--banner-bg: var(--bg-4-success);--banner-border: var(--border-4-success);--banner-text: var(--text-2-success)}a-banner[tone=warning]{--banner-bg: var(--bg-4-warning);--banner-border: var(--border-4-warning);--banner-text: var(--text-2-warning)}a-banner[tone=critical]{--banner-bg: var(--bg-4-critical);--banner-border: var(--border-4-critical);--banner-text: var(--text-2-critical)}a-banner[tone]:not([tone=""],[tone=neutral],[tone=brand],[tone=info],[tone=success],[tone=warning],[tone=critical]){--banner-tone-source: currentColor;--banner-text: light-dark( oklch(from var(--banner-tone-source) .5 .125 h), oklch(from var(--banner-tone-source) .77 .11 h) );--banner-bg: light-dark( oklch(from var(--banner-tone-source) .955 .02 h), oklch(from var(--banner-tone-source) .185 .05 h) );--banner-border: light-dark( oklch(from var(--banner-tone-source) .9 .04 h), oklch(from var(--banner-tone-source) .26 .06 h) );@supports (color: attr(probe type(<color>),red)){--banner-tone-source: attr(tone type(<color>), currentColor)}}a-banner:not(:defined){opacity:0}a-banner[state=closed],a-banner[default-state=closed],a-banner:state(closed){display:none;block-size:0;min-block-size:0;padding-block:0;border-block-width:0;opacity:0}@media(forced-colors:active){a-banner{border-width:1px;border-color:CanvasText}}@media(prefers-reduced-motion:reduce){a-banner{transition:none}}}
|
|
1
|
+
@layer base,anta,components,utilities;@layer anta.reset,anta.components,anta.theme;@layer anta.components{a-banner{--banner-bg: var(--bg-4);--banner-border: var(--border-4);--banner-text: var(--text-2);display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px 1ch;position:relative;box-sizing:border-box;width:100%;min-height:40px;padding-block:6px;padding-inline:16px 48px;color:var(--banner-text);background:var(--banner-bg);border:0 solid var(--banner-border);border-radius:0;overflow:clip;overflow-clip-margin:3px;interpolate-size:allow-keywords;transition:opacity .16s ease,block-size .2s ease,padding-block .2s ease,border-block-width .2s ease,display .2s allow-discrete}a-banner[align=center]{justify-content:center;padding-inline:48px}a-banner[round]{border-radius:var(--banner-round, 999px);@supports (border-radius: attr(probe type(<length>),1px)){--banner-round: attr(round type(<length>))}}a-banner [slot=close] a-button,a-banner a-button[slot=close]{height:100%;width:40px}a-banner-message{font-size:14px;line-height:20px;font-weight:475;text-align:start}a-banner[align=center] a-banner-message{text-align:center}a-banner[tone=brand]{--banner-bg: var(--bg-4-brand);--banner-border: var(--border-4-brand);--banner-text: var(--text-2-brand)}a-banner[tone=info]{--banner-bg: var(--bg-4-info);--banner-border: var(--border-4-info);--banner-text: var(--text-2-info)}a-banner[tone=success]{--banner-bg: var(--bg-4-success);--banner-border: var(--border-4-success);--banner-text: var(--text-2-success)}a-banner[tone=warning]{--banner-bg: var(--bg-4-warning);--banner-border: var(--border-4-warning);--banner-text: var(--text-2-warning)}a-banner[tone=critical]{--banner-bg: var(--bg-4-critical);--banner-border: var(--border-4-critical);--banner-text: var(--text-2-critical)}a-banner[tone]:not([tone=""],[tone=neutral],[tone=brand],[tone=info],[tone=success],[tone=warning],[tone=critical]){--banner-tone-source: currentColor;--banner-text: light-dark( oklch(from var(--banner-tone-source) .5 .125 h), oklch(from var(--banner-tone-source) .77 .11 h) );--banner-bg: light-dark( oklch(from var(--banner-tone-source) .955 .02 h), oklch(from var(--banner-tone-source) .185 .05 h) );--banner-border: light-dark( oklch(from var(--banner-tone-source) .9 .04 h), oklch(from var(--banner-tone-source) .26 .06 h) );@supports (color: attr(probe type(<color>),red)){--banner-tone-source: attr(tone type(<color>), currentColor)}}a-banner:not(:defined){opacity:0}a-banner[state=closed],a-banner[default-state=closed],a-banner:state(closed){display:none;block-size:0;min-block-size:0;padding-block:0;border-block-width:0;opacity:0}@media(forced-colors:active){a-banner{border-width:1px;border-color:CanvasText}}@media(prefers-reduced-motion:reduce){a-banner{transition:none}}}
|
package/dist/elements/a-box.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer anta.components{a-box{display:block;min-width:0}a-box[display=inline-block]{display:inline-block}a-box[display=flex]{display:flex}a-box[display=inline-flex]{display:inline-flex}a-box[display=grid]{display:grid}a-box[display=inline-grid]{display:inline-grid}a-box[gap]{gap:var(--box-gap, normal);@supports (border-radius: attr(probe type(<length>),1px)){--box-gap: attr(gap type(<length>))}}a-box[round]{border-radius:var(--box-round, 999px);@supports (border-radius: attr(probe type(<length>),1px)){--box-round: attr(round type(<length>))}}a-box[fade]{--box-fade-size: 24px;--box-fade-x: linear-gradient(transparent, transparent);--box-fade-y: linear-gradient(transparent, transparent);--box-fade-to-start: to left;--box-fade-to-end: to right}a-box[fade]:is(:state(hidden-start-x),:state(hidden-end-x),:state(hidden-start-y),:state(hidden-end-y)){mask-image:linear-gradient(#000,#000),var(--box-fade-x),var(--box-fade-y);mask-clip:border-box,padding-box,padding-box;mask-origin:border-box,padding-box,padding-box;mask-composite:exclude,add,add;mask-repeat:no-repeat;mask-size:100% 100%}a-box[fade][fade-size]{--box-fade-size: 24px;@supports (border-radius: attr(probe type(<length>),1px)){--box-fade-size: attr(fade-size type(<length>), 24px)}}a-box[fade]:dir(rtl){--box-fade-to-start: to right;--box-fade-to-end: to left}a-box[fade]:state(hidden-end-x){--box-fade-x: linear-gradient(var(--box-fade-to-end), transparent calc(100% - var(--box-fade-size)), black)}a-box[fade]:state(hidden-start-x){--box-fade-x: linear-gradient(var(--box-fade-to-start), transparent calc(100% - var(--box-fade-size)), black)}a-box[fade]:state(hidden-start-x):state(hidden-end-x){--box-fade-x: linear-gradient( to right, black, transparent var(--box-fade-size), transparent calc(100% - var(--box-fade-size)), black )}a-box[fade]:state(hidden-end-y){--box-fade-y: linear-gradient(to bottom, transparent calc(100% - var(--box-fade-size)), black)}a-box[fade]:state(hidden-start-y){--box-fade-y: linear-gradient(to top, transparent calc(100% - var(--box-fade-size)), black)}a-box[fade]:state(hidden-start-y):state(hidden-end-y){--box-fade-y: linear-gradient( to bottom, black, transparent var(--box-fade-size), transparent calc(100% - var(--box-fade-size)), black )}}
|
|
1
|
+
@layer base,anta,components,utilities;@layer anta.reset,anta.components,anta.theme;@layer anta.components{a-box{display:block;min-width:0}a-box[display=inline-block]{display:inline-block}a-box[display=flex]{display:flex}a-box[display=inline-flex]{display:inline-flex}a-box[display=grid]{display:grid}a-box[display=inline-grid]{display:inline-grid}a-box[gap]{gap:var(--box-gap, normal);@supports (border-radius: attr(probe type(<length>),1px)){--box-gap: attr(gap type(<length>))}}a-box[padding]{padding:var(--box-padding, 0px);@supports (padding: attr(padding type(*))){--box-padding: attr(padding type(*), 0px)}}a-box[margin]{margin:var(--box-margin, 0px);@supports (margin: attr(margin type(*))){--box-margin: attr(margin type(*), 0px)}}a-box[round]{border-radius:var(--box-round, 999px);@supports (border-radius: attr(probe type(<length>),1px)){--box-round: attr(round type(<length>))}}a-box[fade]{--box-fade-size: 24px;--box-fade-x: linear-gradient(transparent, transparent);--box-fade-y: linear-gradient(transparent, transparent);--box-fade-to-start: to left;--box-fade-to-end: to right}a-box[fade]:is(:state(hidden-start-x),:state(hidden-end-x),:state(hidden-start-y),:state(hidden-end-y)){mask-image:linear-gradient(#000,#000),var(--box-fade-x),var(--box-fade-y);mask-clip:border-box,padding-box,padding-box;mask-origin:border-box,padding-box,padding-box;mask-composite:exclude,add,add;mask-repeat:no-repeat;mask-size:100% 100%}a-box[fade][fade-size]{--box-fade-size: 24px;@supports (border-radius: attr(probe type(<length>),1px)){--box-fade-size: attr(fade-size type(<length>), 24px)}}a-box[fade]:dir(rtl){--box-fade-to-start: to right;--box-fade-to-end: to left}a-box[fade]:state(hidden-end-x){--box-fade-x: linear-gradient(var(--box-fade-to-end), transparent calc(100% - var(--box-fade-size)), black)}a-box[fade]:state(hidden-start-x){--box-fade-x: linear-gradient(var(--box-fade-to-start), transparent calc(100% - var(--box-fade-size)), black)}a-box[fade]:state(hidden-start-x):state(hidden-end-x){--box-fade-x: linear-gradient( to right, black, transparent var(--box-fade-size), transparent calc(100% - var(--box-fade-size)), black )}a-box[fade]:state(hidden-end-y){--box-fade-y: linear-gradient(to bottom, transparent calc(100% - var(--box-fade-size)), black)}a-box[fade]:state(hidden-start-y){--box-fade-y: linear-gradient(to top, transparent calc(100% - var(--box-fade-size)), black)}a-box[fade]:state(hidden-start-y):state(hidden-end-y){--box-fade-y: linear-gradient( to bottom, black, transparent var(--box-fade-size), transparent calc(100% - var(--box-fade-size)), black )}}
|