@supersoniks/concorde 3.1.39 → 3.1.41

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 (167) hide show
  1. package/build-infos.json +1 -1
  2. package/concorde-core.bundle.js +244 -260
  3. package/concorde-core.es.js +747 -755
  4. package/dist/concorde-core.bundle.js +244 -260
  5. package/dist/concorde-core.es.js +747 -755
  6. package/docs/assets/index-CnxgssIs.js +4433 -0
  7. package/docs/assets/index-DCqvoAAf.css +1 -0
  8. package/docs/css/docs.css +0 -0
  9. package/docs/fonts/ClashGrotesk-Bold.eot +0 -0
  10. package/docs/fonts/ClashGrotesk-Bold.ttf +0 -0
  11. package/docs/fonts/ClashGrotesk-Bold.woff +0 -0
  12. package/docs/fonts/ClashGrotesk-Bold.woff2 +0 -0
  13. package/docs/fonts/ClashGrotesk-Extralight.eot +0 -0
  14. package/docs/fonts/ClashGrotesk-Extralight.ttf +0 -0
  15. package/docs/fonts/ClashGrotesk-Extralight.woff +0 -0
  16. package/docs/fonts/ClashGrotesk-Extralight.woff2 +0 -0
  17. package/docs/fonts/ClashGrotesk-Light.eot +0 -0
  18. package/docs/fonts/ClashGrotesk-Light.ttf +0 -0
  19. package/docs/fonts/ClashGrotesk-Light.woff +0 -0
  20. package/docs/fonts/ClashGrotesk-Light.woff2 +0 -0
  21. package/docs/fonts/ClashGrotesk-Medium.eot +0 -0
  22. package/docs/fonts/ClashGrotesk-Medium.ttf +0 -0
  23. package/docs/fonts/ClashGrotesk-Medium.woff +0 -0
  24. package/docs/fonts/ClashGrotesk-Medium.woff2 +0 -0
  25. package/docs/fonts/ClashGrotesk-Regular.eot +0 -0
  26. package/docs/fonts/ClashGrotesk-Regular.ttf +0 -0
  27. package/docs/fonts/ClashGrotesk-Regular.woff +0 -0
  28. package/docs/fonts/ClashGrotesk-Regular.woff2 +0 -0
  29. package/docs/fonts/ClashGrotesk-Semibold.eot +0 -0
  30. package/docs/fonts/ClashGrotesk-Semibold.ttf +0 -0
  31. package/docs/fonts/ClashGrotesk-Semibold.woff +0 -0
  32. package/docs/fonts/ClashGrotesk-Semibold.woff2 +0 -0
  33. package/docs/fonts/ClashGrotesk-Variable.eot +0 -0
  34. package/docs/fonts/ClashGrotesk-Variable.ttf +0 -0
  35. package/docs/fonts/ClashGrotesk-Variable.woff +0 -0
  36. package/docs/fonts/ClashGrotesk-Variable.woff2 +0 -0
  37. package/docs/img/concorde-icon.svg +5 -0
  38. package/docs/img/concorde-logo.svg +1 -0
  39. package/docs/img/concorde.png +0 -0
  40. package/docs/img/concorde_def.png +0 -0
  41. package/docs/img/concorde_seuil.png.webp +0 -0
  42. package/docs/img/concorde_seuil_invert.png +0 -0
  43. package/docs/img/paul_metrand.jpg +0 -0
  44. package/docs/img/paul_metrand_xs.jpg +0 -0
  45. package/docs/index.html +93 -0
  46. package/docs/src/core/components/functional/date/date.md +290 -0
  47. package/docs/src/core/components/functional/fetch/fetch.md +117 -0
  48. package/docs/src/core/components/functional/if/if.md +16 -0
  49. package/docs/src/core/components/functional/list/list.md +199 -0
  50. package/docs/src/core/components/functional/mix/mix.md +41 -0
  51. package/docs/src/core/components/functional/queue/queue.md +87 -0
  52. package/docs/src/core/components/functional/router/router.md +112 -0
  53. package/docs/src/core/components/functional/sdui/default-library.json +108 -0
  54. package/docs/src/core/components/functional/sdui/example.json +99 -0
  55. package/docs/src/core/components/functional/sdui/sdui.md +356 -0
  56. package/docs/src/core/components/functional/states/states.md +87 -0
  57. package/docs/src/core/components/functional/submit/submit.md +83 -0
  58. package/docs/src/core/components/functional/subscriber/subscriber.md +91 -0
  59. package/docs/src/core/components/functional/value/value.md +35 -0
  60. package/docs/src/core/components/ui/alert/alert.md +121 -0
  61. package/docs/src/core/components/ui/badge/badge.md +102 -0
  62. package/docs/src/core/components/ui/button/button.md +184 -0
  63. package/docs/src/core/components/ui/captcha/captcha.md +12 -0
  64. package/docs/src/core/components/ui/card/card.md +96 -0
  65. package/docs/src/core/components/ui/divider/divider.md +35 -0
  66. package/docs/src/core/components/ui/form/checkbox/checkbox.md +96 -0
  67. package/docs/src/core/components/ui/form/fieldset/fieldset.md +129 -0
  68. package/docs/src/core/components/ui/form/form-actions/form-actions.md +77 -0
  69. package/docs/src/core/components/ui/form/form-layout/form-layout.md +43 -0
  70. package/docs/src/core/components/ui/form/input/input.md +168 -0
  71. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +130 -0
  72. package/docs/src/core/components/ui/form/radio/radio.md +86 -0
  73. package/docs/src/core/components/ui/form/select/select.md +99 -0
  74. package/docs/src/core/components/ui/form/textarea/textarea.md +65 -0
  75. package/docs/src/core/components/ui/group/group.md +75 -0
  76. package/docs/src/core/components/ui/icon/icon.md +125 -0
  77. package/docs/src/core/components/ui/icon/icons.json +1 -0
  78. package/docs/src/core/components/ui/image/image.md +107 -0
  79. package/docs/src/core/components/ui/link/link.md +43 -0
  80. package/docs/src/core/components/ui/loader/loader.md +37 -0
  81. package/docs/src/core/components/ui/menu/menu.md +288 -0
  82. package/docs/src/core/components/ui/modal/modal.md +123 -0
  83. package/docs/src/core/components/ui/pop/pop.md +79 -0
  84. package/docs/src/core/components/ui/progress/progress.md +63 -0
  85. package/docs/src/core/components/ui/table/table.md +455 -0
  86. package/docs/src/core/components/ui/tooltip/tooltip.md +82 -0
  87. package/docs/src/docs/_core-concept/overview.md +57 -0
  88. package/docs/src/docs/_core-concept/subscriber.md +76 -0
  89. package/docs/src/docs/_getting-started/concorde-outside.md +143 -0
  90. package/docs/src/docs/_getting-started/create-a-component.md +137 -0
  91. package/docs/src/docs/_getting-started/my-first-subscriber.md +174 -0
  92. package/docs/src/docs/_getting-started/pubsub.md +150 -0
  93. package/docs/src/docs/_getting-started/start.md +39 -0
  94. package/docs/src/docs/_getting-started/theming.md +91 -0
  95. package/docs/src/docs/search/docs-search.json +3887 -0
  96. package/docs/src/tag-list.json +1 -0
  97. package/docs/src/tsconfig-model.json +23 -0
  98. package/docs/src/tsconfig.json +808 -0
  99. package/docs/svg/regular/plane.svg +1 -0
  100. package/docs/svg/solid/plane.svg +1 -0
  101. package/index.html +16 -16
  102. package/package.json +5 -1
  103. package/scripts/pre-build.mjs +0 -0
  104. package/scripts/pre-publish.mjs +0 -0
  105. package/src/core/_types/types.ts +0 -0
  106. package/src/core/components/functional/date/date.ts +21 -12
  107. package/src/core/components/functional/queue/queue.ts +0 -0
  108. package/src/core/components/functional/router/router.md +28 -32
  109. package/src/core/components/functional/router/router.ts +1 -5
  110. package/src/core/components/functional/sonic-scope/sonic-scope.ts +2 -2
  111. package/src/core/components/functional/states/states.md +4 -4
  112. package/src/core/components/functional/states/states.ts +0 -0
  113. package/src/core/components/functional/submit/submit.md +0 -0
  114. package/src/core/components/functional/submit/submit.ts +0 -0
  115. package/src/core/components/ui/_css/shadow.ts +24 -0
  116. package/src/core/components/ui/alert/alert.md +15 -15
  117. package/src/core/components/ui/alert-messages/alert-messages.ts +0 -0
  118. package/src/core/components/ui/badge/badge.md +30 -5
  119. package/src/core/components/ui/badge/badge.ts +39 -30
  120. package/src/core/components/ui/button/button.ts +31 -31
  121. package/src/core/components/ui/card/card-header-descripton.ts +7 -10
  122. package/src/core/components/ui/card/card-header.ts +14 -8
  123. package/src/core/components/ui/card/card.ts +13 -4
  124. package/src/core/components/ui/form/checkbox/checkbox.md +27 -29
  125. package/src/core/components/ui/form/css/form-control.ts +1 -8
  126. package/src/core/components/ui/form/fieldset/fieldset.ts +0 -0
  127. package/src/core/components/ui/form/fieldset/legend.ts +24 -14
  128. package/src/core/components/ui/form/input/input.md +23 -25
  129. package/src/core/components/ui/form/input/input.ts +4 -2
  130. package/src/core/components/ui/form/input/password-helper.ts +0 -0
  131. package/src/core/components/ui/form/input/same-value-helper.ts +0 -0
  132. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.ts +13 -6
  133. package/src/core/components/ui/form/radio/radio.md +0 -2
  134. package/src/core/components/ui/form/select/select.md +26 -28
  135. package/src/core/components/ui/form/select/select.ts +0 -0
  136. package/src/core/components/ui/group/group.ts +0 -0
  137. package/src/core/components/ui/image/image.ts +32 -16
  138. package/src/core/components/ui/loader/loader.md +27 -5
  139. package/src/core/components/ui/menu/menu.ts +3 -27
  140. package/src/core/components/ui/modal/modal-subtitle.ts +5 -4
  141. package/src/core/components/ui/modal/modal-title.ts +5 -3
  142. package/src/core/components/ui/modal/modal.md +6 -6
  143. package/src/core/components/ui/modal/modal.ts +0 -0
  144. package/src/core/components/ui/pop/pop.ts +4 -26
  145. package/src/core/components/ui/theme/theme-collection/core-variables.ts +5 -9
  146. package/src/core/components/ui/theme/theme-collection/dark.ts +1 -1
  147. package/src/core/components/ui/toast/message-subscriber.ts +0 -0
  148. package/src/core/components/ui/toast/toast.ts +0 -0
  149. package/src/core/components/ui/ui.ts +0 -0
  150. package/src/core/core.ts +0 -0
  151. package/src/core/mixins/FormCheckable.ts +0 -0
  152. package/src/core/mixins/FormElement.ts +0 -0
  153. package/src/core/mixins/Subscriber.ts +0 -0
  154. package/src/core/utils/HTML.ts +0 -0
  155. package/src/core/utils/LocationHandler.ts +0 -0
  156. package/src/core/utils/Objects.ts +0 -0
  157. package/src/core/utils/PublisherProxy.ts +0 -0
  158. package/src/core/utils/api.ts +16 -0
  159. package/src/core/utils/route.ts +0 -0
  160. package/src/docs/docs.ts +1 -0
  161. package/src/docs/layout.ts +18 -0
  162. package/src/docs/search/docs-search.json +0 -0
  163. package/src/docs/search/page.ts +6 -4
  164. package/src/tsconfig-model.json +0 -0
  165. package/src/tsconfig.json +12 -0
  166. package/vite/config.js +0 -0
  167. package/vite.config.mts.timestamp-1728318208370-f1724bcfd87d3.mjs +85 -0
@@ -1,6 +1,6 @@
1
- import {html, LitElement, css} from "lit";
2
- import {customElement, property} from "lit/decorators.js";
3
- import {styleMap} from "lit/directives/style-map.js";
1
+ import { html, LitElement, css } from "lit";
2
+ import { customElement, property } from "lit/decorators.js";
3
+ import { styleMap } from "lit/directives/style-map.js";
4
4
  const tagName = "sonic-image";
5
5
  @customElement(tagName)
6
6
  export class Image extends LitElement {
@@ -8,7 +8,7 @@ export class Image extends LitElement {
8
8
  css`
9
9
  :host {
10
10
  --sc-img-radius: 0;
11
- --sc-img-bg: var(--sc-placeholder-bg);
11
+ --sc-img-bg: var(--sc-placeholder-bg, rgba(12, 12, 12, 0.05));
12
12
  border-radius: var(--sc-img-radius);
13
13
  display: block;
14
14
  width: 100%;
@@ -72,7 +72,8 @@ export class Image extends LitElement {
72
72
 
73
73
  :host([transition="fade-scale-out"]) img {
74
74
  scale: 1.08;
75
- transition: opacity 0.3s linear, scale 0.3s cubic-bezier(0.16, 1, 0.3, 1);
75
+ transition: opacity 0.3s linear,
76
+ scale 0.3s cubic-bezier(0.16, 1, 0.3, 1);
76
77
  }
77
78
  :host([transition]) img.loaded {
78
79
  opacity: 1;
@@ -81,17 +82,27 @@ export class Image extends LitElement {
81
82
  `,
82
83
  ];
83
84
 
84
- @property({type: String}) rounded: "" | "none" | "full" | "sm" | "md" | "lg" = "none";
85
- @property({type: String}) src = "";
86
- @property({type: String}) alt = "";
87
- @property({type: String}) loading: "eager" | "lazy" = "lazy";
88
- @property({type: String, reflect: true}) transition?: "fade" | "fade-scale-out";
89
- @property({type: String}) ratio = "auto";
90
- @property({type: String}) objectPosition = "center center";
91
- @property({type: String}) imageRendering = "auto";
92
- @property({type: Boolean, reflect: true}) cover = false;
85
+ @property({ type: String }) rounded:
86
+ | ""
87
+ | "none"
88
+ | "full"
89
+ | "sm"
90
+ | "md"
91
+ | "lg" = "none";
92
+ @property({ type: String }) src = "";
93
+ @property({ type: String }) alt = "";
94
+ @property({ type: String }) loading: "eager" | "lazy" = "lazy";
95
+ @property({ type: String, reflect: true }) transition?:
96
+ | "fade"
97
+ | "fade-scale-out";
98
+ @property({ type: String }) ratio = "auto";
99
+ @property({ type: String }) objectPosition = "center center";
100
+ @property({ type: String }) imageRendering = "auto";
101
+ @property({ type: Boolean, reflect: true }) cover = false;
93
102
 
94
- firstUpdated(changedProperties: Map<string | number | symbol, unknown>): void {
103
+ firstUpdated(
104
+ changedProperties: Map<string | number | symbol, unknown>
105
+ ): void {
95
106
  if (this.transition) {
96
107
  const img = this.shadowRoot?.querySelector("img");
97
108
  if (!img) return;
@@ -110,7 +121,12 @@ export class Image extends LitElement {
110
121
  };
111
122
  return html`<div part="image">
112
123
  <picture part="picture"
113
- ><img part="img" src="${this.src}" loading="${this.loading}" alt="${this.alt}" style=${styleMap(imgStyles)}
124
+ ><img
125
+ part="img"
126
+ src="${this.src}"
127
+ loading="${this.loading}"
128
+ alt="${this.alt}"
129
+ style=${styleMap(imgStyles)}
114
130
  /></picture>
115
131
  </div>`;
116
132
  }
@@ -8,19 +8,41 @@
8
8
  </template>
9
9
  </sonic-code>
10
10
 
11
+
12
+ ## Align
13
+
14
+ <sonic-code>
15
+ <template>
16
+ <sonic-loader mode="inline" align="left"></sonic-loader>
17
+ <sonic-loader mode="inline" align="center"></sonic-loader>
18
+ <sonic-loader mode="inline" align="right"></sonic-loader>
19
+ </template>
20
+ </sonic-code>
21
+
11
22
  ## Fixed mode
12
23
 
13
24
  <sonic-code >
14
25
  <template>
15
- <div formDataProvider="toazdar">
16
- <sonic-button name="toggleLoader" value="on">
17
- Toggle fixed loader
18
- <sonic-loader swap="on"></sonic-loader>
19
- </sonic-button>
26
+ <div dataProvider="toggleLoaderForm" formDataProvider="toggleLoaderForm">
27
+ <sonic-checkbox label="Show fixed loader"
28
+ name="toggleLoader"
29
+ unique value="true">
30
+ </sonic-checkbox>
31
+ <sonic-if data-bind ::condition="$toggleLoader" >
32
+ <sonic-loader></sonic-loader>
33
+ </sonic-if>
20
34
  </div>
21
35
  </template>
22
36
  </sonic-code>
23
37
 
38
+
39
+ ## Loading button
40
+ <sonic-code>
41
+ <template>
42
+ <sonic-button loading>A loading button</sonic-button>
43
+ </template>
44
+ </sonic-code>
45
+
24
46
  ## Hide / show programmatically
25
47
 
26
48
  <sonic-code language="javascript">
@@ -9,6 +9,7 @@ import {
9
9
  } from "lit/decorators.js";
10
10
  import "@supersoniks/concorde/core/components/ui/menu/menu-item";
11
11
  import { Size } from "../_css/size";
12
+ import { Shadow, shadowable } from "../_css/shadow";
12
13
  const tagName = "sonic-menu";
13
14
 
14
15
  @customElement(tagName)
@@ -31,25 +32,6 @@ export class MenuItems extends LitElement {
31
32
  display: none !important;
32
33
  }
33
34
 
34
- /*OMBRE*/
35
- :host([shadow]) .shadowable,
36
- :host([shadow="md"]) .shadowable,
37
- :host([shadow="true"]) .shadowable {
38
- box-shadow: var(--sc-shadow);
39
- }
40
-
41
- :host([shadow="sm"]) .shadowable {
42
- box-shadow: var(--sc-shadow-sm);
43
- }
44
-
45
- :host([shadow="lg"]) .shadowable {
46
- box-shadow: var(--sc-shadow-lg);
47
- }
48
-
49
- :host([shadow="none"]) .shadowable {
50
- box-shadow: none;
51
- }
52
-
53
35
  /* SCROLLABLE*/
54
36
  :host([scrollable]) {
55
37
  scrollbar-width: none;
@@ -151,6 +133,7 @@ export class MenuItems extends LitElement {
151
133
  );
152
134
  }
153
135
  `,
136
+ shadowable,
154
137
  ];
155
138
 
156
139
  /**
@@ -173,14 +156,7 @@ export class MenuItems extends LitElement {
173
156
  /**
174
157
  * Ombre
175
158
  */
176
- @property({ type: String, reflect: true }) shadow:
177
- | ""
178
- | "sm"
179
- | "md"
180
- | "lg"
181
- | "xl"
182
- | "none"
183
- | null = null;
159
+ @property({ type: String, reflect: true }) shadow: Shadow = null;
184
160
 
185
161
  @property({ type: String }) moreShape: "square" | "circle" = "circle";
186
162
  @property({ type: Boolean }) scrollable = false;
@@ -1,5 +1,5 @@
1
- import {html, LitElement, css} from "lit";
2
- import {customElement} from "lit/decorators.js";
1
+ import { html, LitElement, css } from "lit";
2
+ import { customElement } from "lit/decorators.js";
3
3
  const tagName = "sonic-modal-subtitle";
4
4
 
5
5
  @customElement(tagName)
@@ -10,9 +10,10 @@ export class ModalSubTitle extends LitElement {
10
10
  font-size: 1.1rem;
11
11
  display: block;
12
12
  line-height: 1.1rem;
13
- line-height: var(--sc-headings-line-height);
13
+ line-height: var(--sc-headings-line-height, 1.1);
14
14
  font-family: var(--sc-headings-font-family);
15
- font-weight: var(--sc-headings-font-weight);
15
+ font-weight: var(--sc-headings-font-weight, 700);
16
+ font-style: var(--sc-headings-font-style, normal);
16
17
  }
17
18
  `,
18
19
  ];
@@ -1,5 +1,5 @@
1
- import {html, LitElement, css} from "lit";
2
- import {customElement} from "lit/decorators.js";
1
+ import { html, LitElement, css } from "lit";
2
+ import { customElement } from "lit/decorators.js";
3
3
  const tagName = "sonic-modal-title";
4
4
 
5
5
  @customElement(tagName)
@@ -10,8 +10,10 @@ export class ModalTitle extends LitElement {
10
10
  font-weight: bold;
11
11
  font-size: 1.5rem;
12
12
  display: block;
13
- line-height: var(--sc-headings-line-height);
13
+ line-height: var(--sc-headings-line-height, 1.1);
14
14
  font-family: var(--sc-headings-font-family);
15
+ font-weight: var(--sc-headings-font-weight, 700);
16
+ font-style: var(--sc-headings-font-style, normal);
15
17
  }
16
18
  `,
17
19
  ];
@@ -14,7 +14,7 @@
14
14
  <sonic-modal-content>
15
15
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget quam eu mi luctus faucibus.
16
16
  </sonic-modal-content>
17
- <sonic-modal-actions formDataProvider="youpla">
17
+ <sonic-modal-actions formDataProvider="ModalMiniForm">
18
18
  <sonic-button FormCheckable hideModal="false" minWidth="8rem" value="true" name="click">
19
19
  Click don't close
20
20
  </sonic-button>
@@ -76,15 +76,15 @@
76
76
 
77
77
  <sonic-code>
78
78
  <template>
79
- <sonic-button onclick="document.getElementById('force').show()"> Action obligatoire </sonic-button>
79
+ <sonic-button onclick="document.getElementById('force').show()"> Force action to close</sonic-button>
80
80
  <sonic-modal forceAction id="force">
81
- <sonic-modal-title>Voulez-vous accepter les cookies ? </sonic-modal-title>
81
+ <sonic-modal-title>Do you want some cookies ? </sonic-modal-title>
82
82
  <sonic-modal-content>
83
83
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget quam eu mi luctus faucibus.
84
84
  </sonic-modal-content>
85
- <sonic-modal-actions formDataProvider="youpla">
86
- <sonic-button> Nope </sonic-button>
87
- <sonic-button minWidth="8rem" type="success">Carrément</sonic-button>
85
+ <sonic-modal-actions >
86
+ <sonic-button minWidth="8rem"> Nope </sonic-button>
87
+ <sonic-button minWidth="8rem" type="success">Hell yes !</sonic-button>
88
88
  </sonic-modal-actions>
89
89
  </sonic-modal>
90
90
  </sonic-modal>
File without changes
@@ -4,6 +4,7 @@ import { customElement, query, state, property } from "lit/decorators.js";
4
4
  import HTML, {
5
5
  SearchableDomElement,
6
6
  } from "@supersoniks/concorde/core/utils/HTML";
7
+ import { Shadow, shadowable } from "../_css/shadow";
7
8
  // Toast
8
9
  type PopPlacement =
9
10
  | "bottom"
@@ -51,29 +52,11 @@ export class Pop extends LitElement {
51
52
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.42, 1.225);
52
53
  }
53
54
 
54
- /*OMBRE*/
55
- :host([shadow]) slot[name="content"],
56
- :host([shadow="md"]) slot[name="content"],
57
- :host([shadow="true"]) slot[name="content"] {
58
- box-shadow: var(--sc-shadow);
59
- }
60
-
61
- :host([shadow="sm"]) slot[name="content"] {
62
- box-shadow: var(--sc-shadow-sm);
63
- }
64
-
65
- :host([shadow="none"]) slot[name="content"] {
66
- box-shadow: none;
67
- }
68
-
69
- :host([shadow="lg"]) slot[name="content"] {
70
- box-shadow: var(--sc-shadow-lg);
71
- }
72
-
73
55
  :host([inline]) {
74
56
  vertical-align: baseline;
75
57
  }
76
58
  `,
59
+ shadowable,
77
60
  ];
78
61
 
79
62
  @state() open = false;
@@ -85,12 +68,7 @@ export class Pop extends LitElement {
85
68
  /**
86
69
  * Ombre
87
70
  */
88
- @property({ type: String, reflect: true }) shadow:
89
- | ""
90
- | "none"
91
- | "sm"
92
- | "md"
93
- | "lg" = "lg";
71
+ @property({ type: String, reflect: true }) shadow: Shadow = "lg";
94
72
 
95
73
  @property({ type: String }) placement: PopPlacement = "bottom";
96
74
  positioningRuns = false;
@@ -347,7 +325,7 @@ export class Pop extends LitElement {
347
325
  tabindex="-1"
348
326
  part="content"
349
327
  style="display: none;"
350
- class="
328
+ class="shadowable
351
329
  ${this.open ? "is-open" : ""}"
352
330
  ></slot>
353
331
  `;
@@ -9,16 +9,15 @@ export const coreVariables = css`
9
9
  --sc-font-weight-base: 400;
10
10
  --sc-font-style-base: normal;
11
11
 
12
- --sc-headings-font-family: var(--sc-font-family-base), sans-serif;
12
+ --sc-headings-font-family: var(--sc-font-family-base), sans-serif; /*ok*/
13
13
  --sc-headings-font-style: var(--sc-font-style-base);
14
14
  --sc-headings-line-height: 1.1;
15
15
  --sc-headings-font-weight: 700;
16
16
  --sc-headings-text-transform: none;
17
17
 
18
18
  /* Button*/
19
- --sc-btn-font-weight: var(--sc-font-weight-base);
20
- --sc-btn-font-family: var(--sc-font-family-base);
21
- --sc-btn-font-style: var(--sc-font-style-base);
19
+ --sc-btn-font-weight: var(--sc-font-weight-base); /*ok*/
20
+ --sc-btn-font-family: var(--sc-font-family-base); /*ok*/
22
21
 
23
22
  /* ROUNDED*/
24
23
  --sc-rounded-sm: calc(var(--sc-rounded) * 0.5);
@@ -37,7 +36,7 @@ export const coreVariables = css`
37
36
  );
38
37
 
39
38
  /* Placeholder */
40
- --sc-placeholder-bg: rgba(17, 24, 39, 0.05);
39
+ /*--sc-placeholder-bg: rgba(17, 24, 39, 0.05); */ /*ok*/
41
40
 
42
41
  /* OMBRES */
43
42
  --sc-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1),
@@ -62,13 +61,10 @@ export const coreVariables = css`
62
61
  (var(--sc-rounded) + var(--sc-rounded-size-intensity)) *
63
62
  var(--sc-input-rounded-intensity)
64
63
  );
65
- --sc-label-font-weight: 500;
64
+ /*--sc-label-font-weight: 500; /*ok*/
66
65
 
67
66
  /* Contrast -- ex : Text on images */
68
67
  --sc-contrast-content: #fff;
69
68
  --sc-contrast: #000000;
70
-
71
- /*Body*/
72
- --sc-body-bg: var(--sc-base);
73
69
  }
74
70
  `;
@@ -1,4 +1,4 @@
1
- import {css} from "lit";
1
+ import { css } from "lit";
2
2
 
3
3
  const darkCss = css`
4
4
  --sc-primary: var(--sc-dark-primary, var(--sc-base-700));
File without changes
File without changes
package/src/core/core.ts CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -31,6 +31,10 @@ export type APICall = {
31
31
  data?: unknown;
32
32
  cache?: RequestCache;
33
33
  };
34
+ export type APIResponse = {
35
+ http: Response;
36
+ processed: ResultTypeInterface;
37
+ };
34
38
  class API {
35
39
  /**
36
40
  * Ce tableau static permet de ne pas appeler plusieurs fois le même service lors d'appel concurrents en GET.
@@ -146,6 +150,7 @@ class API {
146
150
  ): Promise<ResultTypeInterface> {
147
151
  API.firstCallDoneFlags.set(this.serviceURL, "done");
148
152
  this.lastResult = fetchResult;
153
+
149
154
  const contentType = fetchResult.headers.get("content-type")?.toLowerCase();
150
155
  const httpCode = fetchResult.status;
151
156
 
@@ -181,6 +186,17 @@ class API {
181
186
  }
182
187
  }
183
188
 
189
+ /**
190
+ * Publication en global de la réponse de l'api
191
+ */
192
+ const apiPublisher = PublisherManager.get("sonic-api") as {
193
+ lastResponse: APIResponse;
194
+ };
195
+ apiPublisher.lastResponse = {
196
+ http: fetchResult,
197
+ processed: result,
198
+ };
199
+
184
200
  return result;
185
201
  }
186
202
 
File without changes
package/src/docs/docs.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import "./layout";
1
2
  import "./search/search";
2
3
  import "./search/page";
3
4
  import "./search/markdown-renderer";
@@ -0,0 +1,18 @@
1
+ const onLocationChange = (location: Location) => {
2
+ if (location.pathname === "/" && location.hash === "") {
3
+ document.documentElement.setAttribute("data-home", "");
4
+ } else {
5
+ document.documentElement.removeAttribute("data-home");
6
+ }
7
+ };
8
+ const getCurrentLocation = () => document.location;
9
+ const currentLocation: Location = getCurrentLocation();
10
+ onLocationChange(currentLocation);
11
+ window.addEventListener("popstate", (event) => {
12
+ onLocationChange(getCurrentLocation());
13
+ });
14
+
15
+ // Listen for changes in the URL hash
16
+ window.addEventListener("hashchange", () => {
17
+ onLocationChange(getCurrentLocation());
18
+ });
File without changes
@@ -1,4 +1,4 @@
1
- import { html, LitElement, nothing } from "lit";
1
+ 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";
@@ -20,16 +20,18 @@ export class DocsPage extends Subscriber(LitElement) {
20
20
  @property() location = "";
21
21
  markDownsURL = "";
22
22
  noShadowDom = "";
23
- willUpdate() {
23
+ url = "";
24
+ anchor = "";
25
+
26
+ willUpdate(changedProperties: PropertyValues) {
24
27
  const sharpIdx = this.location.indexOf("#");
25
28
  if (sharpIdx) {
26
29
  const split = this.location.substring(sharpIdx + 1).split("/");
27
30
  this.anchor = decodeURI(split.pop());
28
31
  this.url = split.join("/");
29
32
  }
33
+ super.willUpdate(changedProperties);
30
34
  }
31
- url = "";
32
- anchor = "";
33
35
 
34
36
  render() {
35
37
  if (!this.url) return nothing;
File without changes
package/src/tsconfig.json CHANGED
@@ -151,6 +151,15 @@
151
151
  "./ui/_css/scroll": [
152
152
  "/sites/concorde/src/core/components/ui/_css/scroll.ts"
153
153
  ],
154
+ "./shadow": [
155
+ "/sites/concorde/src/core/components/ui/_css/shadow.ts"
156
+ ],
157
+ "./ui/shadow": [
158
+ "/sites/concorde/src/core/components/ui/_css/shadow.ts"
159
+ ],
160
+ "./ui/_css/shadow": [
161
+ "/sites/concorde/src/core/components/ui/_css/shadow.ts"
162
+ ],
154
163
  "./size": [
155
164
  "/sites/concorde/src/core/components/ui/_css/size.ts"
156
165
  ],
@@ -763,6 +772,9 @@
763
772
  "./header/header": [
764
773
  "/sites/concorde/src/docs/header/header.ts"
765
774
  ],
775
+ "./layout": [
776
+ "/sites/concorde/src/docs/layout.ts"
777
+ ],
766
778
  "./navigation/navigation": [
767
779
  "/sites/concorde/src/docs/navigation/navigation.ts"
768
780
  ],
package/vite/config.js CHANGED
File without changes
@@ -0,0 +1,85 @@
1
+ // vite.config.mts
2
+ import postcssLit from "file:///sites/concorde/node_modules/rollup-plugin-postcss-lit/dist/index.js";
3
+ import { defineConfig } from "file:///sites/concorde/node_modules/vite/dist/node/index.js";
4
+ import path from "path";
5
+ import fs from "fs";
6
+ var __vite_injected_original_dirname = "/sites/concorde";
7
+ function CustomHmr() {
8
+ return {
9
+ name: "custom-hmr",
10
+ enforce: "post",
11
+ // HMR
12
+ handleHotUpdate({ file, server }) {
13
+ if (file.endsWith(".md")) {
14
+ console.log("reloading json file...");
15
+ server.ws.send({
16
+ type: "full-reload",
17
+ path: "*"
18
+ });
19
+ }
20
+ }
21
+ };
22
+ }
23
+ var config = {
24
+ core: {
25
+ entry: path.resolve(__vite_injected_original_dirname, "./src/index.ts"),
26
+ name: "concorde-core",
27
+ outDir: "dist",
28
+ isLibrary: true
29
+ },
30
+ docs: {
31
+ entry: path.resolve(__vite_injected_original_dirname, "./src/docs.ts"),
32
+ name: "concorde-core",
33
+ outDir: "docs",
34
+ isLibrary: false
35
+ }
36
+ };
37
+ var libName = process.env.LIB_NAME;
38
+ if (!libName)
39
+ libName = "core";
40
+ var currentConfig = config[libName];
41
+ var build = {
42
+ // minify: "terser",
43
+ emptyOutDir: true,
44
+ //!currentConfig.isLibrary,
45
+ outDir: currentConfig.outDir
46
+ };
47
+ if (currentConfig.isLibrary) {
48
+ build.lib = {
49
+ entry: currentConfig.entry,
50
+ name: currentConfig.name,
51
+ fileName: (format) => format == "es" ? `${currentConfig.name}.es.js` : `${currentConfig.name}.bundle.js`
52
+ };
53
+ }
54
+ var __BUILD_DATE__ = /* @__PURE__ */ new Date();
55
+ fs.writeFileSync(
56
+ "build-infos.json",
57
+ JSON.stringify({ date: Math.round(__BUILD_DATE__.getTime() / 1e3) })
58
+ );
59
+ var vite_config_default = defineConfig({
60
+ base: "./",
61
+ define: {
62
+ // Définir une constante contenant la date de build
63
+ __BUILD_DATE__: JSON.stringify(__BUILD_DATE__.toString())
64
+ },
65
+ resolve: {
66
+ alias: [
67
+ {
68
+ find: "@supersoniks/concorde",
69
+ replacement: path.resolve(__vite_injected_original_dirname, "src")
70
+ }
71
+ ]
72
+ },
73
+ build,
74
+ plugins: [
75
+ CustomHmr(),
76
+ postcssLit({
77
+ include: ["src/**/*.css", "src/**/*.css?*"]
78
+ })
79
+ ]
80
+ });
81
+ export {
82
+ config,
83
+ vite_config_default as default
84
+ };
85
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcubXRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL3NpdGVzL2NvbmNvcmRlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvc2l0ZXMvY29uY29yZGUvdml0ZS5jb25maWcubXRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9zaXRlcy9jb25jb3JkZS92aXRlLmNvbmZpZy5tdHNcIjtpbXBvcnQgcG9zdGNzc0xpdCBmcm9tIFwicm9sbHVwLXBsdWdpbi1wb3N0Y3NzLWxpdFwiO1xuXG4vLyBpbXBvcnQgbWluaWZ5SFRNTCBmcm9tIFwicm9sbHVwLXBsdWdpbi1taW5pZnktaHRtbC1saXRlcmFsc1wiO1xuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5cbmZ1bmN0aW9uIEN1c3RvbUhtcigpIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcImN1c3RvbS1obXJcIixcbiAgICBlbmZvcmNlOiBcInBvc3RcIixcbiAgICAvLyBITVJcbiAgICBoYW5kbGVIb3RVcGRhdGUoeyBmaWxlLCBzZXJ2ZXIgfSkge1xuICAgICAgaWYgKGZpbGUuZW5kc1dpdGgoXCIubWRcIikpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJyZWxvYWRpbmcganNvbiBmaWxlLi4uXCIpO1xuXG4gICAgICAgIHNlcnZlci53cy5zZW5kKHtcbiAgICAgICAgICB0eXBlOiBcImZ1bGwtcmVsb2FkXCIsXG4gICAgICAgICAgcGF0aDogXCIqXCIsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBjb25maWcgPSB7XG4gIGNvcmU6IHtcbiAgICBlbnRyeTogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCIuL3NyYy9pbmRleC50c1wiKSxcbiAgICBuYW1lOiBcImNvbmNvcmRlLWNvcmVcIixcbiAgICBvdXREaXI6IFwiZGlzdFwiLFxuICAgIGlzTGlicmFyeTogdHJ1ZSxcbiAgfSxcbiAgZG9jczoge1xuICAgIGVudHJ5OiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBcIi4vc3JjL2RvY3MudHNcIiksXG4gICAgbmFtZTogXCJjb25jb3JkZS1jb3JlXCIsXG4gICAgb3V0RGlyOiBcImRvY3NcIixcbiAgICBpc0xpYnJhcnk6IGZhbHNlLFxuICB9LFxufTtcbmxldCBsaWJOYW1lID0gcHJvY2Vzcy5lbnYuTElCX05BTUU7XG5pZiAoIWxpYk5hbWUpIGxpYk5hbWUgPSBcImNvcmVcIjtcbmNvbnN0IGN1cnJlbnRDb25maWcgPSBjb25maWdbbGliTmFtZV07XG5jb25zdCBidWlsZCA9IHtcbiAgLy8gbWluaWZ5OiBcInRlcnNlclwiLFxuICBlbXB0eU91dERpcjogdHJ1ZSwgLy8hY3VycmVudENvbmZpZy5pc0xpYnJhcnksXG4gIG91dERpcjogY3VycmVudENvbmZpZy5vdXREaXIsXG59O1xuaWYgKGN1cnJlbnRDb25maWcuaXNMaWJyYXJ5KSB7XG4gIGJ1aWxkLmxpYiA9IHtcbiAgICBlbnRyeTogY3VycmVudENvbmZpZy5lbnRyeSxcbiAgICBuYW1lOiBjdXJyZW50Q29uZmlnLm5hbWUsXG4gICAgZmlsZU5hbWU6IChmb3JtYXQpID0+XG4gICAgICBmb3JtYXQgPT0gXCJlc1wiXG4gICAgICAgID8gYCR7Y3VycmVudENvbmZpZy5uYW1lfS5lcy5qc2BcbiAgICAgICAgOiBgJHtjdXJyZW50Q29uZmlnLm5hbWV9LmJ1bmRsZS5qc2AsXG4gIH07XG59XG5cbmNvbnN0IF9fQlVJTERfREFURV9fID0gbmV3IERhdGUoKTtcblxuLy93cml0ZSB0aGUgYnVpbGQgZGF0ZSB0byBhIGZpbGVcbmZzLndyaXRlRmlsZVN5bmMoXG4gIFwiYnVpbGQtaW5mb3MuanNvblwiLFxuICBKU09OLnN0cmluZ2lmeSh7IGRhdGU6IE1hdGgucm91bmQoX19CVUlMRF9EQVRFX18uZ2V0VGltZSgpIC8gMTAwMCkgfSlcbik7XG5cbi8vIGh0dHBzOi8vdml0ZWpzLmRldi9jb25maWcvXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBiYXNlOiBcIi4vXCIsXG4gIGRlZmluZToge1xuICAgIC8vIERcdTAwRTlmaW5pciB1bmUgY29uc3RhbnRlIGNvbnRlbmFudCBsYSBkYXRlIGRlIGJ1aWxkXG4gICAgX19CVUlMRF9EQVRFX186IEpTT04uc3RyaW5naWZ5KF9fQlVJTERfREFURV9fLnRvU3RyaW5nKCkpLFxuICB9LFxuICByZXNvbHZlOiB7XG4gICAgYWxpYXM6IFtcbiAgICAgIHtcbiAgICAgICAgZmluZDogXCJAc3VwZXJzb25pa3MvY29uY29yZGVcIixcbiAgICAgICAgcmVwbGFjZW1lbnQ6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIFwic3JjXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBidWlsZDogYnVpbGQsXG4gIHBsdWdpbnM6IFtcbiAgICBDdXN0b21IbXIoKSxcbiAgICBwb3N0Y3NzTGl0KHtcbiAgICAgIGluY2x1ZGU6IFtcInNyYy8qKi8qLmNzc1wiLCBcInNyYy8qKi8qLmNzcz8qXCJdLFxuICAgIH0pLFxuICBdLFxufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQWlPLE9BQU8sZ0JBQWdCO0FBR3hQLFNBQVMsb0JBQW9CO0FBQzdCLE9BQU8sVUFBVTtBQUNqQixPQUFPLFFBQVE7QUFMZixJQUFNLG1DQUFtQztBQU96QyxTQUFTLFlBQVk7QUFDbkIsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBO0FBQUEsSUFFVCxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sR0FBRztBQUNoQyxVQUFJLEtBQUssU0FBUyxLQUFLLEdBQUc7QUFDeEIsZ0JBQVEsSUFBSSx3QkFBd0I7QUFFcEMsZUFBTyxHQUFHLEtBQUs7QUFBQSxVQUNiLE1BQU07QUFBQSxVQUNOLE1BQU07QUFBQSxRQUNSLENBQUM7QUFBQSxNQUNIO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjtBQUVPLElBQU0sU0FBUztBQUFBLEVBQ3BCLE1BQU07QUFBQSxJQUNKLE9BQU8sS0FBSyxRQUFRLGtDQUFXLGdCQUFnQjtBQUFBLElBQy9DLE1BQU07QUFBQSxJQUNOLFFBQVE7QUFBQSxJQUNSLFdBQVc7QUFBQSxFQUNiO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixPQUFPLEtBQUssUUFBUSxrQ0FBVyxlQUFlO0FBQUEsSUFDOUMsTUFBTTtBQUFBLElBQ04sUUFBUTtBQUFBLElBQ1IsV0FBVztBQUFBLEVBQ2I7QUFDRjtBQUNBLElBQUksVUFBVSxRQUFRLElBQUk7QUFDMUIsSUFBSSxDQUFDO0FBQVMsWUFBVTtBQUN4QixJQUFNLGdCQUFnQixPQUFPLE9BQU87QUFDcEMsSUFBTSxRQUFRO0FBQUE7QUFBQSxFQUVaLGFBQWE7QUFBQTtBQUFBLEVBQ2IsUUFBUSxjQUFjO0FBQ3hCO0FBQ0EsSUFBSSxjQUFjLFdBQVc7QUFDM0IsUUFBTSxNQUFNO0FBQUEsSUFDVixPQUFPLGNBQWM7QUFBQSxJQUNyQixNQUFNLGNBQWM7QUFBQSxJQUNwQixVQUFVLENBQUMsV0FDVCxVQUFVLE9BQ04sR0FBRyxjQUFjLElBQUksV0FDckIsR0FBRyxjQUFjLElBQUk7QUFBQSxFQUM3QjtBQUNGO0FBRUEsSUFBTSxpQkFBaUIsb0JBQUksS0FBSztBQUdoQyxHQUFHO0FBQUEsRUFDRDtBQUFBLEVBQ0EsS0FBSyxVQUFVLEVBQUUsTUFBTSxLQUFLLE1BQU0sZUFBZSxRQUFRLElBQUksR0FBSSxFQUFFLENBQUM7QUFDdEU7QUFHQSxJQUFPLHNCQUFRLGFBQWE7QUFBQSxFQUMxQixNQUFNO0FBQUEsRUFDTixRQUFRO0FBQUE7QUFBQSxJQUVOLGdCQUFnQixLQUFLLFVBQVUsZUFBZSxTQUFTLENBQUM7QUFBQSxFQUMxRDtBQUFBLEVBQ0EsU0FBUztBQUFBLElBQ1AsT0FBTztBQUFBLE1BQ0w7QUFBQSxRQUNFLE1BQU07QUFBQSxRQUNOLGFBQWEsS0FBSyxRQUFRLGtDQUFXLEtBQUs7QUFBQSxNQUM1QztBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQTtBQUFBLEVBQ0EsU0FBUztBQUFBLElBQ1AsVUFBVTtBQUFBLElBQ1YsV0FBVztBQUFBLE1BQ1QsU0FBUyxDQUFDLGdCQUFnQixnQkFBZ0I7QUFBQSxJQUM1QyxDQUFDO0FBQUEsRUFDSDtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==