@antadesign/anta 0.1.1-dev.6 → 0.1.1-dev.7
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/README.md +2 -2
- package/dist/components/Button.d.ts +113 -0
- package/dist/components/Button.js +100 -0
- package/dist/components/Button.module.css +2 -0
- package/dist/components/Icon.d.ts +2 -1
- package/dist/components/Progress.d.ts +4 -2
- package/dist/components/Sticker.d.ts +31 -0
- package/dist/components/Sticker.js +17 -0
- package/dist/components/StickerAnimated.d.ts +23 -0
- package/dist/components/StickerAnimated.js +28 -0
- package/dist/components/Text.d.ts +2 -1
- package/dist/components/Title.d.ts +6 -4
- package/dist/components/__generated__/stickers/angry-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/angry-animated.js +7 -0
- package/dist/components/__generated__/stickers/angry.d.ts +3 -0
- package/dist/components/__generated__/stickers/angry.js +7 -0
- package/dist/components/__generated__/stickers/ask-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/ask-animated.js +7 -0
- package/dist/components/__generated__/stickers/ask.d.ts +3 -0
- package/dist/components/__generated__/stickers/ask.js +7 -0
- package/dist/components/__generated__/stickers/balance-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/balance-animated.js +7 -0
- package/dist/components/__generated__/stickers/balance.d.ts +3 -0
- package/dist/components/__generated__/stickers/balance.js +7 -0
- package/dist/components/__generated__/stickers/butterfly-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/butterfly-animated.js +7 -0
- package/dist/components/__generated__/stickers/butterfly-snake-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/butterfly-snake-animated.js +7 -0
- package/dist/components/__generated__/stickers/butterfly-snake.d.ts +3 -0
- package/dist/components/__generated__/stickers/butterfly-snake.js +7 -0
- package/dist/components/__generated__/stickers/butterfly.d.ts +3 -0
- package/dist/components/__generated__/stickers/butterfly.js +7 -0
- package/dist/components/__generated__/stickers/catch-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/catch-animated.js +7 -0
- package/dist/components/__generated__/stickers/catch.d.ts +3 -0
- package/dist/components/__generated__/stickers/catch.js +7 -0
- package/dist/components/__generated__/stickers/clap-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/clap-animated.js +7 -0
- package/dist/components/__generated__/stickers/clap.d.ts +3 -0
- package/dist/components/__generated__/stickers/clap.js +7 -0
- package/dist/components/__generated__/stickers/coding-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/coding-animated.js +7 -0
- package/dist/components/__generated__/stickers/coding.d.ts +3 -0
- package/dist/components/__generated__/stickers/coding.js +7 -0
- package/dist/components/__generated__/stickers/cowboy-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/cowboy-animated.js +7 -0
- package/dist/components/__generated__/stickers/cowboy.d.ts +3 -0
- package/dist/components/__generated__/stickers/cowboy.js +7 -0
- package/dist/components/__generated__/stickers/dance-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/dance-animated.js +7 -0
- package/dist/components/__generated__/stickers/dance.d.ts +3 -0
- package/dist/components/__generated__/stickers/dance.js +7 -0
- package/dist/components/__generated__/stickers/detective-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/detective-animated.js +7 -0
- package/dist/components/__generated__/stickers/detective.d.ts +3 -0
- package/dist/components/__generated__/stickers/detective.js +7 -0
- package/dist/components/__generated__/stickers/disapprove-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/disapprove-animated.js +7 -0
- package/dist/components/__generated__/stickers/disapprove.d.ts +3 -0
- package/dist/components/__generated__/stickers/disapprove.js +7 -0
- package/dist/components/__generated__/stickers/distracted-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/distracted-animated.js +7 -0
- package/dist/components/__generated__/stickers/distracted.d.ts +3 -0
- package/dist/components/__generated__/stickers/distracted.js +7 -0
- package/dist/components/__generated__/stickers/dive-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/dive-animated.js +7 -0
- package/dist/components/__generated__/stickers/dive.d.ts +3 -0
- package/dist/components/__generated__/stickers/dive.js +7 -0
- package/dist/components/__generated__/stickers/eat-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/eat-animated.js +7 -0
- package/dist/components/__generated__/stickers/eat.d.ts +3 -0
- package/dist/components/__generated__/stickers/eat.js +7 -0
- package/dist/components/__generated__/stickers/facepalm-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/facepalm-animated.js +7 -0
- package/dist/components/__generated__/stickers/facepalm.d.ts +3 -0
- package/dist/components/__generated__/stickers/facepalm.js +7 -0
- package/dist/components/__generated__/stickers/failed-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/failed-animated.js +7 -0
- package/dist/components/__generated__/stickers/failed.d.ts +3 -0
- package/dist/components/__generated__/stickers/failed.js +7 -0
- package/dist/components/__generated__/stickers/found-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/found-animated.js +7 -0
- package/dist/components/__generated__/stickers/found.d.ts +3 -0
- package/dist/components/__generated__/stickers/found.js +7 -0
- package/dist/components/__generated__/stickers/grow-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/grow-animated.js +7 -0
- package/dist/components/__generated__/stickers/grow.d.ts +3 -0
- package/dist/components/__generated__/stickers/grow.js +7 -0
- package/dist/components/__generated__/stickers/handstand-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/handstand-animated.js +7 -0
- package/dist/components/__generated__/stickers/handstand.d.ts +3 -0
- package/dist/components/__generated__/stickers/handstand.js +7 -0
- package/dist/components/__generated__/stickers/heart-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/heart-animated.js +7 -0
- package/dist/components/__generated__/stickers/heart.d.ts +3 -0
- package/dist/components/__generated__/stickers/heart.js +7 -0
- package/dist/components/__generated__/stickers/hello-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/hello-animated.js +7 -0
- package/dist/components/__generated__/stickers/hello.d.ts +3 -0
- package/dist/components/__generated__/stickers/hello.js +7 -0
- package/dist/components/__generated__/stickers/idea-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/idea-animated.js +7 -0
- package/dist/components/__generated__/stickers/idea.d.ts +3 -0
- package/dist/components/__generated__/stickers/idea.js +7 -0
- package/dist/components/__generated__/stickers/index.d.ts +99 -0
- package/dist/components/__generated__/stickers/index.js +198 -0
- package/dist/components/__generated__/stickers/laugh-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/laugh-animated.js +7 -0
- package/dist/components/__generated__/stickers/laugh.d.ts +3 -0
- package/dist/components/__generated__/stickers/laugh.js +7 -0
- package/dist/components/__generated__/stickers/love-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/love-animated.js +7 -0
- package/dist/components/__generated__/stickers/love.d.ts +3 -0
- package/dist/components/__generated__/stickers/love.js +7 -0
- package/dist/components/__generated__/stickers/nap-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/nap-animated.js +7 -0
- package/dist/components/__generated__/stickers/nap.d.ts +3 -0
- package/dist/components/__generated__/stickers/nap.js +7 -0
- package/dist/components/__generated__/stickers/party-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/party-animated.js +7 -0
- package/dist/components/__generated__/stickers/party.d.ts +3 -0
- package/dist/components/__generated__/stickers/party.js +7 -0
- package/dist/components/__generated__/stickers/passed-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/passed-animated.js +7 -0
- package/dist/components/__generated__/stickers/passed.d.ts +3 -0
- package/dist/components/__generated__/stickers/passed.js +7 -0
- package/dist/components/__generated__/stickers/peekaboo-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/peekaboo-animated.js +7 -0
- package/dist/components/__generated__/stickers/peekaboo.d.ts +3 -0
- package/dist/components/__generated__/stickers/peekaboo.js +7 -0
- package/dist/components/__generated__/stickers/pizza-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/pizza-animated.js +7 -0
- package/dist/components/__generated__/stickers/pizza.d.ts +3 -0
- package/dist/components/__generated__/stickers/pizza.js +7 -0
- package/dist/components/__generated__/stickers/puzzle-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/puzzle-animated.js +7 -0
- package/dist/components/__generated__/stickers/puzzle.d.ts +3 -0
- package/dist/components/__generated__/stickers/puzzle.js +7 -0
- package/dist/components/__generated__/stickers/sad-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/sad-animated.js +7 -0
- package/dist/components/__generated__/stickers/sad.d.ts +3 -0
- package/dist/components/__generated__/stickers/sad.js +7 -0
- package/dist/components/__generated__/stickers/scared-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/scared-animated.js +7 -0
- package/dist/components/__generated__/stickers/scared.d.ts +3 -0
- package/dist/components/__generated__/stickers/scared.js +7 -0
- package/dist/components/__generated__/stickers/scroll-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/scroll-animated.js +7 -0
- package/dist/components/__generated__/stickers/scroll.d.ts +3 -0
- package/dist/components/__generated__/stickers/scroll.js +7 -0
- package/dist/components/__generated__/stickers/search-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/search-animated.js +7 -0
- package/dist/components/__generated__/stickers/search.d.ts +3 -0
- package/dist/components/__generated__/stickers/search.js +7 -0
- package/dist/components/__generated__/stickers/shield-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/shield-animated.js +7 -0
- package/dist/components/__generated__/stickers/shield.d.ts +3 -0
- package/dist/components/__generated__/stickers/shield.js +7 -0
- package/dist/components/__generated__/stickers/shocked-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/shocked-animated.js +7 -0
- package/dist/components/__generated__/stickers/shocked.d.ts +3 -0
- package/dist/components/__generated__/stickers/shocked.js +7 -0
- package/dist/components/__generated__/stickers/sleep-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/sleep-animated.js +7 -0
- package/dist/components/__generated__/stickers/sleep.d.ts +3 -0
- package/dist/components/__generated__/stickers/sleep.js +7 -0
- package/dist/components/__generated__/stickers/stressed-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/stressed-animated.js +7 -0
- package/dist/components/__generated__/stickers/stressed.d.ts +3 -0
- package/dist/components/__generated__/stickers/stressed.js +7 -0
- package/dist/components/__generated__/stickers/suspicious-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/suspicious-animated.js +7 -0
- package/dist/components/__generated__/stickers/suspicious.d.ts +3 -0
- package/dist/components/__generated__/stickers/suspicious.js +7 -0
- package/dist/components/__generated__/stickers/thanks-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/thanks-animated.js +7 -0
- package/dist/components/__generated__/stickers/thanks.d.ts +3 -0
- package/dist/components/__generated__/stickers/thanks.js +7 -0
- package/dist/components/__generated__/stickers/think-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/think-animated.js +7 -0
- package/dist/components/__generated__/stickers/think-of-you-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/think-of-you-animated.js +7 -0
- package/dist/components/__generated__/stickers/think-of-you.d.ts +3 -0
- package/dist/components/__generated__/stickers/think-of-you.js +7 -0
- package/dist/components/__generated__/stickers/think.d.ts +3 -0
- package/dist/components/__generated__/stickers/think.js +7 -0
- package/dist/components/__generated__/stickers/thumbs-up-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/thumbs-up-animated.js +7 -0
- package/dist/components/__generated__/stickers/thumbs-up.d.ts +3 -0
- package/dist/components/__generated__/stickers/thumbs-up.js +7 -0
- package/dist/components/__generated__/stickers/vacation-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/vacation-animated.js +7 -0
- package/dist/components/__generated__/stickers/vacation.d.ts +3 -0
- package/dist/components/__generated__/stickers/vacation.js +7 -0
- package/dist/components/__generated__/stickers/wait-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/wait-animated.js +7 -0
- package/dist/components/__generated__/stickers/wait.d.ts +3 -0
- package/dist/components/__generated__/stickers/wait.js +7 -0
- package/dist/components/__generated__/stickers/wink-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/wink-animated.js +7 -0
- package/dist/components/__generated__/stickers/wink.d.ts +3 -0
- package/dist/components/__generated__/stickers/wink.js +7 -0
- package/dist/components/__generated__/stickers/work-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/work-animated.js +7 -0
- package/dist/components/__generated__/stickers/work.d.ts +3 -0
- package/dist/components/__generated__/stickers/work.js +7 -0
- package/dist/components/__generated__/stickers/zen-animated.d.ts +3 -0
- package/dist/components/__generated__/stickers/zen-animated.js +7 -0
- package/dist/components/__generated__/stickers/zen.d.ts +3 -0
- package/dist/components/__generated__/stickers/zen.js +7 -0
- package/dist/elements/a-button.css +733 -0
- package/dist/elements/a-button.d.ts +10 -0
- package/dist/elements/a-button.js +76 -0
- package/dist/elements/a-icon.css +30 -10
- package/dist/elements/a-icon.shapes.css +9 -1
- package/dist/elements/a-icon.shapes.d.ts +3 -1
- package/dist/elements/a-icon.shapes.js +2 -0
- package/dist/elements/a-progress.css +7 -9
- package/dist/elements/a-sticker-animated.css +9 -0
- package/dist/elements/a-sticker-animated.d.ts +38 -0
- package/dist/elements/a-sticker-animated.js +79 -0
- package/dist/elements/a-sticker.css +9 -0
- package/dist/elements/a-sticker.d.ts +18 -0
- package/dist/elements/a-sticker.js +30 -0
- package/dist/elements/a-text.css +6 -3
- package/dist/elements/index.d.ts +6 -0
- package/dist/elements/index.js +18 -0
- package/dist/general_types.d.ts +89 -4
- package/dist/generate-stickers.mjs +293 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6 -0
- package/dist/jsx-runtime.d.ts +5 -1
- package/dist/reset.css +21 -23
- package/dist/tokens.css +186 -182
- package/package.json +17 -4
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HTMLElementBase } from "../anta_helpers";
|
|
2
|
+
declare global {
|
|
3
|
+
interface Document {
|
|
4
|
+
hasKeyListenerForAButton?: boolean;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export declare class AButtonElement extends HTMLElementBase {
|
|
8
|
+
connectedCallback(): void;
|
|
9
|
+
}
|
|
10
|
+
export declare function register_a_button(): void;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { HTMLElementBase } from "../anta_helpers";
|
|
2
|
+
class AButtonElement extends HTMLElementBase {
|
|
3
|
+
connectedCallback() {
|
|
4
|
+
if (!document.hasKeyListenerForAButton) {
|
|
5
|
+
document.addEventListener("keydown", handleKeyDown, true);
|
|
6
|
+
document.addEventListener("click", handleClick, true);
|
|
7
|
+
document.hasKeyListenerForAButton = true;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function findForm(el) {
|
|
12
|
+
const formId = el.getAttribute("form");
|
|
13
|
+
if (formId) {
|
|
14
|
+
return document.getElementById(formId);
|
|
15
|
+
}
|
|
16
|
+
return el.closest("form");
|
|
17
|
+
}
|
|
18
|
+
function handleKeyDown(e) {
|
|
19
|
+
if (e.key !== "Enter" && e.key !== " ") return;
|
|
20
|
+
const el = e.target.closest(
|
|
21
|
+
"a-button"
|
|
22
|
+
);
|
|
23
|
+
if (!el) return;
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
el.click();
|
|
26
|
+
}
|
|
27
|
+
function handleClick(e) {
|
|
28
|
+
const el = e.target.closest(
|
|
29
|
+
"a-button"
|
|
30
|
+
);
|
|
31
|
+
if (!el) return;
|
|
32
|
+
const customEvent = el.getAttribute("data-custom-event");
|
|
33
|
+
if (customEvent) {
|
|
34
|
+
el.dispatchEvent(
|
|
35
|
+
new CustomEvent(customEvent, { bubbles: true, cancelable: true })
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
const type = el.getAttribute("type") || "button";
|
|
39
|
+
const form = findForm(el);
|
|
40
|
+
if (!form) return;
|
|
41
|
+
if (type === "submit") {
|
|
42
|
+
if (form.requestSubmit) {
|
|
43
|
+
form.requestSubmit();
|
|
44
|
+
} else {
|
|
45
|
+
form.submit();
|
|
46
|
+
}
|
|
47
|
+
const formData = new FormData(form);
|
|
48
|
+
form.dispatchEvent(
|
|
49
|
+
new CustomEvent("submitdetailed", {
|
|
50
|
+
bubbles: true,
|
|
51
|
+
cancelable: true,
|
|
52
|
+
detail: {
|
|
53
|
+
formData: Object.fromEntries(formData.entries()),
|
|
54
|
+
submitter: {
|
|
55
|
+
tag: el.tagName.toLowerCase(),
|
|
56
|
+
attrs: Object.fromEntries(
|
|
57
|
+
Array.from(el.attributes).map((a) => [a.name, a.value])
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
);
|
|
63
|
+
} else if (type === "reset") {
|
|
64
|
+
form.reset();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function register_a_button() {
|
|
68
|
+
if (typeof customElements === "undefined") return;
|
|
69
|
+
if (!customElements.get("a-button")) {
|
|
70
|
+
customElements.define("a-button", AButtonElement);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
AButtonElement,
|
|
75
|
+
register_a_button
|
|
76
|
+
};
|
package/dist/elements/a-icon.css
CHANGED
|
@@ -1,23 +1,43 @@
|
|
|
1
1
|
@layer anta {
|
|
2
2
|
a-icon {
|
|
3
|
-
/*
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/* Default lives in a plain declaration — never in `attr()`. Safari
|
|
4
|
+
doesn't support typed `attr()` for `<length>` (MDN: "No" across
|
|
5
|
+
all Safari versions), so an `attr(size px, …)` value can't
|
|
6
|
+
resolve there and the var-substituted `width` ends up invalid →
|
|
7
|
+
auto → 0 on an empty inline-block. Keeping the default off the
|
|
8
|
+
attr() path means every browser lands on 16px when no `size`
|
|
9
|
+
attribute is set. */
|
|
10
|
+
--icon-size: 16px;
|
|
7
11
|
|
|
8
12
|
display: inline-block;
|
|
9
13
|
vertical-align: middle;
|
|
10
|
-
width: var(--icon-size
|
|
11
|
-
height: var(--icon-size
|
|
14
|
+
width: var(--icon-size);
|
|
15
|
+
height: var(--icon-size);
|
|
12
16
|
flex-shrink: 0;
|
|
13
17
|
background-color: currentColor;
|
|
14
18
|
-webkit-mask-image: var(--icon);
|
|
15
|
-
|
|
19
|
+
mask-image: var(--icon);
|
|
16
20
|
-webkit-mask-position: center;
|
|
17
|
-
|
|
21
|
+
mask-position: center;
|
|
18
22
|
-webkit-mask-repeat: no-repeat;
|
|
19
|
-
|
|
23
|
+
mask-repeat: no-repeat;
|
|
20
24
|
-webkit-mask-size: contain;
|
|
21
|
-
|
|
25
|
+
mask-size: contain;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* `<a-icon size="N">` only — typed `attr()` (CSS Values 5, Chrome
|
|
29
|
+
133+). Safari/Firefox don't support the typed form, but a custom
|
|
30
|
+
property parses permissively, so without the `@supports` guard the
|
|
31
|
+
invalid `attr()` would still land on `--icon-size` and only fail
|
|
32
|
+
later when `width: var(--icon-size)` substitutes it — collapsing the
|
|
33
|
+
icon to `auto` → 0×0. The guard keeps the override off unsupported
|
|
34
|
+
engines so the plain `--icon-size: 16px` base wins (visible 16px
|
|
35
|
+
icon, not 0). Consumers that need an exact custom size everywhere
|
|
36
|
+
should route through the `<Icon size={N}>` JSX wrapper, which sets
|
|
37
|
+
`--icon-size` inline as a plain length. */
|
|
38
|
+
@supports (width: attr(size px, 16px)) {
|
|
39
|
+
a-icon[size] {
|
|
40
|
+
--icon-size: attr(size px, 16px);
|
|
41
|
+
}
|
|
22
42
|
}
|
|
23
43
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Auto-generated by
|
|
1
|
+
/* Auto-generated by @antadesign/anta. Do not edit by hand. */
|
|
2
2
|
|
|
3
3
|
@layer anta {
|
|
4
4
|
|
|
@@ -262,6 +262,10 @@
|
|
|
262
262
|
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3v10M3 8h10'/%3E%3C/svg%3E%0A");
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
+
a-icon[shape="pointer"] {
|
|
266
|
+
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-pointer-icon lucide-pointer'%3E%3Cpath d='M22 14a8 8 0 0 1-8 8'/%3E%3Cpath d='M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2'/%3E%3Cpath d='M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1'/%3E%3Cpath d='M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10'/%3E%3Cpath d='M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15'/%3E%3C/svg%3E");
|
|
267
|
+
}
|
|
268
|
+
|
|
265
269
|
a-icon[shape="presentation"] {
|
|
266
270
|
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h20'/%3E%3Cpath d='M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3'/%3E%3Cpath d='m7 21 5-5 5 5'/%3E%3C/svg%3E%0A");
|
|
267
271
|
}
|
|
@@ -282,6 +286,10 @@
|
|
|
282
286
|
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='scale(-1 1) translate(-24 0)'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/g%3E%3C/svg%3E%0A");
|
|
283
287
|
}
|
|
284
288
|
|
|
289
|
+
a-icon[shape="rotate-ccw"] {
|
|
290
|
+
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E%0A");
|
|
291
|
+
}
|
|
292
|
+
|
|
285
293
|
a-icon[shape="rss"] {
|
|
286
294
|
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%0A %3Cpath stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.33' d='M2.67 7.33a6 6 0 0 1 6 6m-6-10.66a10.67 10.67 0 0 1 10.66 10.66M4 12.67a.67.67 0 1 1-1.33 0 .67.67 0 0 1 1.33 0Z'/%3E%0A%3C/svg%3E%0A");
|
|
287
295
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IconShapes } from '@antadesign/anta';
|
|
2
|
-
export declare const ICON_SHAPES: readonly ["arrow-left-to-line", "arrow-left", "arrow-narrow-down", "arrow-narrow-up-down", "arrow-narrow-up", "arrow-right", "arrow-top-right", "asterisk", "book-open", "braces", "bug", "calendar", "case-sensitive", "chat", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "chevrons-right", "circle-check", "circle-large", "circle", "click", "clock", "cloud-upload", "copy", "corner-down-right", "cube", "dots-vertical", "download", "edit", "education-disk", "external-link", "file-down", "file", "filter", "folder-close", "folder-open", "folder-tree", "github-logo", "gitlab-logo", "hat-glasses", "heart-handshake", "help-disk", "history-tree", "history", "home", "hourglass", "info", "jira-logo", "linear-logo", "link", "list-detail-view", "maximize", "megaphone", "menu", "minimize", "minus", "moon", "more", "move-horizontal", "not-equal", "play", "plus", "presentation", "refresh-ccw-dot", "refresh", "regex", "repeat", "rss", "runs-history", "scroll-text", "search-check", "search", "send", "sparkles", "sun", "swatch-book", "table-2", "text-highlight", "text-initial", "timer", "trash", "trello-logo", "view", "warning-triangle", "webhook", "workflow", "x"];
|
|
2
|
+
export declare const ICON_SHAPES: readonly ["arrow-left-to-line", "arrow-left", "arrow-narrow-down", "arrow-narrow-up-down", "arrow-narrow-up", "arrow-right", "arrow-top-right", "asterisk", "book-open", "braces", "bug", "calendar", "case-sensitive", "chat", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "chevrons-right", "circle-check", "circle-large", "circle", "click", "clock", "cloud-upload", "copy", "corner-down-right", "cube", "dots-vertical", "download", "edit", "education-disk", "external-link", "file-down", "file", "filter", "folder-close", "folder-open", "folder-tree", "github-logo", "gitlab-logo", "hat-glasses", "heart-handshake", "help-disk", "history-tree", "history", "home", "hourglass", "info", "jira-logo", "linear-logo", "link", "list-detail-view", "maximize", "megaphone", "menu", "minimize", "minus", "moon", "more", "move-horizontal", "not-equal", "play", "plus", "pointer", "presentation", "refresh-ccw-dot", "refresh", "regex", "repeat", "rotate-ccw", "rss", "runs-history", "scroll-text", "search-check", "search", "send", "sparkles", "sun", "swatch-book", "table-2", "text-highlight", "text-initial", "timer", "trash", "trello-logo", "view", "warning-triangle", "webhook", "workflow", "x"];
|
|
3
3
|
export declare const ICON_SYNONYMS: Readonly<Record<string, readonly string[]>>;
|
|
4
4
|
declare module '@antadesign/anta' {
|
|
5
5
|
interface IconShapes {
|
|
@@ -68,11 +68,13 @@ declare module '@antadesign/anta' {
|
|
|
68
68
|
'not-equal': true;
|
|
69
69
|
'play': true;
|
|
70
70
|
'plus': true;
|
|
71
|
+
'pointer': true;
|
|
71
72
|
'presentation': true;
|
|
72
73
|
'refresh-ccw-dot': true;
|
|
73
74
|
'refresh': true;
|
|
74
75
|
'regex': true;
|
|
75
76
|
'repeat': true;
|
|
77
|
+
'rotate-ccw': true;
|
|
76
78
|
'rss': true;
|
|
77
79
|
'runs-history': true;
|
|
78
80
|
'scroll-text': true;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
@layer anta {
|
|
2
2
|
a-progress {
|
|
3
|
-
--progress-bg: var(--bg-
|
|
3
|
+
--progress-bg: var(--bg-4);
|
|
4
4
|
--progress-border-color: var(--border-4);
|
|
5
|
-
--progress-indicator-bg: var(--bg-
|
|
5
|
+
--progress-indicator-bg: var(--bg-5);
|
|
6
6
|
/* Right-edge fade: from the indicator's own bg to the border
|
|
7
|
-
colour, both opaque.
|
|
8
|
-
|
|
9
|
-
pre-multiplication artefacts. Tone variants automatically
|
|
10
|
-
re-tint because both endpoint tokens (`--progress-indicator-bg`,
|
|
7
|
+
colour, both opaque. Tone variants automatically re-tint because
|
|
8
|
+
both endpoint tokens (`--progress-indicator-bg`,
|
|
11
9
|
`--progress-border-color`) get re-aliased per tone. */
|
|
12
10
|
--progress-indicator-edge: linear-gradient(
|
|
13
|
-
90deg
|
|
11
|
+
90deg,
|
|
14
12
|
var(--progress-indicator-bg) 0%,
|
|
15
13
|
var(--progress-border-color) 100%
|
|
16
14
|
);
|
|
@@ -33,9 +31,9 @@
|
|
|
33
31
|
}
|
|
34
32
|
|
|
35
33
|
a-progress[tone="info"] {
|
|
36
|
-
--progress-bg: var(--bg-
|
|
34
|
+
--progress-bg: var(--bg-4-info);
|
|
37
35
|
--progress-border-color: var(--border-4-info);
|
|
38
|
-
--progress-indicator-bg: var(--bg-
|
|
36
|
+
--progress-indicator-bg: var(--bg-5-info);
|
|
39
37
|
--progress-text-color: var(--text-2-info);
|
|
40
38
|
--progress-hint-color: var(--text-3-info);
|
|
41
39
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type AnimationItem } from 'lottie-web';
|
|
2
|
+
import { HTMLElementBase } from '../anta_helpers';
|
|
3
|
+
/**
|
|
4
|
+
* `<a-sticker-animated>` — Lottie-driven sticker carrier.
|
|
5
|
+
*
|
|
6
|
+
* Receives the Lottie payload as the `animation` attribute (a JSON
|
|
7
|
+
* string). On change, parses the JSON once and instantiates a
|
|
8
|
+
* `lottie-web` player against a shadow-DOM container. The renderer is
|
|
9
|
+
* SVG — `lottie-web` creates real `<svg>` elements in the shadow root
|
|
10
|
+
* and updates path / transform attributes each frame. Rasterisation
|
|
11
|
+
* goes through the browser's native SVG renderer (Skia / Core
|
|
12
|
+
* Graphics), giving the same crispness as static `<svg>` content.
|
|
13
|
+
*
|
|
14
|
+
* Observed attributes:
|
|
15
|
+
* - `animation` — JSON string for `lottie-web`. Reset to null/missing
|
|
16
|
+
* tears the player down.
|
|
17
|
+
* - `paused` — present: freeze at current frame. Numeric value
|
|
18
|
+
* (seconds): seek to that time, then freeze. Absent: play.
|
|
19
|
+
*
|
|
20
|
+
* Sizing comes from external CSS reading `--sticker-size` (set by the
|
|
21
|
+
* JSX wrapper or the consumer).
|
|
22
|
+
*
|
|
23
|
+
* The static counterpart is `<a-sticker>`.
|
|
24
|
+
*/
|
|
25
|
+
export declare class AStickerAnimatedElement extends HTMLElementBase {
|
|
26
|
+
static observedAttributes: string[];
|
|
27
|
+
container: HTMLDivElement;
|
|
28
|
+
player: AnimationItem | null;
|
|
29
|
+
_animation: Record<string, unknown> | null;
|
|
30
|
+
constructor();
|
|
31
|
+
connectedCallback(): void;
|
|
32
|
+
disconnectedCallback(): void;
|
|
33
|
+
attributeChangedCallback(name: string): void;
|
|
34
|
+
rebuild(): void;
|
|
35
|
+
applyPaused(): void;
|
|
36
|
+
teardown(): void;
|
|
37
|
+
}
|
|
38
|
+
export declare function register_a_sticker_animated(): void;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import lottie from "lottie-web";
|
|
2
|
+
import { HTMLElementBase } from "../anta_helpers";
|
|
3
|
+
class AStickerAnimatedElement extends HTMLElementBase {
|
|
4
|
+
static observedAttributes = ["animation", "paused"];
|
|
5
|
+
container;
|
|
6
|
+
player = null;
|
|
7
|
+
_animation = null;
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
const shadow = this.attachShadow({ mode: "open" });
|
|
11
|
+
const style = document.createElement("style");
|
|
12
|
+
style.textContent = `
|
|
13
|
+
:host { display: inline-block; }
|
|
14
|
+
div { width: 100%; height: 100%; }
|
|
15
|
+
div > svg { display: block; width: 100%; height: 100%; }
|
|
16
|
+
`;
|
|
17
|
+
this.container = document.createElement("div");
|
|
18
|
+
shadow.append(style, this.container);
|
|
19
|
+
}
|
|
20
|
+
connectedCallback() {
|
|
21
|
+
if (this._animation != null && this.player == null) this.rebuild();
|
|
22
|
+
}
|
|
23
|
+
disconnectedCallback() {
|
|
24
|
+
this.teardown();
|
|
25
|
+
}
|
|
26
|
+
attributeChangedCallback(name) {
|
|
27
|
+
if (name === "animation") {
|
|
28
|
+
const value = this.getAttribute("animation");
|
|
29
|
+
this._animation = value ? JSON.parse(value) : null;
|
|
30
|
+
if (this.isConnected) this.rebuild();
|
|
31
|
+
} else if (name === "paused") {
|
|
32
|
+
this.applyPaused();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
rebuild() {
|
|
36
|
+
this.teardown();
|
|
37
|
+
if (this._animation == null) return;
|
|
38
|
+
this.player = lottie.loadAnimation({
|
|
39
|
+
container: this.container,
|
|
40
|
+
renderer: "svg",
|
|
41
|
+
loop: true,
|
|
42
|
+
autoplay: !this.hasAttribute("paused"),
|
|
43
|
+
animationData: this._animation
|
|
44
|
+
});
|
|
45
|
+
this.applyPaused();
|
|
46
|
+
}
|
|
47
|
+
applyPaused() {
|
|
48
|
+
if (!this.player) return;
|
|
49
|
+
const attr = this.getAttribute("paused");
|
|
50
|
+
if (attr === null) {
|
|
51
|
+
this.player.play();
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const seconds = Number(attr);
|
|
55
|
+
if (Number.isFinite(seconds) && seconds > 0) {
|
|
56
|
+
const frame = seconds * this.player.frameRate;
|
|
57
|
+
const clamped = Math.min(this.player.totalFrames - 1, Math.max(0, frame));
|
|
58
|
+
this.player.goToAndStop(clamped, true);
|
|
59
|
+
} else {
|
|
60
|
+
this.player.pause();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
teardown() {
|
|
64
|
+
if (this.player) {
|
|
65
|
+
this.player.destroy();
|
|
66
|
+
this.player = null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function register_a_sticker_animated() {
|
|
71
|
+
if (typeof customElements === "undefined") return;
|
|
72
|
+
if (!customElements.get("a-sticker-animated")) {
|
|
73
|
+
customElements.define("a-sticker-animated", AStickerAnimatedElement);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export {
|
|
77
|
+
AStickerAnimatedElement,
|
|
78
|
+
register_a_sticker_animated
|
|
79
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HTMLElementBase } from '../anta_helpers';
|
|
2
|
+
/**
|
|
3
|
+
* `<a-sticker>` — static sticker carrier.
|
|
4
|
+
*
|
|
5
|
+
* Receives SVG markup as the `svg` attribute. On change, drops it into
|
|
6
|
+
* a shadow-DOM container so the host's light DOM stays untouched.
|
|
7
|
+
* Sizing comes from external CSS reading `--sticker-size` (set by the
|
|
8
|
+
* JSX wrapper, or by the consumer directly).
|
|
9
|
+
*
|
|
10
|
+
* The animated counterpart is `<a-sticker-animated>`.
|
|
11
|
+
*/
|
|
12
|
+
export declare class AStickerElement extends HTMLElementBase {
|
|
13
|
+
static observedAttributes: string[];
|
|
14
|
+
container: HTMLDivElement;
|
|
15
|
+
constructor();
|
|
16
|
+
attributeChangedCallback(): void;
|
|
17
|
+
}
|
|
18
|
+
export declare function register_a_sticker(): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { HTMLElementBase } from "../anta_helpers";
|
|
2
|
+
class AStickerElement extends HTMLElementBase {
|
|
3
|
+
static observedAttributes = ["svg"];
|
|
4
|
+
container;
|
|
5
|
+
constructor() {
|
|
6
|
+
super();
|
|
7
|
+
const shadow = this.attachShadow({ mode: "open" });
|
|
8
|
+
const style = document.createElement("style");
|
|
9
|
+
style.textContent = `
|
|
10
|
+
:host { display: inline-block; }
|
|
11
|
+
div { width: 100%; height: 100%; }
|
|
12
|
+
div > svg { display: block; width: 100%; height: 100%; }
|
|
13
|
+
`;
|
|
14
|
+
this.container = document.createElement("div");
|
|
15
|
+
shadow.append(style, this.container);
|
|
16
|
+
}
|
|
17
|
+
attributeChangedCallback() {
|
|
18
|
+
this.container.innerHTML = this.getAttribute("svg") ?? "";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function register_a_sticker() {
|
|
22
|
+
if (typeof customElements === "undefined") return;
|
|
23
|
+
if (!customElements.get("a-sticker")) {
|
|
24
|
+
customElements.define("a-sticker", AStickerElement);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
AStickerElement,
|
|
29
|
+
register_a_sticker
|
|
30
|
+
};
|
package/dist/elements/a-text.css
CHANGED
|
@@ -76,8 +76,11 @@
|
|
|
76
76
|
On hover the underline color is repeated so it tracks the priority
|
|
77
77
|
color rather than the global --link-color-hover. */
|
|
78
78
|
a-text a, a-text a:link, a-text a:visited { color: var(--text-link-color); }
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
text
|
|
79
|
+
/* Hover only on real-pointer devices — avoids sticky hover after a tap. */
|
|
80
|
+
@media (hover: hover) and (pointer: fine) {
|
|
81
|
+
a-text a:hover {
|
|
82
|
+
color: var(--text-link-hover);
|
|
83
|
+
text-decoration-color: var(--text-link-hover);
|
|
84
|
+
}
|
|
82
85
|
}
|
|
83
86
|
}
|
package/dist/elements/index.d.ts
CHANGED
|
@@ -3,6 +3,12 @@ import './a-text.css';
|
|
|
3
3
|
import './a-title.css';
|
|
4
4
|
import './a-icon.css';
|
|
5
5
|
import './a-icon.shapes.css';
|
|
6
|
+
import './a-button.css';
|
|
7
|
+
import './a-sticker.css';
|
|
8
|
+
import './a-sticker-animated.css';
|
|
6
9
|
export { AProgressElement, register_a_progress } from './a-progress';
|
|
7
10
|
export { ATextElement, register_a_text } from './a-text';
|
|
8
11
|
export { AIconElement, register_a_icon } from './a-icon';
|
|
12
|
+
export { AButtonElement, register_a_button } from './a-button';
|
|
13
|
+
export { AStickerElement, register_a_sticker } from './a-sticker';
|
|
14
|
+
export { AStickerAnimatedElement, register_a_sticker_animated } from './a-sticker-animated';
|
package/dist/elements/index.js
CHANGED
|
@@ -1,24 +1,42 @@
|
|
|
1
1
|
import { register_a_progress } from "./a-progress";
|
|
2
2
|
import { register_a_text } from "./a-text";
|
|
3
3
|
import { register_a_icon } from "./a-icon";
|
|
4
|
+
import { register_a_button } from "./a-button";
|
|
5
|
+
import { register_a_sticker } from "./a-sticker";
|
|
6
|
+
import { register_a_sticker_animated } from "./a-sticker-animated";
|
|
4
7
|
import "./a-progress.css";
|
|
5
8
|
import "./a-text.css";
|
|
6
9
|
import "./a-title.css";
|
|
7
10
|
import "./a-icon.css";
|
|
8
11
|
import "./a-icon.shapes.css";
|
|
12
|
+
import "./a-button.css";
|
|
13
|
+
import "./a-sticker.css";
|
|
14
|
+
import "./a-sticker-animated.css";
|
|
9
15
|
import { AProgressElement, register_a_progress as register_a_progress2 } from "./a-progress";
|
|
10
16
|
import { ATextElement, register_a_text as register_a_text2 } from "./a-text";
|
|
11
17
|
import { AIconElement, register_a_icon as register_a_icon2 } from "./a-icon";
|
|
18
|
+
import { AButtonElement, register_a_button as register_a_button2 } from "./a-button";
|
|
19
|
+
import { AStickerElement, register_a_sticker as register_a_sticker2 } from "./a-sticker";
|
|
20
|
+
import { AStickerAnimatedElement, register_a_sticker_animated as register_a_sticker_animated2 } from "./a-sticker-animated";
|
|
12
21
|
if (typeof customElements !== "undefined") {
|
|
13
22
|
register_a_progress();
|
|
14
23
|
register_a_text();
|
|
15
24
|
register_a_icon();
|
|
25
|
+
register_a_button();
|
|
26
|
+
register_a_sticker();
|
|
27
|
+
register_a_sticker_animated();
|
|
16
28
|
}
|
|
17
29
|
export {
|
|
30
|
+
AButtonElement,
|
|
18
31
|
AIconElement,
|
|
19
32
|
AProgressElement,
|
|
33
|
+
AStickerAnimatedElement,
|
|
34
|
+
AStickerElement,
|
|
20
35
|
ATextElement,
|
|
36
|
+
register_a_button2 as register_a_button,
|
|
21
37
|
register_a_icon2 as register_a_icon,
|
|
22
38
|
register_a_progress2 as register_a_progress,
|
|
39
|
+
register_a_sticker2 as register_a_sticker,
|
|
40
|
+
register_a_sticker_animated2 as register_a_sticker_animated,
|
|
23
41
|
register_a_text2 as register_a_text
|
|
24
42
|
};
|
package/dist/general_types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IconShape } from './elements/a-icon.shapes';
|
|
1
2
|
/** Common props for JSX component wrappers. */
|
|
2
3
|
export interface BaseProps {
|
|
3
4
|
/** CSS class name. Merged with any internal classes by the component. */
|
|
@@ -6,9 +7,21 @@ export interface BaseProps {
|
|
|
6
7
|
style?: React.CSSProperties;
|
|
7
8
|
/** Child elements. When provided, replaces the component's default label/content. */
|
|
8
9
|
children?: React.ReactNode;
|
|
10
|
+
/** HTML `id` attribute. */
|
|
11
|
+
id?: string;
|
|
12
|
+
/** HTML `title` attribute — native browser tooltip on hover. */
|
|
13
|
+
title?: string;
|
|
14
|
+
/** Tab order. Set to `-1` to skip the element when tabbing. */
|
|
15
|
+
tabIndex?: number;
|
|
16
|
+
/** Any `data-*` attribute is forwarded to the rendered element. */
|
|
17
|
+
[key: `data-${string}`]: unknown;
|
|
18
|
+
/** Any `aria-*` attribute is forwarded to the rendered element. */
|
|
19
|
+
[key: `aria-${string}`]: unknown;
|
|
9
20
|
}
|
|
10
21
|
/** Attributes for intrinsic custom elements (`<a-*>` tags) in JSX. */
|
|
11
22
|
export interface BaseAttributes {
|
|
23
|
+
/** React/Preact reconciliation key when rendered inside a list. */
|
|
24
|
+
key?: string | number | null;
|
|
12
25
|
/** HTML `class` attribute (standard DOM). */
|
|
13
26
|
class?: string;
|
|
14
27
|
/** React/Preact-style class name. Alias for `class`. */
|
|
@@ -95,13 +108,54 @@ export interface ATitleAttributes extends BaseAttributes {
|
|
|
95
108
|
'aria-level'?: number | string;
|
|
96
109
|
}
|
|
97
110
|
/**
|
|
98
|
-
* Attributes for the `<a-
|
|
99
|
-
*
|
|
100
|
-
*
|
|
111
|
+
* Attributes for the `<a-sticker>` static sticker carrier.
|
|
112
|
+
*
|
|
113
|
+
* The SVG payload is passed as the `svg` attribute — a markup string.
|
|
114
|
+
* On change, the element writes it into its shadow DOM (no light-DOM
|
|
115
|
+
* `<slot>`, so children aren't rendered). The JSX wrapper
|
|
116
|
+
* (`Sticker{Name}`) sets it from the per-sticker module's inlined SVG.
|
|
117
|
+
* Sizing comes from `--sticker-size`.
|
|
118
|
+
*/
|
|
119
|
+
export interface AStickerAttributes extends BaseAttributes {
|
|
120
|
+
/** SVG markup string. On change the element drops it into its shadow
|
|
121
|
+
* DOM (`innerHTML`). */
|
|
122
|
+
svg?: string;
|
|
123
|
+
role?: string;
|
|
124
|
+
'aria-label'?: string;
|
|
125
|
+
'aria-hidden'?: 'true' | 'false' | boolean;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Attributes for the `<a-sticker-animated>` Lottie sticker carrier.
|
|
129
|
+
*
|
|
130
|
+
* The Lottie payload is passed as the `animation` attribute — a JSON
|
|
131
|
+
* string. On change the element `JSON.parse`s it once and drives a
|
|
132
|
+
* `lottie-web` player (SVG renderer) inside its shadow DOM. The JSX
|
|
133
|
+
* wrapper (`Sticker{Name}Animated`) sets it from the per-sticker
|
|
134
|
+
* module's inlined JSON. Sizing comes from the `--sticker-size` CSS
|
|
135
|
+
* variable; `paused` controls playback.
|
|
136
|
+
*/
|
|
137
|
+
export interface AStickerAnimatedAttributes extends BaseAttributes {
|
|
138
|
+
/** Lottie payload as a JSON string. The element parses it once on
|
|
139
|
+
* change. */
|
|
140
|
+
animation?: string;
|
|
141
|
+
/** Present (any string value, including `""`) freezes the animation.
|
|
142
|
+
* A numeric string is parsed as seconds and the player seeks to
|
|
143
|
+
* that time before pausing. Omit to play. */
|
|
144
|
+
paused?: string | boolean | number;
|
|
145
|
+
role?: string;
|
|
146
|
+
'aria-label'?: string;
|
|
147
|
+
'aria-hidden'?: 'true' | 'false' | boolean;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Attributes for the `<a-icon>` custom element. `shape` is typed as
|
|
151
|
+
* `IconShape` (`keyof IconShapes`); the `IconShapes` interface is
|
|
152
|
+
* module-augmentable, so consumers who generate their own shape sets
|
|
153
|
+
* via `declare module '@antadesign/anta' { interface IconShapes { … } }`
|
|
154
|
+
* get those keys accepted automatically.
|
|
101
155
|
*/
|
|
102
156
|
export interface AIconAttributes extends BaseAttributes {
|
|
103
157
|
/** Which icon to render. */
|
|
104
|
-
shape?:
|
|
158
|
+
shape?: IconShape;
|
|
105
159
|
/** Width and height in pixels. Mapped to the `--icon-size` custom
|
|
106
160
|
* property via the CSS Values 5 typed `attr()` function — Chrome
|
|
107
161
|
* 133+ and Safari 18.2+ only. Firefox hasn't shipped typed
|
|
@@ -119,3 +173,34 @@ export interface AIconAttributes extends BaseAttributes {
|
|
|
119
173
|
/** Hides decorative icons from screen readers. */
|
|
120
174
|
'aria-hidden'?: 'true' | 'false' | boolean;
|
|
121
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Attributes for the `<a-button>` custom element. For the typed JSX
|
|
178
|
+
* wrapper use `Button` from `@antadesign/anta`.
|
|
179
|
+
*/
|
|
180
|
+
export interface AButtonAttributes extends BaseAttributes {
|
|
181
|
+
/** Visual emphasis. */
|
|
182
|
+
priority?: 'primary' | 'secondary' | 'tertiary' | 'quaternary';
|
|
183
|
+
/** Semantic tone, or any literal CSS color for a one-off custom tone. */
|
|
184
|
+
tone?: 'neutral' | 'brand' | 'critical' | 'info' | 'success' | 'warning' | (string & {});
|
|
185
|
+
/** Underline style. Only renders on `priority="tertiary" | "quaternary"`. */
|
|
186
|
+
underline?: 'solid' | 'dashed' | 'dotted';
|
|
187
|
+
/** Size variant. small=22px, medium=26px, large=30px. */
|
|
188
|
+
size?: 'small' | 'medium' | 'large';
|
|
189
|
+
/** Drop outer padding to zero. Only takes effect on `priority="quaternary"`.
|
|
190
|
+
* Presence-based: `''` (or any value) turns it on; omit to turn off. */
|
|
191
|
+
paddingless?: '' | 'true' | 'false' | boolean;
|
|
192
|
+
/** Loading state. Presence-based (`''` on, omit off). */
|
|
193
|
+
loading?: '' | 'true' | 'false' | boolean;
|
|
194
|
+
/** Disabled state. Presence-based (`''` on, omit off). */
|
|
195
|
+
disabled?: '' | 'true' | 'false' | boolean;
|
|
196
|
+
/** Toggled-on / pressed state. Presence-based (`''` on, omit off). */
|
|
197
|
+
selected?: '' | 'true' | 'false' | boolean;
|
|
198
|
+
/** Submit/reset semantics. */
|
|
199
|
+
type?: 'button' | 'submit' | 'reset';
|
|
200
|
+
/** Associate with a form by id when not nested inside it. */
|
|
201
|
+
form?: string;
|
|
202
|
+
/** Custom event name dispatched (bubbling) on click. */
|
|
203
|
+
'data-custom-event'?: string;
|
|
204
|
+
'aria-disabled'?: 'true' | 'false' | boolean;
|
|
205
|
+
'aria-busy'?: 'true' | 'false' | boolean;
|
|
206
|
+
}
|