@supersoniks/concorde 2.0.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/build-infos.json +1 -0
  2. package/index.html +44 -0
  3. package/notes de migration.md +21 -0
  4. package/package.json +23 -287
  5. package/scripts/prebuild.mjs +22 -0
  6. package/{components.js → src/components.ts} +5 -2
  7. package/src/concorde-loaded.ts +3 -0
  8. package/src/core/_types/types.ts +55 -0
  9. package/src/core/components/functional/date/date.md +290 -0
  10. package/src/core/components/functional/date/date.ts +206 -0
  11. package/src/core/components/functional/example/example.ts +11 -0
  12. package/src/core/components/functional/fetch/fetch.md +117 -0
  13. package/{core/components/functional/fetch/fetch.js → src/core/components/functional/fetch/fetch.ts} +33 -37
  14. package/src/core/components/functional/if/if.md +16 -0
  15. package/src/core/components/functional/if/if.test.ts +40 -0
  16. package/src/core/components/functional/if/if.ts +23 -0
  17. package/src/core/components/functional/list/list.md +194 -0
  18. package/src/core/components/functional/list/list.ts +236 -0
  19. package/src/core/components/functional/mix/mix.md +41 -0
  20. package/src/core/components/functional/mix/mix.ts +95 -0
  21. package/src/core/components/functional/queue/queue.md +87 -0
  22. package/src/core/components/functional/queue/queue.ts +279 -0
  23. package/src/core/components/functional/router/redirect.ts +44 -0
  24. package/src/core/components/functional/router/router.md +112 -0
  25. package/src/core/components/functional/router/router.ts +108 -0
  26. package/src/core/components/functional/sdui/SDUIDescriptorTransformer.ts +229 -0
  27. package/{core → src/core}/components/functional/sdui/default-library.json +13 -13
  28. package/src/core/components/functional/sdui/example.json +99 -0
  29. package/src/core/components/functional/sdui/sdui-utils.ts +62 -0
  30. package/src/core/components/functional/sdui/sdui.md +356 -0
  31. package/src/core/components/functional/sdui/sdui.ts +230 -0
  32. package/src/core/components/functional/sdui/types.ts +34 -0
  33. package/src/core/components/functional/sonic-scope/sonic-scope.ts +13 -0
  34. package/src/core/components/functional/states/states.md +87 -0
  35. package/src/core/components/functional/states/states.ts +121 -0
  36. package/src/core/components/functional/submit/submit.md +48 -0
  37. package/src/core/components/functional/submit/submit.ts +265 -0
  38. package/src/core/components/functional/subscriber/subscriber.md +91 -0
  39. package/src/core/components/functional/subscriber/subscriber.ts +28 -0
  40. package/src/core/components/functional/value/value.md +35 -0
  41. package/src/core/components/functional/value/value.ts +18 -0
  42. package/{core/components/ui/_css/scroll.js → src/core/components/ui/_css/scroll.ts} +3 -2
  43. package/{core/components/ui/_css/size.js → src/core/components/ui/_css/size.ts} +5 -2
  44. package/{core/components/ui/_css/type.js → src/core/components/ui/_css/type.ts} +5 -3
  45. package/src/core/components/ui/alert/alert.md +121 -0
  46. package/src/core/components/ui/alert/alert.ts +177 -0
  47. package/src/core/components/ui/badge/badge.md +102 -0
  48. package/{core/components/ui/badge/badge.js → src/core/components/ui/badge/badge.ts} +36 -51
  49. package/src/core/components/ui/button/button.md +184 -0
  50. package/{core/components/ui/button/button.js → src/core/components/ui/button/button.ts} +258 -302
  51. package/src/core/components/ui/captcha/captcha.md +12 -0
  52. package/src/core/components/ui/captcha/captcha.ts +88 -0
  53. package/src/core/components/ui/card/card-footer.ts +19 -0
  54. package/src/core/components/ui/card/card-header-descripton.ts +24 -0
  55. package/{core/components/ui/card/card-header.js → src/core/components/ui/card/card-header.ts} +28 -38
  56. package/src/core/components/ui/card/card-main.ts +24 -0
  57. package/src/core/components/ui/card/card.md +96 -0
  58. package/{core/components/ui/card/card.js → src/core/components/ui/card/card.ts} +23 -34
  59. package/src/core/components/ui/divider/divider.md +35 -0
  60. package/{core/components/ui/divider/divider.js → src/core/components/ui/divider/divider.ts} +35 -65
  61. package/src/core/components/ui/form/checkbox/checkbox.md +96 -0
  62. package/{core/components/ui/form/checkbox/checkbox.js → src/core/components/ui/form/checkbox/checkbox.ts} +79 -98
  63. package/{core/components/ui/form/css/form-control.js → src/core/components/ui/form/css/form-control.ts} +9 -5
  64. package/src/core/components/ui/form/fieldset/fieldset.md +129 -0
  65. package/src/core/components/ui/form/fieldset/fieldset.ts +96 -0
  66. package/src/core/components/ui/form/fieldset/legend-description.ts +23 -0
  67. package/src/core/components/ui/form/fieldset/legend.ts +90 -0
  68. package/src/core/components/ui/form/form-actions/form-actions.md +77 -0
  69. package/src/core/components/ui/form/form-actions/form-actions.ts +32 -0
  70. package/src/core/components/ui/form/form-layout/form-layout.md +43 -0
  71. package/src/core/components/ui/form/form-layout/form-layout.ts +71 -0
  72. package/src/core/components/ui/form/input/input.md +168 -0
  73. package/src/core/components/ui/form/input/input.ts +227 -0
  74. package/src/core/components/ui/form/input/password-helper.ts +68 -0
  75. package/src/core/components/ui/form/input/same-value-helper.ts +48 -0
  76. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +130 -0
  77. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.ts +285 -0
  78. package/src/core/components/ui/form/radio/radio.md +86 -0
  79. package/src/core/components/ui/form/radio/radio.ts +44 -0
  80. package/src/core/components/ui/form/select/select.md +99 -0
  81. package/src/core/components/ui/form/select/select.ts +310 -0
  82. package/src/core/components/ui/form/textarea/textarea.md +66 -0
  83. package/src/core/components/ui/form/textarea/textarea.ts +119 -0
  84. package/src/core/components/ui/group/group.md +75 -0
  85. package/src/core/components/ui/group/group.ts +101 -0
  86. package/src/core/components/ui/icon/icon.md +125 -0
  87. package/src/core/components/ui/icon/icon.stories.ts +100 -0
  88. package/src/core/components/ui/icon/icon.ts +106 -0
  89. package/src/core/components/ui/icon/icons.json +1 -0
  90. package/src/core/components/ui/icon/icons.ts +130 -0
  91. package/src/core/components/ui/icon/svgs/cancel.svg +3 -0
  92. package/src/core/components/ui/icon/svgs/check-circled-outline.svg +4 -0
  93. package/src/core/components/ui/icon/svgs/check.svg +3 -0
  94. package/src/core/components/ui/icon/svgs/emoji-puzzled.svg +1 -0
  95. package/src/core/components/ui/icon/svgs/info-empty.svg +5 -0
  96. package/src/core/components/ui/icon/svgs/loader.svg +1 -0
  97. package/src/core/components/ui/icon/svgs/minus-small.svg +3 -0
  98. package/src/core/components/ui/icon/svgs/more-horiz.svg +5 -0
  99. package/src/core/components/ui/icon/svgs/more-vert.svg +5 -0
  100. package/src/core/components/ui/icon/svgs/nav-arrow-down.svg +3 -0
  101. package/src/core/components/ui/icon/svgs/warning-circled-outline.svg +5 -0
  102. package/src/core/components/ui/image/image.md +107 -0
  103. package/src/core/components/ui/image/image.ts +117 -0
  104. package/src/core/components/ui/link/link.md +43 -0
  105. package/src/core/components/ui/link/link.ts +108 -0
  106. package/src/core/components/ui/loader/loader.md +37 -0
  107. package/src/core/components/ui/loader/loader.stories.ts +25 -0
  108. package/src/core/components/ui/loader/loader.ts +81 -0
  109. package/{core/components/ui/loader/styles/fixed.js → src/core/components/ui/loader/styles/fixed.ts} +2 -1
  110. package/{core/components/ui/loader/styles/inline.js → src/core/components/ui/loader/styles/inline.ts} +3 -2
  111. package/src/core/components/ui/menu/menu-item.ts +30 -0
  112. package/src/core/components/ui/menu/menu.md +288 -0
  113. package/src/core/components/ui/menu/menu.ts +292 -0
  114. package/src/core/components/ui/modal/modal-actions.ts +35 -0
  115. package/src/core/components/ui/modal/modal-close.ts +36 -0
  116. package/src/core/components/ui/modal/modal-content.ts +19 -0
  117. package/src/core/components/ui/modal/modal-subtitle.ts +23 -0
  118. package/src/core/components/ui/modal/modal-title.ts +22 -0
  119. package/src/core/components/ui/modal/modal.md +123 -0
  120. package/src/core/components/ui/modal/modal.stories.ts +140 -0
  121. package/src/core/components/ui/modal/modal.ts +386 -0
  122. package/src/core/components/ui/pop/pop.md +79 -0
  123. package/src/core/components/ui/pop/pop.ts +291 -0
  124. package/src/core/components/ui/progress/progress.md +65 -0
  125. package/{core/components/ui/progress/progress.js → src/core/components/ui/progress/progress.ts} +31 -50
  126. package/src/core/components/ui/table/table-caption.ts +21 -0
  127. package/src/core/components/ui/table/table-tbody.ts +32 -0
  128. package/src/core/components/ui/table/table-td.ts +47 -0
  129. package/src/core/components/ui/table/table-tfoot.ts +20 -0
  130. package/src/core/components/ui/table/table-th.ts +56 -0
  131. package/src/core/components/ui/table/table-thead.ts +18 -0
  132. package/src/core/components/ui/table/table-tr.ts +48 -0
  133. package/src/core/components/ui/table/table.md +467 -0
  134. package/{core/components/ui/table/table.js → src/core/components/ui/table/table.ts} +32 -53
  135. package/{core/components/ui/theme/theme-collection/core-variables.js → src/core/components/ui/theme/theme-collection/core-variables.ts} +3 -2
  136. package/{core/components/ui/theme/theme-collection/dark.js → src/core/components/ui/theme/theme-collection/dark.ts} +5 -3
  137. package/{core/components/ui/theme/theme-collection/light.js → src/core/components/ui/theme/theme-collection/light.ts} +3 -2
  138. package/src/core/components/ui/theme/theme.ts +118 -0
  139. package/src/core/components/ui/toast/message-subscriber.stories.ts +43 -0
  140. package/src/core/components/ui/toast/message-subscriber.ts +37 -0
  141. package/{core/components/ui/toast/toast-item.js → src/core/components/ui/toast/toast-item.ts} +86 -113
  142. package/src/core/components/ui/toast/toast.ts +237 -0
  143. package/src/core/components/ui/toast/types.ts +14 -0
  144. package/src/core/components/ui/tooltip/tooltip.md +37 -0
  145. package/{core/components/ui/tooltip/tooltip.js → src/core/components/ui/tooltip/tooltip.ts} +26 -47
  146. package/{core/components/ui/ui.js → src/core/components/ui/ui.ts} +2 -0
  147. package/src/core/core.ts +22 -0
  148. package/src/core/decorators/Subscriber.ts +187 -0
  149. package/src/core/directives/DataProvider.ts +113 -0
  150. package/src/core/directives/Wording.ts +220 -0
  151. package/src/core/mixins/Fetcher.ts +258 -0
  152. package/src/core/mixins/FormCheckable.ts +287 -0
  153. package/src/core/mixins/FormElement.ts +275 -0
  154. package/src/core/mixins/FormInput.ts +135 -0
  155. package/src/core/mixins/Subscriber.ts +352 -0
  156. package/src/core/mixins/TemplatesContainer.ts +70 -0
  157. package/{core/mixins/mixins.d.ts → src/core/mixins/mixins.ts} +1 -1
  158. package/src/core/utils/Arrays.ts +161 -0
  159. package/src/core/utils/DataBindObserver.ts +286 -0
  160. package/src/core/utils/Electron.ts +15 -0
  161. package/src/core/utils/Format.ts +58 -0
  162. package/src/core/utils/HTML.ts +126 -0
  163. package/src/core/utils/LocationHandler.ts +139 -0
  164. package/src/core/utils/Objects.ts +103 -0
  165. package/src/core/utils/PublisherProxy.ts +786 -0
  166. package/src/core/utils/Utils.ts +12 -0
  167. package/src/core/utils/api.ts +456 -0
  168. package/{core/utils/url-pattern.d.ts → src/core/utils/url-pattern.ts} +1 -0
  169. package/{decorators.js → src/decorators.ts} +6 -2
  170. package/{directives.js → src/directives.ts} +11 -6
  171. package/src/docs/_core-concept/overview.md +57 -0
  172. package/src/docs/_core-concept/subscriber.md +76 -0
  173. package/src/docs/_getting-started/concorde-outside.md +141 -0
  174. package/src/docs/_getting-started/create-a-component.md +137 -0
  175. package/src/docs/_getting-started/pubsub.md +150 -0
  176. package/src/docs/_getting-started/start.md +37 -0
  177. package/src/docs/_getting-started/theming.md +91 -0
  178. package/src/docs/code.ts +281 -0
  179. package/src/docs/docs.ts +6 -0
  180. package/src/docs/example/users.ts +64 -0
  181. package/src/docs/navigation/navigation.ts +101 -0
  182. package/src/docs/prism/index.ts +6 -0
  183. package/src/docs/prism/prism.css +158 -0
  184. package/src/docs/prism/prism.js +1022 -0
  185. package/src/docs/search/docs-search.json +3767 -0
  186. package/src/docs/search/markdown-renderer.ts +40 -0
  187. package/src/docs/search/page.ts +40 -0
  188. package/src/docs/search/search.ts +184 -0
  189. package/src/docs.ts +2 -0
  190. package/src/index.ts +7 -0
  191. package/{mixins.js → src/mixins.ts} +10 -6
  192. package/src/tag-list.json +1 -0
  193. package/src/test-utils/TestUtils.ts +13 -0
  194. package/src/tsconfig.json +113 -0
  195. package/{utils.js → src/utils.ts} +15 -11
  196. package/test-utils/TestUtils.ts +13 -0
  197. package/vite/config.js +136 -0
  198. package/vite.config.mts +87 -0
  199. package/README.md +0 -27
  200. package/cli.js +0 -74
  201. package/components.d.ts +0 -4
  202. package/concorde-core.bundle.js +0 -3427
  203. package/concorde-core.es.js +0 -14199
  204. package/core/_types/types.d.ts +0 -28
  205. package/core/_types/types.js +0 -2
  206. package/core/components/functional/date/date.d.ts +0 -45
  207. package/core/components/functional/date/date.js +0 -243
  208. package/core/components/functional/example/example.d.ts +0 -7
  209. package/core/components/functional/example/example.js +0 -26
  210. package/core/components/functional/fetch/fetch.d.ts +0 -93
  211. package/core/components/functional/functional.js +0 -15
  212. package/core/components/functional/if/if.d.ts +0 -12
  213. package/core/components/functional/if/if.js +0 -38
  214. package/core/components/functional/if/if.test.d.ts +0 -1
  215. package/core/components/functional/if/if.test.js +0 -35
  216. package/core/components/functional/list/list.d.ts +0 -117
  217. package/core/components/functional/list/list.js +0 -214
  218. package/core/components/functional/mix/mix.d.ts +0 -22
  219. package/core/components/functional/mix/mix.js +0 -102
  220. package/core/components/functional/queue/queue.d.ts +0 -67
  221. package/core/components/functional/queue/queue.js +0 -310
  222. package/core/components/functional/router/redirect.d.ts +0 -18
  223. package/core/components/functional/router/redirect.js +0 -53
  224. package/core/components/functional/router/router.d.ts +0 -27
  225. package/core/components/functional/router/router.js +0 -119
  226. package/core/components/functional/sdui/SDUIDescriptorTransformer.d.ts +0 -58
  227. package/core/components/functional/sdui/SDUIDescriptorTransformer.js +0 -215
  228. package/core/components/functional/sdui/sdui-utils.d.ts +0 -5
  229. package/core/components/functional/sdui/sdui-utils.js +0 -63
  230. package/core/components/functional/sdui/sdui.d.ts +0 -136
  231. package/core/components/functional/sdui/sdui.js +0 -254
  232. package/core/components/functional/sdui/types.d.ts +0 -37
  233. package/core/components/functional/sdui/types.js +0 -1
  234. package/core/components/functional/sonic-scope/sonic-scope.d.ts +0 -5
  235. package/core/components/functional/sonic-scope/sonic-scope.js +0 -21
  236. package/core/components/functional/states/states.d.ts +0 -29
  237. package/core/components/functional/states/states.js +0 -134
  238. package/core/components/functional/submit/submit.d.ts +0 -30
  239. package/core/components/functional/submit/submit.js +0 -236
  240. package/core/components/functional/subscriber/subscriber.d.ts +0 -12
  241. package/core/components/functional/subscriber/subscriber.js +0 -38
  242. package/core/components/functional/value/value.d.ts +0 -7
  243. package/core/components/functional/value/value.js +0 -27
  244. package/core/components/ui/_css/scroll.d.ts +0 -1
  245. package/core/components/ui/_css/size.d.ts +0 -2
  246. package/core/components/ui/_css/type.d.ts +0 -2
  247. package/core/components/ui/alert/alert.d.ts +0 -34
  248. package/core/components/ui/alert/alert.js +0 -202
  249. package/core/components/ui/badge/badge.d.ts +0 -26
  250. package/core/components/ui/button/button.d.ts +0 -171
  251. package/core/components/ui/captcha/captcha.d.ts +0 -30
  252. package/core/components/ui/captcha/captcha.js +0 -93
  253. package/core/components/ui/card/card-footer.d.ts +0 -4
  254. package/core/components/ui/card/card-footer.js +0 -24
  255. package/core/components/ui/card/card-header-descripton.d.ts +0 -5
  256. package/core/components/ui/card/card-header-descripton.js +0 -32
  257. package/core/components/ui/card/card-header.d.ts +0 -8
  258. package/core/components/ui/card/card-main.d.ts +0 -4
  259. package/core/components/ui/card/card-main.js +0 -28
  260. package/core/components/ui/card/card.d.ts +0 -12
  261. package/core/components/ui/divider/divider.d.ts +0 -15
  262. package/core/components/ui/form/checkbox/checkbox.d.ts +0 -181
  263. package/core/components/ui/form/css/form-control.d.ts +0 -4
  264. package/core/components/ui/form/fieldset/fieldset.d.ts +0 -23
  265. package/core/components/ui/form/fieldset/fieldset.js +0 -118
  266. package/core/components/ui/form/fieldset/legend-description.d.ts +0 -5
  267. package/core/components/ui/form/fieldset/legend-description.js +0 -30
  268. package/core/components/ui/form/fieldset/legend.d.ts +0 -16
  269. package/core/components/ui/form/fieldset/legend.js +0 -112
  270. package/core/components/ui/form/form-actions/form-actions.d.ts +0 -7
  271. package/core/components/ui/form/form-actions/form-actions.js +0 -46
  272. package/core/components/ui/form/form-layout/form-layout.d.ts +0 -12
  273. package/core/components/ui/form/form-layout/form-layout.js +0 -83
  274. package/core/components/ui/form/input/input.d.ts +0 -106
  275. package/core/components/ui/form/input/input.js +0 -268
  276. package/core/components/ui/form/input/password-helper.d.ts +0 -25
  277. package/core/components/ui/form/input/password-helper.js +0 -119
  278. package/core/components/ui/form/input/same-value-helper.d.ts +0 -16
  279. package/core/components/ui/form/input/same-value-helper.js +0 -77
  280. package/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts +0 -136
  281. package/core/components/ui/form/input-autocomplete/input-autocomplete.js +0 -296
  282. package/core/components/ui/form/radio/radio.d.ts +0 -12
  283. package/core/components/ui/form/radio/radio.js +0 -50
  284. package/core/components/ui/form/select/select.d.ts +0 -58
  285. package/core/components/ui/form/select/select.js +0 -298
  286. package/core/components/ui/form/textarea/textarea.d.ts +0 -84
  287. package/core/components/ui/form/textarea/textarea.js +0 -150
  288. package/core/components/ui/group/group.d.ts +0 -16
  289. package/core/components/ui/group/group.js +0 -118
  290. package/core/components/ui/icon/icon.d.ts +0 -26
  291. package/core/components/ui/icon/icon.js +0 -113
  292. package/core/components/ui/icon/icons.d.ts +0 -10
  293. package/core/components/ui/icon/icons.js +0 -126
  294. package/core/components/ui/icon/icons.json +0 -1
  295. package/core/components/ui/image/image.d.ts +0 -15
  296. package/core/components/ui/image/image.js +0 -153
  297. package/core/components/ui/link/link.d.ts +0 -29
  298. package/core/components/ui/link/link.js +0 -124
  299. package/core/components/ui/loader/loader.d.ts +0 -23
  300. package/core/components/ui/loader/loader.js +0 -97
  301. package/core/components/ui/loader/styles/fixed.d.ts +0 -1
  302. package/core/components/ui/loader/styles/inline.d.ts +0 -1
  303. package/core/components/ui/menu/menu-item.d.ts +0 -5
  304. package/core/components/ui/menu/menu-item.js +0 -34
  305. package/core/components/ui/menu/menu.d.ts +0 -41
  306. package/core/components/ui/menu/menu.js +0 -313
  307. package/core/components/ui/modal/modal-actions.d.ts +0 -7
  308. package/core/components/ui/modal/modal-actions.js +0 -42
  309. package/core/components/ui/modal/modal-close.d.ts +0 -7
  310. package/core/components/ui/modal/modal-close.js +0 -43
  311. package/core/components/ui/modal/modal-content.d.ts +0 -5
  312. package/core/components/ui/modal/modal-content.js +0 -26
  313. package/core/components/ui/modal/modal-subtitle.d.ts +0 -5
  314. package/core/components/ui/modal/modal-subtitle.js +0 -30
  315. package/core/components/ui/modal/modal-title.d.ts +0 -5
  316. package/core/components/ui/modal/modal-title.js +0 -29
  317. package/core/components/ui/modal/modal.d.ts +0 -58
  318. package/core/components/ui/modal/modal.js +0 -401
  319. package/core/components/ui/pop/pop.d.ts +0 -37
  320. package/core/components/ui/pop/pop.js +0 -299
  321. package/core/components/ui/progress/progress.d.ts +0 -10
  322. package/core/components/ui/table/table-caption.d.ts +0 -5
  323. package/core/components/ui/table/table-caption.js +0 -28
  324. package/core/components/ui/table/table-tbody.d.ts +0 -5
  325. package/core/components/ui/table/table-tbody.js +0 -39
  326. package/core/components/ui/table/table-td.d.ts +0 -12
  327. package/core/components/ui/table/table-td.js +0 -68
  328. package/core/components/ui/table/table-tfoot.d.ts +0 -5
  329. package/core/components/ui/table/table-tfoot.js +0 -27
  330. package/core/components/ui/table/table-th.d.ts +0 -11
  331. package/core/components/ui/table/table-th.js +0 -73
  332. package/core/components/ui/table/table-thead.d.ts +0 -5
  333. package/core/components/ui/table/table-thead.js +0 -25
  334. package/core/components/ui/table/table-tr.d.ts +0 -13
  335. package/core/components/ui/table/table-tr.js +0 -66
  336. package/core/components/ui/table/table.d.ts +0 -17
  337. package/core/components/ui/theme/theme-collection/core-variables.d.ts +0 -1
  338. package/core/components/ui/theme/theme-collection/dark.d.ts +0 -1
  339. package/core/components/ui/theme/theme-collection/light.d.ts +0 -1
  340. package/core/components/ui/theme/theme.d.ts +0 -19
  341. package/core/components/ui/theme/theme.js +0 -124
  342. package/core/components/ui/toast/message-subscriber.d.ts +0 -18
  343. package/core/components/ui/toast/message-subscriber.js +0 -40
  344. package/core/components/ui/toast/toast-item.d.ts +0 -19
  345. package/core/components/ui/toast/toast.d.ts +0 -25
  346. package/core/components/ui/toast/toast.js +0 -226
  347. package/core/components/ui/toast/types.d.ts +0 -11
  348. package/core/components/ui/toast/types.js +0 -1
  349. package/core/components/ui/tooltip/tooltip.d.ts +0 -10
  350. package/core/components/ui/ui.d.ts +0 -32
  351. package/core/core.d.ts +0 -4
  352. package/core/core.js +0 -19
  353. package/core/decorators/Subscriber.d.ts +0 -4
  354. package/core/decorators/Subscriber.js +0 -166
  355. package/core/directives/DataProvider.d.ts +0 -23
  356. package/core/directives/DataProvider.js +0 -102
  357. package/core/directives/Wording.d.ts +0 -42
  358. package/core/directives/Wording.js +0 -202
  359. package/core/mixins/Fetcher.d.ts +0 -90
  360. package/core/mixins/Fetcher.js +0 -242
  361. package/core/mixins/FormCheckable.d.ts +0 -88
  362. package/core/mixins/FormCheckable.js +0 -306
  363. package/core/mixins/FormElement.d.ts +0 -32
  364. package/core/mixins/FormElement.js +0 -272
  365. package/core/mixins/FormInput.d.ts +0 -70
  366. package/core/mixins/FormInput.js +0 -81
  367. package/core/mixins/Subscriber.d.ts +0 -36
  368. package/core/mixins/Subscriber.js +0 -333
  369. package/core/mixins/TemplatesContainer.d.ts +0 -13
  370. package/core/mixins/TemplatesContainer.js +0 -69
  371. package/core/mixins/mixins.js +0 -6
  372. package/core/utils/Arrays.d.ts +0 -97
  373. package/core/utils/Arrays.js +0 -140
  374. package/core/utils/DataBindObserver.d.ts +0 -83
  375. package/core/utils/DataBindObserver.js +0 -264
  376. package/core/utils/Electron.d.ts +0 -7
  377. package/core/utils/Electron.js +0 -11
  378. package/core/utils/Format.d.ts +0 -12
  379. package/core/utils/Format.js +0 -38
  380. package/core/utils/HTML.d.ts +0 -42
  381. package/core/utils/HTML.js +0 -119
  382. package/core/utils/LocationHandler.d.ts +0 -46
  383. package/core/utils/LocationHandler.js +0 -133
  384. package/core/utils/Objects.d.ts +0 -28
  385. package/core/utils/Objects.js +0 -102
  386. package/core/utils/PublisherProxy.d.ts +0 -176
  387. package/core/utils/PublisherProxy.js +0 -709
  388. package/core/utils/Utils.d.ts +0 -4
  389. package/core/utils/Utils.js +0 -12
  390. package/core/utils/api.d.ts +0 -139
  391. package/core/utils/api.js +0 -391
  392. package/core/utils/url-pattern.js +0 -2
  393. package/decorators.d.ts +0 -3
  394. package/directives.d.ts +0 -40
  395. package/img/concorde-logo.svg +0 -1
  396. package/img/concorde.png +0 -0
  397. package/img/concorde_def.png +0 -0
  398. package/mixins.d.ts +0 -181
  399. package/svg/regular/plane.svg +0 -1
  400. package/svg/solid/plane.svg +0 -1
  401. package/test-utils/TestUtils.d.ts +0 -4
  402. package/test-utils/TestUtils.js +0 -12
  403. package/utils.d.ts +0 -20
  404. /package/{core/components/functional/functional.d.ts → src/core/components/functional/functional.ts} +0 -0
  405. /package/{core → src/core}/components/ui/theme/css/tailwind.css +0 -0
  406. /package/{core → src/core}/components/ui/theme/css/tailwind.d.ts +0 -0
@@ -0,0 +1,56 @@
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
+ import {typeColor} from "@supersoniks/concorde/core/components/ui/_css/type";
6
+
7
+ const tagName = "sonic-th";
8
+
9
+ @customElement(tagName)
10
+ export class TableTh extends LitElement {
11
+ static styles = [
12
+ typeColor,
13
+ css`
14
+ :host {
15
+ display: contents;
16
+ background: var(--sc-table-bg);
17
+ position: sticky;
18
+ top: 0;
19
+ z-index: 20;
20
+ }
21
+
22
+ th {
23
+ all: inherit;
24
+ display: table-cell;
25
+ border-bottom: calc(var(--sc-border-width) * 1.5) solid var(--sc-table-border-color);
26
+ text-transform: var(--sc-table-th-tt);
27
+ font-weight: var(--sc-table-th-fw);
28
+ font-size: var(--sc-table-th-fs);
29
+ padding: var(--sc-table-th-py) var(--sc-table-th-px);
30
+ }
31
+
32
+ :host([noBorder]) th {
33
+ border-bottom: none;
34
+ }
35
+ `,
36
+ ];
37
+
38
+ @property({type: Number}) colSpan?: number;
39
+ @property({type: Number}) rowSpan?: number;
40
+ @property({type: String}) align?: string;
41
+ @property({type: String}) minWidth?: string;
42
+ @property({type: String}) maxWidth?: string;
43
+ @property({type: String}) width?: string;
44
+
45
+ render() {
46
+ const styles = {
47
+ textAlign: this.align,
48
+ minWidth: this.minWidth,
49
+ maxWidth: this.maxWidth,
50
+ width: this.width,
51
+ };
52
+ return html`<th part="th" style=${styleMap(styles)} colspan=${ifDefined(this.colSpan)} rowspan=${ifDefined(this.rowSpan)}>
53
+ <slot></slot>
54
+ </th> `;
55
+ }
56
+ }
@@ -0,0 +1,18 @@
1
+ import {html, LitElement, css} from "lit";
2
+ import {customElement} from "lit/decorators.js";
3
+ const tagName = "sonic-thead";
4
+
5
+ @customElement(tagName)
6
+ export class TableThead extends LitElement {
7
+ static styles = [
8
+ css`
9
+ :host {
10
+ display: table-header-group;
11
+ }
12
+ `,
13
+ ];
14
+
15
+ render() {
16
+ return html`<slot></slot>`;
17
+ }
18
+ }
@@ -0,0 +1,48 @@
1
+ import {html, LitElement, css, PropertyValues} from "lit";
2
+ import {customElement, property} from "lit/decorators.js";
3
+ import {typeColor} from "@supersoniks/concorde/core/components/ui/_css/type";
4
+ import {ListItemMetadata} from "@supersoniks/concorde/core/components/functional/list/list";
5
+ import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
6
+
7
+ const tagName = "sonic-tr";
8
+
9
+ @customElement(tagName)
10
+ export class TableTr extends Subscriber(LitElement) {
11
+ static styles = [
12
+ typeColor,
13
+ css`
14
+ :host {
15
+ display: table-row;
16
+ }
17
+
18
+ :host([odd]) {
19
+ background: var(--sc-table-accent-bg) !important;
20
+ }
21
+ :host([even]) {
22
+ background: var(--sc-table-bg) !important;
23
+ }
24
+
25
+ :host([last]) {
26
+ --sc-table-td-border-b: none;
27
+ }
28
+ :host(:hover) {
29
+ background: var(--sc-table-hover-bg) !important;
30
+ }
31
+ `,
32
+ ];
33
+ @property({type: Object}) _metadata_: ListItemMetadata = {};
34
+ @property({type: Boolean, reflect: true}) even?: boolean;
35
+ @property({type: Boolean, reflect: true}) odd?: boolean;
36
+ @property({type: Boolean, reflect: true}) last?: boolean;
37
+ willUpdate(changedProperties: PropertyValues) {
38
+ if (changedProperties.has("_metadata_")) {
39
+ this.even = !!this._metadata_.even;
40
+ this.odd = !!this._metadata_.odd;
41
+ this.last = !!this._metadata_.lastChild;
42
+ }
43
+ super.willUpdate(changedProperties);
44
+ }
45
+ render() {
46
+ return html`<slot></slot>`;
47
+ }
48
+ }
@@ -0,0 +1,467 @@
1
+ # Table
2
+
3
+ ## Basic usage
4
+
5
+ <sonic-code>
6
+ <template>
7
+ <sonic-table>
8
+ <sonic-tr>
9
+ <sonic-th>Id</sonic-th>
10
+ <sonic-th>Name</sonic-th>
11
+ <sonic-th>Email</sonic-th>
12
+ </sonic-tr>
13
+ <sonic-tr>
14
+ <sonic-td>1</sonic-td>
15
+ <sonic-td>George Bluth</sonic-td>
16
+ <sonic-td>george.bluth@reqres.in</sonic-td>
17
+ </sonic-tr>
18
+ <sonic-tr>
19
+ <sonic-td>2</sonic-td>
20
+ <sonic-td>Janet Weaver</sonic-td>
21
+ <sonic-td>janet.weaver@reqres.in</sonic-td>
22
+ </sonic-tr>
23
+ <sonic-tr>
24
+ <sonic-td>3</sonic-td>
25
+ <sonic-td>Emma Wong</sonic-td>
26
+ <sonic-td>emma.wong@reqres.in</sonic-td>
27
+ </sonic-tr>
28
+ </sonic-table>
29
+ </template>
30
+ </sonic-code>
31
+
32
+ ## List / fetch
33
+
34
+ <sonic-code>
35
+ <template>
36
+ <sonic-table>
37
+ <sonic-thead>
38
+ <sonic-tr>
39
+ <sonic-th>Id</sonic-th>
40
+ <sonic-th>Name</sonic-th>
41
+ <sonic-th>Email</sonic-th>
42
+ </sonic-tr>
43
+ </sonic-thead>
44
+ <sonic-tbody>
45
+ <sonic-list debug fetch serviceURL="https://reqres.in" dataProvider="api/users" key="data" displayContents>
46
+ <template>
47
+ <sonic-tr>
48
+ <sonic-td data-bind ::inner-html="$id"></sonic-td>
49
+ <sonic-td data-bind ::inner-html="$first_name <b>$last_name</b>"></sonic-td>
50
+ <sonic-td data-bind ::inner-html="$email"></sonic-td>
51
+ </sonic-tr>
52
+ </template>
53
+ <sonic-list>
54
+ </sonic-tbody>
55
+ </sonic-table>
56
+ </template>
57
+ </sonic-code>
58
+
59
+ ## Size
60
+
61
+ <sonic-code>
62
+ <template>
63
+ <div class="grid grid-cols-4 gap-3">
64
+ <sonic-table size="2xs" bordered>
65
+ <sonic-tr><sonic-td class="w-[5rem]">2xs</sonic-td></sonic-tr>
66
+ </sonic-table>
67
+ <sonic-table size="xs" bordered>
68
+ <sonic-tr><sonic-td class="w-[5rem]">xs</sonic-td></sonic-tr>
69
+ </sonic-table>
70
+ <sonic-table size="sm" bordered>
71
+ <sonic-tr><sonic-td class="w-[5rem]">sm</sonic-td></sonic-tr>
72
+ </sonic-table>
73
+ <sonic-table size="md" bordered>
74
+ <sonic-tr><sonic-td class="w-[5rem]">md</sonic-td></sonic-tr>
75
+ </sonic-table>
76
+ <sonic-table bordered>
77
+ <sonic-tr><sonic-td class="w-[5rem]">default</sonic-td></sonic-tr>
78
+ </sonic-table>
79
+ <sonic-table size="lg" bordered>
80
+ <sonic-tr><sonic-td class="w-[5rem]">lg</sonic-td></sonic-tr>
81
+ </sonic-table>
82
+ <sonic-table size="xl" bordered>
83
+ <sonic-tr><sonic-td class="w-[5rem]">xl</sonic-td></sonic-tr>
84
+ </sonic-table>
85
+ <sonic-table size="2xl" bordered>
86
+ <sonic-tr><sonic-td class="w-[5rem]">2xl</sonic-td></sonic-tr>
87
+ </sonic-table>
88
+ </div>
89
+ </template>
90
+ </sonic-code>
91
+
92
+ ## Bordered
93
+
94
+ <sonic-code>
95
+ <template>
96
+ <sonic-table bordered>
97
+ <sonic-thead>
98
+ <sonic-tr>
99
+ <sonic-th>Id</sonic-th>
100
+ <sonic-th>Name</sonic-th>
101
+ <sonic-th>Email</sonic-th>
102
+ </sonic-tr>
103
+ </sonic-thead>
104
+ <sonic-tbody>
105
+ <sonic-tr>
106
+ <sonic-td>1</sonic-td>
107
+ <sonic-td>George Bluth</sonic-td>
108
+ <sonic-td>george.bluth@reqres.in</sonic-td>
109
+ </sonic-tr>
110
+ <sonic-tr>
111
+ <sonic-td>2</sonic-td>
112
+ <sonic-td>Janet Weaver</sonic-td>
113
+ <sonic-td>janet.weaver@reqres.in</sonic-td>
114
+ </sonic-tr>
115
+ <sonic-tr>
116
+ <sonic-td>3</sonic-td>
117
+ <sonic-td>Emma Wong</sonic-td>
118
+ <sonic-td>emma.wong@reqres.in</sonic-td>
119
+ </sonic-tr>
120
+ </sonic-tbody>
121
+ </sonic-table>
122
+ </template>
123
+ </sonic-code>
124
+
125
+ ## MaxHeight
126
+
127
+ <sonic-code>
128
+ <template>
129
+ <sonic-table maxHeight="10rem">
130
+ <sonic-thead>
131
+ <sonic-tr>
132
+ <sonic-th>Id</sonic-th>
133
+ <sonic-th>Name</sonic-th>
134
+ <sonic-th>Email</sonic-th>
135
+ </sonic-tr>
136
+ </sonic-thead>
137
+ <sonic-tbody>
138
+ <sonic-list debug fetch serviceURL="https://reqres.in" dataProvider="api/users" key="data" displayContents>
139
+ <template>
140
+ <sonic-tr>
141
+ <sonic-td data-bind ::inner-html="$id"></sonic-td>
142
+ <sonic-td data-bind ::inner-html="$first_name <b>$last_name</b>"></sonic-td>
143
+ <sonic-td data-bind ::inner-html="$email"></sonic-td>
144
+ </sonic-tr>
145
+ </template>
146
+ <sonic-list>
147
+ </sonic-tbody>
148
+ </sonic-table>
149
+ </template>
150
+ </sonic-code>
151
+
152
+ ## Type
153
+
154
+ Values available : primary, info, success, warning, danger
155
+
156
+ <sonic-code>
157
+ <template>
158
+ <sonic-table bordered>
159
+ <sonic-tr>
160
+ <sonic-th type="info">Attribute type set on</sonic-th>
161
+ <sonic-th type="info">th</sonic-th>
162
+ </sonic-tr>
163
+ <sonic-tr>
164
+ <sonic-td type="danger">Attribute type set on</sonic-td>
165
+ <sonic-td type="danger">td</sonic-td>
166
+ </sonic-tr>
167
+ <sonic-tr type="success">
168
+ <sonic-td>Attribute type set on</sonic-td>
169
+ <sonic-td>tr</sonic-td>
170
+ </sonic-tr>
171
+ </sonic-tbody>
172
+ </sonic-table>
173
+ </template>
174
+ </sonic-code>
175
+
176
+ ## Colspan / rowspan
177
+
178
+ <sonic-code>
179
+ <template>
180
+ <sonic-table maxHeight="10rem">
181
+ <sonic-tbody>
182
+ <sonic-tr>
183
+ <sonic-td colspan="2" class="bg-info text-neutral-0">colspan : 2</sonic-td>
184
+ <sonic-td>cell</sonic-td>
185
+ </sonic-tr>
186
+ <sonic-tr>
187
+ <sonic-td>cell</sonic-td>
188
+ <sonic-td>cell</sonic-td>
189
+ <sonic-td rowspan="2" class="bg-success text-neutral-0">rowspan : 2</sonic-td>
190
+ </sonic-tr>
191
+ <sonic-tr>
192
+ <sonic-td>cell</sonic-td>
193
+ <sonic-td>cell</sonic-td>
194
+ </sonic-tr>
195
+ </sonic-tbody>
196
+ </sonic-table>
197
+ </template>
198
+ </sonic-code>
199
+
200
+ ## Cell style attributes
201
+
202
+ The following attributes will be used to set the style of the component :
203
+ - align
204
+ - minWidth
205
+ - maxWidth
206
+ - width
207
+
208
+ <sonic-code>
209
+ <template>
210
+ <sonic-table bordered>
211
+ <sonic-thead>
212
+ <sonic-tr>
213
+ <sonic-th width="7rem">align</sonic-th>
214
+ <sonic-th minWidth="20rem">minWidth</sonic-th>
215
+ <sonic-th>maxWidth</sonic-th>
216
+ <sonic-th>width</sonic-th>
217
+ </sonic-tr>
218
+ </sonic-thead>
219
+ <sonic-tbody>
220
+ <sonic-tr>
221
+ <sonic-td align="left">Left</sonic-td>
222
+ <sonic-td>20rem</sonic-td>
223
+ <sonic-td>5rem</sonic-td>
224
+ <sonic-td>15rem</sonic-td>
225
+ </sonic-tr>
226
+ <sonic-tr>
227
+ <sonic-td align="center">center</sonic-td>
228
+ <sonic-td>20rem</sonic-td>
229
+ <sonic-td maxWidth="5rem">5rem</sonic-td>
230
+ <sonic-td>15rem</sonic-td>
231
+ </sonic-tr>
232
+ <sonic-tr>
233
+ <sonic-td align="right">right</sonic-td>
234
+ <sonic-td>20rem</sonic-td>
235
+ <sonic-td>5rem - Lorem ipsum dolor</sonic-td>
236
+ <sonic-td width="60rem">15rem - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam porta sollicitudin mollis. Curabitur sit amet nibh diam. Vivamus a pharetra mauris.</sonic-td>
237
+ </sonic-tr>
238
+ </sonic-table>
239
+ </template>
240
+ </sonic-code>
241
+
242
+
243
+ ## Scroll-x
244
+
245
+ A scroll bar is automatically added if the content if is wider than the table width
246
+
247
+ <sonic-code>
248
+ <template>
249
+ <sonic-table bordered>
250
+ <sonic-thead>
251
+ <sonic-tr>
252
+ <sonic-th>Id</sonic-th>
253
+ <sonic-th>Name</sonic-th>
254
+ <sonic-th>Email</sonic-th>
255
+ <sonic-th>Comment</sonic-th>
256
+ </sonic-tr>
257
+ </sonic-thead>
258
+ <sonic-tbody>
259
+ <sonic-list fetch serviceURL="https://reqres.in" dataProvider="api/users" key="data" displayContents>
260
+ <template>
261
+ <sonic-tr>
262
+ <sonic-td data-bind ::inner-html="$id"></sonic-td>
263
+ <sonic-td minWidth="10rem" data-bind ::inner-html="$first_name <b>$last_name</b>"></sonic-td>
264
+ <sonic-td data-bind ::inner-html="$email"></sonic-td>
265
+ <sonic-td minWidth="40rem">
266
+ hasellus suscipit vulputate lacus, in tempor turpis aliquam vel. Nunc eleifend, velit id ultrices elementum, ipsum felis porttitor dui, id laoreet diam nulla sed urna.
267
+ </sonic-td>
268
+ </sonic-tr>
269
+ </template>
270
+ <sonic-list>
271
+ </sonic-tbody>
272
+ </sonic-table>
273
+ </template>
274
+ </sonic-code>
275
+
276
+
277
+ ## Example of use
278
+
279
+ <sonic-code>
280
+ <template>
281
+ <sonic-table bordered maxHeight="20rem">
282
+ <sonic-thead>
283
+ <sonic-tr>
284
+ <sonic-th minWidth="max(20ch,12rem)">Company</sonic-th>
285
+ <sonic-th type="success">Contact</sonic-th>
286
+ <sonic-th>Country</sonic-th>
287
+ <sonic-th align="center">Quantity</sonic-th>
288
+ <sonic-th align="right">Price</sonic-th>
289
+ <sonic-th></sonic-th>
290
+ </sonic-tr>
291
+ </sonic-thead>
292
+ <sonic-tbody>
293
+ <sonic-tr>
294
+ <sonic-td>Alfreds Futterkiste</sonic-td>
295
+ <sonic-td>Maria Anders</sonic-td>
296
+ <sonic-td>Germany</sonic-td>
297
+ <sonic-td align="center">2</sonic-td>
298
+ <sonic-td align="right">40€</sonic-td>
299
+ <sonic-td td align="right"
300
+ ><sonic-button shape="circle" variant="outline" size="sm">
301
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
302
+ ></sonic-button>
303
+ </sonic-td>
304
+ </sonic-tr>
305
+ <sonic-tr>
306
+ <sonic-td>Centro comercial Moctezuma</sonic-td>
307
+ <sonic-td
308
+ colspan="2"
309
+ align="center"
310
+ class="
311
+ text-center
312
+ rounded-md
313
+ bg-danger
314
+ text-neutral-0
315
+ shadow-lg
316
+ z-10
317
+ relative
318
+ border border-success
319
+ "
320
+ >Colspan 2</sonic-td
321
+ >
322
+ <sonic-td align="center">3</sonic-td>
323
+ <sonic-td align="right">40€</sonic-td>
324
+ <sonic-td td align="right"
325
+ ><sonic-button shape="circle" variant="outline" size="sm">
326
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
327
+ ></sonic-button>
328
+ </sonic-td>
329
+ </sonic-tr>
330
+ <sonic-tr>
331
+ <sonic-td>Ernst Handel</sonic-td>
332
+ <sonic-td>Roland Mendel</sonic-td>
333
+ <sonic-td>Austria</sonic-td>
334
+ <sonic-td align="center">4</sonic-td>
335
+ <sonic-td align="right">40€</sonic-td>
336
+ <sonic-td td align="right"
337
+ ><sonic-button shape="circle" variant="outline" size="sm">
338
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
339
+ ></sonic-button>
340
+ </sonic-td>
341
+ </sonic-tr>
342
+ <sonic-tr>
343
+ <sonic-td>Island Trading</sonic-td>
344
+ <sonic-td>Helen Bennett</sonic-td>
345
+ <sonic-td>UK</sonic-td>
346
+ <sonic-td align="center">1</sonic-td>
347
+ <sonic-td align="right">40€</sonic-td>
348
+ <sonic-td td align="right"
349
+ ><sonic-button shape="circle" variant="outline" size="sm">
350
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
351
+ ></sonic-button>
352
+ </sonic-td>
353
+ </sonic-tr>
354
+ <sonic-tr type="warning">
355
+ <sonic-td>Laughing Bacchus Winecellars</sonic-td>
356
+ <sonic-td>Yoshi Tannamuri</sonic-td>
357
+ <sonic-td>Canada</sonic-td>
358
+ <sonic-td align="center">0</sonic-td>
359
+ <sonic-td align="right">40€</sonic-td>
360
+ <sonic-td td align="right"
361
+ ><sonic-button shape="circle" variant="outline" size="sm">
362
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
363
+ ></sonic-button>
364
+ </sonic-td>
365
+ </sonic-tr>
366
+ <sonic-tr>
367
+ <sonic-td>Magazzini Alimentari Riuniti</sonic-td>
368
+ <sonic-td>Giovanni Rovelli</sonic-td>
369
+ <sonic-td type="danger">Italy</sonic-td>
370
+ <sonic-td align="center">20</sonic-td>
371
+ <sonic-td align="right">40€</sonic-td>
372
+ <sonic-td td align="right"
373
+ ><sonic-button shape="circle" variant="outline" size="sm">
374
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
375
+ ></sonic-button>
376
+ </sonic-td>
377
+ </sonic-tr>
378
+ <sonic-tr>
379
+ <sonic-td>Alfreds Futterkiste</sonic-td>
380
+ <sonic-td>Maria Anders</sonic-td>
381
+ <sonic-td>Germany</sonic-td>
382
+ <sonic-td align="center">2</sonic-td>
383
+ <sonic-td align="right">40€</sonic-td>
384
+ <sonic-td td align="right"
385
+ ><sonic-button shape="circle" variant="outline" size="sm">
386
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
387
+ ></sonic-button>
388
+ </sonic-td>
389
+ </sonic-tr>
390
+ <sonic-tr>
391
+ <sonic-td>Centro comercial Moctezuma</sonic-td>
392
+ <sonic-td
393
+ colspan="2"
394
+ align="center"
395
+ class="
396
+ text-center
397
+ rounded-md
398
+ bg-danger
399
+ text-neutral-0
400
+ shadow-lg
401
+ z-10
402
+ relative
403
+ border-2 border-success
404
+ "
405
+ >Colspan 2</sonic-td
406
+ >
407
+ <sonic-td align="center">3</sonic-td>
408
+ <sonic-td align="right">40€</sonic-td>
409
+ <sonic-td td align="right"
410
+ ><sonic-button shape="circle" variant="outline" size="sm">
411
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
412
+ ></sonic-button>
413
+ </sonic-td>
414
+ </sonic-tr>
415
+ <sonic-tr>
416
+ <sonic-td>Ernst Handel</sonic-td>
417
+ <sonic-td>Roland Mendel</sonic-td>
418
+ <sonic-td>Austria</sonic-td>
419
+ <sonic-td align="center">4</sonic-td>
420
+ <sonic-td align="right">40€</sonic-td>
421
+ <sonic-td td align="right"
422
+ ><sonic-button shape="circle" variant="outline" size="sm">
423
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
424
+ ></sonic-button>
425
+ </sonic-td>
426
+ </sonic-tr>
427
+ <sonic-tr>
428
+ <sonic-td>Island Trading</sonic-td>
429
+ <sonic-td>Helen Bennett</sonic-td>
430
+ <sonic-td>UK</sonic-td>
431
+ <sonic-td align="center">1</sonic-td>
432
+ <sonic-td align="right">40€</sonic-td>
433
+ <sonic-td td align="right"
434
+ ><sonic-button shape="circle" variant="outline" size="sm">
435
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
436
+ ></sonic-button>
437
+ </sonic-td>
438
+ </sonic-tr>
439
+ <sonic-tr type="warning">
440
+ <sonic-td>Laughing Bacchus Winecellars</sonic-td>
441
+ <sonic-td>Yoshi Tannamuri</sonic-td>
442
+ <sonic-td>Canada</sonic-td>
443
+ <sonic-td align="center">0</sonic-td>
444
+ <sonic-td align="right">40€</sonic-td>
445
+ <sonic-td td align="right"
446
+ ><sonic-button shape="circle" variant="outline" size="sm">
447
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
448
+ ></sonic-button>
449
+ </sonic-td>
450
+ </sonic-tr>
451
+ <sonic-tr>
452
+ <sonic-td>Magazzini Alimentari Riuniti</sonic-td>
453
+ <sonic-td>Giovanni Rovelli</sonic-td>
454
+ <sonic-td>Italy</sonic-td>
455
+ <sonic-td align="center">20</sonic-td>
456
+ <sonic-td align="right">40€</sonic-td>
457
+ <sonic-td td align="right"
458
+ ><sonic-button shape="circle" variant="outline" size="sm">
459
+ <sonic-icon library="iconoir" name="edit-pencil" size="lg"></sonic-icon
460
+ ></sonic-button>
461
+ </sonic-td>
462
+ </sonic-tr>
463
+ </sonic-tbody>
464
+ <sonic-caption>table caption</sonic-caption>
465
+ </sonic-table>
466
+ </template>
467
+ </sonic-code>