@supersoniks/concorde 5.0.3 → 5.0.5

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 (151) hide show
  1. package/.agents/skills/concorde-component-docs/SKILL.md +194 -0
  2. package/.agents/skills/concorde-component-docs/template.md +45 -0
  3. package/ai/cursor/rules/concorde-theme.mdc +1 -1
  4. package/ai/cursor/rules/concorde.mdc +1 -1
  5. package/ai/skills/concorde/SKILL.md +1 -1
  6. package/ai/skills/concorde-theme/SKILL.md +21 -10
  7. package/build-infos.json +1 -1
  8. package/concorde-core.bundle.js +515 -521
  9. package/concorde-core.es.js +5151 -5056
  10. package/dist/concorde-core.bundle.js +515 -521
  11. package/dist/concorde-core.es.js +5151 -5056
  12. package/dist/docs-mock-api-sw.js +2 -0
  13. package/dist/docs-mock-api-sw.js.map +2 -2
  14. package/docs/assets/index-CD4WyL6o.css +1 -0
  15. package/docs/assets/{index-BnK6OS7w.js → index-wVZpLVYW.js} +815 -808
  16. package/docs/crawl/core/components/ui/alert/alert.html +76 -5
  17. package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +113 -5
  18. package/docs/crawl/core/components/ui/badge/badge.html +57 -8
  19. package/docs/crawl/core/components/ui/captcha/captcha.html +90 -8
  20. package/docs/crawl/core/components/ui/card/card.html +122 -12
  21. package/docs/crawl/core/components/ui/divider/divider.html +117 -31
  22. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +232 -101
  23. package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +95 -52
  24. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +97 -38
  25. package/docs/crawl/core/components/ui/group/group.html +60 -38
  26. package/docs/crawl/core/components/ui/icon/icon.html +136 -47
  27. package/docs/crawl/core/components/ui/image/image.html +118 -6
  28. package/docs/crawl/core/components/ui/link/link.html +65 -7
  29. package/docs/crawl/core/components/ui/loader/loader.html +97 -23
  30. package/docs/crawl/core/components/ui/menu/menu.html +162 -90
  31. package/docs/crawl/core/components/ui/modal/modal.html +275 -50
  32. package/docs/crawl/core/components/ui/pop/pop.html +242 -124
  33. package/docs/crawl/core/components/ui/progress/progress.html +103 -30
  34. package/docs/crawl/core/components/ui/table/table.html +303 -171
  35. package/docs/crawl/core/components/ui/theme/theme.html +131 -0
  36. package/docs/crawl/core/components/ui/toast/toast.html +170 -59
  37. package/docs/crawl/core/components/ui/tooltip/tooltip.html +90 -29
  38. package/docs/crawl/docs/_decorators/ancestor-attribute.html +3 -2
  39. package/docs/crawl/docs/_getting-started/start.html +1 -1
  40. package/docs/crawl/docs/_getting-started/theming.html +311 -63
  41. package/docs/crawl/hubs/form-components.html +71 -49
  42. package/docs/crawl/index.html +7 -6
  43. package/docs/docs-mock-api-sw.js +2 -0
  44. package/docs/docs-mock-api-sw.js.map +2 -2
  45. package/docs/index.html +6 -4
  46. package/docs/llms-full.txt +1468 -405
  47. package/docs/llms.txt +23 -30
  48. package/docs/sitemap.xml +3 -0
  49. package/docs/src/core/components/ui/alert/alert.md +21 -2
  50. package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  51. package/docs/src/core/components/ui/badge/badge.md +19 -6
  52. package/docs/src/core/components/ui/captcha/captcha.md +65 -6
  53. package/docs/src/core/components/ui/card/card.md +73 -10
  54. package/docs/src/core/components/ui/divider/divider.md +107 -13
  55. package/docs/src/core/components/ui/form/fieldset/fieldset.md +175 -99
  56. package/docs/src/core/components/ui/form/form-actions/form-actions.md +75 -52
  57. package/docs/src/core/components/ui/form/form-layout/form-layout.md +109 -34
  58. package/docs/src/core/components/ui/group/group.md +36 -36
  59. package/docs/src/core/components/ui/icon/icon.md +132 -43
  60. package/docs/src/core/components/ui/image/image.md +35 -3
  61. package/docs/src/core/components/ui/link/link.md +43 -5
  62. package/docs/src/core/components/ui/loader/loader.md +79 -22
  63. package/docs/src/core/components/ui/menu/menu.md +133 -92
  64. package/docs/src/core/components/ui/modal/modal.md +163 -47
  65. package/docs/src/core/components/ui/pop/pop.md +217 -123
  66. package/docs/src/core/components/ui/progress/progress.md +76 -30
  67. package/docs/src/core/components/ui/table/table.md +147 -171
  68. package/docs/src/core/components/ui/theme/theme.md +122 -0
  69. package/docs/src/core/components/ui/toast/toast.md +108 -58
  70. package/docs/src/core/components/ui/tooltip/tooltip.md +68 -26
  71. package/docs/src/docs/_decorators/ancestor-attribute.md +3 -2
  72. package/docs/src/docs/_getting-started/start.md +1 -1
  73. package/docs/src/docs/_getting-started/theming.md +223 -61
  74. package/docs/src/docs/search/docs-search.json +2504 -399
  75. package/docs/src/tsconfig.json +18 -0
  76. package/index.html +4 -2
  77. package/package.json +7 -1
  78. package/public/docs-mock-api-sw.js +2 -0
  79. package/public/docs-mock-api-sw.js.map +2 -2
  80. package/src/core/components/ui/_css/align.ts +1 -0
  81. package/src/core/components/ui/_css/type.ts +86 -8
  82. package/src/core/components/ui/_i18n/ui-aria-labels.ts +8 -0
  83. package/src/core/components/ui/alert/alert.md +21 -2
  84. package/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  85. package/src/core/components/ui/badge/badge.md +19 -6
  86. package/src/core/components/ui/badge/badge.ts +8 -9
  87. package/src/core/components/ui/button/button.ts +5 -15
  88. package/src/core/components/ui/captcha/captcha.md +65 -6
  89. package/src/core/components/ui/card/card.md +73 -10
  90. package/src/core/components/ui/card/card.ts +24 -22
  91. package/src/core/components/ui/divider/divider.md +107 -13
  92. package/src/core/components/ui/divider/divider.ts +40 -33
  93. package/src/core/components/ui/form/fieldset/fieldset.md +175 -99
  94. package/src/core/components/ui/form/fieldset/fieldset.ts +15 -28
  95. package/src/core/components/ui/form/fieldset/legend.ts +13 -13
  96. package/src/core/components/ui/form/form-actions/form-actions.md +75 -52
  97. package/src/core/components/ui/form/form-actions/form-actions.ts +7 -5
  98. package/src/core/components/ui/form/form-layout/form-layout.md +109 -34
  99. package/src/core/components/ui/form/form-layout/form-layout.ts +27 -24
  100. package/src/core/components/ui/form/textarea/textarea.ts +4 -3
  101. package/src/core/components/ui/group/group.md +36 -36
  102. package/src/core/components/ui/group/group.ts +5 -10
  103. package/src/core/components/ui/icon/icon.md +132 -43
  104. package/src/core/components/ui/image/image.md +35 -3
  105. package/src/core/components/ui/link/link.md +43 -5
  106. package/src/core/components/ui/loader/loader.md +79 -22
  107. package/src/core/components/ui/loader/loader.ts +67 -27
  108. package/src/core/components/ui/loader/styles/fixed.ts +6 -11
  109. package/src/core/components/ui/menu/menu.md +133 -92
  110. package/src/core/components/ui/menu/menu.ts +53 -58
  111. package/src/core/components/ui/modal/modal.md +163 -47
  112. package/src/core/components/ui/modal/modal.ts +2 -4
  113. package/src/core/components/ui/pop/pop.md +217 -123
  114. package/src/core/components/ui/pop/pop.ts +0 -1
  115. package/src/core/components/ui/progress/progress.md +76 -30
  116. package/src/core/components/ui/progress/progress.ts +25 -56
  117. package/src/core/components/ui/table/table-caption.ts +2 -2
  118. package/src/core/components/ui/table/table-tbody.ts +3 -3
  119. package/src/core/components/ui/table/table-td.ts +23 -18
  120. package/src/core/components/ui/table/table-th.ts +8 -8
  121. package/src/core/components/ui/table/table-tr.ts +4 -4
  122. package/src/core/components/ui/table/table.md +147 -171
  123. package/src/core/components/ui/table/table.ts +20 -19
  124. package/src/core/components/ui/theme/theme-collection/auto.ts +15 -0
  125. package/src/core/components/ui/theme/theme-collection/core-variables.ts +8 -31
  126. package/src/core/components/ui/theme/theme-collection/dark.ts +1 -7
  127. package/src/core/components/ui/theme/theme-collection/light.ts +30 -26
  128. package/src/core/components/ui/theme/theme.md +122 -0
  129. package/src/core/components/ui/theme/theme.ts +30 -7
  130. package/src/core/components/ui/toast/toast-item.ts +6 -9
  131. package/src/core/components/ui/toast/toast.md +108 -58
  132. package/src/core/components/ui/toast/types.ts +1 -1
  133. package/src/core/components/ui/tooltip/tooltip.md +68 -26
  134. package/src/core/decorators/subscriber/ancestorAttribute.spec.ts +26 -0
  135. package/src/core/decorators/subscriber/ancestorAttribute.ts +3 -4
  136. package/src/core/utils/AncestorAttributeObserver.ts +183 -70
  137. package/src/docs/_decorators/ancestor-attribute.md +3 -2
  138. package/src/docs/_getting-started/start.md +1 -1
  139. package/src/docs/_getting-started/theming.md +223 -61
  140. package/src/docs/code.ts +125 -58
  141. package/src/docs/header/header.ts +62 -54
  142. package/src/docs/mock-api/router.ts +2 -0
  143. package/src/docs/navigation/navigation.ts +6 -3
  144. package/src/docs/search/docs-search.json +2504 -399
  145. package/src/docs/search/markdown-renderer.ts +6 -6
  146. package/src/docs/search/search.ts +4 -4
  147. package/src/docs/tailwind/css/tailwind.css +6 -5
  148. package/src/tsconfig.json +18 -0
  149. package/src/tsconfig.tsbuildinfo +1 -1
  150. package/tailwind.config.js +19 -0
  151. package/docs/assets/index--GpD7R7a.css +0 -1
@@ -5,6 +5,11 @@ import {
5
5
  fontSize,
6
6
  Size,
7
7
  } from "@supersoniks/concorde/core/components/ui/_css/size";
8
+ import {
9
+ DefaultType,
10
+ typeColor,
11
+ typeColorInvert,
12
+ } from "@supersoniks/concorde/core/components/ui/_css/type";
8
13
 
9
14
  const tagName = "sonic-progress";
10
15
 
@@ -12,21 +17,17 @@ const tagName = "sonic-progress";
12
17
  export class Progress extends LitElement {
13
18
  static styles = [
14
19
  fontSize,
20
+ typeColor,
21
+ typeColorInvert,
15
22
  css`
16
23
  :host {
17
- --sc-progress-bg: var(
18
- --sc-input-bg,
19
- var(--sc-base-100, rgba(0, 0, 0, 0.07))
20
- );
21
- --sc-progress-color: var(--sc-base-content, #000);
24
+ --sc-_rounded: var(--sc-rounded-lg);
25
+ --sc-_bg: var(--sc-base-50, rgba(0, 0, 0, 0.07));
22
26
  --sc-progress-height: 0.6em;
23
- --sc-progress-fs: var(--sc-_fs, 1rem);
24
27
  --sc-progress-fw: 500;
25
- --sc-progress-rounded: var(--sc-rounded-lg);
26
28
  display: block;
27
29
  line-height: 1.2;
28
30
  font-weight: var(--sc-progress-fw);
29
- font-size: var(--sc-progress-fs);
30
31
  }
31
32
 
32
33
  progress {
@@ -38,37 +39,36 @@ export class Progress extends LitElement {
38
39
  overflow: hidden;
39
40
  border: none;
40
41
  height: var(--sc-progress-height);
41
- border-radius: var(--sc-progress-rounded);
42
- background-color: var(--sc-progress-bg);
43
- color: var(--sc-progress-color);
42
+ border-radius: var(--sc-_rounded);
43
+ background-color: var(--sc-_bg);
44
44
  }
45
45
  progress::-moz-progress-bar {
46
- background-color: var(--sc-progress-color);
47
- border-radius: var(--sc-progress-rounded);
46
+ background-color: var(--sc-_color);
47
+ border-radius: var(--sc-_rounded);
48
48
  }
49
49
 
50
50
  progress:not([value])::-moz-progress-bar {
51
- background-color: var(--sc-progress-bg);
51
+ background-color: var(--sc-_bg);
52
52
  }
53
53
 
54
54
  progress::-webkit-progress-bar {
55
- background-color: var(--sc-progress-bg);
55
+ background-color: var(--sc-_bg);
56
56
  }
57
57
  progress::-webkit-progress-value {
58
- background-color: var(--sc-progress-color);
59
- border-radius: var(--sc-progress-rounded);
58
+ background-color: var(--sc-_color);
59
+ border-radius: var(--sc-_rounded);
60
60
  }
61
61
 
62
62
  /* Indeterminate */
63
63
  progress:indeterminate:after {
64
- background-color: var(--sc-progress-color);
64
+ background-color: var(--sc-_color);
65
65
  content: "";
66
66
  position: absolute;
67
67
  top: 0;
68
68
  bottom: 0;
69
69
  left: -40%;
70
70
  width: 33.333333%;
71
- border-radius: var(--sc-progress-rounded);
71
+ border-radius: var(--sc-_rounded);
72
72
  animation: progress-loading 3s infinite ease-in-out;
73
73
  }
74
74
 
@@ -78,33 +78,6 @@ export class Progress extends LitElement {
78
78
  }
79
79
  }
80
80
 
81
- /* COLOR TYPES */
82
- :host([type="warning"]) {
83
- --sc-progress-color: var(--sc-warning, var(--sc-base-content, #000));
84
- }
85
- :host([type="danger"]) {
86
- --sc-progress-color: var(--sc-danger, var(--sc-base-content, #000));
87
- }
88
- :host([type="info"]) {
89
- --sc-progress-color: var(--sc-info, var(--sc-base-content, #000));
90
- }
91
- :host([type="success"]) {
92
- --sc-progress-color: var(--sc-success, var(--sc-base-content, #000));
93
- }
94
-
95
- :host([type="invert"]) {
96
- --sc-progress-bg: rgba(190, 190, 190, 0.125);
97
- --sc-progress-color: var(--sc-base, #fff);
98
- }
99
-
100
- :host([invert]) {
101
- --sc-progress-bg: rgba(190, 190, 190, 0.125);
102
- }
103
-
104
- :host([type="default"][invert]) {
105
- --sc-progress-color: var(--sc-base, #fff);
106
- }
107
-
108
81
  slot[name="remaining"] {
109
82
  font-weight: var(--sc-font-weight-base, 400);
110
83
  font-size: 0.85em;
@@ -115,7 +88,7 @@ export class Progress extends LitElement {
115
88
  }
116
89
 
117
90
  slot:not([name]) {
118
- color: var(--sc-progress-color);
91
+ color: var(--sc-_color);
119
92
  }
120
93
 
121
94
  .slot-container {
@@ -129,17 +102,13 @@ export class Progress extends LitElement {
129
102
 
130
103
  @property({ type: Number }) value?: number;
131
104
  @property({ type: Number }) max = 100;
132
- @property({ type: Boolean }) invert = false;
105
+
106
+ /** Barre et libellés adaptés à un fond coloré (ex. `sonic-card`). */
107
+ @property({ type: Boolean, reflect: true, attribute: "invert" })
108
+ invert = false;
133
109
 
134
110
  @property({ type: String, reflect: true })
135
- type:
136
- | "default"
137
- | "primary"
138
- | "warning"
139
- | "danger"
140
- | "success"
141
- | "info"
142
- | "invert" = "default";
111
+ type: DefaultType = "default";
143
112
 
144
113
  @property({ type: String, reflect: true }) size?: Size;
145
114
 
@@ -9,8 +9,8 @@ export class TableCaption extends LitElement {
9
9
  :host {
10
10
  display: table-caption;
11
11
  font-size: 0.75rem;
12
- color: var(--sc-table-caption-color);
13
- padding: var(--sc-table-td-py) var(--sc-table-td-px) calc(2 * var(--sc-table-td-py));
12
+ color: var(--sc-_caption-color);
13
+ padding: var(--sc-_td-py) var(--sc-_td-px) calc(2 * var(--sc-_td-py));
14
14
  }
15
15
  `,
16
16
  ];
@@ -11,11 +11,11 @@ export class TableTbody extends LitElement {
11
11
  }
12
12
 
13
13
  ::slotted(sonic-tr:nth-child(odd)) {
14
- background: var(--sc-table-accent-bg);
14
+ background: var(--sc-_accent-bg);
15
15
  }
16
16
 
17
17
  ::slotted(sonic-tr:hover) {
18
- background: var(--sc-table-hover-bg);
18
+ background: var(--sc-_hover-bg);
19
19
  }
20
20
 
21
21
  ::slotted(sonic-tr:not(:last-child)) {
@@ -26,7 +26,7 @@ export class TableTbody extends LitElement {
26
26
  ];
27
27
 
28
28
  render() {
29
- return html`<tbody part="tbody">
29
+ return html`<tbody>
30
30
  <slot></slot>
31
31
  </tbody>`;
32
32
  }
@@ -1,9 +1,10 @@
1
- import {html, LitElement, css} from "lit";
2
- import {customElement, property} from "lit/decorators.js";
3
- import {ifDefined} from "lit/directives/if-defined.js";
4
- 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 { ifDefined } from "lit/directives/if-defined.js";
4
+ import { styleMap } from "lit/directives/style-map.js";
5
5
  const tagName = "sonic-td";
6
- import {typeColor} from "@supersoniks/concorde/core/components/ui/_css/type";
6
+ import { typeColor } from "@supersoniks/concorde/core/components/ui/_css/type";
7
+ import { Align } from "../_css/align";
7
8
 
8
9
  @customElement(tagName)
9
10
  export class TableTd extends LitElement {
@@ -16,21 +17,21 @@ export class TableTd extends LitElement {
16
17
  td {
17
18
  all: inherit;
18
19
  display: table-cell;
19
- padding: var(--sc-table-td-py) var(--sc-table-td-px);
20
- border-top: var(--sc-table-td-border-t, none);
21
- border-bottom: var(--sc-table-td-border-b, none);
22
- border-right: var(--sc-table-td-border-r, none);
23
- border-left: var(--sc-table-td-border-l, none);
20
+ padding: var(--sc-_td-py) var(--sc-_td-px);
21
+ border-top: var(--sc-_td-border-t, none);
22
+ border-bottom: var(--sc-_td-border-b, none);
23
+ border-right: var(--sc-_td-border-r, none);
24
+ border-left: var(--sc-_td-border-l, none);
24
25
  }
25
26
  `,
26
27
  ];
27
- @property({type: Number}) colSpan?: number;
28
- @property({type: Number}) rowSpan?: number;
29
- @property({type: String}) align?: string;
30
- @property({type: String}) vAlign?: string;
31
- @property({type: String}) minWidth?: string;
32
- @property({type: String}) maxWidth?: string;
33
- @property({type: String}) width?: string;
28
+ @property({ type: Number }) colSpan?: number;
29
+ @property({ type: Number }) rowSpan?: number;
30
+ @property({ type: String }) align?: Align;
31
+ @property({ type: String }) vAlign?: string;
32
+ @property({ type: String }) minWidth?: string;
33
+ @property({ type: String }) maxWidth?: string;
34
+ @property({ type: String }) width?: string;
34
35
 
35
36
  render() {
36
37
  const styles = {
@@ -40,7 +41,11 @@ export class TableTd extends LitElement {
40
41
  maxWidth: this.maxWidth,
41
42
  width: this.width,
42
43
  };
43
- return html`<td part="td" style=${styleMap(styles)} colspan=${ifDefined(this.colSpan)} rowspan=${ifDefined(this.rowSpan)}>
44
+ return html`<td
45
+ style=${styleMap(styles)}
46
+ colspan=${ifDefined(this.colSpan)}
47
+ rowspan=${ifDefined(this.rowSpan)}
48
+ >
44
49
  <slot></slot>
45
50
  </td>`;
46
51
  }
@@ -3,6 +3,7 @@ import { customElement, property } from "lit/decorators.js";
3
3
  import { ifDefined } from "lit/directives/if-defined.js";
4
4
  import { styleMap } from "lit/directives/style-map.js";
5
5
  import { typeColor } from "@supersoniks/concorde/core/components/ui/_css/type";
6
+ import { Align } from "../_css/align";
6
7
 
7
8
  const tagName = "sonic-th";
8
9
 
@@ -13,7 +14,7 @@ export class TableTh extends LitElement {
13
14
  css`
14
15
  :host {
15
16
  display: contents;
16
- background: var(--sc-table-bg);
17
+ background: var(--sc-_bg);
17
18
  position: sticky;
18
19
  top: 0;
19
20
  z-index: 20;
@@ -23,11 +24,11 @@ export class TableTh extends LitElement {
23
24
  all: inherit;
24
25
  display: table-cell;
25
26
  border-bottom: calc(var(--sc-border-width, max(1px, 0.12rem)) * 1.5)
26
- solid var(--sc-table-border-color);
27
- text-transform: var(--sc-table-th-tt);
28
- font-weight: var(--sc-table-th-fw);
29
- font-size: var(--sc-table-th-fs);
30
- padding: var(--sc-table-th-py) var(--sc-table-th-px);
27
+ solid var(--sc-_border-color);
28
+ text-transform: var(--sc-_th-tt);
29
+ font-weight: var(--sc-_th-fw);
30
+ font-size: var(--sc-_th-fs);
31
+ padding: var(--sc-_th-py) var(--sc-_th-px);
31
32
  }
32
33
 
33
34
  :host([noBorder]) th {
@@ -38,7 +39,7 @@ export class TableTh extends LitElement {
38
39
 
39
40
  @property({ type: Number }) colSpan?: number;
40
41
  @property({ type: Number }) rowSpan?: number;
41
- @property({ type: String }) align?: string;
42
+ @property({ type: String }) align?: Align;
42
43
  @property({ type: String }) minWidth?: string;
43
44
  @property({ type: String }) maxWidth?: string;
44
45
  @property({ type: String }) width?: string;
@@ -51,7 +52,6 @@ export class TableTh extends LitElement {
51
52
  width: this.width,
52
53
  };
53
54
  return html`<th
54
- part="th"
55
55
  style=${styleMap(styles)}
56
56
  colspan=${ifDefined(this.colSpan)}
57
57
  rowspan=${ifDefined(this.rowSpan)}
@@ -16,17 +16,17 @@ export class TableTr extends Subscriber(LitElement) {
16
16
  }
17
17
 
18
18
  :host([odd]) {
19
- background: var(--sc-table-accent-bg) !important;
19
+ background: var(--sc-_accent-bg) !important;
20
20
  }
21
21
  :host([even]) {
22
- background: var(--sc-table-bg) !important;
22
+ background: var(--sc-_bg) !important;
23
23
  }
24
24
 
25
25
  :host([last]) {
26
- --sc-table-td-border-b: none;
26
+ --sc-_td-border-b: none;
27
27
  }
28
28
  :host(:hover) {
29
- background: var(--sc-table-hover-bg) !important;
29
+ background: var(--sc-_hover-bg) !important;
30
30
  }
31
31
  `,
32
32
  ];