@ai-ecoverse/slicc-spectrum 0.0.0 → 1.1.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.
Files changed (87) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +173 -5
  3. package/dist/chunk-24WRGUXG.js +168 -0
  4. package/dist/chunk-24WRGUXG.js.map +7 -0
  5. package/dist/chunk-364Y2XOJ.js +28 -0
  6. package/dist/chunk-364Y2XOJ.js.map +7 -0
  7. package/dist/chunk-4RGMMAR4.js +18 -0
  8. package/dist/chunk-4RGMMAR4.js.map +7 -0
  9. package/dist/chunk-5OVGH7HO.js +28 -0
  10. package/dist/chunk-5OVGH7HO.js.map +7 -0
  11. package/dist/chunk-6A6NIESE.js +9 -0
  12. package/dist/chunk-6A6NIESE.js.map +7 -0
  13. package/dist/chunk-EN3XGF2M.js +26 -0
  14. package/dist/chunk-EN3XGF2M.js.map +7 -0
  15. package/dist/chunk-ER3HU7OE.js +22 -0
  16. package/dist/chunk-ER3HU7OE.js.map +7 -0
  17. package/dist/chunk-FN3Y2AYJ.js +17 -0
  18. package/dist/chunk-FN3Y2AYJ.js.map +7 -0
  19. package/dist/chunk-H5WU2XYY.js +8 -0
  20. package/dist/chunk-H5WU2XYY.js.map +7 -0
  21. package/dist/chunk-HBUX7E54.js +234 -0
  22. package/dist/chunk-HBUX7E54.js.map +7 -0
  23. package/dist/chunk-IBQ4O4NO.js +13 -0
  24. package/dist/chunk-IBQ4O4NO.js.map +7 -0
  25. package/dist/chunk-J45KH7MF.js +180 -0
  26. package/dist/chunk-J45KH7MF.js.map +7 -0
  27. package/dist/chunk-JASEW37G.js +411 -0
  28. package/dist/chunk-JASEW37G.js.map +7 -0
  29. package/dist/chunk-MR7SU4GJ.js +59 -0
  30. package/dist/chunk-MR7SU4GJ.js.map +7 -0
  31. package/dist/chunk-MTF6JFSL.js +1093 -0
  32. package/dist/chunk-MTF6JFSL.js.map +7 -0
  33. package/dist/chunk-Q4AC2O6Z.js +13 -0
  34. package/dist/chunk-Q4AC2O6Z.js.map +7 -0
  35. package/dist/chunk-SZ33GAVH.js +2638 -0
  36. package/dist/chunk-SZ33GAVH.js.map +7 -0
  37. package/dist/chunk-T5NHW4KC.js +23 -0
  38. package/dist/chunk-T5NHW4KC.js.map +7 -0
  39. package/dist/chunk-T5QFSUYQ.js +8 -0
  40. package/dist/chunk-T5QFSUYQ.js.map +7 -0
  41. package/dist/chunk-TS7SL372.js +687 -0
  42. package/dist/chunk-TS7SL372.js.map +7 -0
  43. package/dist/chunk-Y4Z7K443.js +64 -0
  44. package/dist/chunk-Y4Z7K443.js.map +7 -0
  45. package/dist/chunk-ZMBN6APP.js +11 -0
  46. package/dist/chunk-ZMBN6APP.js.map +7 -0
  47. package/dist/chunk-ZTPYBVZL.js +181 -0
  48. package/dist/chunk-ZTPYBVZL.js.map +7 -0
  49. package/dist/fonts/source-code-pro-latin-400-normal.woff2 +0 -0
  50. package/dist/fonts/source-code-pro-latin-600-normal.woff2 +0 -0
  51. package/dist/slicc-dummy.js +1393 -0
  52. package/dist/slicc-dummy.js.map +7 -0
  53. package/dist/slicc-terminal.js +5377 -0
  54. package/dist/slicc-terminal.js.map +7 -0
  55. package/dist/slicc-ui.js +22441 -0
  56. package/dist/slicc-ui.js.map +7 -0
  57. package/dist/types/app/agents.d.ts +11 -0
  58. package/dist/types/app/app.d.ts +40 -0
  59. package/dist/types/app/base.d.ts +27 -0
  60. package/dist/types/app/chat.d.ts +23 -0
  61. package/dist/types/app/fonts.d.ts +3 -0
  62. package/dist/types/app/markdown.d.ts +24 -0
  63. package/dist/types/app/panels.d.ts +31 -0
  64. package/dist/types/app/spectrum.d.ts +19 -0
  65. package/dist/types/backend.d.ts +19 -0
  66. package/dist/types/components/dock.d.ts +24 -0
  67. package/dist/types/components/sheets.d.ts +1 -0
  68. package/dist/types/dummy/agent.d.ts +14 -0
  69. package/dist/types/dummy/browser.d.ts +15 -0
  70. package/dist/types/dummy/clock.d.ts +5 -0
  71. package/dist/types/dummy/files.d.ts +14 -0
  72. package/dist/types/dummy/fixtures.d.ts +11 -0
  73. package/dist/types/dummy/index.d.ts +6 -0
  74. package/dist/types/dummy/script.d.ts +23 -0
  75. package/dist/types/dummy/settings.d.ts +13 -0
  76. package/dist/types/dummy/shell.d.ts +16 -0
  77. package/dist/types/dummy/terminals.d.ts +15 -0
  78. package/dist/types/dummy.d.ts +2 -0
  79. package/dist/types/index.d.ts +4 -0
  80. package/dist/types/kernel-backend.d.ts +24 -0
  81. package/dist/types/model/emitter.d.ts +9 -0
  82. package/dist/types/model/types.d.ts +183 -0
  83. package/dist/types/slicc-terminal.d.ts +23 -0
  84. package/dist/types/styles.d.ts +1 -0
  85. package/dist/types/ui.d.ts +15 -0
  86. package/dist/wterm.wasm +0 -0
  87. package/package.json +78 -2
@@ -0,0 +1,18 @@
1
+ import {
2
+ defineElement
3
+ } from "./chunk-6A6NIESE.js";
4
+ import {
5
+ Overlay
6
+ } from "./chunk-SZ33GAVH.js";
7
+ import "./chunk-IBQ4O4NO.js";
8
+ import "./chunk-ZMBN6APP.js";
9
+ import "./chunk-Y4Z7K443.js";
10
+ import "./chunk-364Y2XOJ.js";
11
+ import "./chunk-ER3HU7OE.js";
12
+ import "./chunk-JASEW37G.js";
13
+ import "./chunk-TS7SL372.js";
14
+ import "./chunk-Q4AC2O6Z.js";
15
+
16
+ // node_modules/@spectrum-web-components/overlay/sp-overlay.js
17
+ defineElement("sp-overlay", Overlay);
18
+ //# sourceMappingURL=chunk-4RGMMAR4.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/@spectrum-web-components/overlay/sp-overlay.ts"],
4
+ "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport { defineElement } from '@spectrum-web-components/base/src/define-element.js';\n\nimport { Overlay } from './src/Overlay.js';\n\ndefineElement('sp-overlay', Overlay);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sp-overlay': Overlay;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAeAA,cAAc,cAAcC,OAAO;",
6
+ "names": ["defineElement", "Overlay"]
7
+ }
@@ -0,0 +1,28 @@
1
+ // node_modules/@spectrum-web-components/reactive-controllers/src/MatchMedia.js
2
+ var IS_MOBILE = "(max-width: 743px) and (hover: none) and (pointer: coarse)";
3
+ var IS_TOUCH_DEVICE = "(hover: none) and (pointer: coarse)";
4
+ var MatchMediaController = class {
5
+ constructor(e, t) {
6
+ this.key = /* @__PURE__ */ Symbol("match-media-key");
7
+ this.matches = false;
8
+ this.host = e, this.host.addController(this), this.media = window.matchMedia(t), this.matches = this.media.matches, this.onChange = this.onChange.bind(this), e.addController(this);
9
+ }
10
+ hostConnected() {
11
+ var e;
12
+ (e = this.media) == null || e.addEventListener("change", this.onChange);
13
+ }
14
+ hostDisconnected() {
15
+ var e;
16
+ (e = this.media) == null || e.removeEventListener("change", this.onChange);
17
+ }
18
+ onChange(e) {
19
+ this.matches !== e.matches && (this.matches = e.matches, this.host.requestUpdate(this.key, !this.matches));
20
+ }
21
+ };
22
+
23
+ export {
24
+ IS_MOBILE,
25
+ IS_TOUCH_DEVICE,
26
+ MatchMediaController
27
+ };
28
+ //# sourceMappingURL=chunk-5OVGH7HO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/@spectrum-web-components/reactive-controllers/src/MatchMedia.ts"],
4
+ "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport type { ReactiveController, ReactiveElement } from 'lit';\n\nexport const DARK_MODE = '(prefers-color-scheme: dark)';\nexport const IS_MOBILE =\n '(max-width: 743px) and (hover: none) and (pointer: coarse)';\nexport const IS_TOUCH_DEVICE = '(hover: none) and (pointer: coarse)';\n\nexport class MatchMediaController implements ReactiveController {\n key = Symbol('match-media-key');\n\n matches = false;\n\n protected host: ReactiveElement;\n\n protected media: MediaQueryList;\n\n constructor(host: ReactiveElement, query: string) {\n this.host = host;\n this.host.addController(this);\n this.media = window.matchMedia(query);\n this.matches = this.media.matches;\n this.onChange = this.onChange.bind(this);\n host.addController(this);\n }\n\n public hostConnected(): void {\n this.media?.addEventListener('change', this.onChange);\n }\n\n public hostDisconnected(): void {\n this.media?.removeEventListener('change', this.onChange);\n }\n\n protected onChange(event: MediaQueryListEvent): void {\n if (this.matches === event.matches) {\n return;\n }\n this.matches = event.matches;\n this.host.requestUpdate(this.key, !this.matches);\n }\n}\n"],
5
+ "mappings": ";AAaO,IACM,YACX;AAFK,IAGM,kBAAkB;AAExB,IAAM,uBAAN,MAAyD;EAS9D,YAAYA,GAAuBC,GAAe;AARlD,SAAA,MAAM,uBAAO,iBAAiB;AAE9B,SAAA,UAAU;AAOR,SAAK,OAAOD,GACZ,KAAK,KAAK,cAAc,IAAI,GAC5B,KAAK,QAAQ,OAAO,WAAWC,CAAK,GACpC,KAAK,UAAU,KAAK,MAAM,SAC1B,KAAK,WAAW,KAAK,SAAS,KAAK,IAAI,GACvCD,EAAK,cAAc,IAAI;EACzB;EAEO,gBAAsB;AApC/B,QAAAE;AAAAA,KAqCIA,IAAA,KAAK,UAAL,QAAAA,EAAY,iBAAiB,UAAU,KAAK,QAAA;EAC9C;EAEO,mBAAyB;AAxClC,QAAAA;AAAAA,KAyCIA,IAAA,KAAK,UAAL,QAAAA,EAAY,oBAAoB,UAAU,KAAK,QAAA;EACjD;EAEU,SAASC,GAAkC;AAC/C,SAAK,YAAYA,EAAM,YAG3B,KAAK,UAAUA,EAAM,SACrB,KAAK,KAAK,cAAc,KAAK,KAAK,CAAC,KAAK,OAAO;EACjD;AACF;",
6
+ "names": ["host", "query", "_a", "event"]
7
+ }
@@ -0,0 +1,9 @@
1
+ // node_modules/@spectrum-web-components/base/src/define-element.js
2
+ function defineElement(e, n) {
3
+ window.__swc, customElements.define(e, n);
4
+ }
5
+
6
+ export {
7
+ defineElement
8
+ };
9
+ //# sourceMappingURL=chunk-6A6NIESE.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/@spectrum-web-components/base/src/define-element.ts"],
4
+ "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\ninterface CustomElementConstructor {\n new (...params: unknown[]): HTMLElement;\n}\n\nexport function defineElement(\n name: string,\n constructor: CustomElementConstructor\n): void {\n if (window.__swc && window.__swc.DEBUG) {\n if (customElements.get(name)) {\n window.__swc.warn(\n undefined,\n `Attempted to redefine <${name}>. This usually indicates that multiple versions of the same web component were loaded onto a single page.`,\n 'https://opensource.adobe.com/spectrum-web-components/registry-conflicts'\n );\n }\n }\n customElements.define(name, constructor);\n}\n"],
5
+ "mappings": ";AAgBO,SAAS,cACdA,GACAC,GACM;AACF,SAAO,OASX,eAAe,OAAOD,GAAMC,CAAW;AACzC;",
6
+ "names": ["name", "constructor"]
7
+ }
@@ -0,0 +1,26 @@
1
+ // node_modules/@spectrum-web-components/reactive-controllers/src/DependencyManger.js
2
+ var dependencyManagerLoadedSymbol = /* @__PURE__ */ Symbol("dependency manager loaded");
3
+ var DependencyManagerController = class {
4
+ constructor(e) {
5
+ this.dependencies = {};
6
+ this._loaded = false;
7
+ this.host = e;
8
+ }
9
+ get loaded() {
10
+ return this._loaded;
11
+ }
12
+ set loaded(e) {
13
+ e !== this.loaded && (this._loaded = e, this.host.requestUpdate(dependencyManagerLoadedSymbol, !this.loaded));
14
+ }
15
+ add(e, o) {
16
+ const t = !!o || !!customElements.get(e) || this.dependencies[e];
17
+ t || customElements.whenDefined(e).then(() => {
18
+ this.add(e, true);
19
+ }), this.dependencies = { ...this.dependencies, [e]: t }, this.loaded = Object.values(this.dependencies).every((d) => d);
20
+ }
21
+ };
22
+
23
+ export {
24
+ DependencyManagerController
25
+ };
26
+ //# sourceMappingURL=chunk-EN3XGF2M.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/@spectrum-web-components/reactive-controllers/src/DependencyManger.ts"],
4
+ "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ReactiveElement } from 'lit';\nexport const dependencyManagerLoadedSymbol = Symbol(\n 'dependency manager loaded'\n);\n\n/**\n * Manage the availability of custom element dependencies of a host element\n * to gate render and functional behavior before and after their presence\n */\nexport class DependencyManagerController {\n private dependencies: Record<string, boolean> = {};\n\n private host!: ReactiveElement;\n\n /**\n * Whether all of the provided dependencies have been registered.\n * This will be `false` when no dependencies have been listed for management.\n * Changes to this value will trigger `requestUpdate()` on the host.\n */\n public get loaded(): boolean {\n return this._loaded;\n }\n\n private set loaded(loaded: boolean) {\n if (loaded === this.loaded) {\n return;\n }\n this._loaded = loaded;\n this.host.requestUpdate(dependencyManagerLoadedSymbol, !this.loaded);\n }\n\n private _loaded = false;\n\n constructor(host: ReactiveElement) {\n this.host = host;\n }\n\n /**\n * Submit a custom element tag name to be managed as a dependency.\n *\n * @param dependency {string} - the custom element tag to manage\n * @param alreadyLoaded {boolean} - force the managemented custom element to be listed as loaded\n */\n public add(dependency: string, alreadyLoaded?: boolean): void {\n const loaded =\n !!alreadyLoaded ||\n !!customElements.get(dependency) ||\n this.dependencies[dependency];\n if (!loaded) {\n customElements.whenDefined(dependency).then(() => {\n this.add(dependency, true);\n });\n }\n this.dependencies = {\n ...this.dependencies,\n [dependency]: loaded,\n };\n // Update the loaded property based on the new loaded state of all dependencies\n this.loaded = Object.values(this.dependencies).every((loaded) => loaded);\n }\n}\n"],
5
+ "mappings": ";AAaO,IAAM,gCAAgC,uBAC3C,2BACF;AAMO,IAAM,8BAAN,MAAkC;EAwBvC,YAAYA,GAAuB;AAvBnC,SAAQ,eAAwC,CAAC;AAqBjD,SAAQ,UAAU;AAGhB,SAAK,OAAOA;EACd;EAhBA,IAAW,SAAkB;AAC3B,WAAO,KAAK;EACd;EAEA,IAAY,OAAOC,GAAiB;AAC9BA,UAAW,KAAK,WAGpB,KAAK,UAAUA,GACf,KAAK,KAAK,cAAc,+BAA+B,CAAC,KAAK,MAAM;EACrE;EAcO,IAAIC,GAAoBC,GAA+B;AAC5D,UAAMF,IACJ,CAAC,CAACE,KACF,CAAC,CAAC,eAAe,IAAID,CAAU,KAC/B,KAAK,aAAaA,CAAU;AACzBD,SACH,eAAe,YAAYC,CAAU,EAAE,KAAK,MAAM;AAChD,WAAK,IAAIA,GAAY,IAAI;IAC3B,CAAC,GAEH,KAAK,eAAe,EAClB,GAAG,KAAK,cACR,CAACA,CAAU,GAAGD,EAChB,GAEA,KAAK,SAAS,OAAO,OAAO,KAAK,YAAY,EAAE,MAAOA,OAAWA,CAAM;EACzE;AACF;",
6
+ "names": ["host", "loaded", "dependency", "alreadyLoaded"]
7
+ }
@@ -0,0 +1,22 @@
1
+ import {
2
+ n
3
+ } from "./chunk-TS7SL372.js";
4
+
5
+ // node_modules/@lit/reactive-element/decorators/state.js
6
+ function r(r2) {
7
+ return n({ ...r2, state: true, attribute: false });
8
+ }
9
+
10
+ export {
11
+ r
12
+ };
13
+ /*! Bundled license information:
14
+
15
+ @lit/reactive-element/decorators/state.js:
16
+ (**
17
+ * @license
18
+ * Copyright 2017 Google LLC
19
+ * SPDX-License-Identifier: BSD-3-Clause
20
+ *)
21
+ */
22
+ //# sourceMappingURL=chunk-ER3HU7OE.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/@lit/reactive-element/src/decorators/state.ts"],
4
+ "sourcesContent": ["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\n\nimport {property} from './property.js';\n\nexport interface StateDeclaration<Type = unknown> {\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n}\n\n/**\n * @deprecated use StateDeclaration\n */\nexport type InternalPropertyDeclaration<Type = unknown> =\n StateDeclaration<Type>;\n\n/**\n * Declares a private or protected reactive property that still triggers\n * updates to the element when it changes. It does not reflect from the\n * corresponding attribute.\n *\n * Properties declared this way must not be used from HTML or HTML templating\n * systems, they're solely for properties internal to the element. These\n * properties may be renamed by optimization tools like closure compiler.\n * @category Decorator\n */\nexport function state(options?: StateDeclaration) {\n return property({\n ...options,\n // Add both `state` and `attribute` because we found a third party\n // controller that is keying off of PropertyOptions.state to determine\n // whether a field is a private internal property or not.\n state: true,\n attribute: false,\n });\n}\n"],
5
+ "mappings": ";;;;;AAwCM,SAAUA,EAAMC,IAAAA;AACpB,SAAOC,EAAS,EAAA,GACXD,IAIHD,OAAAA,MACAG,WAAAA,MAAW,CAAA;AAEf;",
6
+ "names": ["state", "options", "property", "attribute"]
7
+ }
@@ -0,0 +1,17 @@
1
+ import {
2
+ LONGPRESS_INSTRUCTIONS,
3
+ Overlay
4
+ } from "./chunk-SZ33GAVH.js";
5
+ import "./chunk-IBQ4O4NO.js";
6
+ import "./chunk-ZMBN6APP.js";
7
+ import "./chunk-Y4Z7K443.js";
8
+ import "./chunk-364Y2XOJ.js";
9
+ import "./chunk-ER3HU7OE.js";
10
+ import "./chunk-JASEW37G.js";
11
+ import "./chunk-TS7SL372.js";
12
+ import "./chunk-Q4AC2O6Z.js";
13
+ export {
14
+ LONGPRESS_INSTRUCTIONS,
15
+ Overlay
16
+ };
17
+ //# sourceMappingURL=chunk-FN3Y2AYJ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,8 @@
1
+ import "./chunk-HBUX7E54.js";
2
+ import "./chunk-6A6NIESE.js";
3
+ import "./chunk-364Y2XOJ.js";
4
+ import "./chunk-ER3HU7OE.js";
5
+ import "./chunk-JASEW37G.js";
6
+ import "./chunk-TS7SL372.js";
7
+ import "./chunk-Q4AC2O6Z.js";
8
+ //# sourceMappingURL=chunk-H5WU2XYY.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,234 @@
1
+ import {
2
+ defineElement
3
+ } from "./chunk-6A6NIESE.js";
4
+ import {
5
+ o
6
+ } from "./chunk-JASEW37G.js";
7
+ import {
8
+ SpectrumElement,
9
+ b,
10
+ e,
11
+ e2,
12
+ i,
13
+ n
14
+ } from "./chunk-TS7SL372.js";
15
+
16
+ // node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js
17
+ function n2(n3) {
18
+ return (o3, r) => {
19
+ const { slot: e4 } = n3 ?? {}, s2 = "slot" + (e4 ? `[name=${e4}]` : ":not([name])");
20
+ return e(o3, r, { get() {
21
+ const t = this.renderRoot?.querySelector(s2);
22
+ return t?.assignedNodes(n3) ?? [];
23
+ } });
24
+ };
25
+ }
26
+
27
+ // node_modules/@spectrum-web-components/base/src/sizedMixin.js
28
+ var m = Object.defineProperty;
29
+ var p = Object.getOwnPropertyDescriptor;
30
+ var S = (r, s2, i4, t) => {
31
+ for (var e4 = t > 1 ? void 0 : t ? p(s2, i4) : s2, o3 = r.length - 1, l; o3 >= 0; o3--) (l = r[o3]) && (e4 = (t ? l(s2, i4, e4) : l(e4)) || e4);
32
+ return t && e4 && m(s2, i4, e4), e4;
33
+ };
34
+ var DEFAULT_ELEMENT_SIZES = ["s", "m", "l", "xl"];
35
+ function SizedMixin(r, { validSizes: s2 = [...DEFAULT_ELEMENT_SIZES], noDefaultSize: i4, defaultSize: t = "m" } = {}) {
36
+ class e4 extends r {
37
+ constructor() {
38
+ super(...arguments);
39
+ this._size = t;
40
+ }
41
+ get size() {
42
+ return this._size || t;
43
+ }
44
+ set size(n3) {
45
+ const a2 = i4 ? null : t, z = n3 && n3.toLocaleLowerCase(), E = s2.includes(z) ? z : a2;
46
+ if (E && this.setAttribute("size", E), this._size === E) return;
47
+ const c = this._size;
48
+ this._size = E, this.requestUpdate("size", c);
49
+ }
50
+ update(n3) {
51
+ !this.hasAttribute("size") && !i4 && this.setAttribute("size", this.size), super.update(n3);
52
+ }
53
+ }
54
+ return e4.VALID_SIZES = s2, S([n({ type: String })], e4.prototype, "size", 1), e4;
55
+ }
56
+
57
+ // node_modules/@spectrum-web-components/progress-circle/src/progress-circle.css.js
58
+ var e3 = i`
59
+ @media (forced-colors:active){:host{--highcontrast-progress-circle-fill-border-color:Highlight;--highcontrast-progress-circle-fill-border-color-over-background:Highlight}.track{--spectrum-progress-circle-track-border-style:double}}:host{--spectrum-progress-circle-track-border-color:var(--spectrum-gray-300);--spectrum-progress-circle-fill-border-color:var(--spectrum-accent-content-color-default);--spectrum-progress-circle-track-border-color-over-background:var(--spectrum-transparent-white-300);--spectrum-progress-circle-fill-border-color-over-background:var(--spectrum-transparent-white-900);--spectrum-progress-circle-track-border-style:solid;position:var(--mod-progress-circle-position,relative);inline-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));direction:ltr;display:inline-block;position:relative;transform:translateZ(0)}:host([size=s]){--spectrum-progress-circle-size:var(--spectrum-progress-circle-size-small);--spectrum-progress-circle-thickness:var(--spectrum-progress-circle-thickness-small)}:host{--spectrum-progress-circle-size:var(--spectrum-progress-circle-size-medium);--spectrum-progress-circle-thickness:var(--spectrum-progress-circle-thickness-medium)}:host([size=l]){--spectrum-progress-circle-size:var(--spectrum-progress-circle-size-large);--spectrum-progress-circle-thickness:var(--spectrum-progress-circle-thickness-large)}.track{box-sizing:border-box;inline-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));border-color:var(--mod-progress-circle-track-border-color,var(--spectrum-progress-circle-track-border-color));border-style:var(--mod-progress-circle-track-border-style,var(--spectrum-progress-circle-track-border-style));border-width:var(--mod-progress-circle-thickness,var(--spectrum-progress-circle-thickness));border-radius:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size))}.fills{block-size:100%;inline-size:100%;position:absolute;inset-block-start:0;inset-inline-start:0}.fill{box-sizing:border-box;inline-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));border-color:var(--highcontrast-progress-circle-fill-border-color,var(--mod-progress-circle-fill-border-color,var(--spectrum-progress-circle-fill-border-color)));border-style:solid;border-width:var(--mod-progress-circle-thickness,var(--spectrum-progress-circle-thickness));border-radius:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size))}:host([static-color=white]) .track{border-color:var(--mod-progress-circle-track-border-color-over-background,var(--spectrum-progress-circle-track-border-color-over-background))}:host([static-color=white]) .fill{border-color:var(--highcontrast-progress-circle-fill-border-color-over-background,var(--mod-progress-circle-fill-border-color-over-background,var(--spectrum-progress-circle-fill-border-color-over-background)))}.fillMask1,.fillMask2{transform-origin:100%;block-size:100%;inline-size:50%;position:absolute;overflow:hidden;transform:rotate(180deg)}.fillSubMask1,.fillSubMask2{transform-origin:100%;block-size:100%;inline-size:100%;overflow:hidden;transform:rotate(-180deg)}.fillMask2{transform:rotate(0)}:host([indeterminate]) .fills{transform-origin:50%;will-change:transform;animation:1s cubic-bezier(.25,.78,.48,.89) infinite spectrum-fills-rotate;transform:translateZ(0)}:host([indeterminate]) .fillSubMask1{will-change:transform;animation:1s linear infinite spectrum-fill-mask-1;transform:translateZ(0)}:host([indeterminate]) .fillSubMask2{will-change:transform;animation:1s linear infinite spectrum-fill-mask-2;transform:translateZ(0)}.fill-submask-2{animation:1s linear infinite spectrum-fill-mask-2}@keyframes spectrum-fill-mask-1{0%{transform:rotate(90deg)}1.69%{transform:rotate(72.3deg)}3.39%{transform:rotate(55.5deg)}5.08%{transform:rotate(40.3deg)}6.78%{transform:rotate(25deg)}8.47%{transform:rotate(10.6deg)}10.17%{transform:rotate(0)}11.86%{transform:rotate(0)}13.56%{transform:rotate(0)}15.25%{transform:rotate(0)}16.95%{transform:rotate(0)}18.64%{transform:rotate(0)}20.34%{transform:rotate(0)}22.03%{transform:rotate(0)}23.73%{transform:rotate(0)}25.42%{transform:rotate(0)}27.12%{transform:rotate(0)}28.81%{transform:rotate(0)}30.51%{transform:rotate(0)}32.2%{transform:rotate(0)}33.9%{transform:rotate(0)}35.59%{transform:rotate(0)}37.29%{transform:rotate(0)}38.98%{transform:rotate(0)}40.68%{transform:rotate(0)}42.37%{transform:rotate(5.3deg)}44.07%{transform:rotate(13.4deg)}45.76%{transform:rotate(20.6deg)}47.46%{transform:rotate(29deg)}49.15%{transform:rotate(36.5deg)}50.85%{transform:rotate(42.6deg)}52.54%{transform:rotate(48.8deg)}54.24%{transform:rotate(54.2deg)}55.93%{transform:rotate(59.4deg)}57.63%{transform:rotate(63.2deg)}59.32%{transform:rotate(67.2deg)}61.02%{transform:rotate(70.8deg)}62.71%{transform:rotate(73.8deg)}64.41%{transform:rotate(76.2deg)}66.1%{transform:rotate(78.7deg)}67.8%{transform:rotate(80.6deg)}69.49%{transform:rotate(82.6deg)}71.19%{transform:rotate(83.7deg)}72.88%{transform:rotate(85deg)}74.58%{transform:rotate(86.3deg)}76.27%{transform:rotate(87deg)}77.97%{transform:rotate(87.7deg)}79.66%{transform:rotate(88.3deg)}81.36%{transform:rotate(88.6deg)}83.05%{transform:rotate(89.2deg)}84.75%{transform:rotate(89.2deg)}86.44%{transform:rotate(89.5deg)}88.14%{transform:rotate(89.9deg)}89.83%{transform:rotate(89.7deg)}91.53%{transform:rotate(90.1deg)}93.22%{transform:rotate(90.2deg)}94.92%{transform:rotate(90.1deg)}96.61%{transform:rotate(90deg)}98.31%{transform:rotate(89.8deg)}to{transform:rotate(90deg)}}@keyframes spectrum-fill-mask-2{0%{transform:rotate(180deg)}1.69%{transform:rotate(180deg)}3.39%{transform:rotate(180deg)}5.08%{transform:rotate(180deg)}6.78%{transform:rotate(180deg)}8.47%{transform:rotate(180deg)}10.17%{transform:rotate(179.2deg)}11.86%{transform:rotate(164deg)}13.56%{transform:rotate(151.8deg)}15.25%{transform:rotate(140.8deg)}16.95%{transform:rotate(130.3deg)}18.64%{transform:rotate(120.4deg)}20.34%{transform:rotate(110.8deg)}22.03%{transform:rotate(101.6deg)}23.73%{transform:rotate(93.5deg)}25.42%{transform:rotate(85.4deg)}27.12%{transform:rotate(78.1deg)}28.81%{transform:rotate(71.2deg)}30.51%{transform:rotate(89.1deg)}32.2%{transform:rotate(105.5deg)}33.9%{transform:rotate(121.3deg)}35.59%{transform:rotate(135.5deg)}37.29%{transform:rotate(148.4deg)}38.98%{transform:rotate(161deg)}40.68%{transform:rotate(173.5deg)}42.37%{transform:rotate(180deg)}44.07%{transform:rotate(180deg)}45.76%{transform:rotate(180deg)}47.46%{transform:rotate(180deg)}49.15%{transform:rotate(180deg)}50.85%{transform:rotate(180deg)}52.54%{transform:rotate(180deg)}54.24%{transform:rotate(180deg)}55.93%{transform:rotate(180deg)}57.63%{transform:rotate(180deg)}59.32%{transform:rotate(180deg)}61.02%{transform:rotate(180deg)}62.71%{transform:rotate(180deg)}64.41%{transform:rotate(180deg)}66.1%{transform:rotate(180deg)}67.8%{transform:rotate(180deg)}69.49%{transform:rotate(180deg)}71.19%{transform:rotate(180deg)}72.88%{transform:rotate(180deg)}74.58%{transform:rotate(180deg)}76.27%{transform:rotate(180deg)}77.97%{transform:rotate(180deg)}79.66%{transform:rotate(180deg)}81.36%{transform:rotate(180deg)}83.05%{transform:rotate(180deg)}84.75%{transform:rotate(180deg)}86.44%{transform:rotate(180deg)}88.14%{transform:rotate(180deg)}89.83%{transform:rotate(180deg)}91.53%{transform:rotate(180deg)}93.22%{transform:rotate(180deg)}94.92%{transform:rotate(180deg)}96.61%{transform:rotate(180deg)}98.31%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes spectrum-fills-rotate{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host{--spectrum-progress-circle-track-border-color:var(--system-progress-circle-track-border-color);--spectrum-progress-circle-track-border-color-over-background:var(--system-progress-circle-track-border-color-over-background);--spectrum-progress-circle-fill-border-color-over-background:var(--system-progress-circle-fill-border-color-over-background)}:host{inline-size:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size));--spectrum-progress-circle-size:inherit;--spectrum-progresscircle-m-over-background-track-fill-color:var(--spectrum-alias-track-fill-color-overbackground);--_spectrum-progress-circle-size:var(--spectrum-progress-circle-size,var(--spectrum-progress-circle-size-medium))}:host([size=s]){--_spectrum-progress-circle-size:var(--spectrum-progress-circle-size,var(--spectrum-progress-circle-size-small))}:host([size=l]){--_spectrum-progress-circle-size:var(--spectrum-progress-circle-size,var(--spectrum-progress-circle-size-large))}slot{display:none}.track,.fill{inline-size:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size));border-radius:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size))}:host([indeterminate]) .fills,:host([indeterminate]) .fillSubMask1,:host([indeterminate]) .fillSubMask2{animation-duration:var(--spectrum-animation-duration-2000)}
60
+ `;
61
+ var progress_circle_css_default = e3;
62
+
63
+ // node_modules/@spectrum-web-components/reactive-controllers/src/AttributeObserver.js
64
+ var s = /* @__PURE__ */ new Map();
65
+ var i2;
66
+ function u(t) {
67
+ var r;
68
+ for (const o3 of t) {
69
+ const e4 = (r = s.get(o3.target)) == null ? void 0 : r.get(o3.attributeName);
70
+ e4 == null || e4.forEach((a2) => a2());
71
+ }
72
+ }
73
+ function f(t, r) {
74
+ i2 || (i2 = new MutationObserver(u)), i2.observe(t, { attributes: true, attributeFilter: Array.from(r.keys()) });
75
+ }
76
+ function d() {
77
+ if (i2 && (u(i2.takeRecords()), i2.disconnect()), s.size === 0) {
78
+ i2 = void 0;
79
+ return;
80
+ }
81
+ i2 = new MutationObserver(u);
82
+ for (const [t, r] of s) i2.observe(t, { attributes: true, attributeFilter: Array.from(r.keys()) });
83
+ }
84
+ function observeAttribute(t, r, o3) {
85
+ let e4 = s.get(t);
86
+ const a2 = !e4;
87
+ e4 || (e4 = /* @__PURE__ */ new Map(), s.set(t, e4));
88
+ let n3 = e4.get(r);
89
+ const c = !n3;
90
+ return n3 || (n3 = /* @__PURE__ */ new Set(), e4.set(r, n3)), n3.add(o3), (a2 || c) && f(t, e4), () => {
91
+ n3.delete(o3), n3.size === 0 && (e4.delete(r), e4.size === 0 ? (s.delete(t), d()) : f(t, e4));
92
+ };
93
+ }
94
+
95
+ // node_modules/@spectrum-web-components/reactive-controllers/src/LanguageResolution.js
96
+ var languageResolverUpdatedSymbol = /* @__PURE__ */ Symbol("language resolver updated");
97
+ function o2(n3) {
98
+ return observeAttribute(document.documentElement, "lang", n3);
99
+ }
100
+ var LanguageResolutionController = class {
101
+ constructor(e4) {
102
+ this.language = this.getDocumentLanguage();
103
+ this.host = e4, this.host.addController(this);
104
+ }
105
+ getDocumentLanguage() {
106
+ const e4 = document.documentElement.lang || navigator.language || "en-US";
107
+ try {
108
+ return Intl.DateTimeFormat.supportedLocalesOf([e4]), e4;
109
+ } catch (t) {
110
+ return "en-US";
111
+ }
112
+ }
113
+ hostConnected() {
114
+ this.resolveLanguage(), this.removeLangListener = o2(this.handleLangChange.bind(this));
115
+ }
116
+ hostDisconnected() {
117
+ var e4, t;
118
+ (e4 = this.unsubscribe) == null || e4.call(this), this.unsubscribe = void 0, (t = this.removeLangListener) == null || t.call(this), this.removeLangListener = void 0;
119
+ }
120
+ handleLangChange() {
121
+ if (this.unsubscribe) return;
122
+ const e4 = this.getDocumentLanguage();
123
+ if (e4 === this.language) return;
124
+ const t = this.language;
125
+ this.language = e4, this.host.requestUpdate(languageResolverUpdatedSymbol, t);
126
+ }
127
+ resolveLanguage() {
128
+ this.language = this.getDocumentLanguage();
129
+ const e4 = new CustomEvent("sp-language-context", { bubbles: true, composed: true, detail: { callback: (t, a2) => {
130
+ const i4 = this.language;
131
+ this.language = t, this.unsubscribe = a2, this.host.requestUpdate(languageResolverUpdatedSymbol, i4);
132
+ } }, cancelable: true });
133
+ this.host.dispatchEvent(e4);
134
+ }
135
+ };
136
+
137
+ // node_modules/@spectrum-web-components/shared/src/get-label-from-slot.js
138
+ var getLabelFromSlot = (r, l) => {
139
+ if (r) return null;
140
+ const t = l.assignedNodes().reduce((e4, n3) => n3.textContent ? e4 + n3.textContent : e4, "");
141
+ return t ? t.trim() : null;
142
+ };
143
+
144
+ // node_modules/@spectrum-web-components/progress-circle/src/ProgressCircle.types.js
145
+ var PROGRESS_CIRCLE_VALID_SIZES = ["s", "m", "l"];
146
+ var PROGRESS_CIRCLE_STATIC_COLORS_S1 = ["white"];
147
+ var PROGRESS_CIRCLE_STATIC_COLORS_S2 = [...PROGRESS_CIRCLE_STATIC_COLORS_S1, "black"];
148
+
149
+ // node_modules/@spectrum-web-components/progress-circle/src/ProgressCircle.base.js
150
+ var d2 = Object.defineProperty;
151
+ var p2 = Object.getOwnPropertyDescriptor;
152
+ var i3 = (o3, r, e4, a2) => {
153
+ for (var t = a2 > 1 ? void 0 : a2 ? p2(r, e4) : r, l = o3.length - 1, n3; l >= 0; l--) (n3 = o3[l]) && (t = (a2 ? n3(r, e4, t) : n3(t)) || t);
154
+ return a2 && t && d2(r, e4, t), t;
155
+ };
156
+ var ProgressCircleBase = class extends SizedMixin(SpectrumElement, { validSizes: PROGRESS_CIRCLE_VALID_SIZES }) {
157
+ constructor() {
158
+ super(...arguments);
159
+ this.indeterminate = false;
160
+ this.label = "";
161
+ this.progress = 0;
162
+ this.languageResolver = new LanguageResolutionController(this);
163
+ }
164
+ makeRotation(e4) {
165
+ return this.indeterminate ? void 0 : `transform: rotate(${e4}deg);`;
166
+ }
167
+ handleSlotchange() {
168
+ const e4 = getLabelFromSlot(this.label, this.slotEl);
169
+ e4 && (this.label = e4);
170
+ }
171
+ firstUpdated(e4) {
172
+ super.firstUpdated(e4), this.hasAttribute("role") || this.setAttribute("role", "progressbar");
173
+ }
174
+ formatProgress() {
175
+ return new Intl.NumberFormat(this.languageResolver.language, { style: "percent", unitDisplay: "narrow" }).format(this.progress / 100);
176
+ }
177
+ updated(e4) {
178
+ super.updated(e4), e4.has("indeterminate") && (this.indeterminate ? (this.removeAttribute("aria-valuemin"), this.removeAttribute("aria-valuemax"), this.removeAttribute("aria-valuenow"), this.removeAttribute("aria-valuetext")) : (this.setAttribute("aria-valuemin", "0"), this.setAttribute("aria-valuemax", "100"), this.setAttribute("aria-valuenow", "" + this.progress), this.setAttribute("aria-valuetext", this.formatProgress()))), !this.indeterminate && e4.has("progress") && (this.setAttribute("aria-valuenow", "" + this.progress), this.setAttribute("aria-valuetext", this.formatProgress())), !this.indeterminate && e4.has(languageResolverUpdatedSymbol) && this.setAttribute("aria-valuetext", this.formatProgress()), e4.has("label") && (this.label.length ? this.setAttribute("aria-label", this.label) : e4.get("label") === this.getAttribute("aria-label") && this.removeAttribute("aria-label"));
179
+ const a2 = () => !!(this.label || this.getAttribute("aria-label") || this.getAttribute("aria-labelledby") || this.slotEl.assignedNodes().length);
180
+ }
181
+ };
182
+ i3([n({ type: String, reflect: true, attribute: "static-color" })], ProgressCircleBase.prototype, "staticColor", 2), i3([n({ type: Boolean, reflect: true })], ProgressCircleBase.prototype, "indeterminate", 2), i3([n({ type: String })], ProgressCircleBase.prototype, "label", 2), i3([n({ type: Number })], ProgressCircleBase.prototype, "progress", 2), i3([e2("slot")], ProgressCircleBase.prototype, "slotEl", 2);
183
+
184
+ // node_modules/@spectrum-web-components/progress-circle/src/ProgressCircle.js
185
+ var d3 = Object.defineProperty;
186
+ var m2 = Object.getOwnPropertyDescriptor;
187
+ var a = (i4, e4, s2, r) => {
188
+ for (var t = r > 1 ? void 0 : r ? m2(e4, s2) : e4, o3 = i4.length - 1, l; o3 >= 0; o3--) (l = i4[o3]) && (t = (r ? l(e4, s2, t) : l(t)) || t);
189
+ return r && t && d3(e4, s2, t), t;
190
+ };
191
+ var ProgressCircle = class extends ProgressCircleBase {
192
+ static get styles() {
193
+ return [progress_circle_css_default];
194
+ }
195
+ render() {
196
+ const e4 = [this.makeRotation(-180 + 3.6 * Math.min(this.progress, 50)), this.makeRotation(-180 + 3.6 * Math.max(this.progress - 50, 0))], s2 = ["Mask1", "Mask2"];
197
+ return b`
198
+ <slot @slotchange=${this.handleSlotchange}></slot>
199
+ <div class="track"></div>
200
+ <div class="fills">
201
+ ${s2.map((r, t) => b`
202
+ <div class="fill${r}">
203
+ <div class="fillSub${r}" style=${o(e4[t])}>
204
+ <div class="fill"></div>
205
+ </div>
206
+ </div>
207
+ `)}
208
+ </div>
209
+ `;
210
+ }
211
+ };
212
+ ProgressCircle.STATIC_COLORS = PROGRESS_CIRCLE_STATIC_COLORS_S1, a([n({ type: String, reflect: true, attribute: "static-color" })], ProgressCircle.prototype, "staticColor", 2);
213
+
214
+ // node_modules/@spectrum-web-components/progress-circle/sp-progress-circle.js
215
+ defineElement("sp-progress-circle", ProgressCircle);
216
+
217
+ export {
218
+ n2 as n,
219
+ SizedMixin
220
+ };
221
+ /*! Bundled license information:
222
+
223
+ @lit/reactive-element/decorators/custom-element.js:
224
+ @lit/reactive-element/decorators/event-options.js:
225
+ @lit/reactive-element/decorators/query-all.js:
226
+ @lit/reactive-element/decorators/query-async.js:
227
+ @lit/reactive-element/decorators/query-assigned-nodes.js:
228
+ (**
229
+ * @license
230
+ * Copyright 2017 Google LLC
231
+ * SPDX-License-Identifier: BSD-3-Clause
232
+ *)
233
+ */
234
+ //# sourceMappingURL=chunk-HBUX7E54.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/@lit/reactive-element/src/decorators/query-assigned-nodes.ts", "../node_modules/@spectrum-web-components/base/src/sizedMixin.ts", "../node_modules/@spectrum-web-components/progress-circle/src/progress-circle.css.ts", "../node_modules/@spectrum-web-components/reactive-controllers/src/AttributeObserver.ts", "../node_modules/@spectrum-web-components/reactive-controllers/src/LanguageResolution.ts", "../node_modules/@spectrum-web-components/shared/src/get-label-from-slot.ts", "../node_modules/@spectrum-web-components/progress-circle/src/ProgressCircle.types.ts", "../node_modules/@spectrum-web-components/progress-circle/src/ProgressCircle.base.ts", "../node_modules/@spectrum-web-components/progress-circle/src/ProgressCircle.ts", "../node_modules/@spectrum-web-components/progress-circle/sp-progress-circle.ts"],
4
+ "sourcesContent": ["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/*\n * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all\n * property decorators (but not class decorators) in this file that have\n * an @ExportDecoratedItems annotation must be defined as a regular function,\n * not an arrow function.\n */\nimport type {ReactiveElement} from '../reactive-element.js';\nimport {desc, type Interface} from './base.js';\n\n/**\n * Options for the {@linkcode queryAssignedNodes} decorator. Extends the options\n * that can be passed into [HTMLSlotElement.assignedNodes](https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/assignedNodes).\n */\nexport interface QueryAssignedNodesOptions extends AssignedNodesOptions {\n /**\n * Name of the slot to query. Leave empty for the default slot.\n */\n slot?: string;\n}\n\nexport type QueryAssignedNodesDecorator = {\n // legacy\n (\n proto: Interface<ReactiveElement>,\n name: PropertyKey,\n descriptor?: PropertyDescriptor\n // Note TypeScript requires the return type to be `void|any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): void | any;\n\n // standard\n <C extends Interface<ReactiveElement>, V extends Array<Node>>(\n value: ClassAccessorDecoratorTarget<C, V>,\n context: ClassAccessorDecoratorContext<C, V>\n ): ClassAccessorDecoratorResult<C, V>;\n};\n\n/**\n * A property decorator that converts a class property into a getter that\n * returns the `assignedNodes` of the given `slot`.\n *\n * Can be passed an optional {@linkcode QueryAssignedNodesOptions} object.\n *\n * Example usage:\n * ```ts\n * class MyElement {\n * @queryAssignedNodes({slot: 'list', flatten: true})\n * listItems!: Array<Node>;\n *\n * render() {\n * return html`\n * <slot name=\"list\"></slot>\n * `;\n * }\n * }\n * ```\n *\n * Note the type of this property should be annotated as `Array<Node>`. Use the\n * queryAssignedElements decorator to list only elements, and optionally filter\n * the element list using a CSS selector.\n *\n * @category Decorator\n */\nexport function queryAssignedNodes(\n options?: QueryAssignedNodesOptions\n): QueryAssignedNodesDecorator {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (<V extends Array<Node>>(\n obj: object,\n name: PropertyKey | ClassAccessorDecoratorContext<unknown, unknown>\n ) => {\n const {slot} = options ?? {};\n const slotSelector = `slot${slot ? `[name=${slot}]` : ':not([name])'}`;\n return desc(obj, name, {\n get(this: ReactiveElement): V {\n const slotEl =\n this.renderRoot?.querySelector<HTMLSlotElement>(slotSelector);\n return (slotEl?.assignedNodes(options) ?? []) as unknown as V;\n },\n });\n }) as QueryAssignedNodesDecorator;\n}\n", "/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport { PropertyValues, ReactiveElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nexport type Constructor<T = Record<string, unknown>> = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n new (...args: any[]): T;\n prototype: T;\n};\n\nexport const ELEMENT_SIZES = ['xxs', 'xs', 's', 'm', 'l', 'xl', 'xxl'] as const;\nexport type ElementSize = (typeof ELEMENT_SIZES)[number];\n\nexport const DEFAULT_ELEMENT_SIZES = [\n 's',\n 'm',\n 'l',\n 'xl',\n] as const satisfies readonly ElementSize[];\nexport type DefaultElementSize = (typeof DEFAULT_ELEMENT_SIZES)[number];\n\nexport interface SizedElementInterface {\n size: ElementSize;\n}\n\nexport interface SizedElementConstructor {\n readonly VALID_SIZES: readonly ElementSize[];\n}\n\nexport function SizedMixin<T extends Constructor<ReactiveElement>>(\n constructor: T,\n {\n validSizes = [...DEFAULT_ELEMENT_SIZES],\n noDefaultSize,\n defaultSize = 'm',\n }: {\n validSizes?: readonly ElementSize[];\n noDefaultSize?: boolean;\n defaultSize?: ElementSize;\n } = {}\n): T & Constructor<SizedElementInterface> & SizedElementConstructor {\n class SizedElement extends constructor {\n /**\n * @internal\n */\n static readonly VALID_SIZES: readonly ElementSize[] = validSizes;\n\n @property({ type: String })\n public get size(): ElementSize {\n return this._size || defaultSize;\n }\n\n public set size(value: ElementSize) {\n const fallbackSize = noDefaultSize ? null : defaultSize;\n const size = (value ? value.toLocaleLowerCase() : value) as ElementSize;\n const validSize = (\n validSizes.includes(size) ? size : fallbackSize\n ) as ElementSize;\n if (validSize) {\n this.setAttribute('size', validSize);\n }\n if (this._size === validSize) {\n return;\n }\n const oldSize = this._size;\n this._size = validSize;\n this.requestUpdate('size', oldSize);\n }\n\n private _size: ElementSize | null = defaultSize;\n\n protected override update(changes: PropertyValues): void {\n if (!this.hasAttribute('size') && !noDefaultSize) {\n this.setAttribute('size', this.size);\n }\n super.update(changes);\n }\n }\n return SizedElement;\n}\n\n/**\n * @deprecated Use `ELEMENT_SIZES` instead. This record will be removed in a future release.\n */\nexport const ElementSizes: Record<string, ElementSize> = {\n xxs: 'xxs',\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'l',\n xl: 'xl',\n xxl: 'xxl',\n};\n", "import { css } from '@spectrum-web-components/base';\nconst styles = css`\n @media (forced-colors:active){:host{--highcontrast-progress-circle-fill-border-color:Highlight;--highcontrast-progress-circle-fill-border-color-over-background:Highlight}.track{--spectrum-progress-circle-track-border-style:double}}:host{--spectrum-progress-circle-track-border-color:var(--spectrum-gray-300);--spectrum-progress-circle-fill-border-color:var(--spectrum-accent-content-color-default);--spectrum-progress-circle-track-border-color-over-background:var(--spectrum-transparent-white-300);--spectrum-progress-circle-fill-border-color-over-background:var(--spectrum-transparent-white-900);--spectrum-progress-circle-track-border-style:solid;position:var(--mod-progress-circle-position,relative);inline-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));direction:ltr;display:inline-block;position:relative;transform:translateZ(0)}:host([size=s]){--spectrum-progress-circle-size:var(--spectrum-progress-circle-size-small);--spectrum-progress-circle-thickness:var(--spectrum-progress-circle-thickness-small)}:host{--spectrum-progress-circle-size:var(--spectrum-progress-circle-size-medium);--spectrum-progress-circle-thickness:var(--spectrum-progress-circle-thickness-medium)}:host([size=l]){--spectrum-progress-circle-size:var(--spectrum-progress-circle-size-large);--spectrum-progress-circle-thickness:var(--spectrum-progress-circle-thickness-large)}.track{box-sizing:border-box;inline-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));border-color:var(--mod-progress-circle-track-border-color,var(--spectrum-progress-circle-track-border-color));border-style:var(--mod-progress-circle-track-border-style,var(--spectrum-progress-circle-track-border-style));border-width:var(--mod-progress-circle-thickness,var(--spectrum-progress-circle-thickness));border-radius:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size))}.fills{block-size:100%;inline-size:100%;position:absolute;inset-block-start:0;inset-inline-start:0}.fill{box-sizing:border-box;inline-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size));border-color:var(--highcontrast-progress-circle-fill-border-color,var(--mod-progress-circle-fill-border-color,var(--spectrum-progress-circle-fill-border-color)));border-style:solid;border-width:var(--mod-progress-circle-thickness,var(--spectrum-progress-circle-thickness));border-radius:var(--mod-progress-circle-size,var(--spectrum-progress-circle-size))}:host([static-color=white]) .track{border-color:var(--mod-progress-circle-track-border-color-over-background,var(--spectrum-progress-circle-track-border-color-over-background))}:host([static-color=white]) .fill{border-color:var(--highcontrast-progress-circle-fill-border-color-over-background,var(--mod-progress-circle-fill-border-color-over-background,var(--spectrum-progress-circle-fill-border-color-over-background)))}.fillMask1,.fillMask2{transform-origin:100%;block-size:100%;inline-size:50%;position:absolute;overflow:hidden;transform:rotate(180deg)}.fillSubMask1,.fillSubMask2{transform-origin:100%;block-size:100%;inline-size:100%;overflow:hidden;transform:rotate(-180deg)}.fillMask2{transform:rotate(0)}:host([indeterminate]) .fills{transform-origin:50%;will-change:transform;animation:1s cubic-bezier(.25,.78,.48,.89) infinite spectrum-fills-rotate;transform:translateZ(0)}:host([indeterminate]) .fillSubMask1{will-change:transform;animation:1s linear infinite spectrum-fill-mask-1;transform:translateZ(0)}:host([indeterminate]) .fillSubMask2{will-change:transform;animation:1s linear infinite spectrum-fill-mask-2;transform:translateZ(0)}.fill-submask-2{animation:1s linear infinite spectrum-fill-mask-2}@keyframes spectrum-fill-mask-1{0%{transform:rotate(90deg)}1.69%{transform:rotate(72.3deg)}3.39%{transform:rotate(55.5deg)}5.08%{transform:rotate(40.3deg)}6.78%{transform:rotate(25deg)}8.47%{transform:rotate(10.6deg)}10.17%{transform:rotate(0)}11.86%{transform:rotate(0)}13.56%{transform:rotate(0)}15.25%{transform:rotate(0)}16.95%{transform:rotate(0)}18.64%{transform:rotate(0)}20.34%{transform:rotate(0)}22.03%{transform:rotate(0)}23.73%{transform:rotate(0)}25.42%{transform:rotate(0)}27.12%{transform:rotate(0)}28.81%{transform:rotate(0)}30.51%{transform:rotate(0)}32.2%{transform:rotate(0)}33.9%{transform:rotate(0)}35.59%{transform:rotate(0)}37.29%{transform:rotate(0)}38.98%{transform:rotate(0)}40.68%{transform:rotate(0)}42.37%{transform:rotate(5.3deg)}44.07%{transform:rotate(13.4deg)}45.76%{transform:rotate(20.6deg)}47.46%{transform:rotate(29deg)}49.15%{transform:rotate(36.5deg)}50.85%{transform:rotate(42.6deg)}52.54%{transform:rotate(48.8deg)}54.24%{transform:rotate(54.2deg)}55.93%{transform:rotate(59.4deg)}57.63%{transform:rotate(63.2deg)}59.32%{transform:rotate(67.2deg)}61.02%{transform:rotate(70.8deg)}62.71%{transform:rotate(73.8deg)}64.41%{transform:rotate(76.2deg)}66.1%{transform:rotate(78.7deg)}67.8%{transform:rotate(80.6deg)}69.49%{transform:rotate(82.6deg)}71.19%{transform:rotate(83.7deg)}72.88%{transform:rotate(85deg)}74.58%{transform:rotate(86.3deg)}76.27%{transform:rotate(87deg)}77.97%{transform:rotate(87.7deg)}79.66%{transform:rotate(88.3deg)}81.36%{transform:rotate(88.6deg)}83.05%{transform:rotate(89.2deg)}84.75%{transform:rotate(89.2deg)}86.44%{transform:rotate(89.5deg)}88.14%{transform:rotate(89.9deg)}89.83%{transform:rotate(89.7deg)}91.53%{transform:rotate(90.1deg)}93.22%{transform:rotate(90.2deg)}94.92%{transform:rotate(90.1deg)}96.61%{transform:rotate(90deg)}98.31%{transform:rotate(89.8deg)}to{transform:rotate(90deg)}}@keyframes spectrum-fill-mask-2{0%{transform:rotate(180deg)}1.69%{transform:rotate(180deg)}3.39%{transform:rotate(180deg)}5.08%{transform:rotate(180deg)}6.78%{transform:rotate(180deg)}8.47%{transform:rotate(180deg)}10.17%{transform:rotate(179.2deg)}11.86%{transform:rotate(164deg)}13.56%{transform:rotate(151.8deg)}15.25%{transform:rotate(140.8deg)}16.95%{transform:rotate(130.3deg)}18.64%{transform:rotate(120.4deg)}20.34%{transform:rotate(110.8deg)}22.03%{transform:rotate(101.6deg)}23.73%{transform:rotate(93.5deg)}25.42%{transform:rotate(85.4deg)}27.12%{transform:rotate(78.1deg)}28.81%{transform:rotate(71.2deg)}30.51%{transform:rotate(89.1deg)}32.2%{transform:rotate(105.5deg)}33.9%{transform:rotate(121.3deg)}35.59%{transform:rotate(135.5deg)}37.29%{transform:rotate(148.4deg)}38.98%{transform:rotate(161deg)}40.68%{transform:rotate(173.5deg)}42.37%{transform:rotate(180deg)}44.07%{transform:rotate(180deg)}45.76%{transform:rotate(180deg)}47.46%{transform:rotate(180deg)}49.15%{transform:rotate(180deg)}50.85%{transform:rotate(180deg)}52.54%{transform:rotate(180deg)}54.24%{transform:rotate(180deg)}55.93%{transform:rotate(180deg)}57.63%{transform:rotate(180deg)}59.32%{transform:rotate(180deg)}61.02%{transform:rotate(180deg)}62.71%{transform:rotate(180deg)}64.41%{transform:rotate(180deg)}66.1%{transform:rotate(180deg)}67.8%{transform:rotate(180deg)}69.49%{transform:rotate(180deg)}71.19%{transform:rotate(180deg)}72.88%{transform:rotate(180deg)}74.58%{transform:rotate(180deg)}76.27%{transform:rotate(180deg)}77.97%{transform:rotate(180deg)}79.66%{transform:rotate(180deg)}81.36%{transform:rotate(180deg)}83.05%{transform:rotate(180deg)}84.75%{transform:rotate(180deg)}86.44%{transform:rotate(180deg)}88.14%{transform:rotate(180deg)}89.83%{transform:rotate(180deg)}91.53%{transform:rotate(180deg)}93.22%{transform:rotate(180deg)}94.92%{transform:rotate(180deg)}96.61%{transform:rotate(180deg)}98.31%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes spectrum-fills-rotate{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host{--spectrum-progress-circle-track-border-color:var(--system-progress-circle-track-border-color);--spectrum-progress-circle-track-border-color-over-background:var(--system-progress-circle-track-border-color-over-background);--spectrum-progress-circle-fill-border-color-over-background:var(--system-progress-circle-fill-border-color-over-background)}:host{inline-size:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size));--spectrum-progress-circle-size:inherit;--spectrum-progresscircle-m-over-background-track-fill-color:var(--spectrum-alias-track-fill-color-overbackground);--_spectrum-progress-circle-size:var(--spectrum-progress-circle-size,var(--spectrum-progress-circle-size-medium))}:host([size=s]){--_spectrum-progress-circle-size:var(--spectrum-progress-circle-size,var(--spectrum-progress-circle-size-small))}:host([size=l]){--_spectrum-progress-circle-size:var(--spectrum-progress-circle-size,var(--spectrum-progress-circle-size-large))}slot{display:none}.track,.fill{inline-size:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size));block-size:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size));border-radius:var(--mod-progress-circle-size,var(--_spectrum-progress-circle-size))}:host([indeterminate]) .fills,:host([indeterminate]) .fillSubMask1,:host([indeterminate]) .fillSubMask2{animation-duration:var(--spectrum-animation-duration-2000)}\n`;\nexport default styles;", "/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// For watching a custom element's *own* attributes, prefer the native\n// `static observedAttributes` + `attributeChangedCallback` idiom (see\n// Tooltip.ts) instead of this module; no observer object is needed for that\n// case. This module is for watching *other* elements (ancestors,\n// `document.documentElement`, etc.), which that native callback can't reach.\n\ntype AttributeChangeListener = () => void;\n\n// One shared `MutationObserver` for every (target, attribute) pair registered\n// through `observeAttribute()`, regardless of caller. `MutationObserver` has\n// no `unobserve()` API, so removing a target/attribute requires\n// `disconnect()`-ing and re-`observe()`-ing everything that's left; that only\n// happens on registration changes (component mount/unmount), not per-mutation.\nconst registry = new Map<Element, Map<string, Set<AttributeChangeListener>>>();\nlet sharedObserver: MutationObserver | undefined;\n\nfunction processRecords(records: MutationRecord[]): void {\n for (const record of records) {\n const listeners = registry\n .get(record.target as Element)\n ?.get(record.attributeName as string);\n listeners?.forEach((listener) => listener());\n }\n}\n\n// Adds or updates the observation for a single target. Calling `observe()`\n// again on a target the observer already watches replaces that target's\n// filter in place; it has no effect on any other target's observation, so\n// this never needs to touch the rest of the registry.\nfunction observeTarget(\n target: Element,\n attributes: Map<string, Set<AttributeChangeListener>>\n): void {\n if (!sharedObserver) {\n sharedObserver = new MutationObserver(processRecords);\n }\n sharedObserver.observe(target, {\n attributes: true,\n attributeFilter: Array.from(attributes.keys()),\n });\n}\n\n// `MutationObserver` has no per-target `unobserve()`, so fully dropping a\n// target/attribute requires disconnecting and re-observing everything that's\n// left. Only removal needs this; adding a target/attribute can reuse the\n// existing observer via `observeTarget()` above.\nfunction reconnectAll(): void {\n if (sharedObserver) {\n // `disconnect()` discards any records already queued but not yet\n // delivered to the callback, so a mutation that lands right before an\n // unrelated component's unmount triggers `reconnectAll()` would\n // otherwise be silently dropped. Drain and process them first.\n //\n // This assumes no listener synchronously mutates another\n // still-observed attribute: `processRecords()` runs listeners\n // synchronously, so any such mutation would be queued into\n // `sharedObserver` and then silently discarded by `disconnect()` on\n // the next line, same as an unrelated mutation timed the same way.\n // Every listener registered through this module today just flags\n // state and calls `requestUpdate()`, so this doesn't come up in\n // practice, but a future caller that mutates attributes from a\n // listener should be aware of it.\n processRecords(sharedObserver.takeRecords());\n sharedObserver.disconnect();\n }\n\n if (registry.size === 0) {\n sharedObserver = undefined;\n return;\n }\n\n sharedObserver = new MutationObserver(processRecords);\n for (const [target, attributes] of registry) {\n sharedObserver.observe(target, {\n attributes: true,\n attributeFilter: Array.from(attributes.keys()),\n });\n }\n}\n\n/**\n * Notifies `listener` whenever `attribute` changes on `target`, sharing a\n * single `MutationObserver` across every caller/target/attribute combination\n * rather than allocating one observer per caller. Returns an unsubscribe\n * function; call it (e.g. from `disconnectedCallback`) to stop listening.\n */\nexport function observeAttribute(\n target: Element,\n attribute: string,\n listener: AttributeChangeListener\n): () => void {\n let attributes = registry.get(target);\n const isNewTarget = !attributes;\n\n if (!attributes) {\n attributes = new Map();\n registry.set(target, attributes);\n }\n\n let listeners = attributes.get(attribute);\n const isNewAttribute = !listeners;\n\n if (!listeners) {\n listeners = new Set();\n attributes.set(attribute, listeners);\n }\n\n listeners.add(listener);\n // A target/attribute pair already being observed just gets another\n // listener added to its existing `Set`; no observer change needed.\n if (isNewTarget || isNewAttribute) {\n observeTarget(target, attributes);\n }\n\n return () => {\n listeners.delete(listener);\n if (listeners.size === 0) {\n attributes.delete(attribute);\n if (attributes.size === 0) {\n // The target itself is fully dropped \u2014 `MutationObserver` has no\n // per-target `unobserve()`, so this requires the full\n // disconnect-and-reconnect-everyone-else dance.\n registry.delete(target);\n reconnectAll();\n } else {\n // The target is still watched for its other attributes; shrink its\n // filter in place via `observeTarget()` instead of `reconnectAll()`,\n // so an unrelated attribute unsubscribing on one element doesn't\n // force a full disconnect/re-observe of every other watched element.\n observeTarget(target, attributes);\n }\n }\n };\n}\n", "/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\n\nimport { observeAttribute } from './AttributeObserver.js';\n\n// TODO: Update this when theme is migrated to gen2\ntype ProvideLang = {\n callback: (lang: string, unsubscribe: () => void) => void;\n};\n\n/**\n * Symbol used to track language resolver updates in reactive element lifecycle.\n * When the language context changes, components use this symbol to trigger updates\n * to locale-dependent content (e.g., formatted dates, numbers, currency).\n */\nexport const languageResolverUpdatedSymbol = Symbol(\n 'language resolver updated'\n);\n\n// Watches `<html lang>` via the shared `AttributeObserver` singleton rather\n// than a dedicated `MutationObserver` per controller.\nfunction addLangListener(listener: () => void): () => void {\n return observeAttribute(document.documentElement, 'lang', listener);\n}\n\n/**\n * A reactive controller that manages language/locale resolution for components.\n */\nexport class LanguageResolutionController implements ReactiveController {\n private host: ReactiveElement;\n\n /**\n * The currently resolved language/locale code (e.g., 'en-US', 'fr-FR').\n * Defaults to document language, browser language, or 'en-US'.\n */\n language = this.getDocumentLanguage();\n\n /** Unsubscribe from the sp-language-context provider (if any). */\n private unsubscribe?: () => void;\n\n /** Unsubscribe from the shared <html lang> observer. */\n private removeLangListener?: () => void;\n\n constructor(host: ReactiveElement) {\n this.host = host;\n this.host.addController(this);\n }\n\n /**\n * Reads language from document and validates. Used for initial value and\n * when syncing from `<html lang>` changes.\n */\n private getDocumentLanguage(): string {\n const raw = document.documentElement.lang || navigator.language || 'en-US';\n try {\n Intl.DateTimeFormat.supportedLocalesOf([raw]);\n return raw;\n } catch {\n return 'en-US';\n }\n }\n\n public hostConnected(): void {\n this.resolveLanguage();\n this.removeLangListener = addLangListener(this.handleLangChange.bind(this));\n }\n\n public hostDisconnected(): void {\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n this.removeLangListener?.();\n this.removeLangListener = undefined;\n }\n\n /**\n * Called by the shared observer when `<html lang>` changes.\n * Skipped when a provider (e.g. sp-theme) is the source of truth.\n */\n private handleLangChange(): void {\n if (this.unsubscribe) {\n return;\n }\n const next = this.getDocumentLanguage();\n if (next === this.language) {\n return;\n }\n const previous = this.language;\n this.language = next;\n this.host.requestUpdate(languageResolverUpdatedSymbol, previous);\n }\n\n /**\n * Resolves the language: syncs from document, then queries for a provider\n * (e.g. sp-theme) via 'sp-language-context'. If a provider calls the\n * callback, it becomes the source of truth until disconnected.\n */\n private resolveLanguage(): void {\n this.language = this.getDocumentLanguage();\n const queryThemeEvent = new CustomEvent<ProvideLang>(\n 'sp-language-context',\n {\n bubbles: true,\n composed: true,\n detail: {\n callback: (lang: string, unsubscribe: () => void) => {\n const previous = this.language;\n this.language = lang;\n this.unsubscribe = unsubscribe;\n this.host.requestUpdate(languageResolverUpdatedSymbol, previous);\n },\n },\n cancelable: true,\n }\n );\n this.host.dispatchEvent(queryThemeEvent);\n }\n}\n", "/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport const getLabelFromSlot = (\n label: string,\n slotEl: HTMLSlotElement\n): string | null => {\n if (label) {\n return null;\n }\n const textContent = slotEl\n .assignedNodes()\n .reduce((accumulator: string, node: Node) => {\n if (node.textContent) {\n return accumulator + node.textContent;\n } else {\n return accumulator;\n }\n }, '');\n if (textContent) {\n return textContent.trim();\n } else {\n return null;\n }\n};\n", "/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { ElementSize } from '@spectrum-web-components/base/src/sizedMixin.js';\n\nexport const PROGRESS_CIRCLE_VALID_SIZES = [\n 's',\n 'm',\n 'l',\n] as const satisfies ElementSize[];\nexport const PROGRESS_CIRCLE_STATIC_COLORS_S1 = ['white'] as const;\nexport const PROGRESS_CIRCLE_STATIC_COLORS_S2 = [\n ...PROGRESS_CIRCLE_STATIC_COLORS_S1,\n 'black',\n] as const;\n\nexport type ProgressCircleStaticColorS1 =\n (typeof PROGRESS_CIRCLE_STATIC_COLORS_S1)[number];\nexport type ProgressCircleStaticColorS2 =\n (typeof PROGRESS_CIRCLE_STATIC_COLORS_S2)[number];\nexport type ProgressCircleStaticColor =\n | ProgressCircleStaticColorS1\n | ProgressCircleStaticColorS2;\n", "/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\nimport { PropertyValues, SpectrumElement } from '@spectrum-web-components/base';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { SizedMixin } from '@spectrum-web-components/base/src/sizedMixin.js';\nimport {\n LanguageResolutionController,\n languageResolverUpdatedSymbol,\n} from '@spectrum-web-components/reactive-controllers/src/LanguageResolution.js';\nimport { getLabelFromSlot } from '@spectrum-web-components/shared/src/get-label-from-slot.js';\n\nimport {\n PROGRESS_CIRCLE_VALID_SIZES,\n ProgressCircleStaticColor,\n} from './ProgressCircle.types.js';\n\n/**\n * A progress circle component that visually represents the completion progress of a task.\n * Can be used in both determinate (with specific progress value) and indeterminate (loading) states.\n *\n * @attribute {ElementSize} size - The size of the progress circle.\n *\n * @slot - Accessible label for the progress circle.\n */\nexport abstract class ProgressCircleBase extends SizedMixin(SpectrumElement, {\n validSizes: PROGRESS_CIRCLE_VALID_SIZES,\n}) {\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n // API TO OVERRIDE\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /**\n * @internal\n *\n * A readonly array of the valid static colors for the progress circle.\n */\n static readonly STATIC_COLORS: readonly string[];\n\n /**\n * @internal\n *\n * Static color variant for use on different backgrounds.\n */\n @property({ type: String, reflect: true, attribute: 'static-color' })\n public staticColor?: ProgressCircleStaticColor;\n\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n // SHARED API\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /**\n * Whether the progress circle shows indeterminate progress (loading state).\n */\n @property({ type: Boolean, reflect: true })\n public indeterminate = false;\n\n /**\n * Accessible label for the progress circle.\n */\n @property({ type: String })\n public label = '';\n\n /**\n * Progress value from 0 to 100.\n */\n @property({ type: Number })\n public progress = 0;\n\n private languageResolver = new LanguageResolutionController(this);\n\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n // IMPLEMENTATION\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /**\n * @internal\n */\n @query('slot')\n private slotEl!: HTMLSlotElement;\n\n protected makeRotation(rotation: number): string | undefined {\n return this.indeterminate\n ? undefined\n : `transform: rotate(${rotation}deg);`;\n }\n\n protected handleSlotchange(): void {\n const labelFromSlot = getLabelFromSlot(this.label, this.slotEl);\n if (labelFromSlot) {\n this.label = labelFromSlot;\n }\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'progressbar');\n }\n }\n\n private formatProgress(): string {\n return new Intl.NumberFormat(this.languageResolver.language, {\n style: 'percent',\n unitDisplay: 'narrow',\n }).format(this.progress / 100);\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (changes.has('indeterminate')) {\n if (this.indeterminate) {\n this.removeAttribute('aria-valuemin');\n this.removeAttribute('aria-valuemax');\n this.removeAttribute('aria-valuenow');\n this.removeAttribute('aria-valuetext');\n } else {\n this.setAttribute('aria-valuemin', '0');\n this.setAttribute('aria-valuemax', '100');\n this.setAttribute('aria-valuenow', '' + this.progress);\n this.setAttribute('aria-valuetext', this.formatProgress());\n }\n }\n if (!this.indeterminate && changes.has('progress')) {\n this.setAttribute('aria-valuenow', '' + this.progress);\n this.setAttribute('aria-valuetext', this.formatProgress());\n }\n if (!this.indeterminate && changes.has(languageResolverUpdatedSymbol)) {\n this.setAttribute('aria-valuetext', this.formatProgress());\n }\n if (changes.has('label')) {\n if (this.label.length) {\n this.setAttribute('aria-label', this.label);\n } else if (changes.get('label') === this.getAttribute('aria-label')) {\n this.removeAttribute('aria-label');\n }\n }\n\n const hasAccessibleName = (): boolean => {\n return Boolean(\n this.label ||\n this.getAttribute('aria-label') ||\n this.getAttribute('aria-labelledby') ||\n this.slotEl.assignedNodes().length\n );\n };\n\n if (window.__swc?.DEBUG) {\n if (changes.has('indeterminate') && this.indeterminate) {\n window.__swc.warn(\n this,\n `<${this.localName}> the \"indeterminate\" attribute is deprecated and will be removed in Spectrum 2. Omit the \"progress\" attribute (or set it to null) to indicate indeterminate progress.`,\n 'https://spectrum-web-components.adobe.com/?path=/docs/progress-circle-consumer-migration-guide--docs',\n { level: 'deprecation' }\n );\n }\n const hasLightDomChildren = Array.from(\n this.slotEl?.assignedNodes() ?? []\n ).some(\n (node) =>\n node.nodeType === Node.ELEMENT_NODE ||\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim())\n );\n if (hasLightDomChildren) {\n window.__swc.warn(\n this,\n `<${this.localName}> light DOM children are deprecated as a labelling mechanism and will not be rendered in Spectrum 2. Use the \"label\" attribute or \"aria-label\" on the host instead.`,\n 'https://spectrum-web-components.adobe.com/?path=/docs/progress-circle-consumer-migration-guide--docs',\n { level: 'deprecation' }\n );\n }\n if (!hasAccessibleName() && this.getAttribute('role') === 'progressbar') {\n window.__swc?.warn(\n this,\n '<sp-progress-circle> elements need one of the following to be accessible:',\n 'https://opensource.adobe.com/spectrum-web-components/components/progress-circle/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'value supplied to the \"label\" attribute, which will be displayed visually as part of the element, or',\n 'text content supplied directly to the <sp-progress-circle> element, or',\n 'value supplied to the \"aria-label\" attribute, which will only be provided to screen readers, or',\n 'an element ID reference supplied to the \"aria-labelledby\" attribute, which will be provided by screen readers and will need to be managed manually by the parent application.',\n ],\n }\n );\n }\n }\n }\n}\n", "/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n CSSResultArray,\n html,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport { property } from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\n\nimport progressCircleStyles from './progress-circle.css.js';\nimport { ProgressCircleBase } from './ProgressCircle.base.js';\nimport {\n PROGRESS_CIRCLE_STATIC_COLORS_S1,\n type ProgressCircleStaticColorS1,\n} from './ProgressCircle.types.js';\n\n/**\n * @element sp-progress-circle\n */\nexport class ProgressCircle extends ProgressCircleBase {\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n // API OVERRIDES\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /**\n * @internal\n */\n static override readonly STATIC_COLORS = PROGRESS_CIRCLE_STATIC_COLORS_S1;\n\n /**\n * Static color variant for use on different backgrounds.\n *\n * When set to 'white', the component uses white styling for images with a dark tinted background.\n */\n @property({ type: String, reflect: true, attribute: 'static-color' })\n public override staticColor?: ProgressCircleStaticColorS1;\n\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n // RENDERING & STYLING\n // \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n public static override get styles(): CSSResultArray {\n return [progressCircleStyles];\n }\n\n protected override render(): TemplateResult {\n const styles = [\n this.makeRotation(-180 + (180 / 50) * Math.min(this.progress, 50)),\n this.makeRotation(-180 + (180 / 50) * Math.max(this.progress - 50, 0)),\n ];\n const masks = ['Mask1', 'Mask2'];\n return html`\n <slot @slotchange=${this.handleSlotchange}></slot>\n <div class=\"track\"></div>\n <div class=\"fills\">\n ${masks.map(\n (mask, index) => html`\n <div class=\"fill${mask}\">\n <div class=\"fillSub${mask}\" style=${ifDefined(styles[index])}>\n <div class=\"fill\"></div>\n </div>\n </div>\n `\n )}\n </div>\n `;\n }\n}\n", "/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { defineElement } from '@spectrum-web-components/base/src/define-element.js';\n\nimport { ProgressCircle } from './src/ProgressCircle.js';\n\ndefineElement('sp-progress-circle', ProgressCircle);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sp-progress-circle': ProgressCircle;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["queryAssignedNodes", "options", "obj", "name", "slot", "slotSelector", "desc", "get", "slotEl", "this", "renderRoot", "querySelector", "assignedNodes", "constructor", "validSizes", "noDefaultSize", "defaultSize", "SizedElement", "value", "fallbackSize", "size", "validSize", "oldSize", "changes", "__decorateClass", "property", "styles", "css", "registry", "sharedObserver", "processRecords", "records", "_a", "record", "listeners", "listener", "observeTarget", "target", "attributes", "reconnectAll", "attribute", "isNewTarget", "isNewAttribute", "addLangListener", "listener", "observeAttribute", "host", "raw", "e", "_a", "_b", "next", "previous", "queryThemeEvent", "lang", "unsubscribe", "label", "slotEl", "textContent", "accumulator", "node", "SizedMixin", "SpectrumElement", "PROGRESS_CIRCLE_VALID_SIZES", "LanguageResolutionController", "rotation", "labelFromSlot", "getLabelFromSlot", "changes", "languageResolverUpdatedSymbol", "hasAccessibleName", "__decorateClass", "property", "query", "ProgressCircleBase", "progressCircleStyles", "styles", "masks", "html", "mask", "index", "ifDefined", "PROGRESS_CIRCLE_STATIC_COLORS_S1", "__decorateClass", "property", "defineElement", "ProgressCircle"]
7
+ }
@@ -0,0 +1,13 @@
1
+ import {
2
+ userFocusableSelector
3
+ } from "./chunk-ZMBN6APP.js";
4
+
5
+ // node_modules/@spectrum-web-components/shared/src/first-focusable-in.js
6
+ var firstFocusableIn = (e) => e.querySelector(userFocusableSelector);
7
+ var firstFocusableSlottedIn = (e) => e.assignedElements().find((o) => o.matches(userFocusableSelector));
8
+
9
+ export {
10
+ firstFocusableIn,
11
+ firstFocusableSlottedIn
12
+ };
13
+ //# sourceMappingURL=chunk-IBQ4O4NO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/@spectrum-web-components/shared/src/first-focusable-in.ts"],
4
+ "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { SpectrumElement } from '@spectrum-web-components/base';\n\nimport { userFocusableSelector } from './focusable-selectors.js';\n\nexport const firstFocusableIn = (\n root: HTMLElement | ShadowRoot\n): SpectrumElement | null => {\n const firstFocusable = root.querySelector(\n userFocusableSelector\n ) as SpectrumElement;\n return firstFocusable;\n};\n\nexport const firstFocusableSlottedIn = (\n root: HTMLSlotElement\n): SpectrumElement | null => {\n const firstFocusable = root\n .assignedElements()\n .find((element) =>\n element.matches(userFocusableSelector)\n ) as SpectrumElement;\n return firstFocusable;\n};\n"],
5
+ "mappings": ";;;;;AAgBO,IAAM,mBACXA,OAEuBA,EAAK,cAC1BC,qBACF;AALK,IASM,0BACXD,OAEuBA,EACpB,iBAAiB,EACjB,KAAME,OACLA,EAAQ,QAAQD,qBAAqB,CACvC;",
6
+ "names": ["root", "userFocusableSelector", "element"]
7
+ }