@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
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M576 256C576 305 502.1 336 464.2 336H382.2L282.4 496C276.4 506 266.4 512 254.4 512H189.5C179.5 512 169.5 508 163.5 500C157.6 492 155.6 480.1 158.6 471L201.5 336H152.5L113.6 388C107.6 396 98.61 400 88.62 400H31.7C22.72 400 12.73 396 6.74 388C.7485 380-1.248 370 1.747 360L31.7 256L.7488 152C-1.248 143 .7488 133 6.74 125C12.73 117 22.72 112 31.7 112H88.62C98.61 112 107.6 117 113.6 125L152.5 176H201.5L158.6 41C155.6 32 157.6 21 163.5 13C169.5 5 179.5 0 189.5 0H254.4C265.4 0 277.4 7 281.4 16L381.2 176H463.2C502.1 176 576 208 576 256H576zM527.1 256C525.1 246 489.1 224 463.2 224H355.3L245.4 48H211.5L266.4 224H128.6L80.63 160H53.67L81.63 256L53.67 352H80.63L128.6 288H266.4L211.5 464H245.4L355.3 288H463.2C490.1 288 526.1 267 527.1 256V256z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-116.6 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l102.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192l116.6 0z"/></svg>
package/index.html CHANGED
@@ -71,23 +71,23 @@
71
71
  />
72
72
  </div>
73
73
  </template>
74
-
75
- <template data-route=".md">
76
- <div class="grid grid-cols-[minmax(10rem,15rem)_minmax(0,1fr)] gap-8">
77
- <div>
78
- <docs-navigation
79
- class="sticky top-[4.2rem] max-h-[calc(100vh_-_4.2rem)] block overflow-auto py-4 custom-scroll"
80
- ></docs-navigation>
81
- </div>
82
- <div class="min-h-[100vh] pt-3">
83
- <docs-page
84
- noShadowDom
85
- class="prose lg:prose-lg max-w-prose block py-8 prose-li:my-[.2em] leading-[1.5] lg:leading-[1.5] prose-h1:font-normal prose-h1:text-[4.2em]"
86
- ></docs-page>
87
- </div>
88
- </div>
89
- </template>
90
74
  </sonic-router>
75
+
76
+ <div
77
+ class="[[data-home]_&]:hidden grid grid-cols-[minmax(10rem,15rem)_minmax(0,1fr)] gap-8"
78
+ >
79
+ <div>
80
+ <docs-navigation
81
+ class="sticky top-[4.2rem] max-h-[calc(100vh_-_4.2rem)] block overflow-auto py-4 custom-scroll"
82
+ ></docs-navigation>
83
+ </div>
84
+ <div class="min-h-[100vh] pt-3">
85
+ <docs-page
86
+ noShadowDom
87
+ class="prose lg:prose-lg max-w-prose block py-8 prose-li:my-[.2em] leading-[1.5] lg:leading-[1.5] prose-h1:font-normal prose-h1:text-[4.2em]"
88
+ ></docs-page>
89
+ </div>
90
+ </div>
91
91
  </sonic-theme>
92
92
  </body>
93
93
  </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supersoniks/concorde",
3
- "version": "3.1.39",
3
+ "version": "3.1.41",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "",
@@ -65,6 +65,9 @@
65
65
  "./scroll": "./src/core/components/ui/_css/scroll.ts",
66
66
  "./ui/scroll": "./src/core/components/ui/_css/scroll.ts",
67
67
  "./ui/_css/scroll": "./src/core/components/ui/_css/scroll.ts",
68
+ "./shadow": "./src/core/components/ui/_css/shadow.ts",
69
+ "./ui/shadow": "./src/core/components/ui/_css/shadow.ts",
70
+ "./ui/_css/shadow": "./src/core/components/ui/_css/shadow.ts",
68
71
  "./size": "./src/core/components/ui/_css/size.ts",
69
72
  "./ui/size": "./src/core/components/ui/_css/size.ts",
70
73
  "./ui/_css/size": "./src/core/components/ui/_css/size.ts",
@@ -269,6 +272,7 @@
269
272
  "./docs": "./src/docs/docs.ts",
270
273
  "./example/users": "./src/docs/example/users.ts",
271
274
  "./header/header": "./src/docs/header/header.ts",
275
+ "./layout": "./src/docs/layout.ts",
272
276
  "./navigation/navigation": "./src/docs/navigation/navigation.ts",
273
277
  "./prism/index": "./src/docs/prism/index.ts",
274
278
  "./search/markdown-renderer": "./src/docs/search/markdown-renderer.ts",
File without changes
File without changes
File without changes
@@ -1,8 +1,10 @@
1
1
  import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
2
2
  import TemplatesContainer from "@supersoniks/concorde/core/mixins/TemplatesContainer";
3
3
  import Format from "@supersoniks/concorde/core/utils/Format";
4
- import HTML, { detecHTMLLanguageChange } from "@supersoniks/concorde/core/utils/HTML";
5
- import { LitElement, nothing } from "lit";
4
+ import HTML, {
5
+ detecHTMLLanguageChange,
6
+ } from "@supersoniks/concorde/core/utils/HTML";
7
+ import { LitElement, nothing, PropertyValues } from "lit";
6
8
  import { customElement, property } from "lit/decorators.js";
7
9
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
8
10
 
@@ -22,13 +24,15 @@ type DateTimeFormatExtened = Intl.DateTimeFormat & {
22
24
  ) => DateTimeFormatPartExtended[];
23
25
  };
24
26
 
25
- detecHTMLLanguageChange(()=>SonicDate.updateComponentsLanguage());
27
+ detecHTMLLanguageChange(() => SonicDate.updateComponentsLanguage());
26
28
 
27
29
  @customElement(tagName)
28
30
  export class SonicDate extends Subscriber(TemplatesContainer(LitElement)) {
29
- static dateCompnents:Set<SonicDate> = new Set();
30
- static updateComponentsLanguage(){
31
- SonicDate.dateCompnents.forEach((component)=>component.pageLanguage = HTML.getLanguage());
31
+ static dateCompnents: Set<SonicDate> = new Set();
32
+ static updateComponentsLanguage() {
33
+ SonicDate.dateCompnents.forEach(
34
+ (component) => (component.pageLanguage = HTML.getLanguage())
35
+ );
32
36
  }
33
37
 
34
38
  pageLanguage = "fr";
@@ -156,8 +160,7 @@ export class SonicDate extends Subscriber(TemplatesContainer(LitElement)) {
156
160
  return new Date(dateString).getTime() / 1000;
157
161
  }
158
162
 
159
- render() {
160
- if (!this.renderIf) return nothing;
163
+ protected willUpdate(_changedProperties: PropertyValues): void {
161
164
  /* *
162
165
  * Normalisation en fonction des valeurs de dates passées *
163
166
  * */
@@ -169,13 +172,19 @@ export class SonicDate extends Subscriber(TemplatesContainer(LitElement)) {
169
172
  if (this.end_date_string)
170
173
  this.end_date = this.dateStringToSeconds(this.end_date_string);
171
174
 
172
- if (!this.start_date && !this.now && !this.end_date) return nothing;
175
+ if (!this.start_date && !this.now && !this.end_date) return;
173
176
  if (!this.start_date) this.start_date = Date.now() / 1000;
174
177
  if (this.end_date > 0 && this.end_date < this.start_date) {
175
178
  const copy = this.start_date;
176
179
  this.start_date = this.end_date;
177
180
  this.end_date = copy;
178
181
  }
182
+ }
183
+
184
+ render() {
185
+ if (!this.renderIf) return nothing;
186
+ if (!this.start_date && !this.now && !this.end_date) return nothing;
187
+
179
188
  /* *
180
189
  * gestion des options d'affichage des dates
181
190
  * */
@@ -186,9 +195,9 @@ export class SonicDate extends Subscriber(TemplatesContainer(LitElement)) {
186
195
  hour12: this.hour12 || false,
187
196
  };
188
197
 
189
- if (this.weekday !== "hidden") options.weekday = this.weekday || "short"; ;
190
- if (this.hour !== "hidden") options.hour = this.hour || "2-digit"; ;
191
- if (this.minute !== "hidden") options.minute = this.minute || "2-digit"; ;
198
+ if (this.weekday !== "hidden") options.weekday = this.weekday || "short";
199
+ if (this.hour !== "hidden") options.hour = this.hour || "2-digit";
200
+ if (this.minute !== "hidden") options.minute = this.minute || "2-digit";
192
201
  if (this.era) options.era = this.era;
193
202
  if (this.time_zone) options.timeZone = this.time_zone;
194
203
 
File without changes
@@ -43,22 +43,20 @@ You can make creative usage on this feature to generate dynamic content based on
43
43
 
44
44
  <sonic-code>
45
45
  <template>
46
- <sonic-theme theme="light" serviceURL="https://reqres.in">
47
- <sonic-list fetch dataProvider="api/unknown" key="data" class="flex gap-2 items-center" >
48
- <template>
49
- <sonic-button radio size="xs" data-bind ::href="#core/components/functional/router/router.md/router#couleur_$id">
50
- <span data-bind ::inner-html="ucFirst|$name"></span>
51
- </sonic-button>
52
- </template>
53
- </sonic-list>
54
- <sonic-router>
55
- <template data-route="#couleur_(\d+)" dataProviderExpression="api/unknown/$1">
56
- <sonic-fetch>
57
- <input type="color" disabled data-bind ::value="$data.color" class=" w-full h-10 my-3" />
58
- </sonic-fetch>
59
- </template>
60
- </sonic-router>
61
- </sonic-theme>
46
+ <sonic-list fetch dataProvider="api/unknown" key="data" class="flex gap-2 items-center" >
47
+ <template>
48
+ <sonic-button radio size="xs" data-bind ::href="#core/components/functional/router/router.md/router#couleur_$id">
49
+ <span data-bind ::inner-html="ucFirst|$name"></span>
50
+ </sonic-button>
51
+ </template>
52
+ </sonic-list>
53
+ <sonic-router>
54
+ <template data-route="#couleur_(\d+)" dataProviderExpression="api/unknown/$1">
55
+ <sonic-fetch>
56
+ <input type="color" disabled data-bind ::value="$data.color" class=" w-full h-10 my-3" />
57
+ </sonic-fetch>
58
+ </template>
59
+ </sonic-router>
62
60
  </template>
63
61
  </sonic-code>
64
62
 
@@ -69,22 +67,20 @@ Same as RegExp but using <a href="https://www.npmjs.com/package/url-pattern" tar
69
67
 
70
68
  <sonic-code>
71
69
  <template>
72
- <sonic-theme theme="light" serviceURL="https://reqres.in">
73
- <sonic-list fetch dataProvider="api/unknown" key="data" class="flex gap-2 items-center" >
74
- <template>
75
- <sonic-button radio size="xs" data-bind ::href="#core/components/functional/router/router.md/router#couleur_$id">
76
- <span data-bind ::inner-html="ucFirst|$name"></span>
77
- </sonic-button>
78
- </template>
79
- </sonic-list>
80
- <sonic-router>
81
- <template data-route="/*#couleur_:id" dataProviderExpression="api/unknown/:id">
82
- <sonic-fetch>
83
- <input type="color" disabled data-bind ::value="$data.color" class=" w-full h-10 my-3" />
84
- </sonic-fetch>
85
- </template>
86
- </sonic-router>
87
- </sonic-theme>
70
+ <sonic-list fetch dataProvider="api/unknown" key="data" class="flex gap-2 items-center" >
71
+ <template>
72
+ <sonic-button radio size="xs" data-bind ::href="#core/components/functional/router/router.md/router#couleur_$id">
73
+ <span data-bind ::inner-html="ucFirst|$name"></span>
74
+ </sonic-button>
75
+ </template>
76
+ </sonic-list>
77
+ <sonic-router>
78
+ <template data-route="/*#couleur_:id" dataProviderExpression="api/unknown/:id">
79
+ <sonic-fetch>
80
+ <input type="color" disabled data-bind ::value="$data.color" class=" w-full h-10 my-3" />
81
+ </sonic-fetch>
82
+ </template>
83
+ </sonic-router>
88
84
  </template>
89
85
  </sonic-code>
90
86
 
@@ -1,4 +1,4 @@
1
- import { html, LitElement, PropertyValues } from "lit";
1
+ import { html, LitElement } from "lit";
2
2
  import { customElement, property } from "lit/decorators.js";
3
3
  import { templateContent } from "lit/directives/template-content.js";
4
4
  import LocationHandler from "@supersoniks/concorde/core/utils/LocationHandler";
@@ -52,10 +52,6 @@ export class SonicRouter extends TemplatesContainer(LitElement) {
52
52
  return this._location;
53
53
  }
54
54
 
55
- protected willUpdate(_changedProperties: PropertyValues): void {
56
- super.willUpdate(_changedProperties);
57
- }
58
-
59
55
  render() {
60
56
  const templates = [];
61
57
  for (const t of this.templatePartsList) {
@@ -1,5 +1,5 @@
1
- import {html, LitElement} from "lit";
2
- import {customElement} from "lit/decorators.js";
1
+ import { html, LitElement } from "lit";
2
+ import { customElement } from "lit/decorators.js";
3
3
  const tagName = "sonic-scope";
4
4
 
5
5
  @customElement(tagName)
@@ -41,7 +41,7 @@ When using **capturing groups ()** the stored values are accessible via the **da
41
41
 
42
42
  <sonic-code>
43
43
  <template>
44
- <sonic-theme theme="light" serviceURL="https://reqres.in">
44
+ <div serviceURL="https://reqres.in">
45
45
  <sonic-list formDataProvider="states-regexp-example" fetch dataProvider="api/unknown" key="data" class="flex gap-2 items-center" >
46
46
  <template>
47
47
  <sonic-button radio size="xs" name="selection" data-bind ::value="#couleur_$id">
@@ -56,7 +56,7 @@ When using **capturing groups ()** the stored values are accessible via the **da
56
56
  </sonic-fetch>
57
57
  </template>
58
58
  </sonic-states>
59
- </sonic-theme>
59
+ </div>
60
60
  </template>
61
61
  </sonic-code>
62
62
 
@@ -67,7 +67,7 @@ Same as RegExp but using <a href="https://www.npmjs.com/package/url-pattern" tar
67
67
 
68
68
  <sonic-code>
69
69
  <template>
70
- <sonic-theme theme="light" serviceURL="https://reqres.in">
70
+ <div serviceURL="https://reqres.in">
71
71
  <sonic-list formDataProvider="states-regexp-example" fetch dataProvider="api/unknown" key="data" class="flex gap-2 items-center" >
72
72
  <template>
73
73
  <sonic-button radio size="xs" name="selection" data-bind ::value="#couleur_$id">
@@ -82,6 +82,6 @@ Same as RegExp but using <a href="https://www.npmjs.com/package/url-pattern" tar
82
82
  </sonic-fetch>
83
83
  </template>
84
84
  </sonic-states>
85
- </sonic-theme>
85
+ </div>
86
86
  </template>
87
87
  </sonic-code>
File without changes
File without changes
File without changes
@@ -0,0 +1,24 @@
1
+ import { css } from "lit";
2
+
3
+ export type Shadow = "" | "none" | "sm" | "md" | "lg" | null;
4
+
5
+ export const shadowable = css`
6
+ /*OMBRE*/
7
+ :host([shadow]) .shadowable,
8
+ :host([shadow="md"]) .shadowable,
9
+ :host([shadow="true"]) .shadowable {
10
+ box-shadow: var(--sc-shadow);
11
+ }
12
+
13
+ :host([shadow="sm"]) .shadowable {
14
+ box-shadow: var(--sc-shadow-sm);
15
+ }
16
+
17
+ :host([shadow="lg"]) .shadowable {
18
+ box-shadow: var(--sc-shadow-lg);
19
+ }
20
+
21
+ :host([shadow="none"]) .shadowable {
22
+ box-shadow: none;
23
+ }
24
+ `;
@@ -6,6 +6,20 @@
6
6
  </template>
7
7
  </sonic-code>
8
8
 
9
+ ## Status
10
+
11
+ <sonic-code>
12
+ <template>
13
+ <div class="grid gap-4">
14
+ <sonic-alert label="Default"> This address is already in use. </sonic-alert>
15
+ <sonic-alert status="success" label="Success"> This address is already in use. </sonic-alert>
16
+ <sonic-alert status="error" label="Error"> This address is already in use. </sonic-alert>
17
+ <sonic-alert status="warning" label="Warning"> This address is already in use. </sonic-alert>
18
+ <sonic-alert status="info" label="Info"> This address is already in use. </sonic-alert>
19
+ </div>
20
+ </template>
21
+ </sonic-code>
22
+
9
23
  ## Sizes
10
24
 
11
25
  <sonic-code>
@@ -50,20 +64,6 @@
50
64
  </template>
51
65
  </sonic-code>
52
66
 
53
- ## Status
54
-
55
- <sonic-code>
56
- <template>
57
- <div class="grid gap-4">
58
- <sonic-alert label="Default"> This address is already in use. </sonic-alert>
59
- <sonic-alert status="success" label="Success"> This address is already in use. </sonic-alert>
60
- <sonic-alert status="error" label="Error"> This address is already in use. </sonic-alert>
61
- <sonic-alert status="warning" label="Warning"> This address is already in use. </sonic-alert>
62
- <sonic-alert status="info" label="Info"> This address is already in use. </sonic-alert>
63
- </div>
64
- </template>
65
- </sonic-code>
66
-
67
67
  ## Background
68
68
 
69
69
  <sonic-code>
@@ -114,7 +114,7 @@
114
114
 
115
115
  <sonic-code>
116
116
  <template>
117
- <sonic-alert class="mb-3" dismissible dismissForever label="Lorem ipsum dolor" id="address-already-in-use">
117
+ <sonic-alert class="mb-3" dismissible dismissForever label="Lorem ipsum dolor" id="addressUniqueId">
118
118
  This address is already in use.
119
119
  </sonic-alert>
120
120
  </template>
@@ -10,15 +10,40 @@
10
10
  <sonic-badge type="info">Info</sonic-badge>
11
11
  <sonic-badge type="success">Success</sonic-badge>
12
12
  <sonic-badge type="danger">Danger</sonic-badge>
13
+ <sonic-badge type="contrast">Contrast</sonic-badge>
13
14
  </template>
14
15
  </sonic-code>
15
16
 
16
17
 
17
- ## Variant
18
+ ## Outline
18
19
  <sonic-code>
19
20
  <template>
20
- <sonic-badge variant="outline">Outline</sonic-badge>
21
- <sonic-badge variant="ghost">Ghost</sonic-badge>
21
+ <div class="flex items-center flex-wrap gap-3">
22
+ <sonic-badge variant="outline">Default</sonic-badge>
23
+ <sonic-badge variant="outline" type="primary">Primary</sonic-badge>
24
+ <sonic-badge variant="outline" type="neutral">Neutral</sonic-badge>
25
+ <sonic-badge variant="outline" type="warning">Warning</sonic-badge>
26
+ <sonic-badge variant="outline" type="info">Info</sonic-badge>
27
+ <sonic-badge variant="outline" type="success">Success</sonic-badge>
28
+ <sonic-badge variant="outline" type="danger">Danger</sonic-badge>
29
+ <sonic-badge variant="outline" type="contrast">Contrast</sonic-badge>
30
+ </div>
31
+ </template>
32
+ </sonic-code>
33
+
34
+ ## Ghost
35
+ <sonic-code>
36
+ <template>
37
+ <div class="flex items-center flex-wrap gap-3">
38
+ <sonic-badge variant="ghost">Default</sonic-badge>
39
+ <sonic-badge variant="ghost" type="primary">Primary</sonic-badge>
40
+ <sonic-badge variant="ghost" type="neutral">Neutral</sonic-badge>
41
+ <sonic-badge variant="ghost" type="warning">Warning</sonic-badge>
42
+ <sonic-badge variant="ghost" type="info">Info</sonic-badge>
43
+ <sonic-badge variant="ghost" type="success">Success</sonic-badge>
44
+ <sonic-badge variant="ghost" type="danger">Danger</sonic-badge>
45
+ <sonic-badge variant="ghost" type="contrast">Contrast</sonic-badge>
46
+ </div>
22
47
  </template>
23
48
  </sonic-code>
24
49
 
@@ -39,7 +64,7 @@
39
64
  ## Empty badges
40
65
  <sonic-code>
41
66
  <template>
42
- <div class="flex items-center gap-3">
67
+ <div class="flex items-center flex-wrap gap-3">
43
68
  <sonic-badge type="danger" size="2xs"></sonic-badge>
44
69
  <sonic-badge type="danger" size="xs"></sonic-badge>
45
70
  <sonic-badge type="danger" size="sm"></sonic-badge>
@@ -47,7 +72,7 @@
47
72
  <sonic-badge type="danger" size="lg"></sonic-badge>
48
73
  <sonic-badge type="danger" size="xl"></sonic-badge>
49
74
  <sonic-badge type="danger" size="2xl"></sonic-badge>
50
- <div>
75
+ </div>
51
76
  </template>
52
77
  </sonic-code>
53
78
 
@@ -1,6 +1,9 @@
1
- import {html, LitElement, css} from "lit";
2
- import {customElement, property} from "lit/decorators.js";
3
- import {fontSize, Size} from "@supersoniks/concorde/core/components/ui/_css/size";
1
+ import { html, LitElement, css } from "lit";
2
+ import { customElement, property } from "lit/decorators.js";
3
+ import {
4
+ fontSize,
5
+ Size,
6
+ } from "@supersoniks/concorde/core/components/ui/_css/size";
4
7
 
5
8
  const tagName = "sonic-badge";
6
9
  /**
@@ -22,10 +25,11 @@ export class Badge extends LitElement {
22
25
  --sc-badge-color: var(--sc-base-content, #1f2937);
23
26
  --sc-badge-bg: var(--sc-base-100, #e5e7eb);
24
27
 
25
- /*--sc-badge-border-with: var(--sc-form-border-width, 0.1rem);*/
26
- --sc-badge-border-with: 1px;
28
+ /*--sc-badge-border-width: var(--sc-form-border-width, 0.1rem);*/
29
+ --sc-badge-border-width: 1px;
27
30
  --sc-badge-border-color: transparent;
28
- --sc-badge-border: var(--sc-badge-border-with) solid var(--sc-badge-border-color);
31
+ --sc-badge-border: var(--sc-badge-border-width) solid
32
+ var(--sc-badge-border-color);
29
33
 
30
34
  --sc-badge-rounded: 0.85em;
31
35
  --sc-badge-fw: var(--sc-font-weight-base);
@@ -78,41 +82,33 @@ export class Badge extends LitElement {
78
82
  --sc-badge-bg: var(--sc-base-content);
79
83
  }
80
84
 
85
+ :host([contrast]),
86
+ :host([type="contrast"]) {
87
+ --sc-badge-color: var(--sc-contrast-content);
88
+ --sc-badge-bg: var(--sc-contrast);
89
+ }
90
+
81
91
  /*SIZE*/
82
92
  :host {
83
93
  font-size: var(--sc-fs);
84
94
  gap: var(--sc-badge-gap);
85
95
  }
86
96
 
87
- :host([size="2xs"]) {
88
- --sc-badge-gap: 0.35em;
89
- }
90
- :host([size="xs"]) {
91
- --sc-badge-gap: 0.35em;
92
- }
93
-
97
+ :host([size="2xs"]),
98
+ :host([size="xs"]),
94
99
  :host([size="sm"]) {
95
100
  --sc-badge-gap: 0.35em;
96
101
  }
97
102
 
98
- :host([size="lg"]) {
99
- --sc-lh: 1.2;
100
- --sc-badge-gap: 0.5em;
101
- }
102
-
103
+ :host([size="lg"]),
103
104
  :host([size="xl"]) {
104
105
  --sc-lh: 1.2;
105
106
  --sc-badge-gap: 0.5em;
106
107
  }
107
108
 
108
- :host([contrast]) {
109
- --sc-badge-color: var(--sc-contrast-content);
110
- --sc-badge-bg: var(--sc-contrast);
111
- }
112
-
113
109
  /*OUTLINE*/
114
110
  :host([variant="outline"][type]) {
115
- border-width: var(--sc-badge-border-with) !important;
111
+ border-width: var(--sc-badge-border-width) !important;
116
112
  border-color: var(--sc-badge-bg);
117
113
  color: var(--sc-badge-bg);
118
114
  background: transparent;
@@ -130,6 +126,7 @@ export class Badge extends LitElement {
130
126
  background: transparent;
131
127
  padding: 0;
132
128
  }
129
+
133
130
  @media (forced-colors: active) {
134
131
  :host([variant="ghost"][type]) {
135
132
  padding: var(--sc-badge-py) var(--sc-badge-px);
@@ -146,6 +143,7 @@ export class Badge extends LitElement {
146
143
  white-space: nowrap;
147
144
  max-width: 100%;
148
145
  }
146
+
149
147
  :host([ellipsis]) slot {
150
148
  overflow: hidden;
151
149
  display: block;
@@ -164,20 +162,31 @@ export class Badge extends LitElement {
164
162
  /**
165
163
  * Le type change surtout la couleur composant
166
164
  */
167
- @property({type: String, reflect: true})
168
- type: "default" | "primary" | "warning" | "danger" | "success" | "info" | "neutral" = "default";
165
+ @property({ type: String, reflect: true })
166
+ type:
167
+ | "default"
168
+ | "primary"
169
+ | "warning"
170
+ | "danger"
171
+ | "success"
172
+ | "info"
173
+ | "contrast"
174
+ | "neutral" = "default";
169
175
  /**
170
176
  * Le composant par defaut sans se paramètre à forte afordance
171
- * * gost : composant super léger visuellement
177
+ * * ghost : composant super léger visuellement
172
178
  * * outline : composant légé avec une bordure
173
179
  */
174
- @property({type: String, reflect: true}) variant: "default" | "outline" | "ghost" = "default";
180
+ @property({ type: String, reflect: true }) variant:
181
+ | "default"
182
+ | "outline"
183
+ | "ghost" = "default";
175
184
 
176
185
  /**
177
186
  * Taille du composant, implique notamment des modifications de typo et de marge interne
178
187
  */
179
- @property({type: String, reflect: true}) size?: Size;
180
- @property({type: Boolean, reflect: true}) ellipsis = false;
188
+ @property({ type: String, reflect: true }) size?: Size;
189
+ @property({ type: Boolean, reflect: true }) ellipsis = false;
181
190
 
182
191
  render() {
183
192
  return html`