@alleninstitute/cortex-ui 0.1.0 → 0.2.0
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 +49 -71
- package/dist/cjs/cortex-ui.cjs.js +2 -2
- package/dist/cjs/cui-progress.cjs.entry.js +46 -0
- package/dist/cjs/cui-tag.cjs.entry.js +2 -2
- package/dist/cjs/{index-Rxdz0vyq.js → index-CJFDVa2g.js} +83 -5
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/cui-progress/cui-progress.css +102 -0
- package/dist/collection/components/cui-progress/cui-progress.js +187 -0
- package/dist/collection/components/cui-tag/cui-tag.js +1 -1
- package/dist/components/cui-progress.d.ts +11 -0
- package/dist/components/cui-progress.js +1 -0
- package/dist/components/cui-tag.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/cortex-ui/cortex-ui.css +1 -1
- package/dist/cortex-ui/cortex-ui.esm.js +1 -1
- package/dist/cortex-ui/{p-054ebfa8.entry.js → p-371566cd.entry.js} +1 -1
- package/dist/cortex-ui/p-60c5b038.entry.js +1 -0
- package/dist/cortex-ui/p-DbXnQj5f.js +2 -0
- package/dist/esm/cortex-ui.js +3 -3
- package/dist/esm/cui-progress.entry.js +44 -0
- package/dist/esm/cui-tag.entry.js +2 -2
- package/dist/esm/{index-C70YK15K.js → index-DbXnQj5f.js} +83 -5
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/cui-progress/cui-progress.d.ts +40 -0
- package/dist/types/components.d.ts +109 -0
- package/package.json +1 -1
- package/dist/cortex-ui/p-C70YK15K.js +0 -2
package/README.md
CHANGED
|
@@ -266,90 +266,74 @@ pnpm install
|
|
|
266
266
|
- **Types or components look stale / missing exports** — the `dist/` output is out of date. Re-run `pnpm build:all` in this repo (or use `pnpm dev:react` + `pnpm dev:stencil` to watch). Nothing works until `dist/` exists.
|
|
267
267
|
- **Do not commit the `link:` lines** in the consuming app — they only make sense on your machine. Swap back to a normal version range before committing.
|
|
268
268
|
|
|
269
|
-
##
|
|
270
|
-
|
|
271
|
-
All three packages are versioned and published **in lockstep** under a single `v<semver>` git tag. They are not
|
|
272
|
-
independently versioned: the React wrappers are generated from the Stencil build and the MCP server bundles a snapshot
|
|
273
|
-
of the generated docs, so a component change ripples through all three. `@alleninstitute/cortex-ui-react` depends on
|
|
274
|
-
`@alleninstitute/cortex-ui` via `workspace:*`, which pnpm rewrites to the exact matching version as it packs.
|
|
275
|
-
|
|
276
|
-
Versions and release notes come from [git-cliff](https://git-cliff.org), driven by
|
|
277
|
-
[conventional commit](https://www.conventionalcommits.org) messages, configured in [cliff.toml](cliff.toml).
|
|
269
|
+
## Changelog
|
|
278
270
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
271
|
+
`CHANGELOG.md` is generated from [conventional commit](https://www.conventionalcommits.org) messages by
|
|
272
|
+
[git-cliff](https://git-cliff.org), configured in [cliff.toml](cliff.toml). **Commit messages are the release notes**, so
|
|
273
|
+
a sloppy subject line ships to consumers. `chore(release):` commits are skipped, and commits that aren't conventional
|
|
274
|
+
are dropped from the changelog entirely.
|
|
282
275
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
2. It derives the next version from the commits since the last tag, verifies the build and tests, bumps every
|
|
286
|
-
publishable `package.json`, regenerates `CHANGELOG.md`, then commits and pushes `chore(release): v<semver>` plus the
|
|
287
|
-
`v<semver>` tag.
|
|
288
|
-
3. Pushing that tag triggers the **Publish to npm** workflow, which builds all three packages, publishes them to npm
|
|
289
|
-
(root first, since the others depend on it) with [provenance](https://docs.npmjs.com/generating-provenance-statements),
|
|
290
|
-
and opens a GitHub Release with the generated notes.
|
|
291
|
-
|
|
292
|
-
To preview locally what the next release would be:
|
|
276
|
+
Storybook renders the same file as a top-level **Release Notes** page (`src/docs/ReleaseNotes.mdx`), imported raw from
|
|
277
|
+
`CHANGELOG.md` so the published docs can't drift from the repo.
|
|
293
278
|
|
|
294
279
|
```bash
|
|
295
|
-
pnpm release:version # the version git-cliff would pick
|
|
296
|
-
pnpm changelog:unreleased # the notes for the
|
|
297
|
-
pnpm changelog #
|
|
280
|
+
pnpm release:version # the version git-cliff would pick next
|
|
281
|
+
pnpm changelog:unreleased # the notes for the commits since the last tag
|
|
282
|
+
pnpm changelog # regenerate CHANGELOG.md in full
|
|
298
283
|
```
|
|
299
284
|
|
|
300
|
-
|
|
285
|
+
Versions stay pre-1.0 while components are still `experimental` / `beta`: `cliff.toml` sets
|
|
286
|
+
`breaking_always_bump_major = false`, so while the major is `0` a breaking change bumps the **minor** (`0.1.0` → `0.2.0`)
|
|
287
|
+
rather than jumping to `1.0.0`.
|
|
288
|
+
|
|
289
|
+
### Prepublish safety
|
|
301
290
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
rather than jumping to `1.0.0`. Cutting `1.0.0` is intentional — pass it via the workflow's `version` input.
|
|
291
|
+
Every publishable package runs its own build in `prepack`, so `dist/`, the generated React source, and the MCP server's
|
|
292
|
+
bundled docs snapshot can never be packed or published stale — including from a hand-run `pnpm publish`.
|
|
305
293
|
|
|
306
|
-
|
|
294
|
+
## Releasing
|
|
307
295
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
296
|
+
All three packages are versioned and published **in lockstep** under a single `v<semver>` git tag. They are not
|
|
297
|
+
independently versioned: the React wrappers are generated from the Stencil build and the MCP server bundles a snapshot
|
|
298
|
+
of the generated docs, so a component change ripples through all three. `@alleninstitute/cortex-ui-react` depends on
|
|
299
|
+
`@alleninstitute/cortex-ui` via `workspace:*`, which pnpm rewrites to the exact matching version as it packs.
|
|
311
300
|
|
|
312
|
-
|
|
313
|
-
exist before it can be configured — unlike PyPI, npm cannot pre-authorize a name that has never been published
|
|
314
|
-
([npm/cli#8544](https://github.com/npm/cli/issues/8544)). Each of the three packages therefore needs one manual publish
|
|
315
|
-
first:
|
|
301
|
+
Both the version and the release notes are derived from conventional commits — see [Changelog](#changelog).
|
|
316
302
|
|
|
317
|
-
|
|
318
|
-
npm login # an account with publish rights on @alleninstitute
|
|
319
|
-
pnpm build:all
|
|
320
|
-
pnpm publish --access public --no-git-checks # @alleninstitute/cortex-ui
|
|
321
|
-
pnpm --filter @alleninstitute/cortex-ui-react publish --access public --no-git-checks
|
|
322
|
-
pnpm --filter @alleninstitute/cortex-ui-mcp publish --access public --no-git-checks
|
|
323
|
-
```
|
|
303
|
+
### Cutting a release
|
|
324
304
|
|
|
325
|
-
|
|
326
|
-
and set:
|
|
305
|
+
Releasing is a deliberate, manual step — merging to `main` does not publish.
|
|
327
306
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
307
|
+
1. Run the **Release** workflow (`Actions` → `Release` → `Run workflow`) from `main`. It takes no inputs — the version
|
|
308
|
+
is always derived from the commits.
|
|
309
|
+
2. It works out the next version from the commits since the last tag, bumps every publishable `package.json`,
|
|
310
|
+
regenerates `CHANGELOG.md`, then commits and pushes `chore(release): v<semver>` plus the `v<semver>` tag.
|
|
311
|
+
3. Pushing that tag triggers the **Publish to npm** workflow, which builds all three packages, publishes them to npm
|
|
312
|
+
(root first, since the others depend on it), and opens a GitHub Release with the generated notes.
|
|
334
313
|
|
|
335
|
-
|
|
314
|
+
Preview what a release would produce before running it with `pnpm release:version` and `pnpm changelog:unreleased`.
|
|
336
315
|
|
|
337
|
-
|
|
316
|
+
### How publishing is authenticated
|
|
338
317
|
|
|
339
|
-
|
|
340
|
-
protected `main` branch. Same secret name and service account as the other Allen Institute repos.
|
|
318
|
+
Already configured; here for when something needs rotating.
|
|
341
319
|
|
|
342
|
-
|
|
320
|
+
- **npm** — [trusted publishing](https://docs.npmjs.com/trusted-publishers). GitHub mints a short-lived OIDC token that
|
|
321
|
+
npm exchanges for publish credentials, so **there is no `NPM_TOKEN`**. Each of the three packages has a trusted
|
|
322
|
+
publisher pointing at `AllenInstitute/cortex-ui` + `publish.yml`, with no environment. Don't add a token.
|
|
323
|
+
- **git** — `SERVICE_ACCOUNT_SSH_KEY` holds the private half of a **write-enabled deploy key** on this repo. Deploy keys
|
|
324
|
+
can't be shared between repos, so the team Bitwarden entry _"public github ssh keys for github service user"_ keeps
|
|
325
|
+
one keypair per repo named `<repo>_deploy_key`; `cortex-ui`'s lives there. It can't be `GITHUB_TOKEN` — see the
|
|
326
|
+
comment in `release.yml`.
|
|
327
|
+
- **branch rules** — `main` requires pull requests, with `DeployKey` as a bypass actor so the release commit can land.
|
|
328
|
+
This intentionally differs from other repos that bypass via the admin role: scoping it to the deploy key means humans
|
|
329
|
+
still can't push to `main`.
|
|
343
330
|
|
|
344
|
-
|
|
345
|
-
[provenance attestations require a **public source repository**](https://github.blog/changelog/2023-07-26-publishing-with-npm-provenance-from-private-source-repositories-is-no-longer-supported/) —
|
|
346
|
-
npm dropped support for private ones in 2023. `cortex-ui` is currently private, so the publish job sets
|
|
347
|
-
`NPM_CONFIG_PROVENANCE=false` and ships without attestations.
|
|
331
|
+
### Provenance
|
|
348
332
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
333
|
+
We don't publish provenance attestations. The publish job sets `NPM_CONFIG_PROVENANCE=false`, which is load-bearing
|
|
334
|
+
rather than cosmetic: trusted publishing **auto-enables** provenance, and
|
|
335
|
+
[provenance requires a public source repository](https://github.blog/changelog/2023-07-26-publishing-with-npm-provenance-from-private-source-repositories-is-no-longer-supported/) —
|
|
336
|
+
so on this private repo npm would turn it on and then fail the publish. Drop that line only when the repo goes public.
|
|
353
337
|
|
|
354
338
|
### If a publish fails partway
|
|
355
339
|
|
|
@@ -359,12 +343,6 @@ re-run Release**; that would only try to cut a second version. Fix the cause, th
|
|
|
359
343
|
run. The publish step skips any package whose version is already on npm, so a re-run picks up exactly the packages that
|
|
360
344
|
did not make it.
|
|
361
345
|
|
|
362
|
-
### Prepublish safety
|
|
363
|
-
|
|
364
|
-
Every package runs its own build in `prepack`, so `dist/`, the generated React source, and the MCP docs snapshot can
|
|
365
|
-
never be published stale — including from a hand-run `pnpm publish`. The publish workflow additionally runs
|
|
366
|
-
`pnpm build:all` up front so a build failure stops the release before any package reaches npm.
|
|
367
|
-
|
|
368
346
|
## Project Structure
|
|
369
347
|
|
|
370
348
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-CJFDVa2g.js');
|
|
4
4
|
|
|
5
5
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
6
6
|
/*
|
|
@@ -18,7 +18,7 @@ var patchBrowser = () => {
|
|
|
18
18
|
|
|
19
19
|
patchBrowser().then(async (options) => {
|
|
20
20
|
await index.globalScripts();
|
|
21
|
-
return index.bootstrapLazy([["cui-tag.cjs",[[1,"cui-tag",{"label":[1],"variant":[1],"size":[1]}]]]], options);
|
|
21
|
+
return index.bootstrapLazy([["cui-progress.cjs",[[1,"cui-progress",{"label":[1],"value":[2],"max":[2],"indeterminate":[4],"size":[1],"showValue":[4,"show-value"]}]]],["cui-tag.cjs",[[1,"cui-tag",{"label":[1],"variant":[1],"size":[1]}]]]], options);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
exports.setNonce = index.setNonce;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-CJFDVa2g.js');
|
|
4
|
+
|
|
5
|
+
const cuiProgressCss = () => `:host{display:block;--cui-progress-track-color:var(--cui-base-bg-lvl-1);--cui-progress-indicator-color:var(--cui-accent)}:host([hidden]){display:none}.cui-progress{font-family:var(--cui-font-family-base);display:flex;align-items:center;gap:var(--cui-spacing-sm)}.cui-progress__bar{flex:1 1 auto;display:block;width:100%;border:none;-webkit-appearance:none;appearance:none;border-radius:var(--cui-radius-full);background-color:var(--cui-progress-track-color);box-shadow:inset 0 0 0 var(--cui-border-width-sm) var(--cui-base-border)}.cui-progress__bar::-webkit-progress-bar{border-radius:var(--cui-radius-full);background-color:var(--cui-progress-track-color);box-shadow:inset 0 0 0 var(--cui-border-width-sm) var(--cui-base-border)}.cui-progress__bar::-webkit-progress-value{border-radius:var(--cui-radius-full);background-color:var(--cui-progress-indicator-color);transition:width var(--cui-transition-base)}.cui-progress__bar::-moz-progress-bar{border-radius:var(--cui-radius-full);background-color:var(--cui-progress-indicator-color)}.cui-progress__bar:indeterminate{background-image:linear-gradient(to right, var(--cui-progress-indicator-color), var(--cui-progress-indicator-color));background-repeat:no-repeat;background-size:40% 100%;animation:cui-progress-sweep 1.5s linear infinite}.cui-progress__bar:indeterminate::-webkit-progress-bar{background-image:linear-gradient(to right, var(--cui-progress-indicator-color), var(--cui-progress-indicator-color));background-repeat:no-repeat;background-size:40% 100%;animation:cui-progress-sweep 1.5s linear infinite}.cui-progress__bar:indeterminate::-webkit-progress-value{display:none}.cui-progress__bar:indeterminate::-moz-progress-bar{background-color:transparent}.cui-progress__value{flex:0 0 auto;color:var(--cui-base-text-secondary);font-size:var(--cui-font-size-sm);font-weight:var(--cui-font-weight-medium);font-variant-numeric:tabular-nums}.cui-progress--small .cui-progress__bar{height:var(--cui-spacing-xs)}.cui-progress--medium .cui-progress__bar{height:var(--cui-spacing-sm)}.cui-progress--large .cui-progress__bar{height:var(--cui-spacing-md)}@keyframes cui-progress-sweep{from{background-position-x:-66.67%}to{background-position-x:166.67%}}@media (prefers-reduced-motion: reduce){.cui-progress__bar::-webkit-progress-value{transition:none}.cui-progress__bar:indeterminate{animation-duration:3s}.cui-progress__bar:indeterminate::-webkit-progress-bar{animation-duration:3s}}`;
|
|
6
|
+
|
|
7
|
+
const CuiProgress = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
/** How much of the task is done, clamped to the range `0`–`max`. */
|
|
11
|
+
this.value = 0;
|
|
12
|
+
/** The value that counts as complete. */
|
|
13
|
+
this.max = 100;
|
|
14
|
+
/**
|
|
15
|
+
* Animates continuously instead of showing a value. Use it only while the total amount
|
|
16
|
+
* of work is genuinely unknown — prefer a real `value` whenever the work reports one.
|
|
17
|
+
*/
|
|
18
|
+
this.indeterminate = false;
|
|
19
|
+
/** Thickness of the bar. */
|
|
20
|
+
this.size = 'medium';
|
|
21
|
+
/** Renders the completed percentage as text beside the bar. Ignored when indeterminate. */
|
|
22
|
+
this.showValue = false;
|
|
23
|
+
}
|
|
24
|
+
/** `max` is only meaningful above zero; anything else falls back to a percentage scale. */
|
|
25
|
+
get resolvedMax() {
|
|
26
|
+
return Number.isFinite(this.max) && this.max > 0 ? this.max : 100;
|
|
27
|
+
}
|
|
28
|
+
get clampedValue() {
|
|
29
|
+
if (!Number.isFinite(this.value))
|
|
30
|
+
return 0;
|
|
31
|
+
return Math.min(Math.max(this.value, 0), this.resolvedMax);
|
|
32
|
+
}
|
|
33
|
+
get percent() {
|
|
34
|
+
return (this.clampedValue / this.resolvedMax) * 100;
|
|
35
|
+
}
|
|
36
|
+
render() {
|
|
37
|
+
const { indeterminate, showValue } = this;
|
|
38
|
+
return (index.h("div", { key: '8d0c5db599704bd96ef2703f9c76dc428be453b7', part: "base", class: {
|
|
39
|
+
'cui-progress': true,
|
|
40
|
+
[`cui-progress--${this.size}`]: true,
|
|
41
|
+
} }, index.h("progress", { key: '03ec475e5913e56a0e19ba40d5d5e4982e5494df', part: "bar", class: "cui-progress__bar", "aria-label": this.label, max: this.resolvedMax, value: indeterminate ? undefined : this.clampedValue }), showValue && !indeterminate && (index.h("span", { key: '87d7519bcc458407389b34eb112acc49485e450c', part: "value", class: "cui-progress__value" }, Math.round(this.percent), "%"))));
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
CuiProgress.style = cuiProgressCss();
|
|
45
|
+
|
|
46
|
+
exports.cui_progress = CuiProgress;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-CJFDVa2g.js');
|
|
4
4
|
|
|
5
5
|
const cuiTagCss = () => `:host{display:inline-block}.cui-tag{font-family:var(--cui-font-family-base);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--cui-radius-sm);font-weight:var(--cui-font-weight-semibold);white-space:nowrap}.cui-tag--small{padding:var(--cui-spacing-xxs) var(--cui-spacing-sm);font-size:var(--cui-font-size-xs)}.cui-tag--medium{padding:var(--cui-spacing-xs) var(--cui-spacing-md);font-size:var(--cui-font-size-sm)}.cui-tag--default{background-color:var(--cui-accent-bg);color:var(--cui-accent-text)}.cui-tag--highlight{background-color:var(--cui-highlight-bg);color:var(--cui-highlight-text)}.cui-tag--info{background-color:var(--cui-info-bg);color:var(--cui-info-text)}.cui-tag--negative{background-color:var(--cui-negative-bg);color:var(--cui-negative-text)}.cui-tag--neutral{background-color:var(--cui-neutral-bg);color:var(--cui-neutral-text)}.cui-tag--positive{background-color:var(--cui-positive-bg);color:var(--cui-positive-text)}.cui-tag--warning{background-color:var(--cui-warning-bg);color:var(--cui-warning-text)}`;
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ const CuiTag = class {
|
|
|
12
12
|
this.size = 'medium';
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return (index.h("span", { key: '
|
|
15
|
+
return (index.h("span", { key: '4766498cc28770f682c732522ec571c5b2335cf3', class: {
|
|
16
16
|
'cui-tag': true,
|
|
17
17
|
[`cui-tag--${this.variant}`]: true,
|
|
18
18
|
[`cui-tag--${this.size}`]: true,
|
|
@@ -4,7 +4,7 @@ const NAMESPACE = 'cortex-ui';
|
|
|
4
4
|
const BUILD = /* cortex-ui */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, prop: true, propChangeCallback: false, updatable: true};
|
|
5
5
|
|
|
6
6
|
const globalScripts = () => {};
|
|
7
|
-
const globalStyles = ":root{--cui-light-blue-100:#ededff;--cui-light-blue-200:#ddddfe;--cui-light-blue-300:#bcbcfe;--cui-light-blue-400:#9898fc;--cui-light-blue-500:#7070ff;--cui-light-blue-600:#4c4cd9;--cui-light-blue-700:#30309f;--cui-light-blue-800:#121265;--cui-light-blue-900:#070756;--cui-light-gray-50:#ffffff;--cui-light-gray-75:#fafafa;--cui-light-gray-100:#f3f3f3;--cui-light-gray-200:#e5e5e5;--cui-light-gray-300:#c3c3c3;--cui-light-gray-400:#a3a3a3;--cui-light-gray-500:#828282;--cui-light-gray-600:#5b5b5b;--cui-light-gray-700:#3b3b3b;--cui-light-gray-800:#1b1b1b;--cui-light-gray-900:#101010;--cui-light-green-100:#d1fbf8;--cui-light-green-200:#b1f5f1;--cui-light-green-300:#7de0d9;--cui-light-green-400:#39d0c6;--cui-light-green-500:#02b1a5;--cui-light-green-600:#01867e;--cui-light-green-700:#015751;--cui-light-green-800:#042825;--cui-light-green-900:#011917;--cui-light-purple-100:#f0e7fd;--cui-light-purple-200:#e4d7fa;--cui-light-purple-300:#ccb4f2;--cui-light-purple-400:#a980ec;--cui-light-purple-500:#874fe2;--cui-light-purple-600:#743fca;--cui-light-purple-700:#4e2294;--cui-light-purple-800:#260f4c;--cui-light-purple-900:#1d0544;--cui-light-red-100:#fee6f0;--cui-light-red-200:#fad1e2;--cui-light-red-300:#ecabc5;--cui-light-red-400:#dc709b;--cui-light-red-500:#e0387c;--cui-light-red-600:#cd2568;--cui-light-red-700:#9b0b44;--cui-light-red-800:#4c0521;--cui-light-red-900:#2f0214;--cui-light-yellow-100:#fdefca;--cui-light-yellow-200:#fce197;--cui-light-yellow-300:#f6cf62;--cui-light-yellow-400:#e1ac1c;--cui-light-yellow-500:#d39c00;--cui-light-yellow-600:#926c04;--cui-light-yellow-700:#594202;--cui-light-yellow-800:#402f02;--cui-light-yellow-900:#2f2200;--cui-dark-blue-100:#070756;--cui-dark-blue-200:#121265;--cui-dark-blue-300:#30309f;--cui-dark-blue-400:#4c4cd9;--cui-dark-blue-500:#7070ff;--cui-dark-blue-600:#9898fc;--cui-dark-blue-700:#bcbcfe;--cui-dark-blue-800:#ddddfe;--cui-dark-blue-900:#ededff;--cui-dark-gray-50:#101010;--cui-dark-gray-75:#1b1b1b;--cui-dark-gray-100:#3b3b3b;--cui-dark-gray-200:#5b5b5b;--cui-dark-gray-300:#828282;--cui-dark-gray-400:#a3a3a3;--cui-dark-gray-500:#c3c3c3;--cui-dark-gray-600:#e5e5e5;--cui-dark-gray-700:#f3f3f3;--cui-dark-gray-800:#fafafa;--cui-dark-gray-900:#ffffff;--cui-dark-green-100:#011917;--cui-dark-green-200:#042825;--cui-dark-green-300:#015751;--cui-dark-green-400:#01867e;--cui-dark-green-500:#02b1a5;--cui-dark-green-600:#39d0c6;--cui-dark-green-700:#7de0d9;--cui-dark-green-800:#b1f5f1;--cui-dark-green-900:#d1fbf8;--cui-dark-purple-100:#151530;--cui-dark-purple-200:#260f4c;--cui-dark-purple-300:#4e2294;--cui-dark-purple-400:#743fca;--cui-dark-purple-500:#874fe2;--cui-dark-purple-600:#a980ec;--cui-dark-purple-700:#ccb4f2;--cui-dark-purple-800:#e4d7fa;--cui-dark-purple-900:#f0e7fd;--cui-dark-red-100:#2f0214;--cui-dark-red-200:#4c0521;--cui-dark-red-300:#9b0b44;--cui-dark-red-400:#cd2568;--cui-dark-red-500:#e0387c;--cui-dark-red-600:#dc709b;--cui-dark-red-700:#ecabc5;--cui-dark-red-800:#fad1e2;--cui-dark-red-900:#fee6f0;--cui-dark-yellow-100:#2f2200;--cui-dark-yellow-200:#402f02;--cui-dark-yellow-300:#594202;--cui-dark-yellow-400:#926c04;--cui-dark-yellow-500:#d39c00;--cui-dark-yellow-600:#e1ac1c;--cui-dark-yellow-700:#f6cf62;--cui-dark-yellow-800:#fce197;--cui-dark-yellow-900:#fdefca;--cui-blue-100:var(--cui-light-blue-100);--cui-blue-200:var(--cui-light-blue-200);--cui-blue-300:var(--cui-light-blue-300);--cui-blue-400:var(--cui-light-blue-400);--cui-blue-500:var(--cui-light-blue-500);--cui-blue-600:var(--cui-light-blue-600);--cui-blue-700:var(--cui-light-blue-700);--cui-blue-800:var(--cui-light-blue-800);--cui-blue-900:var(--cui-light-blue-900);--cui-gray-50:var(--cui-light-gray-50);--cui-gray-75:var(--cui-light-gray-75);--cui-gray-100:var(--cui-light-gray-100);--cui-gray-200:var(--cui-light-gray-200);--cui-gray-300:var(--cui-light-gray-300);--cui-gray-400:var(--cui-light-gray-400);--cui-gray-500:var(--cui-light-gray-500);--cui-gray-600:var(--cui-light-gray-600);--cui-gray-700:var(--cui-light-gray-700);--cui-gray-800:var(--cui-light-gray-800);--cui-gray-900:var(--cui-light-gray-900);--cui-green-100:var(--cui-light-green-100);--cui-green-200:var(--cui-light-green-200);--cui-green-300:var(--cui-light-green-300);--cui-green-400:var(--cui-light-green-400);--cui-green-500:var(--cui-light-green-500);--cui-green-600:var(--cui-light-green-600);--cui-green-700:var(--cui-light-green-700);--cui-green-800:var(--cui-light-green-800);--cui-green-900:var(--cui-light-green-900);--cui-purple-100:var(--cui-light-purple-100);--cui-purple-200:var(--cui-light-purple-200);--cui-purple-300:var(--cui-light-purple-300);--cui-purple-400:var(--cui-light-purple-400);--cui-purple-500:var(--cui-light-purple-500);--cui-purple-600:var(--cui-light-purple-600);--cui-purple-700:var(--cui-light-purple-700);--cui-purple-800:var(--cui-light-purple-800);--cui-purple-900:var(--cui-light-purple-900);--cui-red-100:var(--cui-light-red-100);--cui-red-200:var(--cui-light-red-200);--cui-red-300:var(--cui-light-red-300);--cui-red-400:var(--cui-light-red-400);--cui-red-500:var(--cui-light-red-500);--cui-red-600:var(--cui-light-red-600);--cui-red-700:var(--cui-light-red-700);--cui-red-800:var(--cui-light-red-800);--cui-red-900:var(--cui-light-red-900);--cui-yellow-100:var(--cui-light-yellow-100);--cui-yellow-200:var(--cui-light-yellow-200);--cui-yellow-300:var(--cui-light-yellow-300);--cui-yellow-400:var(--cui-light-yellow-400);--cui-yellow-500:var(--cui-light-yellow-500);--cui-yellow-600:var(--cui-light-yellow-600);--cui-yellow-700:var(--cui-light-yellow-700);--cui-yellow-800:var(--cui-light-yellow-800);--cui-yellow-900:var(--cui-light-yellow-900);--cui-base-bg:var(--cui-gray-50);--cui-base-bg-lvl-1:var(--cui-gray-75);--cui-base-bg-lvl-2:var(--cui-gray-100);--cui-base-text-primary:var(--cui-gray-900);--cui-base-text-secondary:var(--cui-gray-700);--cui-base-text-inverted:var(--cui-gray-50);--cui-base-border:var(--cui-gray-200);--cui-accent:var(--cui-blue-500);--cui-accent-bg:var(--cui-blue-100);--cui-accent-border:var(--cui-blue-300);--cui-accent-text:var(--cui-blue-800);--cui-positive:var(--cui-green-500);--cui-positive-bg:var(--cui-green-100);--cui-positive-border:var(--cui-green-300);--cui-positive-text:var(--cui-green-800);--cui-warning:var(--cui-yellow-500);--cui-warning-bg:var(--cui-yellow-100);--cui-warning-border:var(--cui-yellow-300);--cui-warning-text:var(--cui-yellow-800);--cui-negative:var(--cui-red-500);--cui-negative-bg:var(--cui-red-100);--cui-negative-border:var(--cui-red-300);--cui-negative-text:var(--cui-red-800);--cui-neutral:var(--cui-gray-500);--cui-neutral-bg:var(--cui-gray-100);--cui-neutral-border:var(--cui-gray-300);--cui-neutral-text:var(--cui-gray-800);--cui-highlight:var(--cui-purple-500);--cui-highlight-bg:var(--cui-purple-100);--cui-highlight-border:var(--cui-purple-300);--cui-highlight-text:var(--cui-purple-800);--cui-info:var(--cui-blue-500);--cui-info-bg:var(--cui-blue-100);--cui-info-border:var(--cui-blue-300);--cui-info-text:var(--cui-blue-800);--cui-font-family-base:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;--cui-font-family-mono:'SF Mono', 'Fira Code', 'Fira Mono', Menlo, Consolas, monospace;--cui-font-size-xxs:10px;--cui-font-size-xs:12px;--cui-font-size-sm:14px;--cui-font-size-md:16px;--cui-font-size-lg:18px;--cui-font-size-xl:24px;--cui-font-weight-normal:400;--cui-font-weight-medium:500;--cui-font-weight-semibold:600;--cui-font-weight-bold:700;--cui-line-height-tight:1.2;--cui-line-height-base:1.4;--cui-spacing-xxs:2px;--cui-spacing-xs:4px;--cui-spacing-sm:8px;--cui-spacing-md:12px;--cui-spacing-lg:20px;--cui-spacing-xl:32px;--cui-spacing-xxl:48px;--cui-radius-sm:4px;--cui-radius-md:6px;--cui-radius-lg:8px;--cui-radius-full:9999px;--cui-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--cui-shadow-md:0 2px 4px rgba(0, 0, 0, 0.1);--cui-shadow-lg:0 4px 12px rgba(0, 0, 0, 0.15);--cui-transition-fast:160ms ease;--cui-transition-base:240ms ease;--cui-transition-slow:320ms ease}:root[data-theme=dark]{--cui-blue-100:var(--cui-dark-blue-100);--cui-blue-200:var(--cui-dark-blue-200);--cui-blue-300:var(--cui-dark-blue-300);--cui-blue-400:var(--cui-dark-blue-400);--cui-blue-500:var(--cui-dark-blue-500);--cui-blue-600:var(--cui-dark-blue-600);--cui-blue-700:var(--cui-dark-blue-700);--cui-blue-800:var(--cui-dark-blue-800);--cui-blue-900:var(--cui-dark-blue-900);--cui-gray-50:var(--cui-dark-gray-50);--cui-gray-75:var(--cui-dark-gray-75);--cui-gray-100:var(--cui-dark-gray-100);--cui-gray-200:var(--cui-dark-gray-200);--cui-gray-300:var(--cui-dark-gray-300);--cui-gray-400:var(--cui-dark-gray-400);--cui-gray-500:var(--cui-dark-gray-500);--cui-gray-600:var(--cui-dark-gray-600);--cui-gray-700:var(--cui-dark-gray-700);--cui-gray-800:var(--cui-dark-gray-800);--cui-gray-900:var(--cui-dark-gray-900);--cui-green-100:var(--cui-dark-green-100);--cui-green-200:var(--cui-dark-green-200);--cui-green-300:var(--cui-dark-green-300);--cui-green-400:var(--cui-dark-green-400);--cui-green-500:var(--cui-dark-green-500);--cui-green-600:var(--cui-dark-green-600);--cui-green-700:var(--cui-dark-green-700);--cui-green-800:var(--cui-dark-green-800);--cui-green-900:var(--cui-dark-green-900);--cui-purple-100:var(--cui-dark-purple-100);--cui-purple-200:var(--cui-dark-purple-200);--cui-purple-300:var(--cui-dark-purple-300);--cui-purple-400:var(--cui-dark-purple-400);--cui-purple-500:var(--cui-dark-purple-500);--cui-purple-600:var(--cui-dark-purple-600);--cui-purple-700:var(--cui-dark-purple-700);--cui-purple-800:var(--cui-dark-purple-800);--cui-purple-900:var(--cui-dark-purple-900);--cui-red-100:var(--cui-dark-red-100);--cui-red-200:var(--cui-dark-red-200);--cui-red-300:var(--cui-dark-red-300);--cui-red-400:var(--cui-dark-red-400);--cui-red-500:var(--cui-dark-red-500);--cui-red-600:var(--cui-dark-red-600);--cui-red-700:var(--cui-dark-red-700);--cui-red-800:var(--cui-dark-red-800);--cui-red-900:var(--cui-dark-red-900);--cui-yellow-100:var(--cui-dark-yellow-100);--cui-yellow-200:var(--cui-dark-yellow-200);--cui-yellow-300:var(--cui-dark-yellow-300);--cui-yellow-400:var(--cui-dark-yellow-400);--cui-yellow-500:var(--cui-dark-yellow-500);--cui-yellow-600:var(--cui-dark-yellow-600);--cui-yellow-700:var(--cui-dark-yellow-700);--cui-yellow-800:var(--cui-dark-yellow-800);--cui-yellow-900:var(--cui-dark-yellow-900);--cui-base-text-secondary:var(--cui-gray-600)}*,*::before,*::after{box-sizing:border-box}html{font-family:var(--cui-font-family-base);font-size:var(--cui-font-size-md);line-height:var(--cui-line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;color:var(--cui-base-text-secondary);background:var(--cui-base-bg)}a{color:var(--cui-accent-text)}";
|
|
7
|
+
const globalStyles = ":root{--cui-light-blue-100:#ededff;--cui-light-blue-200:#ddddfe;--cui-light-blue-300:#bcbcfe;--cui-light-blue-400:#9898fc;--cui-light-blue-500:#7070ff;--cui-light-blue-600:#4c4cd9;--cui-light-blue-700:#30309f;--cui-light-blue-800:#121265;--cui-light-blue-900:#070756;--cui-light-gray-50:#ffffff;--cui-light-gray-75:#fafafa;--cui-light-gray-100:#f3f3f3;--cui-light-gray-200:#e5e5e5;--cui-light-gray-300:#c3c3c3;--cui-light-gray-400:#a3a3a3;--cui-light-gray-500:#828282;--cui-light-gray-600:#5b5b5b;--cui-light-gray-700:#3b3b3b;--cui-light-gray-800:#1b1b1b;--cui-light-gray-900:#101010;--cui-light-green-100:#d1fbf8;--cui-light-green-200:#b1f5f1;--cui-light-green-300:#7de0d9;--cui-light-green-400:#39d0c6;--cui-light-green-500:#02b1a5;--cui-light-green-600:#01867e;--cui-light-green-700:#015751;--cui-light-green-800:#042825;--cui-light-green-900:#011917;--cui-light-purple-100:#f0e7fd;--cui-light-purple-200:#e4d7fa;--cui-light-purple-300:#ccb4f2;--cui-light-purple-400:#a980ec;--cui-light-purple-500:#874fe2;--cui-light-purple-600:#743fca;--cui-light-purple-700:#4e2294;--cui-light-purple-800:#260f4c;--cui-light-purple-900:#1d0544;--cui-light-red-100:#fee6f0;--cui-light-red-200:#fad1e2;--cui-light-red-300:#ecabc5;--cui-light-red-400:#dc709b;--cui-light-red-500:#e0387c;--cui-light-red-600:#cd2568;--cui-light-red-700:#9b0b44;--cui-light-red-800:#4c0521;--cui-light-red-900:#2f0214;--cui-light-yellow-100:#fdefca;--cui-light-yellow-200:#fce197;--cui-light-yellow-300:#f6cf62;--cui-light-yellow-400:#e1ac1c;--cui-light-yellow-500:#d39c00;--cui-light-yellow-600:#926c04;--cui-light-yellow-700:#594202;--cui-light-yellow-800:#402f02;--cui-light-yellow-900:#2f2200;--cui-light-shadow-100:rgba(16, 16, 16, 0.05);--cui-light-shadow-200:rgba(16, 16, 16, 0.1);--cui-light-shadow-300:rgba(16, 16, 16, 0.15);--cui-dark-blue-100:#070756;--cui-dark-blue-200:#121265;--cui-dark-blue-300:#30309f;--cui-dark-blue-400:#4c4cd9;--cui-dark-blue-500:#7070ff;--cui-dark-blue-600:#9898fc;--cui-dark-blue-700:#bcbcfe;--cui-dark-blue-800:#ddddfe;--cui-dark-blue-900:#ededff;--cui-dark-gray-50:#101010;--cui-dark-gray-75:#1b1b1b;--cui-dark-gray-100:#3b3b3b;--cui-dark-gray-200:#5b5b5b;--cui-dark-gray-300:#828282;--cui-dark-gray-400:#a3a3a3;--cui-dark-gray-500:#c3c3c3;--cui-dark-gray-600:#e5e5e5;--cui-dark-gray-700:#f3f3f3;--cui-dark-gray-800:#fafafa;--cui-dark-gray-900:#ffffff;--cui-dark-green-100:#011917;--cui-dark-green-200:#042825;--cui-dark-green-300:#015751;--cui-dark-green-400:#01867e;--cui-dark-green-500:#02b1a5;--cui-dark-green-600:#39d0c6;--cui-dark-green-700:#7de0d9;--cui-dark-green-800:#b1f5f1;--cui-dark-green-900:#d1fbf8;--cui-dark-purple-100:#151530;--cui-dark-purple-200:#260f4c;--cui-dark-purple-300:#4e2294;--cui-dark-purple-400:#743fca;--cui-dark-purple-500:#874fe2;--cui-dark-purple-600:#a980ec;--cui-dark-purple-700:#ccb4f2;--cui-dark-purple-800:#e4d7fa;--cui-dark-purple-900:#f0e7fd;--cui-dark-red-100:#2f0214;--cui-dark-red-200:#4c0521;--cui-dark-red-300:#9b0b44;--cui-dark-red-400:#cd2568;--cui-dark-red-500:#e0387c;--cui-dark-red-600:#dc709b;--cui-dark-red-700:#ecabc5;--cui-dark-red-800:#fad1e2;--cui-dark-red-900:#fee6f0;--cui-dark-yellow-100:#2f2200;--cui-dark-yellow-200:#402f02;--cui-dark-yellow-300:#594202;--cui-dark-yellow-400:#926c04;--cui-dark-yellow-500:#d39c00;--cui-dark-yellow-600:#e1ac1c;--cui-dark-yellow-700:#f6cf62;--cui-dark-yellow-800:#fce197;--cui-dark-yellow-900:#fdefca;--cui-dark-shadow-100:rgba(0, 0, 0, 0.4);--cui-dark-shadow-200:rgba(0, 0, 0, 0.5);--cui-dark-shadow-300:rgba(0, 0, 0, 0.6);--cui-blue-100:var(--cui-light-blue-100);--cui-blue-200:var(--cui-light-blue-200);--cui-blue-300:var(--cui-light-blue-300);--cui-blue-400:var(--cui-light-blue-400);--cui-blue-500:var(--cui-light-blue-500);--cui-blue-600:var(--cui-light-blue-600);--cui-blue-700:var(--cui-light-blue-700);--cui-blue-800:var(--cui-light-blue-800);--cui-blue-900:var(--cui-light-blue-900);--cui-gray-50:var(--cui-light-gray-50);--cui-gray-75:var(--cui-light-gray-75);--cui-gray-100:var(--cui-light-gray-100);--cui-gray-200:var(--cui-light-gray-200);--cui-gray-300:var(--cui-light-gray-300);--cui-gray-400:var(--cui-light-gray-400);--cui-gray-500:var(--cui-light-gray-500);--cui-gray-600:var(--cui-light-gray-600);--cui-gray-700:var(--cui-light-gray-700);--cui-gray-800:var(--cui-light-gray-800);--cui-gray-900:var(--cui-light-gray-900);--cui-green-100:var(--cui-light-green-100);--cui-green-200:var(--cui-light-green-200);--cui-green-300:var(--cui-light-green-300);--cui-green-400:var(--cui-light-green-400);--cui-green-500:var(--cui-light-green-500);--cui-green-600:var(--cui-light-green-600);--cui-green-700:var(--cui-light-green-700);--cui-green-800:var(--cui-light-green-800);--cui-green-900:var(--cui-light-green-900);--cui-purple-100:var(--cui-light-purple-100);--cui-purple-200:var(--cui-light-purple-200);--cui-purple-300:var(--cui-light-purple-300);--cui-purple-400:var(--cui-light-purple-400);--cui-purple-500:var(--cui-light-purple-500);--cui-purple-600:var(--cui-light-purple-600);--cui-purple-700:var(--cui-light-purple-700);--cui-purple-800:var(--cui-light-purple-800);--cui-purple-900:var(--cui-light-purple-900);--cui-red-100:var(--cui-light-red-100);--cui-red-200:var(--cui-light-red-200);--cui-red-300:var(--cui-light-red-300);--cui-red-400:var(--cui-light-red-400);--cui-red-500:var(--cui-light-red-500);--cui-red-600:var(--cui-light-red-600);--cui-red-700:var(--cui-light-red-700);--cui-red-800:var(--cui-light-red-800);--cui-red-900:var(--cui-light-red-900);--cui-yellow-100:var(--cui-light-yellow-100);--cui-yellow-200:var(--cui-light-yellow-200);--cui-yellow-300:var(--cui-light-yellow-300);--cui-yellow-400:var(--cui-light-yellow-400);--cui-yellow-500:var(--cui-light-yellow-500);--cui-yellow-600:var(--cui-light-yellow-600);--cui-yellow-700:var(--cui-light-yellow-700);--cui-yellow-800:var(--cui-light-yellow-800);--cui-yellow-900:var(--cui-light-yellow-900);--cui-shadow-color-100:var(--cui-light-shadow-100);--cui-shadow-color-200:var(--cui-light-shadow-200);--cui-shadow-color-300:var(--cui-light-shadow-300);--cui-base-bg:var(--cui-gray-50);--cui-base-bg-lvl-1:var(--cui-gray-75);--cui-base-bg-lvl-2:var(--cui-gray-100);--cui-base-bg-hover:var(--cui-gray-100);--cui-base-bg-active:var(--cui-gray-200);--cui-base-bg-selected:var(--cui-blue-100);--cui-base-text-primary:var(--cui-gray-900);--cui-base-text-secondary:var(--cui-gray-700);--cui-base-text-inverted:var(--cui-gray-50);--cui-base-border:var(--cui-gray-200);--cui-accent:var(--cui-blue-500);--cui-accent-hover:var(--cui-blue-600);--cui-accent-active:var(--cui-blue-700);--cui-accent-bg:var(--cui-blue-100);--cui-accent-bg-hover:var(--cui-blue-200);--cui-accent-bg-active:var(--cui-blue-300);--cui-accent-bg-selected:var(--cui-blue-200);--cui-accent-border:var(--cui-blue-300);--cui-accent-border-hover:var(--cui-blue-600);--cui-accent-text:var(--cui-blue-800);--cui-positive:var(--cui-green-500);--cui-positive-hover:var(--cui-green-600);--cui-positive-active:var(--cui-green-700);--cui-positive-bg:var(--cui-green-100);--cui-positive-bg-hover:var(--cui-green-200);--cui-positive-bg-active:var(--cui-green-300);--cui-positive-bg-selected:var(--cui-green-200);--cui-positive-border:var(--cui-green-300);--cui-positive-border-hover:var(--cui-green-600);--cui-positive-text:var(--cui-green-800);--cui-warning:var(--cui-yellow-500);--cui-warning-hover:var(--cui-yellow-600);--cui-warning-active:var(--cui-yellow-700);--cui-warning-bg:var(--cui-yellow-100);--cui-warning-bg-hover:var(--cui-yellow-200);--cui-warning-bg-active:var(--cui-yellow-300);--cui-warning-bg-selected:var(--cui-yellow-200);--cui-warning-border:var(--cui-yellow-300);--cui-warning-border-hover:var(--cui-yellow-600);--cui-warning-text:var(--cui-yellow-800);--cui-negative:var(--cui-red-500);--cui-negative-hover:var(--cui-red-600);--cui-negative-active:var(--cui-red-700);--cui-negative-bg:var(--cui-red-100);--cui-negative-bg-hover:var(--cui-red-200);--cui-negative-bg-active:var(--cui-red-300);--cui-negative-bg-selected:var(--cui-red-200);--cui-negative-border:var(--cui-red-300);--cui-negative-border-hover:var(--cui-red-600);--cui-negative-text:var(--cui-red-800);--cui-neutral:var(--cui-gray-500);--cui-neutral-hover:var(--cui-gray-600);--cui-neutral-active:var(--cui-gray-700);--cui-neutral-bg:var(--cui-gray-100);--cui-neutral-bg-hover:var(--cui-gray-200);--cui-neutral-bg-active:var(--cui-gray-300);--cui-neutral-bg-selected:var(--cui-gray-200);--cui-neutral-border:var(--cui-gray-300);--cui-neutral-border-hover:var(--cui-gray-600);--cui-neutral-text:var(--cui-gray-800);--cui-highlight:var(--cui-purple-500);--cui-highlight-hover:var(--cui-purple-600);--cui-highlight-active:var(--cui-purple-700);--cui-highlight-bg:var(--cui-purple-100);--cui-highlight-bg-hover:var(--cui-purple-200);--cui-highlight-bg-active:var(--cui-purple-300);--cui-highlight-bg-selected:var(--cui-purple-200);--cui-highlight-border:var(--cui-purple-300);--cui-highlight-border-hover:var(--cui-purple-600);--cui-highlight-text:var(--cui-purple-800);--cui-info:var(--cui-blue-500);--cui-info-hover:var(--cui-blue-600);--cui-info-active:var(--cui-blue-700);--cui-info-bg:var(--cui-blue-100);--cui-info-bg-hover:var(--cui-blue-200);--cui-info-bg-active:var(--cui-blue-300);--cui-info-bg-selected:var(--cui-blue-200);--cui-info-border:var(--cui-blue-300);--cui-info-border-hover:var(--cui-blue-600);--cui-info-text:var(--cui-blue-800);--cui-disabled-bg:var(--cui-gray-100);--cui-disabled-border:var(--cui-gray-300);--cui-disabled-text:var(--cui-gray-500);--cui-disabled-opacity:0.5;--cui-focus-ring:var(--cui-blue-600);--cui-focus-ring-width:2px;--cui-focus-ring-offset:2px;--cui-font-family-base:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;--cui-font-family-mono:'SF Mono', 'Fira Code', 'Fira Mono', Menlo, Consolas, monospace;--cui-font-size-xxs:10px;--cui-font-size-xs:12px;--cui-font-size-sm:14px;--cui-font-size-md:16px;--cui-font-size-lg:18px;--cui-font-size-xl:24px;--cui-font-size-xxl:32px;--cui-font-size-display-sm:40px;--cui-font-size-display-md:48px;--cui-font-size-display-lg:60px;--cui-font-weight-normal:400;--cui-font-weight-medium:500;--cui-font-weight-semibold:600;--cui-font-weight-bold:700;--cui-line-height-tight:1.2;--cui-line-height-base:1.4;--cui-line-height-loose:1.6;--cui-letter-spacing-tight:-0.02em;--cui-letter-spacing-base:0;--cui-letter-spacing-wide:0.04em;--cui-spacing-xxs:2px;--cui-spacing-xs:4px;--cui-spacing-sm:8px;--cui-spacing-md:12px;--cui-spacing-lg:20px;--cui-spacing-xl:32px;--cui-spacing-xxl:48px;--cui-radius-none:0;--cui-radius-xs:2px;--cui-radius-sm:4px;--cui-radius-md:6px;--cui-radius-lg:8px;--cui-radius-full:9999px;--cui-border-width-sm:1px;--cui-border-width-md:2px;--cui-border-width-lg:4px;--cui-control-height-sm:28px;--cui-control-height-md:36px;--cui-control-height-lg:44px;--cui-control-padding-sm:var(--cui-spacing-sm);--cui-control-padding-md:var(--cui-spacing-md);--cui-control-padding-lg:var(--cui-spacing-lg);--cui-shadow-sm:0 1px 2px var(--cui-shadow-color-100);--cui-shadow-md:0 2px 4px var(--cui-shadow-color-200);--cui-shadow-lg:0 4px 12px var(--cui-shadow-color-300);--cui-transition-fast:160ms ease;--cui-transition-base:240ms ease;--cui-transition-slow:320ms ease}:root[data-theme=dark]{--cui-blue-100:var(--cui-dark-blue-100);--cui-blue-200:var(--cui-dark-blue-200);--cui-blue-300:var(--cui-dark-blue-300);--cui-blue-400:var(--cui-dark-blue-400);--cui-blue-500:var(--cui-dark-blue-500);--cui-blue-600:var(--cui-dark-blue-600);--cui-blue-700:var(--cui-dark-blue-700);--cui-blue-800:var(--cui-dark-blue-800);--cui-blue-900:var(--cui-dark-blue-900);--cui-gray-50:var(--cui-dark-gray-50);--cui-gray-75:var(--cui-dark-gray-75);--cui-gray-100:var(--cui-dark-gray-100);--cui-gray-200:var(--cui-dark-gray-200);--cui-gray-300:var(--cui-dark-gray-300);--cui-gray-400:var(--cui-dark-gray-400);--cui-gray-500:var(--cui-dark-gray-500);--cui-gray-600:var(--cui-dark-gray-600);--cui-gray-700:var(--cui-dark-gray-700);--cui-gray-800:var(--cui-dark-gray-800);--cui-gray-900:var(--cui-dark-gray-900);--cui-green-100:var(--cui-dark-green-100);--cui-green-200:var(--cui-dark-green-200);--cui-green-300:var(--cui-dark-green-300);--cui-green-400:var(--cui-dark-green-400);--cui-green-500:var(--cui-dark-green-500);--cui-green-600:var(--cui-dark-green-600);--cui-green-700:var(--cui-dark-green-700);--cui-green-800:var(--cui-dark-green-800);--cui-green-900:var(--cui-dark-green-900);--cui-purple-100:var(--cui-dark-purple-100);--cui-purple-200:var(--cui-dark-purple-200);--cui-purple-300:var(--cui-dark-purple-300);--cui-purple-400:var(--cui-dark-purple-400);--cui-purple-500:var(--cui-dark-purple-500);--cui-purple-600:var(--cui-dark-purple-600);--cui-purple-700:var(--cui-dark-purple-700);--cui-purple-800:var(--cui-dark-purple-800);--cui-purple-900:var(--cui-dark-purple-900);--cui-red-100:var(--cui-dark-red-100);--cui-red-200:var(--cui-dark-red-200);--cui-red-300:var(--cui-dark-red-300);--cui-red-400:var(--cui-dark-red-400);--cui-red-500:var(--cui-dark-red-500);--cui-red-600:var(--cui-dark-red-600);--cui-red-700:var(--cui-dark-red-700);--cui-red-800:var(--cui-dark-red-800);--cui-red-900:var(--cui-dark-red-900);--cui-yellow-100:var(--cui-dark-yellow-100);--cui-yellow-200:var(--cui-dark-yellow-200);--cui-yellow-300:var(--cui-dark-yellow-300);--cui-yellow-400:var(--cui-dark-yellow-400);--cui-yellow-500:var(--cui-dark-yellow-500);--cui-yellow-600:var(--cui-dark-yellow-600);--cui-yellow-700:var(--cui-dark-yellow-700);--cui-yellow-800:var(--cui-dark-yellow-800);--cui-yellow-900:var(--cui-dark-yellow-900);--cui-shadow-color-100:var(--cui-dark-shadow-100);--cui-shadow-color-200:var(--cui-dark-shadow-200);--cui-shadow-color-300:var(--cui-dark-shadow-300);--cui-base-text-secondary:var(--cui-gray-600);--cui-shadow-sm:0 0 0 var(--cui-border-width-sm) var(--cui-gray-100), 0 1px 2px var(--cui-shadow-color-100);--cui-shadow-md:0 0 0 var(--cui-border-width-sm) var(--cui-gray-100), 0 2px 4px var(--cui-shadow-color-200);--cui-shadow-lg:0 0 0 var(--cui-border-width-sm) var(--cui-gray-100), 0 4px 12px var(--cui-shadow-color-300)}*,*::before,*::after{box-sizing:border-box}html{font-family:var(--cui-font-family-base);font-size:var(--cui-font-size-md);line-height:var(--cui-line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;color:var(--cui-base-text-secondary);background:var(--cui-base-bg)}a{color:var(--cui-accent-text)}";
|
|
8
8
|
|
|
9
9
|
/*
|
|
10
10
|
Stencil Client Platform v4.43.5 | MIT Licensed | https://stenciljs.com
|
|
@@ -87,6 +87,7 @@ var registerHost = (hostElement, cmpMeta) => {
|
|
|
87
87
|
hostElement.__stencil__getHostRef = () => ref;
|
|
88
88
|
return ref;
|
|
89
89
|
};
|
|
90
|
+
var isMemberInElement = (elm, memberName) => memberName in elm;
|
|
90
91
|
var consoleError = (e, el) => (0, console.error)(e, el);
|
|
91
92
|
|
|
92
93
|
// src/client/client-load-module.ts
|
|
@@ -431,6 +432,14 @@ var isHost = (node) => node && node.$tag$ === Host;
|
|
|
431
432
|
// src/runtime/parse-property-value.ts
|
|
432
433
|
var parsePropertyValue = (propValue, propType, isFormAssociated) => {
|
|
433
434
|
if (propValue != null && !isComplexType(propValue)) {
|
|
435
|
+
if (propType & 4 /* Boolean */) {
|
|
436
|
+
{
|
|
437
|
+
return propValue === "false" ? false : propValue === "" || !!propValue;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
if (propType & 2 /* Number */) {
|
|
441
|
+
return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
|
|
442
|
+
}
|
|
434
443
|
if (propType & 1 /* String */) {
|
|
435
444
|
return String(propValue);
|
|
436
445
|
}
|
|
@@ -447,6 +456,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
|
|
|
447
456
|
if (oldValue === newValue) {
|
|
448
457
|
return;
|
|
449
458
|
}
|
|
459
|
+
let isProp = isMemberInElement(elm, memberName);
|
|
450
460
|
memberName.toLowerCase();
|
|
451
461
|
if (memberName === "class") {
|
|
452
462
|
const classList = elm.classList;
|
|
@@ -456,6 +466,69 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
|
|
|
456
466
|
classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
|
|
457
467
|
classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
|
|
458
468
|
}
|
|
469
|
+
} else if (memberName === "key") ; else if (memberName[0] === "a" && memberName.startsWith("attr:")) {
|
|
470
|
+
const propName = memberName.slice(5);
|
|
471
|
+
let attrName;
|
|
472
|
+
{
|
|
473
|
+
const hostRef = getHostRef(elm);
|
|
474
|
+
if (hostRef && hostRef.$cmpMeta$ && hostRef.$cmpMeta$.$members$) {
|
|
475
|
+
const memberMeta = hostRef.$cmpMeta$.$members$[propName];
|
|
476
|
+
if (memberMeta && memberMeta[1]) {
|
|
477
|
+
attrName = memberMeta[1];
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
if (!attrName) {
|
|
482
|
+
attrName = propName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
483
|
+
}
|
|
484
|
+
if (newValue == null || newValue === false) {
|
|
485
|
+
if (newValue !== false || elm.getAttribute(attrName) === "") {
|
|
486
|
+
elm.removeAttribute(attrName);
|
|
487
|
+
}
|
|
488
|
+
} else {
|
|
489
|
+
elm.setAttribute(attrName, newValue === true ? "" : newValue);
|
|
490
|
+
}
|
|
491
|
+
return;
|
|
492
|
+
} else if (memberName[0] === "p" && memberName.startsWith("prop:")) {
|
|
493
|
+
const propName = memberName.slice(5);
|
|
494
|
+
try {
|
|
495
|
+
elm[propName] = newValue;
|
|
496
|
+
} catch (e) {
|
|
497
|
+
}
|
|
498
|
+
return;
|
|
499
|
+
} else {
|
|
500
|
+
const isComplex = isComplexType(newValue);
|
|
501
|
+
if ((isProp || isComplex && newValue !== null) && !isSvg) {
|
|
502
|
+
try {
|
|
503
|
+
if (!elm.tagName.includes("-")) {
|
|
504
|
+
const n = newValue == null ? "" : newValue;
|
|
505
|
+
if (memberName === "list") {
|
|
506
|
+
isProp = false;
|
|
507
|
+
} else if (oldValue == null || elm[memberName] !== n) {
|
|
508
|
+
if (typeof elm.__lookupSetter__(memberName) === "function") {
|
|
509
|
+
elm[memberName] = n;
|
|
510
|
+
} else {
|
|
511
|
+
elm.setAttribute(memberName, n);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
} else if (elm[memberName] !== newValue) {
|
|
515
|
+
elm[memberName] = newValue;
|
|
516
|
+
}
|
|
517
|
+
} catch (e) {
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
if (newValue == null || newValue === false) {
|
|
521
|
+
if (newValue !== false || elm.getAttribute(memberName) === "") {
|
|
522
|
+
{
|
|
523
|
+
elm.removeAttribute(memberName);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
} else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
|
|
527
|
+
newValue = newValue === true ? "" : newValue;
|
|
528
|
+
{
|
|
529
|
+
elm.setAttribute(memberName, newValue);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
459
532
|
}
|
|
460
533
|
};
|
|
461
534
|
var parseClassListRegex = /\s/;
|
|
@@ -481,7 +554,9 @@ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
|
|
|
481
554
|
elm,
|
|
482
555
|
memberName,
|
|
483
556
|
oldVnodeAttrs[memberName],
|
|
484
|
-
void 0
|
|
557
|
+
void 0,
|
|
558
|
+
isSvgMode2,
|
|
559
|
+
newVnode.$flags$);
|
|
485
560
|
}
|
|
486
561
|
}
|
|
487
562
|
}
|
|
@@ -490,7 +565,9 @@ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
|
|
|
490
565
|
elm,
|
|
491
566
|
memberName,
|
|
492
567
|
oldVnodeAttrs[memberName],
|
|
493
|
-
newVnodeAttrs[memberName]
|
|
568
|
+
newVnodeAttrs[memberName],
|
|
569
|
+
isSvgMode2,
|
|
570
|
+
newVnode.$flags$);
|
|
494
571
|
}
|
|
495
572
|
};
|
|
496
573
|
function sortedAttrNames(attrNames) {
|
|
@@ -503,6 +580,7 @@ function sortedAttrNames(attrNames) {
|
|
|
503
580
|
);
|
|
504
581
|
}
|
|
505
582
|
var hostTagName;
|
|
583
|
+
var isSvgMode = false;
|
|
506
584
|
var createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
507
585
|
const newVNode2 = newParentVNode.$children$[childIndex];
|
|
508
586
|
let i2 = 0;
|
|
@@ -518,7 +596,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
518
596
|
newVNode2.$tag$
|
|
519
597
|
);
|
|
520
598
|
{
|
|
521
|
-
updateElement(null, newVNode2);
|
|
599
|
+
updateElement(null, newVNode2, isSvgMode);
|
|
522
600
|
}
|
|
523
601
|
if (newVNode2.$children$) {
|
|
524
602
|
const appendTarget = newVNode2.$tag$ === "template" ? elm.content : elm;
|
|
@@ -667,7 +745,7 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
|
|
|
667
745
|
const text = newVNode2.$text$;
|
|
668
746
|
if (text == null) {
|
|
669
747
|
{
|
|
670
|
-
updateElement(oldVNode, newVNode2);
|
|
748
|
+
updateElement(oldVNode, newVNode2, isSvgMode);
|
|
671
749
|
}
|
|
672
750
|
if (oldChildren !== null && newChildren !== null) {
|
|
673
751
|
updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-CJFDVa2g.js');
|
|
4
4
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
6
6
|
if (typeof window === 'undefined') return undefined;
|
|
7
7
|
await index.globalScripts();
|
|
8
|
-
return index.bootstrapLazy([["cui-tag.cjs",[[1,"cui-tag",{"label":[1],"variant":[1],"size":[1]}]]]], options);
|
|
8
|
+
return index.bootstrapLazy([["cui-progress.cjs",[[1,"cui-progress",{"label":[1],"value":[2],"max":[2],"indeterminate":[4],"size":[1],"showValue":[4,"show-value"]}]]],["cui-tag.cjs",[[1,"cui-tag",{"label":[1],"variant":[1],"size":[1]}]]]], options);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
exports.setNonce = index.setNonce;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stencil reads the documented custom properties out of the stylesheet, not out of the
|
|
3
|
+
* component's JSDoc, so these are what reach readme.md and the generated AI docs.
|
|
4
|
+
*
|
|
5
|
+
* @prop --cui-progress-track-color: Colour of the unfilled track.
|
|
6
|
+
* @prop --cui-progress-indicator-color: Colour of the filled portion, for status bars in another intent.
|
|
7
|
+
*/
|
|
8
|
+
:host {
|
|
9
|
+
display: block;
|
|
10
|
+
--cui-progress-track-color: var(--cui-base-bg-lvl-1);
|
|
11
|
+
--cui-progress-indicator-color: var(--cui-accent);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
:host([hidden]) {
|
|
15
|
+
display: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.cui-progress {
|
|
19
|
+
font-family: var(--cui-font-family-base);
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
gap: var(--cui-spacing-sm);
|
|
23
|
+
}
|
|
24
|
+
.cui-progress__bar {
|
|
25
|
+
flex: 1 1 auto;
|
|
26
|
+
display: block;
|
|
27
|
+
width: 100%;
|
|
28
|
+
border: none;
|
|
29
|
+
-webkit-appearance: none;
|
|
30
|
+
appearance: none;
|
|
31
|
+
border-radius: var(--cui-radius-full);
|
|
32
|
+
background-color: var(--cui-progress-track-color);
|
|
33
|
+
box-shadow: inset 0 0 0 var(--cui-border-width-sm) var(--cui-base-border);
|
|
34
|
+
}
|
|
35
|
+
.cui-progress__bar::-webkit-progress-bar {
|
|
36
|
+
border-radius: var(--cui-radius-full);
|
|
37
|
+
background-color: var(--cui-progress-track-color);
|
|
38
|
+
box-shadow: inset 0 0 0 var(--cui-border-width-sm) var(--cui-base-border);
|
|
39
|
+
}
|
|
40
|
+
.cui-progress__bar::-webkit-progress-value {
|
|
41
|
+
border-radius: var(--cui-radius-full);
|
|
42
|
+
background-color: var(--cui-progress-indicator-color);
|
|
43
|
+
transition: width var(--cui-transition-base);
|
|
44
|
+
}
|
|
45
|
+
.cui-progress__bar::-moz-progress-bar {
|
|
46
|
+
border-radius: var(--cui-radius-full);
|
|
47
|
+
background-color: var(--cui-progress-indicator-color);
|
|
48
|
+
}
|
|
49
|
+
.cui-progress__bar:indeterminate {
|
|
50
|
+
background-image: linear-gradient(to right, var(--cui-progress-indicator-color), var(--cui-progress-indicator-color));
|
|
51
|
+
background-repeat: no-repeat;
|
|
52
|
+
background-size: 40% 100%;
|
|
53
|
+
animation: cui-progress-sweep 1.5s linear infinite;
|
|
54
|
+
}
|
|
55
|
+
.cui-progress__bar:indeterminate::-webkit-progress-bar {
|
|
56
|
+
background-image: linear-gradient(to right, var(--cui-progress-indicator-color), var(--cui-progress-indicator-color));
|
|
57
|
+
background-repeat: no-repeat;
|
|
58
|
+
background-size: 40% 100%;
|
|
59
|
+
animation: cui-progress-sweep 1.5s linear infinite;
|
|
60
|
+
}
|
|
61
|
+
.cui-progress__bar:indeterminate::-webkit-progress-value {
|
|
62
|
+
display: none;
|
|
63
|
+
}
|
|
64
|
+
.cui-progress__bar:indeterminate::-moz-progress-bar {
|
|
65
|
+
background-color: transparent;
|
|
66
|
+
}
|
|
67
|
+
.cui-progress__value {
|
|
68
|
+
flex: 0 0 auto;
|
|
69
|
+
color: var(--cui-base-text-secondary);
|
|
70
|
+
font-size: var(--cui-font-size-sm);
|
|
71
|
+
font-weight: var(--cui-font-weight-medium);
|
|
72
|
+
font-variant-numeric: tabular-nums;
|
|
73
|
+
}
|
|
74
|
+
.cui-progress--small .cui-progress__bar {
|
|
75
|
+
height: var(--cui-spacing-xs);
|
|
76
|
+
}
|
|
77
|
+
.cui-progress--medium .cui-progress__bar {
|
|
78
|
+
height: var(--cui-spacing-sm);
|
|
79
|
+
}
|
|
80
|
+
.cui-progress--large .cui-progress__bar {
|
|
81
|
+
height: var(--cui-spacing-md);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@keyframes cui-progress-sweep {
|
|
85
|
+
from {
|
|
86
|
+
background-position-x: -66.67%;
|
|
87
|
+
}
|
|
88
|
+
to {
|
|
89
|
+
background-position-x: 166.67%;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
@media (prefers-reduced-motion: reduce) {
|
|
93
|
+
.cui-progress__bar::-webkit-progress-value {
|
|
94
|
+
transition: none;
|
|
95
|
+
}
|
|
96
|
+
.cui-progress__bar:indeterminate {
|
|
97
|
+
animation-duration: 3s;
|
|
98
|
+
}
|
|
99
|
+
.cui-progress__bar:indeterminate::-webkit-progress-bar {
|
|
100
|
+
animation-duration: 3s;
|
|
101
|
+
}
|
|
102
|
+
}
|