@crockery/fellowship-components 0.1.0 → 0.4.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 (57) hide show
  1. package/README.md +10 -3
  2. package/RELEASING.md +9 -45
  3. package/dist/chunks/data-source-XbksqUrw.js +9 -0
  4. package/dist/chunks/data-source-XbksqUrw.js.map +1 -0
  5. package/dist/chunks/decorate-B_ZTN9li.js.map +1 -1
  6. package/dist/chunks/dungeon-cast-browser-CSnu3gC5.js +705 -0
  7. package/dist/chunks/dungeon-cast-browser-CSnu3gC5.js.map +1 -0
  8. package/dist/chunks/{dungeon-map-IPN6sEDj.js → dungeon-map-CutIcCVP.js} +93 -119
  9. package/dist/chunks/dungeon-map-CutIcCVP.js.map +1 -0
  10. package/dist/chunks/{talent-calculator-Ch1Pbbba.js → talent-calculator-Dxuc2dZ8.js} +75 -105
  11. package/dist/chunks/talent-calculator-Dxuc2dZ8.js.map +1 -0
  12. package/dist/data/cast-data-source.d.ts +5 -0
  13. package/dist/data/cast-data-source.d.ts.map +1 -0
  14. package/dist/data/data-source.d.ts +7 -16
  15. package/dist/data/data-source.d.ts.map +1 -1
  16. package/dist/data/package-cast-data-source.d.ts +8 -0
  17. package/dist/data/package-cast-data-source.d.ts.map +1 -0
  18. package/dist/data/package-data-source.d.ts +3 -1
  19. package/dist/data/package-data-source.d.ts.map +1 -1
  20. package/dist/data/package-talent-data-source.d.ts +2 -0
  21. package/dist/data/package-talent-data-source.d.ts.map +1 -1
  22. package/dist/data/talent-data-source.d.ts +4 -10
  23. package/dist/data/talent-data-source.d.ts.map +1 -1
  24. package/dist/dungeon-cast-browser/dungeon-cast-browser.d.ts +36 -0
  25. package/dist/dungeon-cast-browser/dungeon-cast-browser.d.ts.map +1 -0
  26. package/dist/dungeon-cast-browser/dungeon-cast-browser.styles.d.ts +2 -0
  27. package/dist/dungeon-cast-browser/dungeon-cast-browser.styles.d.ts.map +1 -0
  28. package/dist/dungeon-cast-browser/index.d.ts +4 -0
  29. package/dist/dungeon-cast-browser/index.d.ts.map +1 -0
  30. package/dist/dungeon-cast-browser/render-model.d.ts +5 -0
  31. package/dist/dungeon-cast-browser/render-model.d.ts.map +1 -0
  32. package/dist/dungeon-cast-browser/types.d.ts +60 -0
  33. package/dist/dungeon-cast-browser/types.d.ts.map +1 -0
  34. package/dist/dungeon-cast-browser.js +7 -0
  35. package/dist/dungeon-cast-browser.js.map +1 -0
  36. package/dist/dungeon-map/dungeon-map.d.ts.map +1 -1
  37. package/dist/dungeon-map.js +1 -1
  38. package/dist/index.d.ts +6 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +8 -5
  41. package/dist/react/dungeon-cast-browser.d.ts +12 -0
  42. package/dist/react/dungeon-cast-browser.d.ts.map +1 -0
  43. package/dist/react/dungeon-cast-browser.js +19 -0
  44. package/dist/react/dungeon-cast-browser.js.map +1 -0
  45. package/dist/react/dungeon-map.js +1 -1
  46. package/dist/react/index.d.ts +2 -0
  47. package/dist/react/index.d.ts.map +1 -1
  48. package/dist/react/talent-calculator.js +1 -1
  49. package/dist/react.js +4 -3
  50. package/dist/talent-calculator/talent-calculator.d.ts.map +1 -1
  51. package/dist/talent-calculator.js +1 -1
  52. package/package.json +35 -25
  53. package/src/dungeon-cast-browser/README.md +22 -0
  54. package/dist/chunks/data-source-CoIFvV72.js +0 -10
  55. package/dist/chunks/data-source-CoIFvV72.js.map +0 -1
  56. package/dist/chunks/dungeon-map-IPN6sEDj.js.map +0 -1
  57. package/dist/chunks/talent-calculator-Ch1Pbbba.js.map +0 -1
package/README.md CHANGED
@@ -11,7 +11,7 @@ npm install @crockery/fellowship-components
11
11
  pnpm add @crockery/fellowship-components
12
12
  ```
13
13
 
14
- The data package is installed automatically. Components import their datasets lazily, while image
14
+ The data package is installed automatically. Components use its shared lazy client, while image
15
15
  URLs use the installed data package's version-pinned CDN by default. Your application lockfile
16
16
  therefore selects both the exact data and its matching assets.
17
17
 
@@ -94,8 +94,10 @@ request. See `THIRD_PARTY_LICENSES.md` for the SIL Open Font License notice.
94
94
 
95
95
  ## Data and asset versions
96
96
 
97
- The library accepts `@crockery/fellowship-data@^1.0.0`. Commit the consuming application's
98
- lockfile when reproducible data and image updates matter.
97
+ The next release targets `@crockery/fellowship-data@^2.0.0` and requires manifest schema 2. Until
98
+ Data 2.0 is published, this repository remains installable from the last published Data release;
99
+ the release-dispatch automation updates the dependency and lockfile after publication. Commit a
100
+ consuming application's lockfile when reproducible data and image updates matter.
99
101
 
100
102
  Dataset JSON stays out of the component library's initial JavaScript path and published tarball.
101
103
  Each data-driven component supports:
@@ -106,6 +108,11 @@ Each data-driven component supports:
106
108
 
107
109
  See the relevant component document for the provider contract.
108
110
 
111
+ The legacy component-specific data-source types and package factories remain available as
112
+ deprecated structural adapters for the 0.x release line. New integrations should use
113
+ `createPackageFellowshipDataClient` from `@crockery/fellowship-data/client` and pass the relevant
114
+ client methods through `dataSource`.
115
+
109
116
  ## Development
110
117
 
111
118
  ```sh
package/RELEASING.md CHANGED
@@ -8,48 +8,11 @@ pnpm changeset
8
8
  ```
9
9
 
10
10
  The Release workflow maintains a `changeset-release/main` pull request. Merging that pull request
11
- publishes only when the `NPM_TRUSTED_PUBLISHING_READY` repository variable is `true`.
11
+ publishes the new version to npm automatically through trusted publishing.
12
12
 
13
- ## First public release
13
+ ## Trusted publishing
14
14
 
15
- Keep `NPM_TRUSTED_PUBLISHING_READY` unset or set to `false` while bootstrapping the package.
16
-
17
- 1. Enable **Allow GitHub Actions to create and approve pull requests** under **Settings → Actions →
18
- General → Workflow permissions**.
19
- 2. Run the Release workflow so Changesets creates or refreshes its version pull request.
20
- 3. Review the version, changelog, package checks, and tarball contents, then merge the version pull
21
- request.
22
- 4. From a clean checkout of that exact `main` commit, publish the first release:
23
-
24
- ```sh
25
- git pull --ff-only
26
- pnpm install --frozen-lockfile
27
- pnpm lint
28
- pnpm format:check
29
- pnpm typecheck
30
- pnpm test
31
- pnpm test:browser:smoke
32
- pnpm ladle:build
33
- pnpm pack:check
34
- npm login
35
- npm whoami
36
- npm publish --access public --tag latest
37
- ```
38
-
39
- 5. Verify the published package before tagging it:
40
-
41
- ```sh
42
- npm view @crockery/fellowship-components@0.2.0
43
- git tag -a "@crockery/fellowship-components@0.2.0" -m "@crockery/fellowship-components@0.2.0"
44
- git push origin "@crockery/fellowship-components@0.2.0"
45
- ```
46
-
47
- Create a matching GitHub release from the generated changelog. The manually bootstrapped release
48
- does not carry CI provenance.
49
-
50
- ## Enable trusted publishing
51
-
52
- After the package exists on npm, configure its npm trusted publisher with:
15
+ Trusted publishing is enabled on npm with:
53
16
 
54
17
  - Provider: GitHub Actions
55
18
  - Organization or user: `Crockery`
@@ -58,17 +21,18 @@ After the package exists on npm, configure its npm trusted publisher with:
58
21
  - Environment: none
59
22
  - Allowed action: `npm publish`
60
23
 
61
- Set the GitHub repository variable `NPM_TRUSTED_PUBLISHING_READY` to `true`. Do not add an
62
- `NPM_TOKEN`; npm authenticates the release job through its GitHub OIDC identity and creates
63
- provenance automatically.
24
+ The GitHub repository variable `NPM_TRUSTED_PUBLISHING_READY` is set to `true`. Keep it enabled and
25
+ do not add an `NPM_TOKEN`: npm authenticates the release job through its GitHub OIDC identity and
26
+ creates provenance automatically. Maintainers do not need to run `npm login`, `npm publish`, or
27
+ create release tags manually.
64
28
 
65
29
  ## Routine releases
66
30
 
67
31
  1. Merge consumer-facing changes and their changesets into `main`.
68
32
  2. Review the Changesets version pull request, including its generated changelog.
69
33
  3. Merge the version pull request after CI succeeds.
70
- 4. Confirm the Release workflow publishes the expected npm version, tag, GitHub release, and npm
71
- provenance statement.
34
+ 4. Confirm the Release workflow publishes the expected npm version and creates its tag, GitHub
35
+ release, and npm provenance statement.
72
36
 
73
37
  Never reuse a version number. If a release is defective, publish a corrective patch. Deprecate a
74
38
  bad version with `npm deprecate` when consumers need an explicit warning; unpublish only when npm's
@@ -0,0 +1,9 @@
1
+ import { FellowshipDataError as e } from "@crockery/fellowship-data/client";
2
+ //#region src/data/data-source.ts
3
+ var t = 2, n = (n) => {
4
+ if (n !== t) throw new e("unsupported-schema", `Unsupported fellowship-data schema version: ${String(n)}.`);
5
+ };
6
+ //#endregion
7
+ export { n, e as t };
8
+
9
+ //# sourceMappingURL=data-source-XbksqUrw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-source-XbksqUrw.js","names":[],"sources":["../../src/data/data-source.ts"],"sourcesContent":["import { FellowshipDataError } from \"@crockery/fellowship-data/client\";\nexport { FellowshipDataError };\nexport type {\n DungeonMapData,\n FellowshipDataErrorCode,\n} from \"@crockery/fellowship-data/client\";\n\nimport type { FellowshipDataClient } from \"@crockery/fellowship-data/client\";\n\nconst supportedSchemaVersion = 2;\n\nexport const assertSupportedFellowshipDataSchema = (schemaVersion: number): void => {\n if (schemaVersion === supportedSchemaVersion) return;\n\n throw new FellowshipDataError(\n \"unsupported-schema\",\n `Unsupported fellowship-data schema version: ${String(schemaVersion)}.`,\n );\n};\n\n/** @deprecated Use the corresponding `FellowshipDataClient` methods. */\nexport type FellowshipDataSource = Pick<FellowshipDataClient, \"loadDungeon\" | \"resolveAssetUrl\">;\n"],"mappings":";;AASA,IAAM,IAAyB,GAElB,KAAuC,MAAgC;CAC9E,UAAkB,GAEtB,MAAM,IAAI,EACR,sBACA,+CAA+C,OAAO,CAAa,EAAE,EACvE;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"decorate-B_ZTN9li.js","names":[],"sources":["../../src/styles/field-manual.styles.ts","../../node_modules/.pnpm/@fontsource+ibm-plex-mono@5.2.7/node_modules/@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-500-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-mono@5.2.7/node_modules/@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-600-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-sans-condensed@5.2.8/node_modules/@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-400-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-sans-condensed@5.2.8/node_modules/@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-500-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-sans-condensed@5.2.8/node_modules/@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-600-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-sans-condensed@5.2.8/node_modules/@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-700-normal.woff2?fellowship-font-url","../../src/styles/field-manual-fonts.ts"],"sourcesContent":["import { css } from \"lit\";\n\n/** Shared internal aliases for the public Expedition Field Manual theme tokens. */\nexport const fieldManualStyles = css`\n :host {\n --_fellowship-field-canvas: var(--fellowship-field-canvas, #0b0f13);\n --_fellowship-field-surface: var(--fellowship-field-surface, #10161c);\n --_fellowship-field-surface-raised: var(--fellowship-field-surface-raised, #151c23);\n --_fellowship-field-inset: var(--fellowship-field-inset, #080c10);\n --_fellowship-field-ink: var(--fellowship-field-ink, #f1eee5);\n --_fellowship-field-muted: var(--fellowship-field-muted, #b7b4aa);\n --_fellowship-field-tertiary: var(--fellowship-field-tertiary, #858a8e);\n --_fellowship-field-border: var(\n --fellowship-field-border,\n rgb(241 238 229 / 10%)\n );\n --_fellowship-field-border-strong: var(\n --fellowship-field-border-strong,\n rgb(241 238 229 / 18%)\n );\n --_fellowship-field-accent: var(--fellowship-field-accent, #69c4d4);\n --_fellowship-field-focus: var(--fellowship-field-focus, #a8e6ee);\n --_fellowship-field-ember: var(--fellowship-field-ember, #d9784c);\n --_fellowship-field-brass: var(--fellowship-field-brass, #c1a36a);\n --_fellowship-field-font-family: var(\n --fellowship-field-font-family,\n \"Fellowship Field\",\n \"Arial Narrow\",\n sans-serif\n );\n --_fellowship-field-mono-font-family: var(\n --fellowship-field-mono-font-family,\n \"Fellowship Tactical\",\n ui-monospace,\n monospace\n );\n --_fellowship-field-radius: var(--fellowship-field-radius, 6px);\n }\n`;\n","export default import.meta.ROLLUP_FILE_URL_P4DPfwIRieI8P6q8r4JZRw;","export default import.meta.ROLLUP_FILE_URL_VRAku6fjghkApIISiBWPzg;","export default import.meta.ROLLUP_FILE_URL_8HSUfh7cJHNFxCkInNzNXw;","export default import.meta.ROLLUP_FILE_URL_WPGYjwIlzWVNM1bYhOc83w;","export default import.meta.ROLLUP_FILE_URL_cn7IAAGY294pWGc7MpElVg;","export default import.meta.ROLLUP_FILE_URL_FKNdLzKnlftW3t_gzo81yw;","import mono500Url from \"@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-500-normal.woff2?url\";\nimport mono600Url from \"@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-600-normal.woff2?url\";\nimport field400Url from \"@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-400-normal.woff2?url\";\nimport field500Url from \"@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-500-normal.woff2?url\";\nimport field600Url from \"@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-600-normal.woff2?url\";\nimport field700Url from \"@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-700-normal.woff2?url\";\n\ninterface FieldManualFontAsset {\n readonly family: \"Fellowship Field\" | \"Fellowship Tactical\";\n readonly weight: \"400\" | \"500\" | \"600\" | \"700\";\n readonly url: string;\n}\n\nconst fieldManualFontAssets: readonly FieldManualFontAsset[] = [\n { family: \"Fellowship Field\", weight: \"400\", url: field400Url },\n { family: \"Fellowship Field\", weight: \"500\", url: field500Url },\n { family: \"Fellowship Field\", weight: \"600\", url: field600Url },\n { family: \"Fellowship Field\", weight: \"700\", url: field700Url },\n { family: \"Fellowship Tactical\", weight: \"500\", url: mono500Url },\n { family: \"Fellowship Tactical\", weight: \"600\", url: mono600Url },\n];\n\nconst installedDocuments = new WeakSet<Document>();\n\n/** Makes the bundled field-manual faces available to a component's owner document. */\nexport const installFieldManualFonts = (document: Document): void => {\n if (installedDocuments.has(document)) {\n return;\n }\n\n const FontFaceConstructor = document.defaultView?.FontFace;\n if (!FontFaceConstructor || !document.fonts) {\n return;\n }\n\n const faces = fieldManualFontAssets.map(\n ({ family, weight, url }) =>\n new FontFaceConstructor(family, `url(${JSON.stringify(url)}) format(\"woff2\")`, {\n display: \"swap\",\n style: \"normal\",\n weight,\n }),\n );\n for (const face of faces) {\n document.fonts.add(face);\n }\n installedDocuments.add(document);\n};\n"],"x_google_ignoreList":[1,2,3,4,5,6],"mappings":";;AAGA,IAAa,IAAoB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCHpC,IAAA,IAAA,IAAA,2DAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,2DAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,qEAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,qEAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,qEAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,qEAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCaM,IAAyD;CAC7D;EAAE,QAAQ;EAAoB,QAAQ;EAAO,KAAK;CAAY;CAC9D;EAAE,QAAQ;EAAoB,QAAQ;EAAO,KAAK;CAAY;CAC9D;EAAE,QAAQ;EAAoB,QAAQ;EAAO,KAAK;CAAY;CAC9D;EAAE,QAAQ;EAAoB,QAAQ;EAAO,KAAK;CAAY;CAC9D;EAAE,QAAQ;EAAuB,QAAQ;EAAO,KAAK;CAAW;CAChE;EAAE,QAAQ;EAAuB,QAAQ;EAAO,KAAK;CAAW;AAClE,GAEM,oBAAqB,IAAI,QAAkB,GAGpC,KAA2B,MAA6B;CACnE,IAAI,EAAmB,IAAI,CAAQ,GACjC;CAGF,IAAM,IAAsB,EAAS,aAAa;CAClD,IAAI,CAAC,KAAuB,CAAC,EAAS,OACpC;CAGF,IAAM,IAAQ,EAAsB,KACjC,EAAE,WAAQ,WAAQ,aACjB,IAAI,EAAoB,GAAQ,OAAO,KAAK,UAAU,CAAG,EAAE,oBAAoB;EAC7E,SAAS;EACT,OAAO;EACP;CACF,CAAC,CACL;CACA,KAAK,IAAM,KAAQ,GACjB,EAAS,MAAM,IAAI,CAAI;CAEzB,EAAmB,IAAI,CAAQ;AACjC"}
1
+ {"version":3,"file":"decorate-B_ZTN9li.js","names":[],"sources":["../../src/styles/field-manual.styles.ts","../../node_modules/.pnpm/@fontsource+ibm-plex-mono@5.2.7/node_modules/@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-500-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-mono@5.2.7/node_modules/@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-600-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-sans-condensed@5.2.8/node_modules/@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-400-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-sans-condensed@5.2.8/node_modules/@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-500-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-sans-condensed@5.2.8/node_modules/@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-600-normal.woff2?fellowship-font-url","../../node_modules/.pnpm/@fontsource+ibm-plex-sans-condensed@5.2.8/node_modules/@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-700-normal.woff2?fellowship-font-url","../../src/styles/field-manual-fonts.ts"],"sourcesContent":["import { css } from \"lit\";\n\n/** Shared internal aliases for the public Expedition Field Manual theme tokens. */\nexport const fieldManualStyles = css`\n :host {\n --_fellowship-field-canvas: var(--fellowship-field-canvas, #0b0f13);\n --_fellowship-field-surface: var(--fellowship-field-surface, #10161c);\n --_fellowship-field-surface-raised: var(--fellowship-field-surface-raised, #151c23);\n --_fellowship-field-inset: var(--fellowship-field-inset, #080c10);\n --_fellowship-field-ink: var(--fellowship-field-ink, #f1eee5);\n --_fellowship-field-muted: var(--fellowship-field-muted, #b7b4aa);\n --_fellowship-field-tertiary: var(--fellowship-field-tertiary, #858a8e);\n --_fellowship-field-border: var(\n --fellowship-field-border,\n rgb(241 238 229 / 10%)\n );\n --_fellowship-field-border-strong: var(\n --fellowship-field-border-strong,\n rgb(241 238 229 / 18%)\n );\n --_fellowship-field-accent: var(--fellowship-field-accent, #69c4d4);\n --_fellowship-field-focus: var(--fellowship-field-focus, #a8e6ee);\n --_fellowship-field-ember: var(--fellowship-field-ember, #d9784c);\n --_fellowship-field-brass: var(--fellowship-field-brass, #c1a36a);\n --_fellowship-field-font-family: var(\n --fellowship-field-font-family,\n \"Fellowship Field\",\n \"Arial Narrow\",\n sans-serif\n );\n --_fellowship-field-mono-font-family: var(\n --fellowship-field-mono-font-family,\n \"Fellowship Tactical\",\n ui-monospace,\n monospace\n );\n --_fellowship-field-radius: var(--fellowship-field-radius, 6px);\n }\n`;\n","export default import.meta.ROLLUP_FILE_URL_FKNdLzKnlftW3t_gzo81yw;","export default import.meta.ROLLUP_FILE_URL_P4DPfwIRieI8P6q8r4JZRw;","export default import.meta.ROLLUP_FILE_URL_WPGYjwIlzWVNM1bYhOc83w;","export default import.meta.ROLLUP_FILE_URL_cn7IAAGY294pWGc7MpElVg;","export default import.meta.ROLLUP_FILE_URL_8HSUfh7cJHNFxCkInNzNXw;","export default import.meta.ROLLUP_FILE_URL_VRAku6fjghkApIISiBWPzg;","import mono500Url from \"@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-500-normal.woff2?url\";\nimport mono600Url from \"@fontsource/ibm-plex-mono/files/ibm-plex-mono-latin-600-normal.woff2?url\";\nimport field400Url from \"@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-400-normal.woff2?url\";\nimport field500Url from \"@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-500-normal.woff2?url\";\nimport field600Url from \"@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-600-normal.woff2?url\";\nimport field700Url from \"@fontsource/ibm-plex-sans-condensed/files/ibm-plex-sans-condensed-latin-700-normal.woff2?url\";\n\ninterface FieldManualFontAsset {\n readonly family: \"Fellowship Field\" | \"Fellowship Tactical\";\n readonly weight: \"400\" | \"500\" | \"600\" | \"700\";\n readonly url: string;\n}\n\nconst fieldManualFontAssets: readonly FieldManualFontAsset[] = [\n { family: \"Fellowship Field\", weight: \"400\", url: field400Url },\n { family: \"Fellowship Field\", weight: \"500\", url: field500Url },\n { family: \"Fellowship Field\", weight: \"600\", url: field600Url },\n { family: \"Fellowship Field\", weight: \"700\", url: field700Url },\n { family: \"Fellowship Tactical\", weight: \"500\", url: mono500Url },\n { family: \"Fellowship Tactical\", weight: \"600\", url: mono600Url },\n];\n\nconst installedDocuments = new WeakSet<Document>();\n\n/** Makes the bundled field-manual faces available to a component's owner document. */\nexport const installFieldManualFonts = (document: Document): void => {\n if (installedDocuments.has(document)) {\n return;\n }\n\n const FontFaceConstructor = document.defaultView?.FontFace;\n if (!FontFaceConstructor || !document.fonts) {\n return;\n }\n\n const faces = fieldManualFontAssets.map(\n ({ family, weight, url }) =>\n new FontFaceConstructor(family, `url(${JSON.stringify(url)}) format(\"woff2\")`, {\n display: \"swap\",\n style: \"normal\",\n weight,\n }),\n );\n for (const face of faces) {\n document.fonts.add(face);\n }\n installedDocuments.add(document);\n};\n"],"x_google_ignoreList":[1,2,3,4,5,6],"mappings":";;AAGA,IAAa,IAAoB,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCHpC,IAAA,IAAA,IAAA,2DAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,2DAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,qEAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,qEAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,qEAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCAA,IAAA,IAAA,IAAA,qEAAA,OAAA,KAAA,GAAA,CAAA,CAAA,MCaM,IAAyD;CAC7D;EAAE,QAAQ;EAAoB,QAAQ;EAAO,KAAK;CAAY;CAC9D;EAAE,QAAQ;EAAoB,QAAQ;EAAO,KAAK;CAAY;CAC9D;EAAE,QAAQ;EAAoB,QAAQ;EAAO,KAAK;CAAY;CAC9D;EAAE,QAAQ;EAAoB,QAAQ;EAAO,KAAK;CAAY;CAC9D;EAAE,QAAQ;EAAuB,QAAQ;EAAO,KAAK;CAAW;CAChE;EAAE,QAAQ;EAAuB,QAAQ;EAAO,KAAK;CAAW;AAClE,GAEM,oBAAqB,IAAI,QAAkB,GAGpC,KAA2B,MAA6B;CACnE,IAAI,EAAmB,IAAI,CAAQ,GACjC;CAGF,IAAM,IAAsB,EAAS,aAAa;CAClD,IAAI,CAAC,KAAuB,CAAC,EAAS,OACpC;CAGF,IAAM,IAAQ,EAAsB,KACjC,EAAE,WAAQ,WAAQ,aACjB,IAAI,EAAoB,GAAQ,OAAO,KAAK,UAAU,CAAG,EAAE,oBAAoB;EAC7E,SAAS;EACT,OAAO;EACP;CACF,CAAC,CACL;CACA,KAAK,IAAM,KAAQ,GACjB,EAAS,MAAM,IAAI,CAAI;CAEzB,EAAmB,IAAI,CAAQ;AACjC"}