@supersoniks/concorde 4.6.0 → 4.7.3

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 (182) hide show
  1. package/.gitlab-ci.yml +23 -0
  2. package/README.md +106 -55
  3. package/ai/AGENTS.md +52 -0
  4. package/ai/README.md +30 -0
  5. package/ai/cursor/rules/concorde-menu.mdc +15 -0
  6. package/ai/cursor/rules/concorde-scope.mdc +14 -0
  7. package/ai/cursor/rules/concorde-theme.mdc +13 -0
  8. package/ai/cursor/rules/concorde.mdc +49 -0
  9. package/ai/jetbrains/rules/concorde.md +39 -0
  10. package/ai/skills/concorde/SKILL.md +273 -0
  11. package/ai/skills/concorde-get-set-dp/SKILL.md +194 -0
  12. package/ai/skills/concorde-imports/SKILL.md +78 -0
  13. package/ai/skills/concorde-menu/SKILL.md +74 -0
  14. package/ai/skills/concorde-scope/SKILL.md +70 -0
  15. package/ai/skills/concorde-theme/SKILL.md +46 -0
  16. package/build-infos.json +1 -1
  17. package/concorde-core.bundle.js +152 -152
  18. package/concorde-core.es.js +1853 -1689
  19. package/dist/altcha-widget.js +2662 -0
  20. package/dist/concorde-core.bundle.js +152 -152
  21. package/dist/concorde-core.es.js +1853 -1689
  22. package/dist/docs-mock-api-sw.js +589 -0
  23. package/dist/docs-mock-api-sw.js.map +7 -0
  24. package/docs/altcha-widget.js +2662 -0
  25. package/docs/assets/index-D9pxaQYK.js +7508 -0
  26. package/docs/assets/index-t0-i22oI.css +1 -0
  27. package/docs/docs-mock-api-sw.js +589 -0
  28. package/docs/docs-mock-api-sw.js.map +7 -0
  29. package/docs/index.html +2 -2
  30. package/docs/src/core/components/functional/fetch/fetch.md +13 -11
  31. package/docs/src/core/components/functional/if/if.md +4 -11
  32. package/docs/src/core/components/functional/list/list.md +60 -194
  33. package/docs/src/core/components/functional/queue/queue.md +70 -85
  34. package/docs/src/core/components/functional/router/router.md +62 -97
  35. package/docs/src/core/components/functional/states/states.md +2 -2
  36. package/docs/src/core/components/functional/submit/submit.md +86 -55
  37. package/docs/src/core/components/ui/captcha/captcha.md +2 -2
  38. package/docs/src/core/components/ui/card/card.md +1 -1
  39. package/docs/src/core/components/ui/form/checkbox/checkbox.md +5 -32
  40. package/docs/src/core/components/ui/form/input/input.md +5 -30
  41. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +6 -4
  42. package/docs/src/core/components/ui/form/radio/radio.md +5 -32
  43. package/docs/src/core/components/ui/form/select/select.md +5 -31
  44. package/docs/src/core/components/ui/form/switch/switch.md +5 -32
  45. package/docs/src/core/components/ui/loader/loader.md +1 -13
  46. package/docs/src/core/components/ui/table/table.md +3 -3
  47. package/docs/src/docs/_core-concept/dataFlow.md +73 -0
  48. package/docs/src/docs/_core-concept/subscriber.md +9 -10
  49. package/docs/src/docs/_decorators/ancestor-attribute.md +4 -3
  50. package/docs/src/docs/_decorators/auto-subscribe.md +19 -16
  51. package/docs/src/docs/_decorators/bind.md +20 -17
  52. package/docs/src/docs/_decorators/get.md +7 -4
  53. package/docs/src/docs/_decorators/handle.md +171 -0
  54. package/docs/src/docs/_decorators/on-assign.md +99 -73
  55. package/docs/src/docs/_decorators/publish.md +2 -1
  56. package/docs/src/docs/_decorators/subscribe.md +70 -9
  57. package/docs/src/docs/_decorators/wait-for-ancestors.md +13 -10
  58. package/docs/src/docs/_directives/sub.md +91 -0
  59. package/docs/src/docs/_getting-started/ai-agents.md +56 -0
  60. package/docs/src/docs/_getting-started/concorde-manual-install.md +133 -0
  61. package/docs/src/docs/_getting-started/concorde-outside.md +13 -123
  62. package/docs/src/docs/_getting-started/create-a-component.md +2 -0
  63. package/docs/src/docs/_getting-started/my-first-component.md +236 -0
  64. package/docs/src/docs/_getting-started/my-first-subscriber.md +29 -83
  65. package/docs/src/docs/_getting-started/pubsub.md +21 -134
  66. package/docs/src/docs/_getting-started/start.md +26 -18
  67. package/docs/src/docs/_misc/api-configuration.md +79 -0
  68. package/docs/src/docs/_misc/dataProviderKey.md +38 -5
  69. package/docs/src/docs/_misc/docs-mock-api.md +60 -0
  70. package/docs/src/docs/_misc/endpoint.md +2 -1
  71. package/docs/src/docs/_misc/html-integration.md +13 -0
  72. package/docs/src/docs/search/docs-search.json +4163 -873
  73. package/docs/src/tsconfig.json +380 -317
  74. package/gitlab/job_tests.sh +55 -0
  75. package/package.json +34 -3
  76. package/public/altcha-widget.js +2662 -0
  77. package/public/docs-mock-api-sw.js +589 -0
  78. package/public/docs-mock-api-sw.js.map +7 -0
  79. package/scripts/ai-init.mjs +167 -0
  80. package/scripts/docs-mock-api-vite-plugin.ts +116 -0
  81. package/scripts/docs-open-in-editor-plugin.ts +130 -0
  82. package/scripts/pre-publish.mjs +2 -1
  83. package/src/core/components/functional/example/example.ts +1 -1
  84. package/src/core/components/functional/fetch/fetch.md +13 -11
  85. package/src/core/components/functional/if/if.md +4 -11
  86. package/src/core/components/functional/list/list.demo.ts +4 -4
  87. package/src/core/components/functional/list/list.md +60 -194
  88. package/src/core/components/functional/list/list.ts +8 -7
  89. package/src/core/components/functional/queue/queue.demo.ts +1 -1
  90. package/src/core/components/functional/queue/queue.md +70 -85
  91. package/src/core/components/functional/queue/queue.ts +4 -4
  92. package/src/core/components/functional/router/router.md +62 -97
  93. package/src/core/components/functional/router/router.ts +1 -1
  94. package/src/core/components/functional/states/states.md +2 -2
  95. package/src/core/components/functional/submit/submit.md +86 -55
  96. package/src/core/components/functional/submit/submit.ts +10 -3
  97. package/src/core/components/ui/captcha/captcha.md +2 -2
  98. package/src/core/components/ui/card/card.md +1 -1
  99. package/src/core/components/ui/form/checkbox/checkbox.md +5 -32
  100. package/src/core/components/ui/form/input/input.md +5 -30
  101. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +6 -4
  102. package/src/core/components/ui/form/radio/radio.md +5 -32
  103. package/src/core/components/ui/form/select/select.md +5 -31
  104. package/src/core/components/ui/form/switch/switch.md +5 -32
  105. package/src/core/components/ui/loader/loader.md +1 -13
  106. package/src/core/components/ui/table/table.md +3 -3
  107. package/src/core/decorators/api.spec.ts +8 -1
  108. package/src/core/decorators/api.ts +126 -15
  109. package/src/core/directives/DataProvider.sub.spec.ts +96 -0
  110. package/src/core/directives/DataProvider.ts +109 -40
  111. package/src/core/utils/HTML.ts +42 -10
  112. package/src/core/utils/PublisherProxy.ts +33 -18
  113. package/src/core/utils/dataProviderKey.ts +23 -0
  114. package/src/core/utils/publisherPathKey.spec.ts +58 -0
  115. package/src/docs/_core-concept/dataFlow.md +73 -0
  116. package/src/docs/_core-concept/subscriber.md +9 -10
  117. package/src/docs/_decorators/ancestor-attribute.md +4 -3
  118. package/src/docs/_decorators/auto-subscribe.md +19 -16
  119. package/src/docs/_decorators/bind.md +19 -16
  120. package/src/docs/_decorators/get.md +7 -4
  121. package/src/docs/_decorators/handle.md +15 -13
  122. package/src/docs/_decorators/on-assign.md +53 -53
  123. package/src/docs/_decorators/publish.md +2 -1
  124. package/src/docs/_decorators/subscribe.md +70 -9
  125. package/src/docs/_decorators/wait-for-ancestors.md +13 -10
  126. package/src/docs/_directives/sub.md +91 -0
  127. package/src/docs/_getting-started/ai-agents.md +56 -0
  128. package/src/docs/_getting-started/concorde-manual-install.md +133 -0
  129. package/src/docs/_getting-started/concorde-outside.md +13 -123
  130. package/src/docs/_getting-started/create-a-component.md +2 -0
  131. package/src/docs/_getting-started/my-first-component.md +236 -0
  132. package/src/docs/_getting-started/my-first-subscriber.md +29 -83
  133. package/src/docs/_getting-started/pubsub.md +21 -134
  134. package/src/docs/_getting-started/start.md +26 -18
  135. package/src/docs/_misc/api-configuration.md +79 -0
  136. package/src/docs/_misc/dataProviderKey.md +34 -1
  137. package/src/docs/_misc/docs-mock-api.md +60 -0
  138. package/src/docs/_misc/endpoint.md +2 -1
  139. package/src/docs/_misc/html-integration.md +13 -0
  140. package/src/docs/code.ts +58 -12
  141. package/src/docs/components/docs-demo-sources.ts +397 -0
  142. package/src/docs/components/docs-lit-demo-raw.ts +28 -0
  143. package/src/docs/components/docs-lit-demo.ts +166 -0
  144. package/src/docs/components/docs-source-link.ts +72 -0
  145. package/src/docs/docs-location.ts +54 -0
  146. package/src/docs/docs.ts +12 -0
  147. package/src/docs/example/decorators-demo-bind-demos.ts +41 -46
  148. package/src/docs/example/decorators-demo-geo.ts +16 -11
  149. package/src/docs/example/decorators-demo-init.ts +2 -228
  150. package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +54 -14
  151. package/src/docs/example/decorators-demo.ts +71 -70
  152. package/src/docs/example/docs-api-config-demos.ts +234 -0
  153. package/src/docs/example/docs-joke-demos.ts +297 -0
  154. package/src/docs/example/docs-list-demos.ts +179 -0
  155. package/src/docs/example/docs-provider-keys.ts +315 -0
  156. package/src/docs/example/docs-queue-demos.ts +114 -0
  157. package/src/docs/example/docs-router-demos.ts +89 -0
  158. package/src/docs/example/docs-submit-demos.ts +455 -0
  159. package/src/docs/example/docs-toggle-demos.ts +73 -0
  160. package/src/docs/example/docs-user-two-scopes.ts +37 -0
  161. package/src/docs/example/docs-users-list.ts +71 -0
  162. package/src/docs/example/users.ts +41 -24
  163. package/src/docs/mock-api/api-config-mock.ts +152 -0
  164. package/src/docs/mock-api/fixtures.ts +377 -0
  165. package/src/docs/mock-api/register.ts +25 -0
  166. package/src/docs/mock-api/router.ts +234 -0
  167. package/src/docs/mock-api/service-worker.ts +23 -0
  168. package/src/docs/mock-api/urls.ts +11 -0
  169. package/src/docs/navigation/navigation.ts +39 -7
  170. package/src/docs/search/docs-search.json +4021 -936
  171. package/src/docs/search/markdown-renderer.ts +7 -3
  172. package/src/docs/search/page.ts +11 -14
  173. package/src/docs/search/sonic-code-markdown.spec.ts +29 -0
  174. package/src/docs/search/sonic-code-markdown.ts +28 -0
  175. package/src/docs.ts +4 -0
  176. package/src/tsconfig.json +87 -0
  177. package/src/tsconfig.tsbuildinfo +1 -1
  178. package/vite.config.mts +8 -0
  179. package/docs/assets/index-CaysOMFz.js +0 -5046
  180. package/docs/assets/index-D8mGoXzF.css +0 -1
  181. package/docs/src/docs/_misc/templates-demo.md +0 -19
  182. package/src/docs/_misc/templates-demo.md +0 -19
@@ -4,6 +4,7 @@ import { unsafeHTML } from "lit/directives/unsafe-html.js";
4
4
  import { Subscriber } from "@supersoniks/concorde/mixins";
5
5
  import { Marked } from "marked-ts";
6
6
  import { gfmHeadingId } from "marked-gfm-heading-id";
7
+ import { parseMarkdownWithSonicCode } from "./sonic-code-markdown";
7
8
  declare const window: { marked: Marked };
8
9
  const tagName = "docs-markdown-renderer"; // For Astro.build
9
10
  const marked = window.marked;
@@ -17,9 +18,10 @@ export class DocsMakdownRenderer extends Subscriber(LitElement) {
17
18
  @property() anchor = "";
18
19
  private _text = "";
19
20
  set text(value: string) {
20
- const html = marked.parse(value);
21
-
22
- this._text = html;
21
+ this._text = parseMarkdownWithSonicCode(
22
+ (markdown) => marked.parse(markdown) as string,
23
+ value,
24
+ );
23
25
  this.requestUpdate();
24
26
  setTimeout(() => {
25
27
  const anchor = this.querySelector("#" + this.anchor) as HTMLElement;
@@ -36,6 +38,8 @@ export class DocsMakdownRenderer extends Subscriber(LitElement) {
36
38
  }
37
39
 
38
40
  appendImport() {
41
+ if (this.querySelector("h1 + sonic-code")) return;
42
+
39
43
  const locationHash = document.location.hash;
40
44
  const isComponent = locationHash.includes("components");
41
45
 
@@ -2,6 +2,8 @@ import { html, LitElement, nothing, PropertyValues } from "lit";
2
2
  import { customElement, property } from "lit/decorators.js";
3
3
  import { Subscriber } from "@supersoniks/concorde/mixins";
4
4
  import { LocationHandler } from "@supersoniks/concorde/utils";
5
+ import { parseDocsLocation } from "../docs-location";
6
+
5
7
  const tagName = "docs-page"; // For Astro.build
6
8
  @customElement(tagName)
7
9
  export class DocsPage extends Subscriber(LitElement) {
@@ -24,27 +26,22 @@ export class DocsPage extends Subscriber(LitElement) {
24
26
  anchor = "";
25
27
 
26
28
  willUpdate(changedProperties: PropertyValues) {
27
- const sharpIdx = this.location.indexOf("#");
28
- if (sharpIdx) {
29
- const split = this.location.substring(sharpIdx + 1).split("/");
30
- this.anchor = decodeURI(split.pop());
31
- this.url = split.join("/");
32
- }
29
+ const { url, anchor } = parseDocsLocation(this.location);
30
+ this.anchor = anchor;
31
+ this.url = url;
33
32
  super.willUpdate(changedProperties);
34
33
  }
35
34
 
36
35
  render() {
37
36
  if (!this.url) return nothing;
38
37
  return html`
39
-
40
- <sonic-fetch noShadowDom dataProvider="pageHTML" endPoint="${
41
- this.markDownsURL + this.url + "?" + Math.random()
42
- }">
43
- <docs-markdown-renderer anchor="${
44
- this.anchor
45
- }"></docs-markdown-renderer>
38
+ <sonic-fetch
39
+ noShadowDom
40
+ dataProvider="pageHTML"
41
+ endPoint=${this.markDownsURL + this.url}
42
+ >
43
+ <docs-markdown-renderer anchor="${this.anchor}"></docs-markdown-renderer>
46
44
  </sonic-fetch>
47
- </sonic-fetch>
48
45
  `;
49
46
  }
50
47
  }
@@ -0,0 +1,29 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { marked } from "marked";
3
+ import { parseMarkdownWithSonicCode } from "./sonic-code-markdown";
4
+
5
+ describe("parseMarkdownWithSonicCode", () => {
6
+ it("preserves blank lines inside sonic-code templates", () => {
7
+ const md = `<sonic-code language="typescript">
8
+ <template>
9
+ import { sub } from "@supersoniks/concorde/directives";
10
+
11
+ const counterKey = new DataProviderKey("myCounter");
12
+
13
+ render() {
14
+ return html\`<p>\${sub(counterKey.count)}</p>\`;
15
+ }
16
+ </template>
17
+ </sonic-code>`;
18
+
19
+ const html = parseMarkdownWithSonicCode(
20
+ (source) => marked.parse(source) as string,
21
+ md,
22
+ );
23
+
24
+ expect(html).toContain('import { sub } from "@supersoniks/concorde/directives";');
25
+ expect(html).toContain("const counterKey");
26
+ expect(html).not.toContain("<p>const counterKey");
27
+ expect(html).not.toMatch(/<p>render\(\)/);
28
+ });
29
+ });
@@ -0,0 +1,28 @@
1
+ const SONIC_CODE_BLOCK_RE = /<sonic-code\b[\s\S]*?<\/sonic-code>/gi;
2
+ const PLACEHOLDER_RE = /<!--SONIC_CODE_(\d+)-->/g;
3
+
4
+ /** HTML comment placeholders survive marked blank-line HTML-block breaks. */
5
+ export function protectSonicCodeBlocks(markdown: string): {
6
+ markdown: string;
7
+ blocks: string[];
8
+ } {
9
+ const blocks: string[] = [];
10
+ const protectedMarkdown = markdown.replace(SONIC_CODE_BLOCK_RE, (block) => {
11
+ const index = blocks.length;
12
+ blocks.push(block);
13
+ return `\n\n<!--SONIC_CODE_${index}-->\n\n`;
14
+ });
15
+ return { markdown: protectedMarkdown, blocks };
16
+ }
17
+
18
+ export function restoreSonicCodeBlocks(html: string, blocks: string[]): string {
19
+ return html.replace(PLACEHOLDER_RE, (_, index) => blocks[Number(index)] ?? "");
20
+ }
21
+
22
+ export function parseMarkdownWithSonicCode(
23
+ parse: (markdown: string) => string,
24
+ markdown: string,
25
+ ): string {
26
+ const { markdown: protectedMd, blocks } = protectSonicCodeBlocks(markdown);
27
+ return restoreSonicCodeBlocks(parse(protectedMd), blocks);
28
+ }
package/src/docs.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import "./index";
2
+ import { registerDocsMockApiServiceWorker } from "./docs/mock-api/register";
3
+
4
+ void registerDocsMockApiServiceWorker();
5
+
2
6
  import "./docs/docs";
3
7
  import "./docs/example/decorators-demo";
4
8
  import "./core/components/functional/router/router.demo";
package/src/tsconfig.json CHANGED
@@ -846,6 +846,9 @@
846
846
  "./decorators/subscriber/subscribe.type-test": [
847
847
  "/sites/concorde/src/core/decorators/subscriber/subscribe.type-test.ts"
848
848
  ],
849
+ "./directives/DataProvider.sub.spec": [
850
+ "/sites/concorde/src/core/directives/DataProvider.sub.spec.ts"
851
+ ],
849
852
  "./directives/DataProvider": [
850
853
  "/sites/concorde/src/core/directives/DataProvider.ts"
851
854
  ],
@@ -918,6 +921,9 @@
918
921
  "./utils/endpoint": [
919
922
  "/sites/concorde/src/core/utils/endpoint.ts"
920
923
  ],
924
+ "./utils/publisherPathKey.spec": [
925
+ "/sites/concorde/src/core/utils/publisherPathKey.spec.ts"
926
+ ],
921
927
  "./utils/route.spec": [
922
928
  "/sites/concorde/src/core/utils/route.spec.ts"
923
929
  ],
@@ -930,6 +936,33 @@
930
936
  "./code": [
931
937
  "/sites/concorde/src/docs/code.ts"
932
938
  ],
939
+ "./docs-demo-sources": [
940
+ "/sites/concorde/src/docs/components/docs-demo-sources.ts"
941
+ ],
942
+ "./undefined/docs-demo-sources": [
943
+ "/sites/concorde/src/docs/components/docs-demo-sources.ts"
944
+ ],
945
+ "./docs-lit-demo-raw": [
946
+ "/sites/concorde/src/docs/components/docs-lit-demo-raw.ts"
947
+ ],
948
+ "./undefined/docs-lit-demo-raw": [
949
+ "/sites/concorde/src/docs/components/docs-lit-demo-raw.ts"
950
+ ],
951
+ "./docs-lit-demo": [
952
+ "/sites/concorde/src/docs/components/docs-lit-demo.ts"
953
+ ],
954
+ "./undefined/docs-lit-demo": [
955
+ "/sites/concorde/src/docs/components/docs-lit-demo.ts"
956
+ ],
957
+ "./docs-source-link": [
958
+ "/sites/concorde/src/docs/components/docs-source-link.ts"
959
+ ],
960
+ "./undefined/docs-source-link": [
961
+ "/sites/concorde/src/docs/components/docs-source-link.ts"
962
+ ],
963
+ "./docs-location": [
964
+ "/sites/concorde/src/docs/docs-location.ts"
965
+ ],
933
966
  "./docs": [
934
967
  "/sites/concorde/src/docs/docs.ts"
935
968
  ],
@@ -948,6 +981,36 @@
948
981
  "./example/decorators-demo": [
949
982
  "/sites/concorde/src/docs/example/decorators-demo.ts"
950
983
  ],
984
+ "./example/docs-api-config-demos": [
985
+ "/sites/concorde/src/docs/example/docs-api-config-demos.ts"
986
+ ],
987
+ "./example/docs-joke-demos": [
988
+ "/sites/concorde/src/docs/example/docs-joke-demos.ts"
989
+ ],
990
+ "./example/docs-list-demos": [
991
+ "/sites/concorde/src/docs/example/docs-list-demos.ts"
992
+ ],
993
+ "./example/docs-provider-keys": [
994
+ "/sites/concorde/src/docs/example/docs-provider-keys.ts"
995
+ ],
996
+ "./example/docs-queue-demos": [
997
+ "/sites/concorde/src/docs/example/docs-queue-demos.ts"
998
+ ],
999
+ "./example/docs-router-demos": [
1000
+ "/sites/concorde/src/docs/example/docs-router-demos.ts"
1001
+ ],
1002
+ "./example/docs-submit-demos": [
1003
+ "/sites/concorde/src/docs/example/docs-submit-demos.ts"
1004
+ ],
1005
+ "./example/docs-toggle-demos": [
1006
+ "/sites/concorde/src/docs/example/docs-toggle-demos.ts"
1007
+ ],
1008
+ "./example/docs-user-two-scopes": [
1009
+ "/sites/concorde/src/docs/example/docs-user-two-scopes.ts"
1010
+ ],
1011
+ "./example/docs-users-list": [
1012
+ "/sites/concorde/src/docs/example/docs-users-list.ts"
1013
+ ],
951
1014
  "./example/users": [
952
1015
  "/sites/concorde/src/docs/example/users.ts"
953
1016
  ],
@@ -957,6 +1020,24 @@
957
1020
  "./layout": [
958
1021
  "/sites/concorde/src/docs/layout.ts"
959
1022
  ],
1023
+ "./mock-api/api-config-mock": [
1024
+ "/sites/concorde/src/docs/mock-api/api-config-mock.ts"
1025
+ ],
1026
+ "./mock-api/fixtures": [
1027
+ "/sites/concorde/src/docs/mock-api/fixtures.ts"
1028
+ ],
1029
+ "./mock-api/register": [
1030
+ "/sites/concorde/src/docs/mock-api/register.ts"
1031
+ ],
1032
+ "./mock-api/router": [
1033
+ "/sites/concorde/src/docs/mock-api/router.ts"
1034
+ ],
1035
+ "./mock-api/service-worker": [
1036
+ "/sites/concorde/src/docs/mock-api/service-worker.ts"
1037
+ ],
1038
+ "./mock-api/urls": [
1039
+ "/sites/concorde/src/docs/mock-api/urls.ts"
1040
+ ],
960
1041
  "./navigation/navigation": [
961
1042
  "/sites/concorde/src/docs/navigation/navigation.ts"
962
1043
  ],
@@ -972,6 +1053,12 @@
972
1053
  "./search/search": [
973
1054
  "/sites/concorde/src/docs/search/search.ts"
974
1055
  ],
1056
+ "./search/sonic-code-markdown.spec": [
1057
+ "/sites/concorde/src/docs/search/sonic-code-markdown.spec.ts"
1058
+ ],
1059
+ "./search/sonic-code-markdown": [
1060
+ "/sites/concorde/src/docs/search/sonic-code-markdown.ts"
1061
+ ],
975
1062
  "./tailwind/css/tailwind.d": [
976
1063
  "/sites/concorde/src/docs/tailwind/css/tailwind.d.ts"
977
1064
  ],
@@ -1 +1 @@
1
- {"root":["./components.ts","./concorde-loaded.ts","./dataprovider.ts","./decorators.ts","./directives.ts","./index.ts","./mixins.ts","./utils.ts","./core/core.ts","./core/_types/endpoint.ts","./core/_types/key.ts","./core/_types/types.ts","./core/components/functional/functional.ts","./core/components/functional/date/date.ts","./core/components/functional/example/example.ts","./core/components/functional/fetch/fetch.ts","./core/components/functional/if/if.test.ts","./core/components/functional/if/if.ts","./core/components/functional/list/list.demo.ts","./core/components/functional/list/list.spec.ts","./core/components/functional/list/list.ts","./core/components/functional/mix/mix.ts","./core/components/functional/queue/queue.demo.ts","./core/components/functional/queue/queue.ts","./core/components/functional/router/redirect.ts","./core/components/functional/router/router.demo.ts","./core/components/functional/router/router.spec.ts","./core/components/functional/router/router.ts","./core/components/functional/sdui/SDUIDescriptorTransformer.ts","./core/components/functional/sdui/sdui-utils.ts","./core/components/functional/sdui/sdui.ts","./core/components/functional/sdui/types.ts","./core/components/functional/sonic-scope/sonic-scope.ts","./core/components/functional/states/states.demo.ts","./core/components/functional/states/states.spec.ts","./core/components/functional/states/states.ts","./core/components/functional/submit/submit.ts","./core/components/functional/subscriber/subscriber.ts","./core/components/functional/translation/translation.ts","./core/components/functional/value/value.ts","./core/components/ui/ui.ts","./core/components/ui/_css/scroll.ts","./core/components/ui/_css/shadow.ts","./core/components/ui/_css/size.ts","./core/components/ui/_css/type.ts","./core/components/ui/alert/alert.ts","./core/components/ui/alert-messages/alert-messages.ts","./core/components/ui/badge/badge.ts","./core/components/ui/button/button.ts","./core/components/ui/captcha/altchaStyles.ts","./core/components/ui/captcha/captcha.ts","./core/components/ui/card/card-footer.ts","./core/components/ui/card/card-header-descripton.ts","./core/components/ui/card/card-header.ts","./core/components/ui/card/card-main.ts","./core/components/ui/card/card.ts","./core/components/ui/divider/divider.ts","./core/components/ui/form/checkbox/checkbox.ts","./core/components/ui/form/css/form-control.ts","./core/components/ui/form/fieldset/fieldset.ts","./core/components/ui/form/fieldset/legend-description.ts","./core/components/ui/form/fieldset/legend.ts","./core/components/ui/form/form-actions/form-actions.ts","./core/components/ui/form/form-layout/form-layout.ts","./core/components/ui/form/input/input.ts","./core/components/ui/form/input/password-helper.ts","./core/components/ui/form/input/same-value-helper.ts","./core/components/ui/form/input-autocomplete/input-autocomplete.ts","./core/components/ui/form/radio/radio.ts","./core/components/ui/form/select/select.ts","./core/components/ui/form/switch/switch.ts","./core/components/ui/form/textarea/textarea.ts","./core/components/ui/group/group.ts","./core/components/ui/icon/icon.stories.ts","./core/components/ui/icon/icon.ts","./core/components/ui/icon/icons.ts","./core/components/ui/image/image.ts","./core/components/ui/link/link.ts","./core/components/ui/loader/loader.stories.ts","./core/components/ui/loader/loader.ts","./core/components/ui/loader/styles/fixed.ts","./core/components/ui/loader/styles/inline.ts","./core/components/ui/menu/menu-item.ts","./core/components/ui/menu/menu.ts","./core/components/ui/modal/modal-actions.ts","./core/components/ui/modal/modal-close.ts","./core/components/ui/modal/modal-content.ts","./core/components/ui/modal/modal-subtitle.ts","./core/components/ui/modal/modal-title.ts","./core/components/ui/modal/modal-utils.ts","./core/components/ui/modal/modal.ts","./core/components/ui/pop/pop.ts","./core/components/ui/progress/progress.ts","./core/components/ui/table/table-caption.ts","./core/components/ui/table/table-tbody.ts","./core/components/ui/table/table-td.ts","./core/components/ui/table/table-tfoot.ts","./core/components/ui/table/table-th.ts","./core/components/ui/table/table-thead.ts","./core/components/ui/table/table-tr.ts","./core/components/ui/table/table.ts","./core/components/ui/theme/theme.ts","./core/components/ui/theme/theme-collection/core-variables.ts","./core/components/ui/theme/theme-collection/dark.ts","./core/components/ui/theme/theme-collection/light.ts","./core/components/ui/toast/message-subscriber.ts","./core/components/ui/toast/toast-item.ts","./core/components/ui/toast/toast.ts","./core/components/ui/toast/types.ts","./core/components/ui/tooltip/tooltip.ts","./core/decorators/Subscriber.ts","./core/decorators/api.spec.ts","./core/decorators/api.ts","./core/decorators/lifecycle.ts","./core/decorators/subscriber/ancestorAttribute.ts","./core/decorators/subscriber/autoFill.ts","./core/decorators/subscriber/autoSubscribe.ts","./core/decorators/subscriber/bind.ts","./core/decorators/subscriber/common.ts","./core/decorators/subscriber/dynamicPath.ts","./core/decorators/subscriber/dynamicPropertyWatch.spec.ts","./core/decorators/subscriber/dynamicPropertyWatch.ts","./core/decorators/subscriber/handle.disambig.spec.ts","./core/decorators/subscriber/handle.skip.spec.ts","./core/decorators/subscriber/handle.ts","./core/decorators/subscriber/onAssign.ts","./core/decorators/subscriber/publish.spec.ts","./core/decorators/subscriber/publish.ts","./core/decorators/subscriber/publisherPath.ts","./core/decorators/subscriber/subscribe.spec.ts","./core/decorators/subscriber/subscribe.ts","./core/directives/DataProvider.ts","./core/directives/Wording.ts","./core/mixins/Fetcher.ts","./core/mixins/FormCheckable.ts","./core/mixins/FormElement.ts","./core/mixins/FormInput.ts","./core/mixins/Subscriber.ts","./core/mixins/TemplatesContainer.ts","./core/mixins/mixins.ts","./core/utils/Arrays.ts","./core/utils/DataBindObserver.ts","./core/utils/Electron.ts","./core/utils/Format.ts","./core/utils/HTML.ts","./core/utils/LocationHandler.ts","./core/utils/Objects.ts","./core/utils/PublisherProxy.ts","./core/utils/Utils.ts","./core/utils/aesCrypto.ts","./core/utils/api.ts","./core/utils/dataProviderKey.spec.ts","./core/utils/dataProviderKey.ts","./core/utils/endpoint.spec.ts","./core/utils/endpoint.ts","./core/utils/route.spec.ts","./core/utils/route.ts","./core/utils/url-pattern.ts","./test-utils/TestUtils.ts"],"version":"5.9.2"}
1
+ {"root":["./components.ts","./concorde-loaded.ts","./dataprovider.ts","./decorators.ts","./directives.ts","./index.ts","./mixins.ts","./utils.ts","./core/core.ts","./core/_types/endpoint.ts","./core/_types/key.ts","./core/_types/types.ts","./core/components/functional/functional.ts","./core/components/functional/date/date.ts","./core/components/functional/example/example.ts","./core/components/functional/fetch/fetch.ts","./core/components/functional/if/if.test.ts","./core/components/functional/if/if.ts","./core/components/functional/list/list.demo.ts","./core/components/functional/list/list.spec.ts","./core/components/functional/list/list.ts","./core/components/functional/mix/mix.ts","./core/components/functional/queue/queue.demo.ts","./core/components/functional/queue/queue.ts","./core/components/functional/router/redirect.ts","./core/components/functional/router/router.demo.ts","./core/components/functional/router/router.spec.ts","./core/components/functional/router/router.ts","./core/components/functional/sdui/SDUIDescriptorTransformer.ts","./core/components/functional/sdui/sdui-utils.ts","./core/components/functional/sdui/sdui.ts","./core/components/functional/sdui/types.ts","./core/components/functional/sonic-scope/sonic-scope.ts","./core/components/functional/states/states.demo.ts","./core/components/functional/states/states.spec.ts","./core/components/functional/states/states.ts","./core/components/functional/submit/submit.ts","./core/components/functional/subscriber/subscriber.ts","./core/components/functional/translation/translation.ts","./core/components/functional/value/value.ts","./core/components/ui/ui.ts","./core/components/ui/_css/scroll.ts","./core/components/ui/_css/shadow.ts","./core/components/ui/_css/size.ts","./core/components/ui/_css/type.ts","./core/components/ui/alert/alert.ts","./core/components/ui/alert-messages/alert-messages.ts","./core/components/ui/badge/badge.ts","./core/components/ui/button/button.ts","./core/components/ui/captcha/altchaStyles.ts","./core/components/ui/captcha/captcha.ts","./core/components/ui/card/card-footer.ts","./core/components/ui/card/card-header-descripton.ts","./core/components/ui/card/card-header.ts","./core/components/ui/card/card-main.ts","./core/components/ui/card/card.ts","./core/components/ui/divider/divider.ts","./core/components/ui/form/checkbox/checkbox.ts","./core/components/ui/form/css/form-control.ts","./core/components/ui/form/fieldset/fieldset.ts","./core/components/ui/form/fieldset/legend-description.ts","./core/components/ui/form/fieldset/legend.ts","./core/components/ui/form/form-actions/form-actions.ts","./core/components/ui/form/form-layout/form-layout.ts","./core/components/ui/form/input/input.ts","./core/components/ui/form/input/password-helper.ts","./core/components/ui/form/input/same-value-helper.ts","./core/components/ui/form/input-autocomplete/input-autocomplete.ts","./core/components/ui/form/radio/radio.ts","./core/components/ui/form/select/select.ts","./core/components/ui/form/switch/switch.ts","./core/components/ui/form/textarea/textarea.ts","./core/components/ui/group/group.ts","./core/components/ui/icon/icon.stories.ts","./core/components/ui/icon/icon.ts","./core/components/ui/icon/icons.ts","./core/components/ui/image/image.ts","./core/components/ui/link/link.ts","./core/components/ui/loader/loader.stories.ts","./core/components/ui/loader/loader.ts","./core/components/ui/loader/styles/fixed.ts","./core/components/ui/loader/styles/inline.ts","./core/components/ui/menu/menu-item.ts","./core/components/ui/menu/menu.ts","./core/components/ui/modal/modal-actions.ts","./core/components/ui/modal/modal-close.ts","./core/components/ui/modal/modal-content.ts","./core/components/ui/modal/modal-subtitle.ts","./core/components/ui/modal/modal-title.ts","./core/components/ui/modal/modal-utils.ts","./core/components/ui/modal/modal.ts","./core/components/ui/pop/pop.ts","./core/components/ui/progress/progress.ts","./core/components/ui/table/table-caption.ts","./core/components/ui/table/table-tbody.ts","./core/components/ui/table/table-td.ts","./core/components/ui/table/table-tfoot.ts","./core/components/ui/table/table-th.ts","./core/components/ui/table/table-thead.ts","./core/components/ui/table/table-tr.ts","./core/components/ui/table/table.ts","./core/components/ui/theme/theme.ts","./core/components/ui/theme/theme-collection/core-variables.ts","./core/components/ui/theme/theme-collection/dark.ts","./core/components/ui/theme/theme-collection/light.ts","./core/components/ui/toast/message-subscriber.ts","./core/components/ui/toast/toast-item.ts","./core/components/ui/toast/toast.ts","./core/components/ui/toast/types.ts","./core/components/ui/tooltip/tooltip.ts","./core/decorators/Subscriber.ts","./core/decorators/api.spec.ts","./core/decorators/api.ts","./core/decorators/lifecycle.ts","./core/decorators/subscriber/ancestorAttribute.ts","./core/decorators/subscriber/autoFill.ts","./core/decorators/subscriber/autoSubscribe.ts","./core/decorators/subscriber/bind.ts","./core/decorators/subscriber/common.ts","./core/decorators/subscriber/dynamicPath.ts","./core/decorators/subscriber/dynamicPropertyWatch.spec.ts","./core/decorators/subscriber/dynamicPropertyWatch.ts","./core/decorators/subscriber/handle.disambig.spec.ts","./core/decorators/subscriber/handle.skip.spec.ts","./core/decorators/subscriber/handle.ts","./core/decorators/subscriber/onAssign.ts","./core/decorators/subscriber/publish.spec.ts","./core/decorators/subscriber/publish.ts","./core/decorators/subscriber/publisherPath.ts","./core/decorators/subscriber/subscribe.spec.ts","./core/decorators/subscriber/subscribe.ts","./core/directives/DataProvider.sub.spec.ts","./core/directives/DataProvider.ts","./core/directives/Wording.ts","./core/mixins/Fetcher.ts","./core/mixins/FormCheckable.ts","./core/mixins/FormElement.ts","./core/mixins/FormInput.ts","./core/mixins/Subscriber.ts","./core/mixins/TemplatesContainer.ts","./core/mixins/mixins.ts","./core/utils/Arrays.ts","./core/utils/DataBindObserver.ts","./core/utils/Electron.ts","./core/utils/Format.ts","./core/utils/HTML.ts","./core/utils/LocationHandler.ts","./core/utils/Objects.ts","./core/utils/PublisherProxy.ts","./core/utils/Utils.ts","./core/utils/aesCrypto.ts","./core/utils/api.ts","./core/utils/dataProviderKey.spec.ts","./core/utils/dataProviderKey.ts","./core/utils/endpoint.spec.ts","./core/utils/endpoint.ts","./core/utils/publisherPathKey.spec.ts","./core/utils/route.spec.ts","./core/utils/route.ts","./core/utils/url-pattern.ts","./test-utils/TestUtils.ts"],"version":"5.9.2"}
package/vite.config.mts CHANGED
@@ -5,6 +5,8 @@ import basicSsl from "@vitejs/plugin-basic-ssl";
5
5
  import { defineConfig } from "vite";
6
6
  import path from "path";
7
7
  import fs from "fs";
8
+ import { docsMockApiVitePlugin } from "./scripts/docs-mock-api-vite-plugin";
9
+ import { docsOpenInEditorPlugin } from "./scripts/docs-open-in-editor-plugin";
8
10
 
9
11
  function CustomHmr() {
10
12
  return {
@@ -39,6 +41,9 @@ export const config = {
39
41
  let libName = process.env.LIB_NAME;
40
42
  if (!libName) libName = "core";
41
43
  const currentConfig = config[libName];
44
+ /** `yarn dev` sert la doc (index.html → docs.ts) sans LIB_NAME=docs */
45
+ const enableDocsMockApi =
46
+ libName === "docs" || process.env.npm_lifecycle_event === "dev";
42
47
  const build = {
43
48
  // minify: "terser",
44
49
  emptyOutDir: true, //!currentConfig.isLibrary,
@@ -119,5 +124,8 @@ export default defineConfig({
119
124
  postcssLit({
120
125
  include: ["src/**/*.css", "src/**/*.css?*"],
121
126
  }),
127
+ ...(enableDocsMockApi
128
+ ? [docsMockApiVitePlugin(), docsOpenInEditorPlugin()]
129
+ : []),
122
130
  ],
123
131
  });