@cloudgrid-io/ui 0.31.4 → 0.31.6
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 +32 -0
- package/dist/badge/brand.d.ts +8 -0
- package/dist/badge/brand.d.ts.map +1 -0
- package/dist/badge/brand.js +22 -0
- package/dist/badge/brand.js.map +1 -0
- package/dist/badge/bubble.d.ts +11 -0
- package/dist/badge/bubble.d.ts.map +1 -0
- package/dist/badge/bubble.js +17 -0
- package/dist/badge/bubble.js.map +1 -0
- package/dist/badge/css-base.d.ts +25 -0
- package/dist/badge/css-base.d.ts.map +1 -0
- package/dist/badge/css-base.js +103 -0
- package/dist/badge/css-base.js.map +1 -0
- package/dist/badge/css-bubble.d.ts +10 -0
- package/dist/badge/css-bubble.d.ts.map +1 -0
- package/dist/badge/css-bubble.js +21 -0
- package/dist/badge/css-bubble.js.map +1 -0
- package/dist/badge/css-owner.d.ts +7 -0
- package/dist/badge/css-owner.d.ts.map +1 -0
- package/dist/badge/css-owner.js +159 -0
- package/dist/badge/css-owner.js.map +1 -0
- package/dist/badge/css-visitor.d.ts +7 -0
- package/dist/badge/css-visitor.d.ts.map +1 -0
- package/dist/badge/css-visitor.js +69 -0
- package/dist/badge/css-visitor.js.map +1 -0
- package/dist/badge/html.d.ts +26 -0
- package/dist/badge/html.d.ts.map +1 -0
- package/dist/badge/html.js +55 -0
- package/dist/badge/html.js.map +1 -0
- package/dist/badge/index.d.ts +43 -0
- package/dist/badge/index.d.ts.map +1 -0
- package/dist/badge/index.js +46 -0
- package/dist/badge/index.js.map +1 -0
- package/dist/badge/marks.d.ts +47 -0
- package/dist/badge/marks.d.ts.map +1 -0
- package/dist/badge/marks.js +131 -0
- package/dist/badge/marks.js.map +1 -0
- package/dist/badge/owner.d.ts +239 -0
- package/dist/badge/owner.d.ts.map +1 -0
- package/dist/badge/owner.js +355 -0
- package/dist/badge/owner.js.map +1 -0
- package/dist/badge/palette.d.ts +23 -0
- package/dist/badge/palette.d.ts.map +1 -0
- package/dist/badge/palette.js +86 -0
- package/dist/badge/palette.js.map +1 -0
- package/dist/badge/root.d.ts +24 -0
- package/dist/badge/root.d.ts.map +1 -0
- package/dist/badge/root.js +11 -0
- package/dist/badge/root.js.map +1 -0
- package/dist/badge/shared.d.ts +56 -0
- package/dist/badge/shared.d.ts.map +1 -0
- package/dist/badge/shared.js +53 -0
- package/dist/badge/shared.js.map +1 -0
- package/dist/badge/visitor.d.ts +96 -0
- package/dist/badge/visitor.d.ts.map +1 -0
- package/dist/badge/visitor.js +118 -0
- package/dist/badge/visitor.js.map +1 -0
- package/dist/blocks/entity-status.d.ts +44 -1
- package/dist/blocks/entity-status.d.ts.map +1 -1
- package/dist/blocks/entity-status.js +26 -1
- package/dist/blocks/entity-status.js.map +1 -1
- package/dist/blocks/expiry-notice.d.ts +86 -0
- package/dist/blocks/expiry-notice.d.ts.map +1 -0
- package/dist/blocks/expiry-notice.js +81 -0
- package/dist/blocks/expiry-notice.js.map +1 -0
- package/dist/blocks/icons.d.ts +22 -0
- package/dist/blocks/icons.d.ts.map +1 -1
- package/dist/blocks/icons.js +22 -0
- package/dist/blocks/icons.js.map +1 -1
- package/dist/blocks/notification-row.d.ts +88 -0
- package/dist/blocks/notification-row.d.ts.map +1 -0
- package/dist/blocks/notification-row.js +32 -0
- package/dist/blocks/notification-row.js.map +1 -0
- package/dist/blocks/phosphor-marks.d.ts +10 -0
- package/dist/blocks/phosphor-marks.d.ts.map +1 -1
- package/dist/blocks/phosphor-marks.js +15 -0
- package/dist/blocks/phosphor-marks.js.map +1 -1
- package/dist/brand/badge/manrope-latin-wght-normal.woff2 +0 -0
- package/dist/brand/badge/space-grotesk-latin-wght-normal.woff2 +0 -0
- package/dist/brand/email/headline-activity.png +0 -0
- package/dist/brand/email/headline-expired.png +0 -0
- package/dist/brand/email/headline-expires-tomorrow.png +0 -0
- package/dist/brand/email/headline-expiring-soon.png +0 -0
- package/dist/brand/email/headline-invited.png +0 -0
- package/dist/brand/email/headline-sign-in-code.png +0 -0
- package/dist/brand/email/mesh.png +0 -0
- package/dist/brand/email/wordmark.png +0 -0
- package/dist/email/assets.d.ts +50 -0
- package/dist/email/assets.d.ts.map +1 -0
- package/dist/email/assets.js +16 -0
- package/dist/email/assets.js.map +1 -0
- package/dist/email/index.d.ts +204 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +429 -0
- package/dist/email/index.js.map +1 -0
- package/dist/email/palette.d.ts +40 -0
- package/dist/email/palette.d.ts.map +1 -0
- package/dist/email/palette.js +44 -0
- package/dist/email/palette.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/ui/dropdown-menu.d.ts +8 -1
- package/dist/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/ui/dropdown-menu.js +9 -2
- package/dist/ui/dropdown-menu.js.map +1 -1
- package/package.json +18 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/badge/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,4EAA4E;AAC5E,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKxC;AAED,0EAA0E;AAC1E,wBAAgB,KAAK,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,SAAK,GAAG,MAAM,CAMhE;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,GAAG,SAAiB,GAAG,MAAM,CAMrD;AAED,uGAAuG;AACvG,wBAAgB,IAAI,CAAC,GAAG,SAAa,GAAG,MAAM,CAO7C"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The badge's markup helpers: escaping, glyphs, the wordmark and the sign.
|
|
3
|
+
*
|
|
4
|
+
* Every builder in this module returns an HTML STRING. The badge inserts it into
|
|
5
|
+
* its own closed shadow root, so nothing here touches the DOM, and the same
|
|
6
|
+
* strings render in the gallery and in a node test.
|
|
7
|
+
*
|
|
8
|
+
* Every string a caller passes is text, never HTML: it is escaped wherever it
|
|
9
|
+
* lands. A URL is attribute-escaped and refused (`#`) when its scheme is
|
|
10
|
+
* anything other than http or https.
|
|
11
|
+
*/
|
|
12
|
+
import { SIGN_BOX, SIGN_GLYPH_OFFSET, SIGN_GLYPH_PATH, SIGN_RADIUS, WORDMARK_PATHS } from "./brand.js";
|
|
13
|
+
const ESCAPES = {
|
|
14
|
+
"&": "&",
|
|
15
|
+
"<": "<",
|
|
16
|
+
">": ">",
|
|
17
|
+
'"': """,
|
|
18
|
+
"'": "'",
|
|
19
|
+
};
|
|
20
|
+
/** Text to HTML text, safe in an element body and in a quoted attribute. */
|
|
21
|
+
export function esc(value) {
|
|
22
|
+
return String(value).replace(/[&<>"']/g, (c) => ESCAPES[c] ?? c);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A link target, attribute-escaped. Anything but http(s) becomes `#`: the URLs
|
|
26
|
+
* here come from the API, and a `javascript:` one must never become a link.
|
|
27
|
+
* Control characters are dropped before the scheme is read, as a browser does.
|
|
28
|
+
*/
|
|
29
|
+
export function href(url) {
|
|
30
|
+
const probe = String(url).trim().replace(/[\u0000- \u007f]/g, "");
|
|
31
|
+
const scheme = probe.match(/^([a-z][a-z0-9+.-]*):/i);
|
|
32
|
+
if (scheme && !/^https?$/i.test(scheme[1]))
|
|
33
|
+
return "#";
|
|
34
|
+
return esc(String(url).trim());
|
|
35
|
+
}
|
|
36
|
+
/** One glyph: Phosphor path data on its 256 canvas, in `currentColor`. */
|
|
37
|
+
export function glyph(paths, cls = "") {
|
|
38
|
+
return (`<svg${cls ? ` class="${cls}"` : ""} viewBox="0 0 256 256" fill="currentColor" aria-hidden="true">` +
|
|
39
|
+
paths.map((d) => `<path d="${d}"/>`).join("") +
|
|
40
|
+
"</svg>");
|
|
41
|
+
}
|
|
42
|
+
/** The CloudGrid wordmark, `Logo`'s paths, named "CloudGrid". */
|
|
43
|
+
export function wordmark(cls = "cgb-wordmark") {
|
|
44
|
+
return (`<svg class="${cls}" viewBox="0 0 300 71" fill="currentColor" role="img" aria-label="CloudGrid">` +
|
|
45
|
+
WORDMARK_PATHS.map((d) => `<path d="${d}"/>`).join("") +
|
|
46
|
+
"</svg>");
|
|
47
|
+
}
|
|
48
|
+
/** The CloudGrid sign, `LogoMark`'s brand tone. Decorative: the control around it carries the name. */
|
|
49
|
+
export function sign(cls = "cgb-sign") {
|
|
50
|
+
return (`<svg class="${cls}" viewBox="0 0 ${SIGN_BOX} ${SIGN_BOX}" aria-hidden="true">` +
|
|
51
|
+
`<rect width="${SIGN_BOX}" height="${SIGN_BOX}" rx="${SIGN_RADIUS}" fill="var(--cg-primary)"/>` +
|
|
52
|
+
`<g transform="${SIGN_GLYPH_OFFSET}" fill="var(--cg-text-on-primary)"><path d="${SIGN_GLYPH_PATH}"/></g>` +
|
|
53
|
+
"</svg>");
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/badge/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEtG,MAAM,OAAO,GAA2B;IACtC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;CACb,CAAA;AAED,4EAA4E;AAC5E,MAAM,UAAU,GAAG,CAAC,KAAsB;IACxC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;IACjE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACpD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAA;IACtD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAChC,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,KAAK,CAAC,KAAwB,EAAE,GAAG,GAAG,EAAE;IACtD,OAAO,CACL,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,gEAAgE;QACnG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,QAAQ,CACT,CAAA;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,QAAQ,CAAC,GAAG,GAAG,cAAc;IAC3C,OAAO,CACL,eAAe,GAAG,+EAA+E;QACjG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,QAAQ,CACT,CAAA;AACH,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,IAAI,CAAC,GAAG,GAAG,UAAU;IACnC,OAAO,CACL,eAAe,GAAG,kBAAkB,QAAQ,IAAI,QAAQ,uBAAuB;QAC/E,gBAAgB,QAAQ,aAAa,QAAQ,SAAS,WAAW,8BAA8B;QAC/F,iBAAiB,iBAAiB,+CAA+C,eAAe,SAAS;QACzG,QAAQ,CACT,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE ON-PAGE BADGE'S LOOK, FRAMEWORK-FREE (ui#299).
|
|
3
|
+
*
|
|
4
|
+
* The platform's badge (`packages/badge`) is vanilla TypeScript in a closed
|
|
5
|
+
* shadow root, running inside other people's apps. It builds from this module
|
|
6
|
+
* as a devDependency, inlined at build time, so there is no runtime dependency
|
|
7
|
+
* and no React anywhere in the badge's path. This module supplies:
|
|
8
|
+
*
|
|
9
|
+
* the stylesheet `BADGE_BASE_CSS`, `BADGE_VISITOR_CSS`, `BADGE_OWNER_CSS`,
|
|
10
|
+
* strings for a `<style>` in the shadow root, generated from
|
|
11
|
+
* the library's tokens (`palette.ts`)
|
|
12
|
+
* the markup builders that return HTML strings: the owner tab and panel
|
|
13
|
+
* (main, edit, share), the feedback bubble and panel, the
|
|
14
|
+
* sign-in step, and the Select, switch and `PromptBlock`
|
|
15
|
+
* looks they use
|
|
16
|
+
* the glyphs Phosphor path data, generated with the library's marks
|
|
17
|
+
* the type the two family stacks and the font files the badge needs;
|
|
18
|
+
* the platform hosts and registers the files, this module
|
|
19
|
+
* never loads a font
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { BADGE_BASE_CSS, BADGE_VISITOR_CSS, badgeRoot, bubble } from "@cloudgrid-io/ui/badge/visitor"
|
|
23
|
+
* shadow.innerHTML = `<style>${BADGE_BASE_CSS}${BADGE_VISITOR_CSS}</style>` + badgeRoot(bubble())
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* Three entries, so each of the badge's two files takes only its half:
|
|
27
|
+
* `@cloudgrid-io/ui/badge/visitor` for the main file (25 KB gzip budget),
|
|
28
|
+
* `@cloudgrid-io/ui/badge/owner` for the owner file it lazy-loads, and this one,
|
|
29
|
+
* which carries both. Every export is side-effect free and every glyph is its
|
|
30
|
+
* own export, so a bundler keeps only what a file draws.
|
|
31
|
+
*
|
|
32
|
+
* Behaviour is the badge's. Each control carries a `data-action` and the ARIA
|
|
33
|
+
* state the badge keeps in step, so one delegated listener per panel is enough
|
|
34
|
+
* and the first paint is already correct.
|
|
35
|
+
*/
|
|
36
|
+
export * from "./visitor.js";
|
|
37
|
+
export * from "./owner.js";
|
|
38
|
+
export * from "./marks.js";
|
|
39
|
+
export { BADGE_FONT_BODY, BADGE_FONT_FACES, BADGE_FONT_UI, BADGE_TOKEN_DECLARATIONS, BADGE_TOKENS } from "./palette.js";
|
|
40
|
+
export { WORDMARK_PATHS, SIGN_BOX, SIGN_GLYPH_OFFSET, SIGN_GLYPH_PATH, SIGN_RADIUS } from "./brand.js";
|
|
41
|
+
/** The whole stylesheet: base, visitor and owner. */
|
|
42
|
+
export declare const BADGE_CSS: string;
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/badge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAMH,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEtG,qDAAqD;AACrD,eAAO,MAAM,SAAS,EAAE,MAA6D,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE ON-PAGE BADGE'S LOOK, FRAMEWORK-FREE (ui#299).
|
|
3
|
+
*
|
|
4
|
+
* The platform's badge (`packages/badge`) is vanilla TypeScript in a closed
|
|
5
|
+
* shadow root, running inside other people's apps. It builds from this module
|
|
6
|
+
* as a devDependency, inlined at build time, so there is no runtime dependency
|
|
7
|
+
* and no React anywhere in the badge's path. This module supplies:
|
|
8
|
+
*
|
|
9
|
+
* the stylesheet `BADGE_BASE_CSS`, `BADGE_VISITOR_CSS`, `BADGE_OWNER_CSS`,
|
|
10
|
+
* strings for a `<style>` in the shadow root, generated from
|
|
11
|
+
* the library's tokens (`palette.ts`)
|
|
12
|
+
* the markup builders that return HTML strings: the owner tab and panel
|
|
13
|
+
* (main, edit, share), the feedback bubble and panel, the
|
|
14
|
+
* sign-in step, and the Select, switch and `PromptBlock`
|
|
15
|
+
* looks they use
|
|
16
|
+
* the glyphs Phosphor path data, generated with the library's marks
|
|
17
|
+
* the type the two family stacks and the font files the badge needs;
|
|
18
|
+
* the platform hosts and registers the files, this module
|
|
19
|
+
* never loads a font
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { BADGE_BASE_CSS, BADGE_VISITOR_CSS, badgeRoot, bubble } from "@cloudgrid-io/ui/badge/visitor"
|
|
23
|
+
* shadow.innerHTML = `<style>${BADGE_BASE_CSS}${BADGE_VISITOR_CSS}</style>` + badgeRoot(bubble())
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* Three entries, so each of the badge's two files takes only its half:
|
|
27
|
+
* `@cloudgrid-io/ui/badge/visitor` for the main file (25 KB gzip budget),
|
|
28
|
+
* `@cloudgrid-io/ui/badge/owner` for the owner file it lazy-loads, and this one,
|
|
29
|
+
* which carries both. Every export is side-effect free and every glyph is its
|
|
30
|
+
* own export, so a bundler keeps only what a file draws.
|
|
31
|
+
*
|
|
32
|
+
* Behaviour is the badge's. Each control carries a `data-action` and the ARIA
|
|
33
|
+
* state the badge keeps in step, so one delegated listener per panel is enough
|
|
34
|
+
* and the first paint is already correct.
|
|
35
|
+
*/
|
|
36
|
+
import { BADGE_BASE_CSS } from "./css-base.js";
|
|
37
|
+
import { BADGE_OWNER_CSS } from "./css-owner.js";
|
|
38
|
+
import { BADGE_VISITOR_CSS } from "./css-visitor.js";
|
|
39
|
+
export * from "./visitor.js";
|
|
40
|
+
export * from "./owner.js";
|
|
41
|
+
export * from "./marks.js";
|
|
42
|
+
export { BADGE_FONT_BODY, BADGE_FONT_FACES, BADGE_FONT_UI, BADGE_TOKEN_DECLARATIONS, BADGE_TOKENS } from "./palette.js";
|
|
43
|
+
export { WORDMARK_PATHS, SIGN_BOX, SIGN_GLYPH_OFFSET, SIGN_GLYPH_PATH, SIGN_RADIUS } from "./brand.js";
|
|
44
|
+
/** The whole stylesheet: base, visitor and owner. */
|
|
45
|
+
export const BADGE_CSS = BADGE_BASE_CSS + BADGE_VISITOR_CSS + BADGE_OWNER_CSS;
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/badge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEtG,qDAAqD;AACrD,MAAM,CAAC,MAAM,SAAS,GAAW,cAAc,GAAG,iBAAiB,GAAG,eAAe,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Phosphor `thumbs-up`, regular. */
|
|
2
|
+
export declare const THUMBS_UP: readonly string[];
|
|
3
|
+
/** Phosphor `thumbs-down`, regular. */
|
|
4
|
+
export declare const THUMBS_DOWN: readonly string[];
|
|
5
|
+
/** Phosphor `wrench`, regular. */
|
|
6
|
+
export declare const WRENCH: readonly string[];
|
|
7
|
+
/** Phosphor `chat-circle`, regular. */
|
|
8
|
+
export declare const CHAT_CIRCLE: readonly string[];
|
|
9
|
+
/** Phosphor `lightbulb-filament`, regular. */
|
|
10
|
+
export declare const LIGHTBULB_FILAMENT: readonly string[];
|
|
11
|
+
/** Phosphor `rocket-launch`, regular. */
|
|
12
|
+
export declare const ROCKET_LAUNCH: readonly string[];
|
|
13
|
+
/** Phosphor `bug`, regular. */
|
|
14
|
+
export declare const BUG: readonly string[];
|
|
15
|
+
/** Phosphor `arrow-up-right`, regular. */
|
|
16
|
+
export declare const ARROW_UP_RIGHT: readonly string[];
|
|
17
|
+
/** Phosphor `caret-down`, regular. */
|
|
18
|
+
export declare const CARET_DOWN: readonly string[];
|
|
19
|
+
/** Phosphor `caret-left`, regular. */
|
|
20
|
+
export declare const CARET_LEFT: readonly string[];
|
|
21
|
+
/** Phosphor `chart-line-up`, regular. */
|
|
22
|
+
export declare const CHART_LINE_UP: readonly string[];
|
|
23
|
+
/** Phosphor `check`, regular. */
|
|
24
|
+
export declare const CHECK: readonly string[];
|
|
25
|
+
/** Phosphor `check-circle`, regular. */
|
|
26
|
+
export declare const CHECK_CIRCLE: readonly string[];
|
|
27
|
+
/** Phosphor `copy`, regular. */
|
|
28
|
+
export declare const COPY: readonly string[];
|
|
29
|
+
/** Phosphor `globe`, regular. */
|
|
30
|
+
export declare const GLOBE: readonly string[];
|
|
31
|
+
/** Phosphor `lock-simple`, regular. */
|
|
32
|
+
export declare const LOCK_SIMPLE: readonly string[];
|
|
33
|
+
/** Phosphor `pencil-simple`, regular. */
|
|
34
|
+
export declare const PENCIL_SIMPLE: readonly string[];
|
|
35
|
+
/** Phosphor `users`, regular. */
|
|
36
|
+
export declare const USERS: readonly string[];
|
|
37
|
+
/** Phosphor `x`, regular. */
|
|
38
|
+
export declare const X: readonly string[];
|
|
39
|
+
/** Phosphor `share-network`, regular. */
|
|
40
|
+
export declare const SHARE_NETWORK: readonly string[];
|
|
41
|
+
/** Phosphor `google-logo`, regular. */
|
|
42
|
+
export declare const GOOGLE_LOGO: readonly string[];
|
|
43
|
+
/** Phosphor `info`, regular. */
|
|
44
|
+
export declare const INFO: readonly string[];
|
|
45
|
+
/** Where each glyph above came from. Read by the tests and the gallery, not by the badge. */
|
|
46
|
+
export declare const BADGE_MARK_SOURCES: Record<string, string>;
|
|
47
|
+
//# sourceMappingURL=marks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marks.d.ts","sourceRoot":"","sources":["../../src/badge/marks.ts"],"names":[],"mappings":"AAkBA,qCAAqC;AACrC,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAEtC,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAExC,CAAA;AAED,kCAAkC;AAClC,eAAO,MAAM,MAAM,EAAE,SAAS,MAAM,EAEnC,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAExC,CAAA;AAED,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAE/C,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAE1C,CAAA;AAED,+BAA+B;AAC/B,eAAO,MAAM,GAAG,EAAE,SAAS,MAAM,EAEhC,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAE3C,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAEvC,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAEvC,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAE1C,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,KAAK,EAAE,SAAS,MAAM,EAElC,CAAA;AAED,wCAAwC;AACxC,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAEzC,CAAA;AAED,gCAAgC;AAChC,eAAO,MAAM,IAAI,EAAE,SAAS,MAAM,EAEjC,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,KAAK,EAAE,SAAS,MAAM,EAElC,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAExC,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAE1C,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,KAAK,EAAE,SAAS,MAAM,EAElC,CAAA;AAED,6BAA6B;AAC7B,eAAO,MAAM,CAAC,EAAE,SAAS,MAAM,EAE9B,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAE1C,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAExC,CAAA;AAED,gCAAgC;AAChC,eAAO,MAAM,IAAI,EAAE,SAAS,MAAM,EAEjC,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuBrD,CAAA"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// GENERATED by scripts/generate-phosphor-marks.mjs — do not hand-edit.
|
|
2
|
+
//
|
|
3
|
+
// The on-page badge's glyphs as plain path data, for a framework-free consumer
|
|
4
|
+
// (#299). Each is the same Phosphor asset, read by the same code, as the library
|
|
5
|
+
// mark of the same slug in blocks/phosphor-marks.tsx; the generator refuses a
|
|
6
|
+
// slug the library does not already carry. Draw one inside
|
|
7
|
+
// `<svg viewBox="0 0 256 256" fill="currentColor">`.
|
|
8
|
+
//
|
|
9
|
+
// Source: @phosphor-icons/core (MIT), read programmatically.
|
|
10
|
+
//
|
|
11
|
+
// Copyright (c) 2023 Phosphor Icons
|
|
12
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
13
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
14
|
+
// in the Software without restriction. The above copyright notice and this
|
|
15
|
+
// permission notice shall be included in all copies.
|
|
16
|
+
//
|
|
17
|
+
// One export per glyph, so a bundle keeps only what it draws.
|
|
18
|
+
/** Phosphor `thumbs-up`, regular. */
|
|
19
|
+
export const THUMBS_UP = [
|
|
20
|
+
"M234,80.12A24,24,0,0,0,216,72H160V56a40,40,0,0,0-40-40,8,8,0,0,0-7.16,4.42L75.06,96H32a16,16,0,0,0-16,16v88a16,16,0,0,0,16,16H204a24,24,0,0,0,23.82-21l12-96A24,24,0,0,0,234,80.12ZM32,112H72v88H32ZM223.94,97l-12,96a8,8,0,0,1-7.94,7H88V105.89l36.71-73.43A24,24,0,0,1,144,56V80a8,8,0,0,0,8,8h64a8,8,0,0,1,7.94,9Z"
|
|
21
|
+
];
|
|
22
|
+
/** Phosphor `thumbs-down`, regular. */
|
|
23
|
+
export const THUMBS_DOWN = [
|
|
24
|
+
"M239.82,157l-12-96A24,24,0,0,0,204,40H32A16,16,0,0,0,16,56v88a16,16,0,0,0,16,16H75.06l37.78,75.58A8,8,0,0,0,120,240a40,40,0,0,0,40-40V184h56a24,24,0,0,0,23.82-27ZM72,144H32V56H72Zm150,21.29a7.88,7.88,0,0,1-6,2.71H152a8,8,0,0,0-8,8v24a24,24,0,0,1-19.29,23.54L88,150.11V56H204a8,8,0,0,1,7.94,7l12,96A7.87,7.87,0,0,1,222,165.29Z"
|
|
25
|
+
];
|
|
26
|
+
/** Phosphor `wrench`, regular. */
|
|
27
|
+
export const WRENCH = [
|
|
28
|
+
"M226.76,69a8,8,0,0,0-12.84-2.88l-40.3,37.19-17.23-3.7-3.7-17.23,37.19-40.3A8,8,0,0,0,187,29.24,72,72,0,0,0,88,96,72.34,72.34,0,0,0,94,124.94L33.79,177c-.15.12-.29.26-.43.39a32,32,0,0,0,45.26,45.26c.13-.13.27-.28.39-.42L131.06,162A72,72,0,0,0,232,96,71.56,71.56,0,0,0,226.76,69ZM160,152a56.14,56.14,0,0,1-27.07-7,8,8,0,0,0-9.92,1.77L67.11,211.51a16,16,0,0,1-22.62-22.62L109.18,133a8,8,0,0,0,1.77-9.93,56,56,0,0,1,58.36-82.31l-31.2,33.81a8,8,0,0,0-1.94,7.1L141.83,108a8,8,0,0,0,6.14,6.14l26.35,5.66a8,8,0,0,0,7.1-1.94l33.81-31.2A56.06,56.06,0,0,1,160,152Z"
|
|
29
|
+
];
|
|
30
|
+
/** Phosphor `chat-circle`, regular. */
|
|
31
|
+
export const CHAT_CIRCLE = [
|
|
32
|
+
"M128,24A104,104,0,0,0,36.18,176.88L24.83,210.93a16,16,0,0,0,20.24,20.24l34.05-11.35A104,104,0,1,0,128,24Zm0,192a87.87,87.87,0,0,1-44.06-11.81,8,8,0,0,0-6.54-.67L40,216,52.47,178.6a8,8,0,0,0-.66-6.54A88,88,0,1,1,128,216Z"
|
|
33
|
+
];
|
|
34
|
+
/** Phosphor `lightbulb-filament`, regular. */
|
|
35
|
+
export const LIGHTBULB_FILAMENT = [
|
|
36
|
+
"M176,232a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h80A8,8,0,0,1,176,232Zm40-128a87.55,87.55,0,0,1-33.64,69.21A16.24,16.24,0,0,0,176,186v6a16,16,0,0,1-16,16H96a16,16,0,0,1-16-16v-6a16,16,0,0,0-6.23-12.66A87.59,87.59,0,0,1,40,104.5C39.74,56.83,78.26,17.15,125.88,16A88,88,0,0,1,216,104Zm-16,0a72,72,0,0,0-73.74-72c-39,.92-70.47,33.39-70.26,72.39a71.64,71.64,0,0,0,27.64,56.3h0A32,32,0,0,1,96,186v6h24V147.31L90.34,117.66a8,8,0,0,1,11.32-11.32L128,132.69l26.34-26.35a8,8,0,0,1,11.32,11.32L136,147.31V192h24v-6a32.12,32.12,0,0,1,12.47-25.35A71.65,71.65,0,0,0,200,104Z"
|
|
37
|
+
];
|
|
38
|
+
/** Phosphor `rocket-launch`, regular. */
|
|
39
|
+
export const ROCKET_LAUNCH = [
|
|
40
|
+
"M223.85,47.12a16,16,0,0,0-15-15c-12.58-.75-44.73.4-71.41,27.07L132.69,64H74.36A15.91,15.91,0,0,0,63,68.68L28.7,103a16,16,0,0,0,9.07,27.16l38.47,5.37,44.21,44.21,5.37,38.49a15.94,15.94,0,0,0,10.78,12.92,16.11,16.11,0,0,0,5.1.83A15.91,15.91,0,0,0,153,227.3L187.32,193A15.91,15.91,0,0,0,192,181.64V123.31l4.77-4.77C223.45,91.86,224.6,59.71,223.85,47.12ZM74.36,80h42.33L77.16,119.52,40,114.34Zm74.41-9.45a76.65,76.65,0,0,1,59.11-22.47,76.46,76.46,0,0,1-22.42,59.16L128,164.68,91.32,128ZM176,181.64,141.67,216l-5.19-37.17L176,139.31Zm-74.16,9.5C97.34,201,82.29,224,40,224a8,8,0,0,1-8-8c0-42.29,23-57.34,32.86-61.85a8,8,0,0,1,6.64,14.56c-6.43,2.93-20.62,12.36-23.12,38.91,26.55-2.5,36-16.69,38.91-23.12a8,8,0,1,1,14.56,6.64Z"
|
|
41
|
+
];
|
|
42
|
+
/** Phosphor `bug`, regular. */
|
|
43
|
+
export const BUG = [
|
|
44
|
+
"M144,92a12,12,0,1,1,12,12A12,12,0,0,1,144,92ZM100,80a12,12,0,1,0,12,12A12,12,0,0,0,100,80Zm116,64A87.76,87.76,0,0,1,213,167l22.24,9.72A8,8,0,0,1,232,192a7.89,7.89,0,0,1-3.2-.67L207.38,182a88,88,0,0,1-158.76,0L27.2,191.33A7.89,7.89,0,0,1,24,192a8,8,0,0,1-3.2-15.33L43,167A87.76,87.76,0,0,1,40,144v-8H16a8,8,0,0,1,0-16H40v-8a87.76,87.76,0,0,1,3-23L20.8,79.33a8,8,0,1,1,6.4-14.66L48.62,74a88,88,0,0,1,158.76,0l21.42-9.36a8,8,0,0,1,6.4,14.66L213,89.05a87.76,87.76,0,0,1,3,23v8h24a8,8,0,0,1,0,16H216ZM56,120H200v-8a72,72,0,0,0-144,0Zm64,95.54V136H56v8A72.08,72.08,0,0,0,120,215.54ZM200,144v-8H136v79.54A72.08,72.08,0,0,0,200,144Z"
|
|
45
|
+
];
|
|
46
|
+
/** Phosphor `arrow-up-right`, regular. */
|
|
47
|
+
export const ARROW_UP_RIGHT = [
|
|
48
|
+
"M200,64V168a8,8,0,0,1-16,0V83.31L69.66,197.66a8,8,0,0,1-11.32-11.32L172.69,72H88a8,8,0,0,1,0-16H192A8,8,0,0,1,200,64Z"
|
|
49
|
+
];
|
|
50
|
+
/** Phosphor `caret-down`, regular. */
|
|
51
|
+
export const CARET_DOWN = [
|
|
52
|
+
"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"
|
|
53
|
+
];
|
|
54
|
+
/** Phosphor `caret-left`, regular. */
|
|
55
|
+
export const CARET_LEFT = [
|
|
56
|
+
"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z"
|
|
57
|
+
];
|
|
58
|
+
/** Phosphor `chart-line-up`, regular. */
|
|
59
|
+
export const CHART_LINE_UP = [
|
|
60
|
+
"M232,208a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V48a8,8,0,0,1,16,0V156.69l50.34-50.35a8,8,0,0,1,11.32,0L128,132.69,180.69,80H160a8,8,0,0,1,0-16h40a8,8,0,0,1,8,8v40a8,8,0,0,1-16,0V91.31l-58.34,58.35a8,8,0,0,1-11.32,0L96,123.31l-56,56V200H224A8,8,0,0,1,232,208Z"
|
|
61
|
+
];
|
|
62
|
+
/** Phosphor `check`, regular. */
|
|
63
|
+
export const CHECK = [
|
|
64
|
+
"M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"
|
|
65
|
+
];
|
|
66
|
+
/** Phosphor `check-circle`, regular. */
|
|
67
|
+
export const CHECK_CIRCLE = [
|
|
68
|
+
"M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"
|
|
69
|
+
];
|
|
70
|
+
/** Phosphor `copy`, regular. */
|
|
71
|
+
export const COPY = [
|
|
72
|
+
"M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"
|
|
73
|
+
];
|
|
74
|
+
/** Phosphor `globe`, regular. */
|
|
75
|
+
export const GLOBE = [
|
|
76
|
+
"M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm88,104a87.61,87.61,0,0,1-3.33,24H174.16a157.44,157.44,0,0,0,0-48h38.51A87.61,87.61,0,0,1,216,128ZM102,168H154a115.11,115.11,0,0,1-26,45A115.27,115.27,0,0,1,102,168Zm-3.9-16a140.84,140.84,0,0,1,0-48h59.88a140.84,140.84,0,0,1,0,48ZM40,128a87.61,87.61,0,0,1,3.33-24H81.84a157.44,157.44,0,0,0,0,48H43.33A87.61,87.61,0,0,1,40,128ZM154,88H102a115.11,115.11,0,0,1,26-45A115.27,115.27,0,0,1,154,88Zm52.33,0H170.71a135.28,135.28,0,0,0-22.3-45.6A88.29,88.29,0,0,1,206.37,88ZM107.59,42.4A135.28,135.28,0,0,0,85.29,88H49.63A88.29,88.29,0,0,1,107.59,42.4ZM49.63,168H85.29a135.28,135.28,0,0,0,22.3,45.6A88.29,88.29,0,0,1,49.63,168Zm98.78,45.6a135.28,135.28,0,0,0,22.3-45.6h35.66A88.29,88.29,0,0,1,148.41,213.6Z"
|
|
77
|
+
];
|
|
78
|
+
/** Phosphor `lock-simple`, regular. */
|
|
79
|
+
export const LOCK_SIMPLE = [
|
|
80
|
+
"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"
|
|
81
|
+
];
|
|
82
|
+
/** Phosphor `pencil-simple`, regular. */
|
|
83
|
+
export const PENCIL_SIMPLE = [
|
|
84
|
+
"M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM92.69,208H48V163.31l88-88L180.69,120ZM192,108.68,147.31,64l24-24L216,84.68Z"
|
|
85
|
+
];
|
|
86
|
+
/** Phosphor `users`, regular. */
|
|
87
|
+
export const USERS = [
|
|
88
|
+
"M117.25,157.92a60,60,0,1,0-66.5,0A95.83,95.83,0,0,0,3.53,195.63a8,8,0,1,0,13.4,8.74,80,80,0,0,1,134.14,0,8,8,0,0,0,13.4-8.74A95.83,95.83,0,0,0,117.25,157.92ZM40,108a44,44,0,1,1,44,44A44.05,44.05,0,0,1,40,108Zm210.14,98.7a8,8,0,0,1-11.07-2.33A79.83,79.83,0,0,0,172,168a8,8,0,0,1,0-16,44,44,0,1,0-16.34-84.87,8,8,0,1,1-5.94-14.85,60,60,0,0,1,55.53,105.64,95.83,95.83,0,0,1,47.22,37.71A8,8,0,0,1,250.14,206.7Z"
|
|
89
|
+
];
|
|
90
|
+
/** Phosphor `x`, regular. */
|
|
91
|
+
export const X = [
|
|
92
|
+
"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z"
|
|
93
|
+
];
|
|
94
|
+
/** Phosphor `share-network`, regular. */
|
|
95
|
+
export const SHARE_NETWORK = [
|
|
96
|
+
"M176,160a39.89,39.89,0,0,0-28.62,12.09l-46.1-29.63a39.8,39.8,0,0,0,0-28.92l46.1-29.63a40,40,0,1,0-8.66-13.45l-46.1,29.63a40,40,0,1,0,0,55.82l46.1,29.63A40,40,0,1,0,176,160Zm0-128a24,24,0,1,1-24,24A24,24,0,0,1,176,32ZM64,152a24,24,0,1,1,24-24A24,24,0,0,1,64,152Zm112,72a24,24,0,1,1,24-24A24,24,0,0,1,176,224Z"
|
|
97
|
+
];
|
|
98
|
+
/** Phosphor `google-logo`, regular. */
|
|
99
|
+
export const GOOGLE_LOGO = [
|
|
100
|
+
"M224,128a96,96,0,1,1-21.95-61.09,8,8,0,1,1-12.33,10.18A80,80,0,1,0,207.6,136H128a8,8,0,0,1,0-16h88A8,8,0,0,1,224,128Z"
|
|
101
|
+
];
|
|
102
|
+
/** Phosphor `info`, regular. */
|
|
103
|
+
export const INFO = [
|
|
104
|
+
"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z"
|
|
105
|
+
];
|
|
106
|
+
/** Where each glyph above came from. Read by the tests and the gallery, not by the badge. */
|
|
107
|
+
export const BADGE_MARK_SOURCES = {
|
|
108
|
+
THUMBS_UP: "thumbs-up",
|
|
109
|
+
THUMBS_DOWN: "thumbs-down",
|
|
110
|
+
WRENCH: "wrench",
|
|
111
|
+
CHAT_CIRCLE: "chat-circle",
|
|
112
|
+
LIGHTBULB_FILAMENT: "lightbulb-filament",
|
|
113
|
+
ROCKET_LAUNCH: "rocket-launch",
|
|
114
|
+
BUG: "bug",
|
|
115
|
+
ARROW_UP_RIGHT: "arrow-up-right",
|
|
116
|
+
CARET_DOWN: "caret-down",
|
|
117
|
+
CARET_LEFT: "caret-left",
|
|
118
|
+
CHART_LINE_UP: "chart-line-up",
|
|
119
|
+
CHECK: "check",
|
|
120
|
+
CHECK_CIRCLE: "check-circle",
|
|
121
|
+
COPY: "copy",
|
|
122
|
+
GLOBE: "globe",
|
|
123
|
+
LOCK_SIMPLE: "lock-simple",
|
|
124
|
+
PENCIL_SIMPLE: "pencil-simple",
|
|
125
|
+
USERS: "users",
|
|
126
|
+
X: "x",
|
|
127
|
+
SHARE_NETWORK: "share-network",
|
|
128
|
+
GOOGLE_LOGO: "google-logo",
|
|
129
|
+
INFO: "info",
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=marks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marks.js","sourceRoot":"","sources":["../../src/badge/marks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The owner's half of the badge: the tab on the edge of the page and the owner
|
|
3
|
+
* panel's three steps (main, edit, share). Markup only; the badge wires the
|
|
4
|
+
* behaviour, the API supplies the data, and the server builds every Console URL.
|
|
5
|
+
*
|
|
6
|
+
* Import from `@cloudgrid-io/ui/badge/owner` in the owner file the badge
|
|
7
|
+
* lazy-loads for the app's owner only. Its stylesheet is `BADGE_OWNER_CSS`,
|
|
8
|
+
* added to a shadow root that already carries `BADGE_BASE_CSS`.
|
|
9
|
+
*
|
|
10
|
+
* The access model is Decision 060's, under the Console's own names
|
|
11
|
+
* (`lib/v2/visibility.ts`): who inside the grid (`shareScope`), who outside it
|
|
12
|
+
* (`externalAccess`), and whether the link needs a sign-in (`requireSignin`).
|
|
13
|
+
* The panel offers three buttons over it; anything finer is done in the
|
|
14
|
+
* Console, behind the "More options" link beside the heading (founder, 2026-10-12).
|
|
15
|
+
*/
|
|
16
|
+
import { type BadgeSide } from "./shared.js";
|
|
17
|
+
export { BADGE_OWNER_CSS } from "./css-owner.js";
|
|
18
|
+
export type OwnerTabState = "rest" | "open" | "peek";
|
|
19
|
+
export interface OwnerTabOptions {
|
|
20
|
+
/** Which edge it sits on. The panel opens from the same side. */
|
|
21
|
+
side?: BadgeSide;
|
|
22
|
+
/**
|
|
23
|
+
* `rest`: the sign alone. `open`: the label out, as on hover (the stylesheet
|
|
24
|
+
* does hover and focus by itself; `open` is for a frozen frame). `peek`: the
|
|
25
|
+
* first visit on a browser, when the same label slides out once for three
|
|
26
|
+
* seconds.
|
|
27
|
+
*/
|
|
28
|
+
state?: OwnerTabState;
|
|
29
|
+
/** While a drag is in progress. */
|
|
30
|
+
dragging?: boolean;
|
|
31
|
+
/** Its position along the edge, as a CSS length (the centre of the tab). Default 50%. */
|
|
32
|
+
top?: string;
|
|
33
|
+
/** While the panel is open the tab steps out of the way. */
|
|
34
|
+
hidden?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/** The tab's label, on hover and on the first-visit peek alike. */
|
|
37
|
+
export declare const TAB_LABEL = "On your grid";
|
|
38
|
+
/**
|
|
39
|
+
* The owner tab: a white tab on the edge with the CloudGrid sign and a green
|
|
40
|
+
* dot; on hover "On your grid" slides out. The badge makes it draggable along
|
|
41
|
+
* either edge (it snaps to the nearer one) and moves it with the arrow keys.
|
|
42
|
+
*
|
|
43
|
+
* Action: `open-owner`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function ownerTab({ side, state, dragging, top, hidden }?: OwnerTabOptions): string;
|
|
46
|
+
export type ShareScope = "private" | "spaces" | "grid";
|
|
47
|
+
export type ExternalAccess = "none" | "link" | "public";
|
|
48
|
+
export interface AccessState {
|
|
49
|
+
shareScope: ShareScope;
|
|
50
|
+
externalAccess: ExternalAccess;
|
|
51
|
+
requireSignin: boolean;
|
|
52
|
+
}
|
|
53
|
+
/** The three buttons. `null` when the current setting is none of them: no button is highlighted. */
|
|
54
|
+
export type AccessPreset = "private" | "grid" | "public";
|
|
55
|
+
export declare function accessPreset(a: AccessState): AccessPreset | null;
|
|
56
|
+
/** What a click on one of the three buttons asks for. Grid keeps "selected spaces" if that is set. */
|
|
57
|
+
export declare function presetAccess(preset: AccessPreset, current: AccessState): AccessState;
|
|
58
|
+
/**
|
|
59
|
+
* True when `next` lets fewer people in than `current`: a smaller outside
|
|
60
|
+
* audience, a smaller inside audience at the same outside one, or a sign-in
|
|
61
|
+
* newly required. Narrowing asks first; widening saves at once.
|
|
62
|
+
*/
|
|
63
|
+
export declare function isNarrowing(current: AccessState, next: AccessState): boolean;
|
|
64
|
+
/** The one-line confirm a narrowing shows in the panel. */
|
|
65
|
+
export declare function narrowingMessage(current: AccessState, next: AccessState, gridName: string): string;
|
|
66
|
+
export interface OwnerSpace {
|
|
67
|
+
id: string;
|
|
68
|
+
name: string;
|
|
69
|
+
/** In the "selected spaces" set. */
|
|
70
|
+
selected?: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface OwnerMainOptions {
|
|
73
|
+
/** The app's name. */
|
|
74
|
+
name: string;
|
|
75
|
+
/**
|
|
76
|
+
* The status word beside the name, after a green dot. Default "Live"; `null`
|
|
77
|
+
* for none. A status, not a control: no chip, no border (founder, 2026-10-13).
|
|
78
|
+
*/
|
|
79
|
+
status?: string | null;
|
|
80
|
+
/** "Atomic Labs". */
|
|
81
|
+
gridName: string;
|
|
82
|
+
/** The app's own page in the Console, built by the server. Opens in a new tab. */
|
|
83
|
+
appPageUrl: string;
|
|
84
|
+
/**
|
|
85
|
+
* Views this week: the total and the last seven days, oldest first. `0` reads
|
|
86
|
+
* "No views yet this week" with no bars. `null` (analytics failed) hides the
|
|
87
|
+
* line and keeps the row.
|
|
88
|
+
*/
|
|
89
|
+
views?: {
|
|
90
|
+
total: number;
|
|
91
|
+
daily: readonly number[];
|
|
92
|
+
} | null;
|
|
93
|
+
/** All-time totals, and the app's Feedback page in the Console. */
|
|
94
|
+
feedback: {
|
|
95
|
+
reactions: number;
|
|
96
|
+
notes: number;
|
|
97
|
+
url: string;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* "Ask visitors for feedback": the feedback bubble for visitors. The action
|
|
101
|
+
* keeps its first name, `show-to-visitors`.
|
|
102
|
+
*/
|
|
103
|
+
showToVisitors: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* The explanation beside that switch is open: what visitors see, with the
|
|
106
|
+
* bubble itself. The badge toggles it on `feedback-info` and closes it on
|
|
107
|
+
* `feedback-info-close`, on Escape (before Escape closes the panel) and on a
|
|
108
|
+
* pointer down anywhere outside `.cgb-info` and the info button.
|
|
109
|
+
*/
|
|
110
|
+
infoOpen?: boolean;
|
|
111
|
+
access: AccessState;
|
|
112
|
+
/** The grid's spaces, for "Selected spaces". */
|
|
113
|
+
spaces?: readonly OwnerSpace[];
|
|
114
|
+
/**
|
|
115
|
+
* The app's access page in the Console, built by the server: "More options",
|
|
116
|
+
* beside the heading, opens it in a new tab.
|
|
117
|
+
*/
|
|
118
|
+
accessPageUrl: string;
|
|
119
|
+
/**
|
|
120
|
+
* One line describing the current access when none of the three buttons
|
|
121
|
+
* matches it, shown in the row under them. Written by the caller, which knows
|
|
122
|
+
* the full setting ("Everyone in the grid, and anyone with the link (sign-in
|
|
123
|
+
* required).").
|
|
124
|
+
*/
|
|
125
|
+
customDescription?: string;
|
|
126
|
+
/** Render the Grid row's menu open (a frozen frame). */
|
|
127
|
+
scopeMenuOpen?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* A narrowing waiting for Confirm: the setting it would move to. The button
|
|
130
|
+
* that setting belongs to is shaded grey (`data-pending`) while the current
|
|
131
|
+
* one keeps its purple; Confirm moves the selection, Cancel clears it.
|
|
132
|
+
*/
|
|
133
|
+
pending?: AccessState | null;
|
|
134
|
+
/** The save line beside "Who can open this". */
|
|
135
|
+
saveState?: "saving" | "saved" | null;
|
|
136
|
+
}
|
|
137
|
+
/** The Grid row's menu: everyone in the grid, or the selected spaces. */
|
|
138
|
+
export declare const GRID_SCOPE_OPTIONS: readonly [{
|
|
139
|
+
readonly value: "grid";
|
|
140
|
+
readonly label: "Everyone";
|
|
141
|
+
}, {
|
|
142
|
+
readonly value: "spaces";
|
|
143
|
+
readonly label: "Selected spaces…";
|
|
144
|
+
}];
|
|
145
|
+
/** The switch's label (ui#316; it read "Show to visitors" before). */
|
|
146
|
+
export declare const ASK_VISITORS_LABEL = "Ask visitors for feedback";
|
|
147
|
+
/**
|
|
148
|
+
* The explanation the info button opens, in order: what visitors see, then
|
|
149
|
+
* what they can do (founder, 2026-10-13).
|
|
150
|
+
*/
|
|
151
|
+
export declare const ASK_VISITORS_INFO: readonly ["Visitors see this in the corner of your app.", "They can leave a reaction or a note. Turn it off to hide it."];
|
|
152
|
+
/**
|
|
153
|
+
* The main step: the name row (name, status, and Edit and Share at its right
|
|
154
|
+
* end), the grid row, the feedback box, who can open this, and at the foot,
|
|
155
|
+
* under a hairline, "Only you see this panel." (founder, 2026-10-13: no
|
|
156
|
+
* separate Edit and Share row). A long name ends in an ellipsis, with the
|
|
157
|
+
* whole name in its `title`; the status and the two buttons never shrink.
|
|
158
|
+
* The status is `EntityStatus`'s dot and word without its chip, so it reads as
|
|
159
|
+
* a state beside the name and not as a third button (founder, 2026-10-13).
|
|
160
|
+
*
|
|
161
|
+
* Actions: `open-app-page`, `open-feedback-page` and `open-access-page` (links,
|
|
162
|
+
* new tab), `go-edit`, `go-share`, `show-to-visitors` and `access-findable`
|
|
163
|
+
* (switches), `feedback-info` (the info button, a toggle) and
|
|
164
|
+
* `feedback-info-close` (the explanation's x), `access-preset` (`data-value`), `access-scope` (the Grid menu's
|
|
165
|
+
* trigger) and `access-scope-pick` (`data-value` `grid` or `spaces`),
|
|
166
|
+
* `access-space` (checkboxes), `confirm-ok`, `confirm-cancel`.
|
|
167
|
+
*/
|
|
168
|
+
export declare function ownerMain(o: OwnerMainOptions): string;
|
|
169
|
+
/**
|
|
170
|
+
* The prompt the edit step offers, with the library's prompt grammar: a
|
|
171
|
+
* backticked run is a literal (accent on screen) and the fences are never
|
|
172
|
+
* copied. Fill it with `editPrompt`; copy it with `promptCopyText`.
|
|
173
|
+
*/
|
|
174
|
+
export declare const EDIT_PROMPT_TEMPLATE: string;
|
|
175
|
+
/** The words at the end of the prompt the owner replaces. Dimmed on screen, copied as written. */
|
|
176
|
+
export declare const EDIT_PROMPT_PLACEHOLDER = "describe it here";
|
|
177
|
+
/** The edit prompt for one app, in the prompt grammar. A backtick in the name or URL is dropped. */
|
|
178
|
+
export declare function editPrompt(name: string, url: string): string;
|
|
179
|
+
/**
|
|
180
|
+
* The prompt grammar's backtick runs, as `PromptBlock` parses them
|
|
181
|
+
* (`promptSegments` in blocks/prompt-block.tsx): a closed pair is a literal and
|
|
182
|
+
* its fences are delimiters; an unclosed backtick is literal text. Asserted
|
|
183
|
+
* equal to the library's parser in the node suite.
|
|
184
|
+
*/
|
|
185
|
+
export declare function promptRuns(line: string): Array<{
|
|
186
|
+
text: string;
|
|
187
|
+
code: boolean;
|
|
188
|
+
}>;
|
|
189
|
+
/** What the clipboard gets: the fences consumed, trailing blank lines dropped. Same as `PromptBlock`. */
|
|
190
|
+
export declare function promptCopyText(prompt: string): string;
|
|
191
|
+
/** The prompt in `PromptBlock`'s look, with its icon-only copy control. Action: `copy-prompt`. */
|
|
192
|
+
export declare function promptBlock(prompt: string, { copied, placeholder }?: {
|
|
193
|
+
copied?: boolean | undefined;
|
|
194
|
+
placeholder?: string | undefined;
|
|
195
|
+
}): string;
|
|
196
|
+
export interface OwnerEditOptions {
|
|
197
|
+
name: string;
|
|
198
|
+
/** The app's public URL, from `entityUrl(...)`. */
|
|
199
|
+
url: string;
|
|
200
|
+
/** The copy control just succeeded. */
|
|
201
|
+
copied?: boolean;
|
|
202
|
+
}
|
|
203
|
+
/** The edit step: why it is safe, the two ways, and the prompt. Actions: `go-main`, `copy-prompt`. */
|
|
204
|
+
export declare function ownerEdit({ name, url, copied }: OwnerEditOptions): string;
|
|
205
|
+
export interface OwnerShareOptions {
|
|
206
|
+
name: string;
|
|
207
|
+
/** The app's public URL, from `entityUrl(...)`. Shown without its scheme. */
|
|
208
|
+
url: string;
|
|
209
|
+
access: AccessState;
|
|
210
|
+
gridName: string;
|
|
211
|
+
/** "Copy link" just succeeded. */
|
|
212
|
+
copied?: boolean;
|
|
213
|
+
}
|
|
214
|
+
/** Who can open it, in one line, for the share step. */
|
|
215
|
+
export declare function whoCanOpen(a: AccessState, gridName: string): string;
|
|
216
|
+
/**
|
|
217
|
+
* The share step: the link and Copy link, and who can open it. No invite.
|
|
218
|
+
*
|
|
219
|
+
* On a phone it is the fallback: the badge sends the main panel's Share
|
|
220
|
+
* (`go-share`) straight to the phone's own share sheet (`navigator.share`
|
|
221
|
+
* with the app's name and URL) when the pointer is coarse and the API exists
|
|
222
|
+
* (founder, 2026-10-12). Desktop, and a phone without it, open this step.
|
|
223
|
+
*
|
|
224
|
+
* Actions: `go-main`, `copy-link`, and `go-main` again on "Change who can open
|
|
225
|
+
* it" when the app is private.
|
|
226
|
+
*/
|
|
227
|
+
export declare function ownerShare({ name, url, access, gridName, copied }: OwnerShareOptions): string;
|
|
228
|
+
export type OwnerStep = ({
|
|
229
|
+
step: "main";
|
|
230
|
+
} & OwnerMainOptions) | ({
|
|
231
|
+
step: "edit";
|
|
232
|
+
} & OwnerEditOptions) | ({
|
|
233
|
+
step: "share";
|
|
234
|
+
} & OwnerShareOptions);
|
|
235
|
+
/** The owner panel around one step, opening from the tab's side. */
|
|
236
|
+
export declare function ownerPanel(o: OwnerStep & {
|
|
237
|
+
side?: BadgeSide;
|
|
238
|
+
}): string;
|
|
239
|
+
//# sourceMappingURL=owner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner.d.ts","sourceRoot":"","sources":["../../src/badge/owner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEpD,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yFAAyF;IACzF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,mEAAmE;AACnE,eAAO,MAAM,SAAS,iBAAiB,CAAA;AAEvC;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAc,EAAE,KAAc,EAAE,QAAgB,EAAE,GAAG,EAAE,MAAc,EAAE,GAAE,eAAoB,GAAG,MAAM,CAUhI;AAID,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AACtD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;AAEvD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,EAAE,cAAc,CAAA;IAC9B,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAA;AAExD,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,IAAI,CAGhE;AAED,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAKpF;AAID;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAI5E;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIlG;AAID,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAA;IAC1D,mEAAmE;IACnE,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAA;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,WAAW,CAAA;IACnB,gDAAgD;IAChD,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC9B;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,gDAAgD;IAChD,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAA;CACtC;AAyCD,yEAAyE;AACzE,eAAO,MAAM,kBAAkB;;;;;;EAGrB,CAAA;AAgEV,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,8BAA8B,CAAA;AAE7D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,2HAGpB,CAAA;AAkCV;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAoBrD;AAID;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAGL,CAAA;AAE5B,kGAAkG;AAClG,eAAO,MAAM,uBAAuB,qBAAqB,CAAA;AAEzD,oGAAoG;AACpG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAe/E;AAED,yGAAyG;AACzG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAc,EAAE,WAAqC,EAAE;;;CAAK,GAAG,MAAM,CAiBlH;AAKD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,sGAAsG;AACtG,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAc,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAUjF;AAID,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAc,EAAE,EAAE,iBAAiB,GAAG,MAAM,CAWrG;AAID,MAAM,MAAM,SAAS,GACjB,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAAC,GACrC,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAAC,GACrC,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAA;AAE3C,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,GAAG;IAAE,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,MAAM,CAGtE"}
|