@supersoniks/concorde 2.0.7 → 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 -290
  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 -75
  201. package/components.d.ts +0 -4
  202. package/concorde-core.bundle.js +0 -3427
  203. package/concorde-core.es.js +0 -14372
  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
@@ -1,106 +0,0 @@
1
- import { LitElement, PropertyValues } from "lit";
2
- declare const Input_base: {
3
- new (...args: any[]): {
4
- validateFormElement(): void;
5
- forceAutoFill: boolean;
6
- _type: "number" | "search" | "time" | "file" | "button" | "url" | "color" | "hidden" | "image" | "text" | "reset" | "submit" | "email" | "tel" | "month" | "week" | "checkbox" | "radio" | "range" | "date" | "datetime-local" | "password";
7
- type: "number" | "search" | "time" | "file" | "button" | "url" | "color" | "hidden" | "image" | "text" | "reset" | "submit" | "email" | "tel" | "month" | "week" | "checkbox" | "radio" | "range" | "date" | "datetime-local" | "password";
8
- _description?: string | undefined;
9
- description: string | undefined;
10
- _label?: string | undefined;
11
- label: string | undefined;
12
- status: "error" | "default" | "success" | "warning" | "info";
13
- tabindex?: number | undefined;
14
- autocomplete?: "url" | "name" | "off" | "on" | "additional-name" | "address-level1" | "address-level2" | "address-level3" | "address-level4" | "address-line1" | "address-line2" | "address-line3" | "bday-day" | "bday-month" | "bday-year" | "cc-csc" | "cc-exp" | "cc-exp-month" | "cc-exp-year" | "cc-family-name" | "cc-given-name" | "cc-name" | "cc-number" | "cc-type" | "country" | "country-name" | "current-password" | "family-name" | "given-name" | "honorific-prefix" | "honorific-suffix" | "new-password" | "one-time-code" | "organization" | "postal-code" | "street-address" | "transaction-amount" | "transaction-currency" | "username" | "email" | "tel" | "tel-area-code" | "tel-country-code" | "tel-extension" | "tel-local" | "tel-national" | "language" | "nickname" | "organization-title" | "cc-additional-name" | "bday" | "sex" | "impp" | "photo" | undefined;
15
- getFormPublisher(): any;
16
- updateDataValue(): void;
17
- handleChange(e?: Event | undefined): void;
18
- handleBlur(e?: Event | undefined): void;
19
- getValueForFormPublisher(): string | object | string[] | null | undefined;
20
- setValueFromPublisher(value: string | object | string[] | null | undefined): void;
21
- focus?: (() => void) | undefined;
22
- shadowRoot?: ShadowRoot | undefined;
23
- error: boolean;
24
- autofocus: boolean;
25
- required: boolean;
26
- disabled: true | null;
27
- formDataProvider: string;
28
- ariaLabelledby?: string | undefined;
29
- ariaLabel?: string | undefined;
30
- _value: string | object | string[] | null | undefined;
31
- value: string | object | string[] | null | undefined;
32
- _name: string;
33
- name: string;
34
- props: import("../../../../_types/types").CoreJSType;
35
- propertyMap: object;
36
- isConnected: boolean;
37
- children: HTMLCollection;
38
- appendChild(node: Node): Node;
39
- getAncestorAttributeValue(attributeName: string): string;
40
- hasAncestorAttribute(attributeName: string): boolean;
41
- querySelectorAll(selector: string): NodeListOf<Element>;
42
- publisher: any;
43
- dataProvider: string | null;
44
- noShadowDom: string | null;
45
- debug: HTMLElement | null;
46
- defferedDebug: boolean | null;
47
- displayContents: boolean;
48
- dispatchEvent(event: Event): void;
49
- setAttribute(name: string, value: string): void;
50
- addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
51
- removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
52
- removeAttribute(name: string): void;
53
- initPublisher(): void;
54
- getApiConfiguration(): import("../../../../utils/api").APIConfiguration;
55
- connectedCallback(): void;
56
- requestUpdate(): void;
57
- getAttribute(name: string): string;
58
- hasAttribute(attributeName: string): boolean;
59
- disconnectedCallback(): void;
60
- getBoundingClientRect(): DOMRect;
61
- };
62
- } & (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/FormElement").FormElementInterface) & (new (...args: any[]) => import("@supersoniks/concorde/core/mixins/Subscriber").SubscriberInterface<import("../../../../_types/types").CoreJSType>) & typeof LitElement;
63
- export declare class Input extends Input_base {
64
- static styles: import("lit").CSSResult[];
65
- /**
66
- * Taille du composant, implique notamment des modifications de typo et de marge interne
67
- */
68
- size?: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
69
- list?: string;
70
- placeholder?: string;
71
- pattern?: string;
72
- min?: string;
73
- max?: string;
74
- readonly: boolean;
75
- step?: number;
76
- minlength?: number;
77
- maxlength?: number;
78
- src?: string;
79
- inlineContent: boolean;
80
- disableInlineContentFocus: boolean;
81
- showPasswordToggle: boolean;
82
- slotLabelNodes: Array<Node>;
83
- slotDescriptionNodes: Array<Node>;
84
- slotSuffixNodes: Array<Node>;
85
- slotPrefixNodes: Array<Node>;
86
- input: HTMLInputElement;
87
- hasDescription: boolean;
88
- hasLabel: boolean;
89
- hasSuffix: boolean;
90
- hasPrefix: boolean;
91
- isPassword: boolean;
92
- sameValueAsHandle?: (v: string) => void;
93
- sameValueAsName?: string;
94
- connectedCallback(): void;
95
- disconnectedCallback(): void;
96
- escapeRegExp(string: string): string;
97
- willUpdate(changedProperties: PropertyValues): void;
98
- setSelectionRange(start: number, end: number): void;
99
- hasSlotOrProps(): void;
100
- inlineContentFocus(): void;
101
- changeTimeoutId?: ReturnType<typeof setTimeout>;
102
- handleChange(e?: Event): void;
103
- togglePasswordVisibility(): void;
104
- render(): import("lit-html").TemplateResult<1>;
105
- }
106
- export {};
@@ -1,268 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { html, LitElement, css, nothing } from "lit";
8
- import { customElement, property, queryAssignedNodes, state } from "lit/decorators.js";
9
- import { query } from "lit/decorators/query.js";
10
- import { ifDefined } from "lit/directives/if-defined.js";
11
- import { formControl, label, description, passwordToggle } from "@supersoniks/concorde/core/components/ui/form/css/form-control";
12
- import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
13
- import FormElement from "@supersoniks/concorde/core/mixins/FormElement";
14
- import FormInput from "@supersoniks/concorde/core/mixins/FormInput";
15
- import { classMap } from "lit/directives/class-map.js";
16
- import { fontSize } from "@supersoniks/concorde/core/components/ui/_css/size";
17
- import { unsafeHTML } from "lit/directives/unsafe-html.js";
18
- /**
19
- * ### Le composent sonic-input étend les mixins FormInput, FormElement et Subscriber
20
- * **FormElement :**
21
- * * La propriété value est remplie automatiquement a l'aide de l'attribut name renseigné, ceci en prenant la valeur de la propriété du même nom dans les données du dataprovider associé.
22
- * * Par défault lorsque l'on édite l'input, la valeur est également mise à jour via le même dataprovider
23
- * * On peut cependant décider de mettre à jour la donnée à une autre adresse en renseigne l'attribut *formDataProvider*.
24
- * * Par conséquent on peut par exemple le lier à un composant *queue* (via sa propriété *dataFilterProvider*) de manière à appeller en auto une api avec des filtres.
25
- * **FormInput :**
26
- * Uniquement des propriétés classiques d'un input HTML.
27
- */
28
- const tagName = "sonic-input";
29
- let Input = class Input extends FormInput(FormElement(Subscriber(LitElement))) {
30
- constructor() {
31
- super(...arguments);
32
- this.readonly = false;
33
- this.inlineContent = false;
34
- this.disableInlineContentFocus = false;
35
- this.showPasswordToggle = false;
36
- this.hasDescription = false;
37
- this.hasLabel = false;
38
- this.hasSuffix = false;
39
- this.hasPrefix = false;
40
- this.isPassword = false;
41
- }
42
- connectedCallback() {
43
- super.connectedCallback();
44
- this.hasSlotOrProps();
45
- if (this.hasAttribute("sameValueAs")) {
46
- this.sameValueAsName = this.getAttribute("sameValueAs");
47
- this.sameValueAsHandle = (v) => (this.pattern = this.escapeRegExp(v));
48
- const formPublisher = this.getFormPublisher();
49
- if (!formPublisher)
50
- return;
51
- formPublisher[this.sameValueAsName].onAssign(this.sameValueAsHandle);
52
- }
53
- if (this.type == "password") {
54
- this.isPassword = true;
55
- this.showPasswordToggle = true;
56
- this.inlineContent = true;
57
- }
58
- }
59
- disconnectedCallback() {
60
- super.disconnectedCallback();
61
- if (this.hasAttribute("sameValueAs") && this.sameValueAsName) {
62
- const formPublisher = this.getFormPublisher();
63
- if (!formPublisher)
64
- return;
65
- formPublisher[this.sameValueAsName].offAssign(this.sameValueAsHandle);
66
- }
67
- }
68
- escapeRegExp(string) {
69
- return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
70
- }
71
- willUpdate(changedProperties) {
72
- this.hasSlotOrProps();
73
- super.willUpdate(changedProperties);
74
- }
75
- setSelectionRange(start, end) {
76
- this.input.setSelectionRange(start, end);
77
- }
78
- hasSlotOrProps() {
79
- this.hasLabel = this.label || this.slotLabelNodes?.length ? true : false;
80
- this.hasDescription = this.description || this.slotDescriptionNodes?.length ? true : false;
81
- this.hasSuffix = this.slotSuffixNodes?.length ? true : false;
82
- this.hasPrefix = this.slotPrefixNodes?.length ? true : false;
83
- }
84
- inlineContentFocus() {
85
- if (!this.inlineContent || this.disableInlineContentFocus)
86
- return;
87
- this.input?.focus();
88
- }
89
- handleChange(e) {
90
- if (!this.hasAttribute("inputDelayMs")) {
91
- super.handleChange(e);
92
- return;
93
- }
94
- if (this.changeTimeoutId)
95
- clearTimeout(this.changeTimeoutId);
96
- this.changeTimeoutId = setTimeout(() => super.handleChange(e), parseInt(this.getAttribute("inputDelayMs")));
97
- }
98
- // toggle password visibility
99
- togglePasswordVisibility() {
100
- this.isPassword = !this.isPassword;
101
- this._type = this.isPassword ? "password" : "text";
102
- // this.type = this.isPassword ? "password" : "text";
103
- }
104
- render() {
105
- const slotClasses = {
106
- "has-prefix": this.hasPrefix,
107
- "has-suffix": this.hasSuffix,
108
- "no-suffix": !this.hasSuffix,
109
- "no-prefix": !this.hasPrefix,
110
- };
111
- //let labelStarSuffix = this.label && this.required && this.label.indexOf("*") == -1 ? " *" : "";
112
- return html `
113
- <label for="${this.id || "form-element"}" class="${this.hasLabel ? "form-label" : "hidden"}"
114
- >${this.label ? unsafeHTML(this.label /*+ labelStarSuffix*/) : ""}<slot
115
- name="label"
116
- @slotchange=${this.hasSlotOrProps}
117
- ></slot
118
- ></label>
119
-
120
- <div @click=${this.inlineContentFocus} class="form-control ${classMap(slotClasses)}">
121
- <div part="content" class="${this.inlineContent ? "form-element form-element-wrapper" : "contents"}">
122
- <slot name="prefix" @slotchange=${this.hasSlotOrProps}></slot>
123
- <input
124
- part="input"
125
- id=${ifDefined(this.id || "form-element")}
126
- part="input"
127
- class="form-element input"
128
- @input=${this.handleChange}
129
- @blur=${this.handleBlur}
130
- type=${this.type}
131
- disabled=${ifDefined(this.disabled)}
132
- ?readonly=${this.readonly}
133
- ?autofocus=${this.autofocus}
134
- list=${ifDefined(this.list)}
135
- tabindex=${ifDefined(this.tabindex)}
136
- pattern=${ifDefined(this.pattern)}
137
- min=${ifDefined(this.min)}
138
- max=${ifDefined(this.max)}
139
- step=${ifDefined(this.step)}
140
- src=${ifDefined(this.src)}
141
- minlength=${ifDefined(this.minlength)}
142
- maxlength=${ifDefined(this.maxlength)}
143
- placeholder=${ifDefined(this.placeholder)}
144
- required=${ifDefined(this.required)}
145
- autocomplete=${ifDefined(this.autocomplete)}
146
- aria-label=${ifDefined(this.ariaLabel)}
147
- aria-labelledby=${ifDefined(this.ariaLabelledby)}
148
- .name=${this.name}
149
- .value=${this.value}
150
- />
151
- ${this.showPasswordToggle
152
- ? html `<sonic-button
153
- shape="circle"
154
- class="password-toggle"
155
- @click=${this.togglePasswordVisibility}
156
- aria-label="Toggle password visibility"
157
- variant="unstyled"
158
- >
159
- <sonic-icon library="heroicons" name=${this.isPassword ? "eye" : "eye-slash"}></sonic-icon>
160
- </sonic-button>`
161
- : ""}
162
- <slot name="suffix" @slotchange=${this.hasSlotOrProps}></slot>
163
- </div>
164
- </div>
165
-
166
- <!-- le slot ne doit pas avoir d'espace-->
167
- <slot
168
- name="description"
169
- @slotchange=${this.hasSlotOrProps}
170
- class="${this.hasDescription ? "form-description" : "hidden"}"
171
- >${this.description ? html `${unsafeHTML(this.description)}` : nothing}</slot>
172
- <slot name="list"></slot>
173
- </div>
174
- `;
175
- }
176
- };
177
- Input.styles = [
178
- fontSize,
179
- formControl,
180
- label,
181
- description,
182
- passwordToggle,
183
- css `
184
- :host([type="hidden"]) {
185
- appearance: none !important;
186
- display: none !important;
187
- }
188
- :host > .form-control {
189
- position: relative;
190
- }
191
- `,
192
- ];
193
- __decorate([
194
- property({ type: String, reflect: true })
195
- ], Input.prototype, "size", void 0);
196
- __decorate([
197
- property({ type: String })
198
- ], Input.prototype, "list", void 0);
199
- __decorate([
200
- property({ type: String })
201
- ], Input.prototype, "placeholder", void 0);
202
- __decorate([
203
- property({ type: String })
204
- ], Input.prototype, "pattern", void 0);
205
- __decorate([
206
- property({ type: String })
207
- ], Input.prototype, "min", void 0);
208
- __decorate([
209
- property({ type: String })
210
- ], Input.prototype, "max", void 0);
211
- __decorate([
212
- property({ type: Boolean })
213
- ], Input.prototype, "readonly", void 0);
214
- __decorate([
215
- property({ type: Number })
216
- ], Input.prototype, "step", void 0);
217
- __decorate([
218
- property({ type: Number })
219
- ], Input.prototype, "minlength", void 0);
220
- __decorate([
221
- property({ type: Number })
222
- ], Input.prototype, "maxlength", void 0);
223
- __decorate([
224
- property({ type: String })
225
- ], Input.prototype, "src", void 0);
226
- __decorate([
227
- property({ type: Boolean, reflect: true })
228
- ], Input.prototype, "inlineContent", void 0);
229
- __decorate([
230
- property({ type: Boolean })
231
- ], Input.prototype, "disableInlineContentFocus", void 0);
232
- __decorate([
233
- property({ type: Boolean })
234
- ], Input.prototype, "showPasswordToggle", void 0);
235
- __decorate([
236
- queryAssignedNodes({ slot: "label", flatten: true })
237
- ], Input.prototype, "slotLabelNodes", void 0);
238
- __decorate([
239
- queryAssignedNodes({ slot: "description", flatten: true })
240
- ], Input.prototype, "slotDescriptionNodes", void 0);
241
- __decorate([
242
- queryAssignedNodes({ slot: "suffix", flatten: true })
243
- ], Input.prototype, "slotSuffixNodes", void 0);
244
- __decorate([
245
- queryAssignedNodes({ slot: "prefix", flatten: true })
246
- ], Input.prototype, "slotPrefixNodes", void 0);
247
- __decorate([
248
- query("input")
249
- ], Input.prototype, "input", void 0);
250
- __decorate([
251
- state()
252
- ], Input.prototype, "hasDescription", void 0);
253
- __decorate([
254
- state()
255
- ], Input.prototype, "hasLabel", void 0);
256
- __decorate([
257
- state()
258
- ], Input.prototype, "hasSuffix", void 0);
259
- __decorate([
260
- state()
261
- ], Input.prototype, "hasPrefix", void 0);
262
- __decorate([
263
- state()
264
- ], Input.prototype, "isPassword", void 0);
265
- Input = __decorate([
266
- customElement(tagName)
267
- ], Input);
268
- export { Input };
@@ -1,25 +0,0 @@
1
- import { LitElement, nothing } from "lit";
2
- import "@supersoniks/concorde/core/components/ui/icon/icon";
3
- declare const SonicComponent_base: (new (...args: any[]) => import("../../../../mixins/Subscriber").SubscriberInterface<import("../../../../_types/types").CoreJSType>) & typeof LitElement;
4
- export declare class SonicComponent extends SonicComponent_base {
5
- name?: string;
6
- minChars: number;
7
- hasNoChar: boolean;
8
- hasEnoughChars: boolean;
9
- hasMinuscule: boolean;
10
- hasMajuscule: boolean;
11
- hasNumber: boolean;
12
- hasSpecialChar: boolean;
13
- wording_password_helper_decription: string;
14
- wording_password_helper_min_length: string;
15
- wording_password_helper_lower_case: string;
16
- wording_password_helper_upper_case: string;
17
- wording_password_helper_number: string;
18
- wording_password_helper_special_char: string;
19
- checkValue?: (v: string) => void;
20
- connectedCallback(): void;
21
- disconnectedCallback(): void;
22
- getIcon(test: boolean): import("lit-html").TemplateResult<1>;
23
- render(): import("lit-html").TemplateResult<1> | typeof nothing;
24
- }
25
- export {};
@@ -1,119 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { html, LitElement, nothing } from "lit";
8
- import { customElement, property, state } from "lit/decorators.js";
9
- import { Subscriber } from "@supersoniks/concorde/mixins";
10
- import { PublisherManager } from "@supersoniks/concorde/utils";
11
- import "@supersoniks/concorde/core/components/ui/icon/icon";
12
- const tagName = "sonic-password-helper"; // For Astro.build
13
- let SonicComponent = class SonicComponent extends Subscriber(LitElement) {
14
- constructor() {
15
- super(...arguments);
16
- this.minChars = 8;
17
- this.hasNoChar = true;
18
- this.hasEnoughChars = false;
19
- this.hasMinuscule = false;
20
- this.hasMajuscule = false;
21
- this.hasNumber = false;
22
- this.hasSpecialChar = false;
23
- this.wording_password_helper_decription = "Le mot de passe doit contenir au moins :";
24
- this.wording_password_helper_min_length = "8 caractères";
25
- this.wording_password_helper_lower_case = "1 minuscule";
26
- this.wording_password_helper_upper_case = "1 majuscule";
27
- this.wording_password_helper_number = "1 chiffre";
28
- this.wording_password_helper_special_char = "1 caractère spécial";
29
- }
30
- connectedCallback() {
31
- super.connectedCallback();
32
- if (this.name) {
33
- this.checkValue = (v) => {
34
- if (v) {
35
- this.hasNoChar = v.length == 0;
36
- this.hasEnoughChars = v.length > this.minChars;
37
- }
38
- else {
39
- this.hasNoChar = true;
40
- this.hasEnoughChars = false;
41
- }
42
- this.hasMinuscule = /[a-z]/.test(v);
43
- this.hasMajuscule = /[A-Z]/.test(v);
44
- this.hasNumber = /[0-9]/.test(v);
45
- this.hasSpecialChar = /[!"#$%&'()*+,\-./:;<=>?@[\]^_`{|}~]/.test(v);
46
- };
47
- PublisherManager.get(this.getAncestorAttributeValue("formDataProvider"))[this.name].onAssign(this.checkValue);
48
- }
49
- }
50
- disconnectedCallback() {
51
- if (this.checkValue && this.name) {
52
- PublisherManager.get(this.getAncestorAttributeValue("formDataProvider"))[this.name].offAssign(this.checkValue);
53
- }
54
- super.disconnectedCallback();
55
- }
56
- getIcon(test) {
57
- return test
58
- ? html `<sonic-icon library="heroicons" name="face-smile"></sonic-icon>`
59
- : html `<sonic-icon library="heroicons" name="x-mark"></sonic-icon>`;
60
- }
61
- render() {
62
- if (this.hasNoChar)
63
- return nothing;
64
- return html `
65
- <div>${this.wording_password_helper_decription}</div>
66
- <div>${this.getIcon(this.hasEnoughChars)} ${this.wording_password_helper_min_length}</div>
67
- <div>${this.getIcon(this.hasMinuscule)} ${this.wording_password_helper_lower_case}</div>
68
- <div>${this.getIcon(this.hasMajuscule)} ${this.wording_password_helper_upper_case}</div>
69
- <div>${this.getIcon(this.hasNumber)} ${this.wording_password_helper_number}</div>
70
- <div>${this.getIcon(this.hasSpecialChar)} ${this.wording_password_helper_special_char}</div>
71
- `;
72
- }
73
- };
74
- __decorate([
75
- property()
76
- ], SonicComponent.prototype, "name", void 0);
77
- __decorate([
78
- property()
79
- ], SonicComponent.prototype, "minChars", void 0);
80
- __decorate([
81
- state()
82
- ], SonicComponent.prototype, "hasNoChar", void 0);
83
- __decorate([
84
- state()
85
- ], SonicComponent.prototype, "hasEnoughChars", void 0);
86
- __decorate([
87
- state()
88
- ], SonicComponent.prototype, "hasMinuscule", void 0);
89
- __decorate([
90
- state()
91
- ], SonicComponent.prototype, "hasMajuscule", void 0);
92
- __decorate([
93
- state()
94
- ], SonicComponent.prototype, "hasNumber", void 0);
95
- __decorate([
96
- state()
97
- ], SonicComponent.prototype, "hasSpecialChar", void 0);
98
- __decorate([
99
- property()
100
- ], SonicComponent.prototype, "wording_password_helper_decription", void 0);
101
- __decorate([
102
- property()
103
- ], SonicComponent.prototype, "wording_password_helper_min_length", void 0);
104
- __decorate([
105
- property()
106
- ], SonicComponent.prototype, "wording_password_helper_lower_case", void 0);
107
- __decorate([
108
- property()
109
- ], SonicComponent.prototype, "wording_password_helper_upper_case", void 0);
110
- __decorate([
111
- property()
112
- ], SonicComponent.prototype, "wording_password_helper_number", void 0);
113
- __decorate([
114
- property()
115
- ], SonicComponent.prototype, "wording_password_helper_special_char", void 0);
116
- SonicComponent = __decorate([
117
- customElement(tagName)
118
- ], SonicComponent);
119
- export { SonicComponent };
@@ -1,16 +0,0 @@
1
- import { LitElement, nothing } from "lit";
2
- import "@supersoniks/concorde/core/components/ui/icon/icon";
3
- declare const SonicComponent_base: (new (...args: any[]) => import("../../../../mixins/Subscriber").SubscriberInterface<import("../../../../_types/types").CoreJSType>) & typeof LitElement;
4
- export declare class SonicComponent extends SonicComponent_base {
5
- name?: string;
6
- sameValueAs?: string;
7
- descriptionWhenEqual: string;
8
- descriptionWhenNotEqual: string;
9
- areEqual: boolean;
10
- hasNoChar: boolean;
11
- checkValue?: (v: string) => void;
12
- connectedCallback(): void;
13
- disconnectedCallback(): void;
14
- render(): import("lit-html").TemplateResult<1> | typeof nothing;
15
- }
16
- export {};
@@ -1,77 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { html, LitElement, nothing } from "lit";
8
- import { customElement, property, state } from "lit/decorators.js";
9
- import { Subscriber } from "@supersoniks/concorde/mixins";
10
- import { PublisherManager } from "@supersoniks/concorde/utils";
11
- import "@supersoniks/concorde/core/components/ui/icon/icon";
12
- import { unsafeHTML } from "lit/directives/unsafe-html.js";
13
- const tagName = "sonic-same-value-helper"; // For Astro.build
14
- let SonicComponent = class SonicComponent extends Subscriber(LitElement) {
15
- constructor() {
16
- super(...arguments);
17
- this.descriptionWhenEqual = "Correspondance : oui";
18
- this.descriptionWhenNotEqual = "Correspondance : non";
19
- this.areEqual = false;
20
- this.hasNoChar = true;
21
- }
22
- connectedCallback() {
23
- super.connectedCallback();
24
- const formDataProvider = PublisherManager.get(this.getAncestorAttributeValue("formDataProvider"));
25
- if (this.name && this.sameValueAs) {
26
- this.checkValue = (v) => {
27
- if (v)
28
- this.hasNoChar = v.length == 0;
29
- else
30
- this.hasNoChar = true;
31
- if (this.name && this.sameValueAs) {
32
- this.areEqual = formDataProvider[this.name].get() == formDataProvider[this.sameValueAs].get();
33
- }
34
- };
35
- formDataProvider[this.name].onAssign(this.checkValue);
36
- formDataProvider[this.sameValueAs].onAssign(this.checkValue);
37
- }
38
- }
39
- disconnectedCallback() {
40
- if (this.checkValue && this.name && this.sameValueAs) {
41
- const formDataProvider = PublisherManager.get(this.getAncestorAttributeValue("formDataProvider"));
42
- formDataProvider[this.name].offAssign(this.checkValue);
43
- formDataProvider[this.sameValueAs].offAssign(this.checkValue);
44
- }
45
- super.disconnectedCallback();
46
- }
47
- //TODO Multilangue
48
- render() {
49
- if (this.hasNoChar)
50
- return nothing;
51
- return html `
52
- <span> ${this.areEqual ? unsafeHTML(this.descriptionWhenEqual) : unsafeHTML(this.descriptionWhenNotEqual)} </span>
53
- `;
54
- }
55
- };
56
- __decorate([
57
- property()
58
- ], SonicComponent.prototype, "name", void 0);
59
- __decorate([
60
- property()
61
- ], SonicComponent.prototype, "sameValueAs", void 0);
62
- __decorate([
63
- property()
64
- ], SonicComponent.prototype, "descriptionWhenEqual", void 0);
65
- __decorate([
66
- property()
67
- ], SonicComponent.prototype, "descriptionWhenNotEqual", void 0);
68
- __decorate([
69
- state()
70
- ], SonicComponent.prototype, "areEqual", void 0);
71
- __decorate([
72
- state()
73
- ], SonicComponent.prototype, "hasNoChar", void 0);
74
- SonicComponent = __decorate([
75
- customElement(tagName)
76
- ], SonicComponent);
77
- export { SonicComponent };