@lion/ui 0.6.0-alpha.1 → 0.6.0-alpha.3

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 (313) hide show
  1. package/components/checkbox-group/src/LionCheckboxIndeterminate.js +17 -2
  2. package/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.js +3 -0
  3. package/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.js +435 -396
  4. package/components/form/src/LionForm.js +24 -0
  5. package/components/form/test/lion-form.test.js +66 -2
  6. package/components/form-core/src/FormControlMixin.js +17 -1
  7. package/components/form-core/src/form-group/FormGroupMixin.js +5 -6
  8. package/components/form-core/test/FormControlMixin.test.js +39 -20
  9. package/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js +0 -47
  10. package/components/form-core/test-suites/form-group/FormGroupMixin.suite.js +21 -3
  11. package/components/input-range/src/LionInputRange.js +36 -4
  12. package/components/input-range/src/localizeNamespaceLoader.js +75 -0
  13. package/components/input-range/test/lion-input-range.test.js +6 -6
  14. package/components/input-range/translations/bg-BG.js +5 -0
  15. package/components/input-range/translations/bg.js +4 -0
  16. package/components/input-range/translations/cs-CZ.js +5 -0
  17. package/components/input-range/translations/cs.js +4 -0
  18. package/components/input-range/translations/de-DE.js +5 -0
  19. package/components/input-range/translations/de.js +4 -0
  20. package/components/input-range/translations/en-AU.js +5 -0
  21. package/components/input-range/translations/en-GB.js +5 -0
  22. package/components/input-range/translations/en-PH.js +5 -0
  23. package/components/input-range/translations/en-US.js +5 -0
  24. package/components/input-range/translations/en.js +4 -0
  25. package/components/input-range/translations/es-ES.js +5 -0
  26. package/components/input-range/translations/es.js +4 -0
  27. package/components/input-range/translations/fr-BE.js +5 -0
  28. package/components/input-range/translations/fr-FR.js +5 -0
  29. package/components/input-range/translations/fr.js +4 -0
  30. package/components/input-range/translations/hu-HU.js +5 -0
  31. package/components/input-range/translations/hu.js +4 -0
  32. package/components/input-range/translations/it-IT.js +5 -0
  33. package/components/input-range/translations/it.js +4 -0
  34. package/components/input-range/translations/nl-BE.js +5 -0
  35. package/components/input-range/translations/nl-NL.js +5 -0
  36. package/components/input-range/translations/nl.js +4 -0
  37. package/components/input-range/translations/pl-PL.js +5 -0
  38. package/components/input-range/translations/pl.js +4 -0
  39. package/components/input-range/translations/ro-RO.js +5 -0
  40. package/components/input-range/translations/ro.js +4 -0
  41. package/components/input-range/translations/ru-RU.js +5 -0
  42. package/components/input-range/translations/ru.js +4 -0
  43. package/components/input-range/translations/sk-SK.js +5 -0
  44. package/components/input-range/translations/sk.js +4 -0
  45. package/components/input-range/translations/uk-UA.js +5 -0
  46. package/components/input-range/translations/uk.js +4 -0
  47. package/components/input-range/translations/zh-CN.js +5 -0
  48. package/components/input-range/translations/zh.js +4 -0
  49. package/components/input-stepper/src/LionInputStepper.js +53 -33
  50. package/components/input-stepper/src/localizeNamespaceLoader.js +75 -0
  51. package/components/input-stepper/test/lion-input-stepper.test.js +61 -8
  52. package/components/input-stepper/translations/bg-BG.js +5 -0
  53. package/components/input-stepper/translations/bg.js +4 -0
  54. package/components/input-stepper/translations/cs-CZ.js +5 -0
  55. package/components/input-stepper/translations/cs.js +4 -0
  56. package/components/input-stepper/translations/de-DE.js +5 -0
  57. package/components/input-stepper/translations/de.js +4 -0
  58. package/components/input-stepper/translations/en-AU.js +5 -0
  59. package/components/input-stepper/translations/en-GB.js +5 -0
  60. package/components/input-stepper/translations/en-US.js +5 -0
  61. package/components/input-stepper/translations/en.js +4 -0
  62. package/components/input-stepper/translations/es-ES.js +5 -0
  63. package/components/input-stepper/translations/es.js +4 -0
  64. package/components/input-stepper/translations/fr-BE.js +5 -0
  65. package/components/input-stepper/translations/fr-FR.js +5 -0
  66. package/components/input-stepper/translations/fr.js +4 -0
  67. package/components/input-stepper/translations/hu-HU.js +5 -0
  68. package/components/input-stepper/translations/hu.js +4 -0
  69. package/components/input-stepper/translations/it-IT.js +5 -0
  70. package/components/input-stepper/translations/it.js +4 -0
  71. package/components/input-stepper/translations/nl-BE.js +5 -0
  72. package/components/input-stepper/translations/nl-NL.js +5 -0
  73. package/components/input-stepper/translations/nl.js +4 -0
  74. package/components/input-stepper/translations/pl-PL.js +5 -0
  75. package/components/input-stepper/translations/pl.js +4 -0
  76. package/components/input-stepper/translations/ro-RO.js +5 -0
  77. package/components/input-stepper/translations/ro.js +4 -0
  78. package/components/input-stepper/translations/ru-RU.js +5 -0
  79. package/components/input-stepper/translations/ru.js +4 -0
  80. package/components/input-stepper/translations/sk-SK.js +5 -0
  81. package/components/input-stepper/translations/sk.js +4 -0
  82. package/components/input-stepper/translations/uk-UA.js +5 -0
  83. package/components/input-stepper/translations/uk.js +4 -0
  84. package/components/input-stepper/translations/zh.js +4 -0
  85. package/components/validate-messages/src/getLocalizedMessage.js +111 -0
  86. package/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.js +9 -179
  87. package/components/validate-messages/src/per-entrypoint/README.md +16 -0
  88. package/components/validate-messages/src/per-entrypoint/loadComboboxMessagesNoSideEffects.js +22 -0
  89. package/components/validate-messages/src/per-entrypoint/loadFormCoreMessagesNoSideEffects.js +77 -0
  90. package/components/validate-messages/src/per-entrypoint/loadInputTelMessagesNoSideEffects.js +39 -0
  91. package/custom-elements.json +1651 -12
  92. package/dist-types/components/checkbox-group/src/LionCheckboxIndeterminate.d.ts +7 -1
  93. package/dist-types/components/checkbox-group/src/LionCheckboxIndeterminate.d.ts.map +1 -1
  94. package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts.map +1 -1
  95. package/dist-types/components/form/src/LionForm.d.ts +6 -0
  96. package/dist-types/components/form/src/LionForm.d.ts.map +1 -1
  97. package/dist-types/components/form-core/src/FormControlMixin.d.ts.map +1 -1
  98. package/dist-types/components/form-core/src/form-group/FormGroupMixin.d.ts.map +1 -1
  99. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts.map +1 -1
  100. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts.map +1 -1
  101. package/dist-types/components/input-range/src/LionInputRange.d.ts +7 -1
  102. package/dist-types/components/input-range/src/LionInputRange.d.ts.map +1 -1
  103. package/dist-types/components/input-range/src/localizeNamespaceLoader.d.ts +2 -0
  104. package/dist-types/components/input-range/src/localizeNamespaceLoader.d.ts.map +1 -0
  105. package/dist-types/components/input-range/translations/bg-BG.d.ts +6 -0
  106. package/dist-types/components/input-range/translations/bg-BG.d.ts.map +1 -0
  107. package/dist-types/components/input-range/translations/bg.d.ts +6 -0
  108. package/dist-types/components/input-range/translations/bg.d.ts.map +1 -0
  109. package/dist-types/components/input-range/translations/cs-CZ.d.ts +6 -0
  110. package/dist-types/components/input-range/translations/cs-CZ.d.ts.map +1 -0
  111. package/dist-types/components/input-range/translations/cs.d.ts +6 -0
  112. package/dist-types/components/input-range/translations/cs.d.ts.map +1 -0
  113. package/dist-types/components/input-range/translations/de-DE.d.ts +6 -0
  114. package/dist-types/components/input-range/translations/de-DE.d.ts.map +1 -0
  115. package/dist-types/components/input-range/translations/de.d.ts +6 -0
  116. package/dist-types/components/input-range/translations/de.d.ts.map +1 -0
  117. package/dist-types/components/input-range/translations/en-AU.d.ts +6 -0
  118. package/dist-types/components/input-range/translations/en-AU.d.ts.map +1 -0
  119. package/dist-types/components/input-range/translations/en-GB.d.ts +6 -0
  120. package/dist-types/components/input-range/translations/en-GB.d.ts.map +1 -0
  121. package/dist-types/components/input-range/translations/en-PH.d.ts +6 -0
  122. package/dist-types/components/input-range/translations/en-PH.d.ts.map +1 -0
  123. package/dist-types/components/input-range/translations/en-US.d.ts +6 -0
  124. package/dist-types/components/input-range/translations/en-US.d.ts.map +1 -0
  125. package/dist-types/components/input-range/translations/en.d.ts +6 -0
  126. package/dist-types/components/input-range/translations/en.d.ts.map +1 -0
  127. package/dist-types/components/input-range/translations/es-ES.d.ts +6 -0
  128. package/dist-types/components/input-range/translations/es-ES.d.ts.map +1 -0
  129. package/dist-types/components/input-range/translations/es.d.ts +6 -0
  130. package/dist-types/components/input-range/translations/es.d.ts.map +1 -0
  131. package/dist-types/components/input-range/translations/fr-BE.d.ts +6 -0
  132. package/dist-types/components/input-range/translations/fr-BE.d.ts.map +1 -0
  133. package/dist-types/components/input-range/translations/fr-FR.d.ts +6 -0
  134. package/dist-types/components/input-range/translations/fr-FR.d.ts.map +1 -0
  135. package/dist-types/components/input-range/translations/fr.d.ts +6 -0
  136. package/dist-types/components/input-range/translations/fr.d.ts.map +1 -0
  137. package/dist-types/components/input-range/translations/hu-HU.d.ts +6 -0
  138. package/dist-types/components/input-range/translations/hu-HU.d.ts.map +1 -0
  139. package/dist-types/components/input-range/translations/hu.d.ts +6 -0
  140. package/dist-types/components/input-range/translations/hu.d.ts.map +1 -0
  141. package/dist-types/components/input-range/translations/it-IT.d.ts +6 -0
  142. package/dist-types/components/input-range/translations/it-IT.d.ts.map +1 -0
  143. package/dist-types/components/input-range/translations/it.d.ts +6 -0
  144. package/dist-types/components/input-range/translations/it.d.ts.map +1 -0
  145. package/dist-types/components/input-range/translations/nl-BE.d.ts +6 -0
  146. package/dist-types/components/input-range/translations/nl-BE.d.ts.map +1 -0
  147. package/dist-types/components/input-range/translations/nl-NL.d.ts +6 -0
  148. package/dist-types/components/input-range/translations/nl-NL.d.ts.map +1 -0
  149. package/dist-types/components/input-range/translations/nl.d.ts +6 -0
  150. package/dist-types/components/input-range/translations/nl.d.ts.map +1 -0
  151. package/dist-types/components/input-range/translations/pl-PL.d.ts +6 -0
  152. package/dist-types/components/input-range/translations/pl-PL.d.ts.map +1 -0
  153. package/dist-types/components/input-range/translations/pl.d.ts +6 -0
  154. package/dist-types/components/input-range/translations/pl.d.ts.map +1 -0
  155. package/dist-types/components/input-range/translations/ro-RO.d.ts +6 -0
  156. package/dist-types/components/input-range/translations/ro-RO.d.ts.map +1 -0
  157. package/dist-types/components/input-range/translations/ro.d.ts +6 -0
  158. package/dist-types/components/input-range/translations/ro.d.ts.map +1 -0
  159. package/dist-types/components/input-range/translations/ru-RU.d.ts +6 -0
  160. package/dist-types/components/input-range/translations/ru-RU.d.ts.map +1 -0
  161. package/dist-types/components/input-range/translations/ru.d.ts +6 -0
  162. package/dist-types/components/input-range/translations/ru.d.ts.map +1 -0
  163. package/dist-types/components/input-range/translations/sk-SK.d.ts +6 -0
  164. package/dist-types/components/input-range/translations/sk-SK.d.ts.map +1 -0
  165. package/dist-types/components/input-range/translations/sk.d.ts +6 -0
  166. package/dist-types/components/input-range/translations/sk.d.ts.map +1 -0
  167. package/dist-types/components/input-range/translations/uk-UA.d.ts +6 -0
  168. package/dist-types/components/input-range/translations/uk-UA.d.ts.map +1 -0
  169. package/dist-types/components/input-range/translations/uk.d.ts +6 -0
  170. package/dist-types/components/input-range/translations/uk.d.ts.map +1 -0
  171. package/dist-types/components/input-range/translations/zh-CN.d.ts +6 -0
  172. package/dist-types/components/input-range/translations/zh-CN.d.ts.map +1 -0
  173. package/dist-types/components/input-range/translations/zh.d.ts +6 -0
  174. package/dist-types/components/input-range/translations/zh.d.ts.map +1 -0
  175. package/dist-types/components/input-stepper/src/LionInputStepper.d.ts +22 -3
  176. package/dist-types/components/input-stepper/src/LionInputStepper.d.ts.map +1 -1
  177. package/dist-types/components/input-stepper/src/localizeNamespaceLoader.d.ts +2 -0
  178. package/dist-types/components/input-stepper/src/localizeNamespaceLoader.d.ts.map +1 -0
  179. package/dist-types/components/input-stepper/translations/bg-BG.d.ts +6 -0
  180. package/dist-types/components/input-stepper/translations/bg-BG.d.ts.map +1 -0
  181. package/dist-types/components/input-stepper/translations/bg.d.ts +6 -0
  182. package/dist-types/components/input-stepper/translations/bg.d.ts.map +1 -0
  183. package/dist-types/components/input-stepper/translations/cs-CZ.d.ts +6 -0
  184. package/dist-types/components/input-stepper/translations/cs-CZ.d.ts.map +1 -0
  185. package/dist-types/components/input-stepper/translations/cs.d.ts +6 -0
  186. package/dist-types/components/input-stepper/translations/cs.d.ts.map +1 -0
  187. package/dist-types/components/input-stepper/translations/de-DE.d.ts +6 -0
  188. package/dist-types/components/input-stepper/translations/de-DE.d.ts.map +1 -0
  189. package/dist-types/components/input-stepper/translations/de.d.ts +6 -0
  190. package/dist-types/components/input-stepper/translations/de.d.ts.map +1 -0
  191. package/dist-types/components/input-stepper/translations/en-AU.d.ts +6 -0
  192. package/dist-types/components/input-stepper/translations/en-AU.d.ts.map +1 -0
  193. package/dist-types/components/input-stepper/translations/en-GB.d.ts +6 -0
  194. package/dist-types/components/input-stepper/translations/en-GB.d.ts.map +1 -0
  195. package/dist-types/components/input-stepper/translations/en-US.d.ts +6 -0
  196. package/dist-types/components/input-stepper/translations/en-US.d.ts.map +1 -0
  197. package/dist-types/components/input-stepper/translations/en.d.ts +6 -0
  198. package/dist-types/components/input-stepper/translations/en.d.ts.map +1 -0
  199. package/dist-types/components/input-stepper/translations/es-ES.d.ts +6 -0
  200. package/dist-types/components/input-stepper/translations/es-ES.d.ts.map +1 -0
  201. package/dist-types/components/input-stepper/translations/es.d.ts +6 -0
  202. package/dist-types/components/input-stepper/translations/es.d.ts.map +1 -0
  203. package/dist-types/components/input-stepper/translations/fr-BE.d.ts +6 -0
  204. package/dist-types/components/input-stepper/translations/fr-BE.d.ts.map +1 -0
  205. package/dist-types/components/input-stepper/translations/fr-FR.d.ts +6 -0
  206. package/dist-types/components/input-stepper/translations/fr-FR.d.ts.map +1 -0
  207. package/dist-types/components/input-stepper/translations/fr.d.ts +6 -0
  208. package/dist-types/components/input-stepper/translations/fr.d.ts.map +1 -0
  209. package/dist-types/components/input-stepper/translations/hu-HU.d.ts +6 -0
  210. package/dist-types/components/input-stepper/translations/hu-HU.d.ts.map +1 -0
  211. package/dist-types/components/input-stepper/translations/hu.d.ts +6 -0
  212. package/dist-types/components/input-stepper/translations/hu.d.ts.map +1 -0
  213. package/dist-types/components/input-stepper/translations/it-IT.d.ts +6 -0
  214. package/dist-types/components/input-stepper/translations/it-IT.d.ts.map +1 -0
  215. package/dist-types/components/input-stepper/translations/it.d.ts +6 -0
  216. package/dist-types/components/input-stepper/translations/it.d.ts.map +1 -0
  217. package/dist-types/components/input-stepper/translations/nl-BE.d.ts +6 -0
  218. package/dist-types/components/input-stepper/translations/nl-BE.d.ts.map +1 -0
  219. package/dist-types/components/input-stepper/translations/nl-NL.d.ts +6 -0
  220. package/dist-types/components/input-stepper/translations/nl-NL.d.ts.map +1 -0
  221. package/dist-types/components/input-stepper/translations/nl.d.ts +6 -0
  222. package/dist-types/components/input-stepper/translations/nl.d.ts.map +1 -0
  223. package/dist-types/components/input-stepper/translations/pl-PL.d.ts +6 -0
  224. package/dist-types/components/input-stepper/translations/pl-PL.d.ts.map +1 -0
  225. package/dist-types/components/input-stepper/translations/pl.d.ts +6 -0
  226. package/dist-types/components/input-stepper/translations/pl.d.ts.map +1 -0
  227. package/dist-types/components/input-stepper/translations/ro-RO.d.ts +6 -0
  228. package/dist-types/components/input-stepper/translations/ro-RO.d.ts.map +1 -0
  229. package/dist-types/components/input-stepper/translations/ro.d.ts +6 -0
  230. package/dist-types/components/input-stepper/translations/ro.d.ts.map +1 -0
  231. package/dist-types/components/input-stepper/translations/ru-RU.d.ts +6 -0
  232. package/dist-types/components/input-stepper/translations/ru-RU.d.ts.map +1 -0
  233. package/dist-types/components/input-stepper/translations/ru.d.ts +6 -0
  234. package/dist-types/components/input-stepper/translations/ru.d.ts.map +1 -0
  235. package/dist-types/components/input-stepper/translations/sk-SK.d.ts +6 -0
  236. package/dist-types/components/input-stepper/translations/sk-SK.d.ts.map +1 -0
  237. package/dist-types/components/input-stepper/translations/sk.d.ts +6 -0
  238. package/dist-types/components/input-stepper/translations/sk.d.ts.map +1 -0
  239. package/dist-types/components/input-stepper/translations/uk-UA.d.ts +6 -0
  240. package/dist-types/components/input-stepper/translations/uk-UA.d.ts.map +1 -0
  241. package/dist-types/components/input-stepper/translations/uk.d.ts +6 -0
  242. package/dist-types/components/input-stepper/translations/uk.d.ts.map +1 -0
  243. package/dist-types/components/input-stepper/translations/zh.d.ts +6 -0
  244. package/dist-types/components/input-stepper/translations/zh.d.ts.map +1 -0
  245. package/dist-types/components/validate-messages/src/getLocalizedMessage.d.ts +13 -0
  246. package/dist-types/components/validate-messages/src/getLocalizedMessage.d.ts.map +1 -0
  247. package/dist-types/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.d.ts.map +1 -1
  248. package/dist-types/components/validate-messages/src/per-entrypoint/loadComboboxMessagesNoSideEffects.d.ts +9 -0
  249. package/dist-types/components/validate-messages/src/per-entrypoint/loadComboboxMessagesNoSideEffects.d.ts.map +1 -0
  250. package/dist-types/components/validate-messages/src/per-entrypoint/loadFormCoreMessagesNoSideEffects.d.ts +9 -0
  251. package/dist-types/components/validate-messages/src/per-entrypoint/loadFormCoreMessagesNoSideEffects.d.ts.map +1 -0
  252. package/dist-types/components/validate-messages/src/per-entrypoint/loadInputTelMessagesNoSideEffects.d.ts +9 -0
  253. package/dist-types/components/validate-messages/src/per-entrypoint/loadInputTelMessagesNoSideEffects.d.ts.map +1 -0
  254. package/dist-types/exports/validate-messages-no-side-effects.d.ts +3 -0
  255. package/dist-types/tsconfig.tsbuildinfo +1 -1
  256. package/docs/components/checkbox-group/overview.md +2 -2
  257. package/docs/components/collapsible/overview.md +1 -1
  258. package/docs/components/combobox/overview.md +1 -1
  259. package/docs/components/combobox/use-cases.md +1 -1
  260. package/docs/components/dialog/overview.md +1 -1
  261. package/docs/components/fieldset/overview.md +5 -5
  262. package/docs/components/fieldset/use-cases.md +0 -1
  263. package/docs/components/form/overview.md +22 -11
  264. package/docs/components/form/use-cases.md +10 -14
  265. package/docs/components/icon/use-cases.md +1 -1
  266. package/docs/components/input/overview.md +1 -1
  267. package/docs/components/input-amount/overview.md +3 -3
  268. package/docs/components/input-date/overview.md +3 -3
  269. package/docs/components/input-datepicker/overview.md +5 -5
  270. package/docs/components/input-email/overview.md +2 -2
  271. package/docs/components/input-file/overview.md +1 -1
  272. package/docs/components/input-iban/overview.md +2 -2
  273. package/docs/components/input-range/overview.md +4 -6
  274. package/docs/components/input-range/use-cases.md +40 -48
  275. package/docs/components/input-stepper/overview.md +8 -8
  276. package/docs/components/input-stepper/use-cases.md +30 -21
  277. package/docs/components/input-tel/overview.md +1 -1
  278. package/docs/components/input-tel/use-cases.md +6 -6
  279. package/docs/components/input-tel-dropdown/overview.md +1 -1
  280. package/docs/components/radio-group/overview.md +3 -3
  281. package/docs/components/select-rich/use-cases.md +1 -1
  282. package/docs/components/tabs/examples.md +1 -1
  283. package/docs/fundamentals/index.md +4 -4
  284. package/docs/fundamentals/node-tools/providence-analytics/LocalConfiguration.md +1 -1
  285. package/docs/fundamentals/node-tools/providence-analytics/QueryResult.md +1 -1
  286. package/docs/fundamentals/node-tools/providence-analytics/analyzer.md +1 -1
  287. package/docs/fundamentals/node-tools/providence-analytics/dashboard.md +1 -1
  288. package/docs/fundamentals/node-tools/providence-analytics/overview.md +3 -3
  289. package/docs/fundamentals/node-tools/publish-docs/overview.md +3 -3
  290. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +2 -2
  291. package/docs/fundamentals/rationales/accessibility.md +1 -1
  292. package/docs/fundamentals/systems/core/SlotMixin.md +1 -1
  293. package/docs/fundamentals/systems/core/overview.md +1 -1
  294. package/docs/fundamentals/systems/form/formatting-and-parsing.md +4 -4
  295. package/docs/fundamentals/systems/form/model-value.md +1 -1
  296. package/docs/fundamentals/systems/form/overview.md +28 -28
  297. package/docs/fundamentals/systems/form/use-cases.md +16 -5
  298. package/docs/fundamentals/systems/form/validate.md +1 -1
  299. package/docs/fundamentals/systems/localize/overview.md +4 -4
  300. package/docs/fundamentals/systems/overlays/configuration.md +2 -2
  301. package/docs/fundamentals/systems/overlays/overview.md +5 -5
  302. package/docs/fundamentals/systems/overlays/use-cases.md +2 -2
  303. package/docs/fundamentals/tools/helpers/overview.md +1 -1
  304. package/docs/fundamentals/tools/singleton-manager/overview.md +4 -4
  305. package/docs/guides/how-to/create-a-custom-field.md +5 -5
  306. package/docs/guides/how-to/create-a-form.md +4 -4
  307. package/docs/guides/how-to/extend-a-native-input.md +2 -2
  308. package/docs/guides/index.md +8 -8
  309. package/docs/guides/principles/index.md +5 -5
  310. package/docs/guides/principles/styling.md +1 -1
  311. package/exports/validate-messages-no-side-effects.js +3 -0
  312. package/package.json +3 -1
  313. package/validate-messages-no-side-effects.js +3 -0
@@ -0,0 +1,5 @@
1
+ import nl from './nl.js';
2
+
3
+ export default {
4
+ ...nl,
5
+ };
@@ -0,0 +1,4 @@
1
+ export default {
2
+ decrease: 'Verlagen',
3
+ increase: 'Verhogen',
4
+ };
@@ -0,0 +1,5 @@
1
+ import pl from './pl.js';
2
+
3
+ export default {
4
+ ...pl,
5
+ };
@@ -0,0 +1,4 @@
1
+ export default {
2
+ decrease: 'Zmniejsz',
3
+ increase: 'Zwiększ',
4
+ };
@@ -0,0 +1,5 @@
1
+ import ro from './ro.js';
2
+
3
+ export default {
4
+ ...ro,
5
+ };
@@ -0,0 +1,4 @@
1
+ export default {
2
+ decrease: 'Scădere',
3
+ increase: 'Creștere',
4
+ };
@@ -0,0 +1,5 @@
1
+ import ru from './ru.js';
2
+
3
+ export default {
4
+ ...ru,
5
+ };
@@ -0,0 +1,4 @@
1
+ export default {
2
+ decrease: 'Уменьшить',
3
+ increase: 'Увеличить',
4
+ };
@@ -0,0 +1,5 @@
1
+ import sk from './sk.js';
2
+
3
+ export default {
4
+ ...sk,
5
+ };
@@ -0,0 +1,4 @@
1
+ export default {
2
+ decrease: 'Znížiť',
3
+ increase: 'Zvýšiť',
4
+ };
@@ -0,0 +1,5 @@
1
+ import uk from './uk.js';
2
+
3
+ export default {
4
+ ...uk,
5
+ };
@@ -0,0 +1,4 @@
1
+ export default {
2
+ decrease: 'Зменшити',
3
+ increase: 'Збільшити',
4
+ };
@@ -0,0 +1,4 @@
1
+ export default {
2
+ decrease: '减少',
3
+ increase: '增加',
4
+ };
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @typedef {import('../../form-core/types/validate/validate.js').FeedbackMessageData} FeedbackMessageData
3
+ * @typedef {import('@lion/ui/localize.js').LocalizeManager} LocalizeManager
4
+ */
5
+
6
+ /** @type {Promise<void | object>} */
7
+ let pendingPromise;
8
+
9
+ /**
10
+ * @param {{localize: LocalizeManager}} opts
11
+ */
12
+ export async function loadValidateNamespace({ localize }) {
13
+ if (pendingPromise) {
14
+ return pendingPromise;
15
+ }
16
+
17
+ pendingPromise = localize.loadNamespace(
18
+ {
19
+ 'lion-validate': /** @param {string} locale */ locale => {
20
+ switch (locale) {
21
+ case 'bg-BG':
22
+ return import('@lion/ui/validate-messages-translations/bg-BG.js');
23
+ case 'bg':
24
+ return import('@lion/ui/validate-messages-translations/bg.js');
25
+ case 'cs-CZ':
26
+ return import('@lion/ui/validate-messages-translations/cs-CZ.js');
27
+ case 'cs':
28
+ return import('@lion/ui/validate-messages-translations/cs.js');
29
+ case 'de-DE':
30
+ return import('@lion/ui/validate-messages-translations/de-DE.js');
31
+ case 'de':
32
+ return import('@lion/ui/validate-messages-translations/de.js');
33
+ case 'en-AU':
34
+ return import('@lion/ui/validate-messages-translations/en-AU.js');
35
+ case 'en-GB':
36
+ return import('@lion/ui/validate-messages-translations/en-GB.js');
37
+ case 'en-US':
38
+ return import('@lion/ui/validate-messages-translations/en-US.js');
39
+ case 'en-PH':
40
+ return import('@lion/ui/validate-messages-translations/en-PH.js');
41
+ case 'en':
42
+ return import('@lion/ui/validate-messages-translations/en.js');
43
+ case 'es-ES':
44
+ return import('@lion/ui/validate-messages-translations/es-ES.js');
45
+ case 'es':
46
+ return import('@lion/ui/validate-messages-translations/es.js');
47
+ case 'fr-FR':
48
+ return import('@lion/ui/validate-messages-translations/fr-FR.js');
49
+ case 'fr-BE':
50
+ return import('@lion/ui/validate-messages-translations/fr-BE.js');
51
+ case 'fr':
52
+ return import('@lion/ui/validate-messages-translations/fr.js');
53
+ case 'hu-HU':
54
+ return import('@lion/ui/validate-messages-translations/hu-HU.js');
55
+ case 'hu':
56
+ return import('@lion/ui/validate-messages-translations/hu.js');
57
+ case 'it-IT':
58
+ return import('@lion/ui/validate-messages-translations/it-IT.js');
59
+ case 'it':
60
+ return import('@lion/ui/validate-messages-translations/it.js');
61
+ case 'nl-BE':
62
+ return import('@lion/ui/validate-messages-translations/nl-BE.js');
63
+ case 'nl-NL':
64
+ return import('@lion/ui/validate-messages-translations/nl-NL.js');
65
+ case 'nl':
66
+ return import('@lion/ui/validate-messages-translations/nl.js');
67
+ case 'pl-PL':
68
+ return import('@lion/ui/validate-messages-translations/pl-PL.js');
69
+ case 'pl':
70
+ return import('@lion/ui/validate-messages-translations/pl.js');
71
+ case 'ro-RO':
72
+ return import('@lion/ui/validate-messages-translations/ro-RO.js');
73
+ case 'ro':
74
+ return import('@lion/ui/validate-messages-translations/ro.js');
75
+ case 'ru-RU':
76
+ return import('@lion/ui/validate-messages-translations/ru-RU.js');
77
+ case 'ru':
78
+ return import('@lion/ui/validate-messages-translations/ru.js');
79
+ case 'sk-SK':
80
+ return import('@lion/ui/validate-messages-translations/sk-SK.js');
81
+ case 'sk':
82
+ return import('@lion/ui/validate-messages-translations/sk.js');
83
+ case 'uk-UA':
84
+ return import('@lion/ui/validate-messages-translations/uk-UA.js');
85
+ case 'uk':
86
+ return import('@lion/ui/validate-messages-translations/uk.js');
87
+ case 'zh-CN':
88
+ case 'zh':
89
+ return import('@lion/ui/validate-messages-translations/zh.js');
90
+ default:
91
+ return import('@lion/ui/validate-messages-translations/en.js');
92
+ }
93
+ },
94
+ },
95
+ { locale: localize.locale },
96
+ );
97
+
98
+ return pendingPromise;
99
+ }
100
+
101
+ /**
102
+ * @param {{data:FeedbackMessageData; localize: LocalizeManager}} opts
103
+ * @returns {Promise<string|Element>}
104
+ */
105
+ export const getLocalizedMessage = async ({ data, localize }) => {
106
+ await loadValidateNamespace({ localize });
107
+ if (data) {
108
+ return localize.msg(`lion-validate:${data.type}.${data.name}`, data);
109
+ }
110
+ return '';
111
+ };
@@ -1,197 +1,27 @@
1
1
  /* eslint-disable import/no-extraneous-dependencies */
2
- import { MatchesOption } from '@lion/ui/combobox.js';
3
- import {
4
- DefaultSuccess,
5
- EqualsLength,
6
- IsDate,
7
- IsDateDisabled,
8
- IsEmail,
9
- IsNumber,
10
- MaxDate,
11
- MaxLength,
12
- MaxNumber,
13
- MinDate,
14
- MinLength,
15
- MinMaxDate,
16
- MinMaxLength,
17
- MinMaxNumber,
18
- MinNumber,
19
- Pattern,
20
- Required,
21
- } from '@lion/ui/form-core.js';
22
- import { PhoneNumber } from '@lion/ui/input-tel.js';
2
+ import { loadComboboxMessagesNoSideEffects } from './per-entrypoint/loadComboboxMessagesNoSideEffects.js';
3
+ import { loadFormCoreMessagesNoSideEffects } from './per-entrypoint/loadFormCoreMessagesNoSideEffects.js';
4
+ import { loadInputTelMessagesNoSideEffects } from './per-entrypoint/loadInputTelMessagesNoSideEffects.js';
23
5
 
24
6
  /**
25
7
  * @typedef {import('../../form-core/types/validate/validate.js').FeedbackMessageData} FeedbackMessageData
26
8
  * @typedef {import('@lion/ui/localize.js').LocalizeManager} LocalizeManager
27
9
  */
28
10
 
29
- let loaded = false;
11
+ let isLoaded = false;
30
12
 
31
13
  /**
32
14
  * @param {{localize: LocalizeManager}} opts allow multiple lion/extension lib versions to provide their deduped instance of LocalizeManager
33
15
  * @returns
34
16
  */
35
17
  export function loadDefaultFeedbackMessagesNoSideEffects({ localize }) {
36
- if (loaded === true) {
18
+ if (isLoaded === true) {
37
19
  return;
38
20
  }
39
21
 
40
- const forMessagesToBeReady = () =>
41
- localize.loadNamespace(
42
- {
43
- 'lion-validate': /** @param {string} locale */ locale => {
44
- switch (locale) {
45
- case 'bg-BG':
46
- return import('@lion/ui/validate-messages-translations/bg-BG.js');
47
- case 'bg':
48
- return import('@lion/ui/validate-messages-translations/bg.js');
49
- case 'cs-CZ':
50
- return import('@lion/ui/validate-messages-translations/cs-CZ.js');
51
- case 'cs':
52
- return import('@lion/ui/validate-messages-translations/cs.js');
53
- case 'de-DE':
54
- return import('@lion/ui/validate-messages-translations/de-DE.js');
55
- case 'de':
56
- return import('@lion/ui/validate-messages-translations/de.js');
57
- case 'en-AU':
58
- return import('@lion/ui/validate-messages-translations/en-AU.js');
59
- case 'en-GB':
60
- return import('@lion/ui/validate-messages-translations/en-GB.js');
61
- case 'en-US':
62
- return import('@lion/ui/validate-messages-translations/en-US.js');
63
- case 'en-PH':
64
- return import('@lion/ui/validate-messages-translations/en-PH.js');
65
- case 'en':
66
- return import('@lion/ui/validate-messages-translations/en.js');
67
- case 'es-ES':
68
- return import('@lion/ui/validate-messages-translations/es-ES.js');
69
- case 'es':
70
- return import('@lion/ui/validate-messages-translations/es.js');
71
- case 'fr-FR':
72
- return import('@lion/ui/validate-messages-translations/fr-FR.js');
73
- case 'fr-BE':
74
- return import('@lion/ui/validate-messages-translations/fr-BE.js');
75
- case 'fr':
76
- return import('@lion/ui/validate-messages-translations/fr.js');
77
- case 'hu-HU':
78
- return import('@lion/ui/validate-messages-translations/hu-HU.js');
79
- case 'hu':
80
- return import('@lion/ui/validate-messages-translations/hu.js');
81
- case 'it-IT':
82
- return import('@lion/ui/validate-messages-translations/it-IT.js');
83
- case 'it':
84
- return import('@lion/ui/validate-messages-translations/it.js');
85
- case 'nl-BE':
86
- return import('@lion/ui/validate-messages-translations/nl-BE.js');
87
- case 'nl-NL':
88
- return import('@lion/ui/validate-messages-translations/nl-NL.js');
89
- case 'nl':
90
- return import('@lion/ui/validate-messages-translations/nl.js');
91
- case 'pl-PL':
92
- return import('@lion/ui/validate-messages-translations/pl-PL.js');
93
- case 'pl':
94
- return import('@lion/ui/validate-messages-translations/pl.js');
95
- case 'ro-RO':
96
- return import('@lion/ui/validate-messages-translations/ro-RO.js');
97
- case 'ro':
98
- return import('@lion/ui/validate-messages-translations/ro.js');
99
- case 'ru-RU':
100
- return import('@lion/ui/validate-messages-translations/ru-RU.js');
101
- case 'ru':
102
- return import('@lion/ui/validate-messages-translations/ru.js');
103
- case 'sk-SK':
104
- return import('@lion/ui/validate-messages-translations/sk-SK.js');
105
- case 'sk':
106
- return import('@lion/ui/validate-messages-translations/sk.js');
107
- case 'uk-UA':
108
- return import('@lion/ui/validate-messages-translations/uk-UA.js');
109
- case 'uk':
110
- return import('@lion/ui/validate-messages-translations/uk.js');
111
- case 'zh-CN':
112
- case 'zh':
113
- return import('@lion/ui/validate-messages-translations/zh.js');
114
- default:
115
- return import('@lion/ui/validate-messages-translations/en.js');
116
- }
117
- },
118
- },
119
- { locale: localize.locale },
120
- );
22
+ loadComboboxMessagesNoSideEffects({ localize });
23
+ loadFormCoreMessagesNoSideEffects({ localize });
24
+ loadInputTelMessagesNoSideEffects({ localize });
121
25
 
122
- /**
123
- * @param {FeedbackMessageData} data
124
- * @returns {Promise<string|Element>}
125
- */
126
- const getLocalizedMessage = async data => {
127
- await forMessagesToBeReady();
128
- if (data) {
129
- return localize.msg(`lion-validate:${data.type}.${data.name}`, data);
130
- }
131
- return '';
132
- };
133
-
134
- /** @param {FeedbackMessageData} data */
135
- Required.getMessage = async data => getLocalizedMessage(data);
136
- /** @param {FeedbackMessageData} data */
137
- EqualsLength.getMessage = async data => getLocalizedMessage(data);
138
- /** @param {FeedbackMessageData} data */
139
- MinLength.getMessage = async data => getLocalizedMessage(data);
140
- /** @param {FeedbackMessageData} data */
141
- MaxLength.getMessage = async data => getLocalizedMessage(data);
142
- /** @param {FeedbackMessageData} data */
143
- MinMaxLength.getMessage = async data => getLocalizedMessage(data);
144
- /** @param {FeedbackMessageData} data */
145
- Pattern.getMessage = async data => getLocalizedMessage(data);
146
- /** @param {FeedbackMessageData} data */
147
- IsEmail.getMessage = async data => getLocalizedMessage(data);
148
- /** @param {FeedbackMessageData} data */
149
- IsNumber.getMessage = async data => getLocalizedMessage(data);
150
- /** @param {FeedbackMessageData} data */
151
- MinNumber.getMessage = async data => getLocalizedMessage(data);
152
- /** @param {FeedbackMessageData} data */
153
- MaxNumber.getMessage = async data => getLocalizedMessage(data);
154
- /** @param {FeedbackMessageData} data */
155
- MinMaxNumber.getMessage = async data => getLocalizedMessage(data);
156
- /** @param {FeedbackMessageData} data */
157
- IsDate.getMessage = async data => getLocalizedMessage(data);
158
- /** @param {FeedbackMessageData} data */
159
- MinDate.getMessage = async data => getLocalizedMessage(data);
160
- /** @param {FeedbackMessageData} data */
161
- MaxDate.getMessage = async data => getLocalizedMessage(data);
162
- /** @param {FeedbackMessageData} data */
163
- MinMaxDate.getMessage = async data => getLocalizedMessage(data);
164
- /** @param {FeedbackMessageData} data */
165
- IsDateDisabled.getMessage = async data => getLocalizedMessage(data);
166
- /** @param {FeedbackMessageData} data */
167
- MatchesOption.getMessage = async data => getLocalizedMessage(data);
168
-
169
- DefaultSuccess.getMessage = async data => {
170
- await forMessagesToBeReady();
171
- const randomKeys = localize.msg('lion-validate:success.RandomOk').split(',');
172
- const key = randomKeys[Math.floor(Math.random() * randomKeys.length)].trim();
173
- return localize.msg(`lion-validate:${key}`, data);
174
- };
175
-
176
- /** @param {FeedbackMessageData} data */
177
- // @ts-ignore
178
- PhoneNumber.getMessage = async data => {
179
- await forMessagesToBeReady();
180
- const { type, outcome } = data;
181
- if (outcome === 'too-long') {
182
- // TODO: get max-length of country and use MaxLength validator
183
- return localize.msg(`lion-validate:${type}.Pattern`, data);
184
- }
185
- if (outcome === 'too-short') {
186
- // TODO: get min-length of country and use MinLength validator
187
- return localize.msg(`lion-validate:${type}.Pattern`, data);
188
- }
189
- // TODO: add a more specific message here
190
- if (outcome === 'invalid-country-code') {
191
- return localize.msg(`lion-validate:${type}.Pattern`, data);
192
- }
193
- return localize.msg(`lion-validate:${type}.Pattern`, data);
194
- };
195
-
196
- loaded = true;
26
+ isLoaded = true;
197
27
  }
@@ -0,0 +1,16 @@
1
+ For optimized bundling, it's reccommended to load feedback messages per entrypoint. For instance, when you only use form-core in your app:
2
+
3
+ ```js
4
+ import { LionInputTel } from '@lion/ui/input-tel.js';
5
+ import { getLocalizeManager } from '@lion/ui/localize-no-side-effects.js';
6
+ import { loadInputTelMessagesNoSideEffects } from '@lion/ui/validate-messages-no-side-effects.js';
7
+
8
+ export class MyInputTel extends LionInputTel {
9
+ constructor() {
10
+ super();
11
+ loadInputTelMessagesNoSideEffects({ localize: getLocalizeManager() });
12
+ }
13
+ }
14
+ ```
15
+
16
+ This prevents you from loading unused entrypoints like input-tel (which loads a full phone validation library) etc.
@@ -0,0 +1,22 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
2
+ import { MatchesOption } from '@lion/ui/combobox.js';
3
+ import { getLocalizedMessage } from '../getLocalizedMessage.js';
4
+
5
+ /**
6
+ * @typedef {import('../../../form-core/types/validate/validate.js').FeedbackMessageData} FeedbackMessageData
7
+ * @typedef {import('@lion/ui/localize.js').LocalizeManager} LocalizeManager
8
+ */
9
+
10
+ let isLoaded = false;
11
+
12
+ /**
13
+ * @param {{localize: LocalizeManager}} opts allow multiple lion/extension lib versions to provide their deduped instance of LocalizeManager
14
+ */
15
+ export function loadComboboxMessagesNoSideEffects({ localize }) {
16
+ if (isLoaded === true) return;
17
+
18
+ /** @param {FeedbackMessageData} data */
19
+ MatchesOption.getMessage = async data => getLocalizedMessage({ data, localize });
20
+
21
+ isLoaded = true;
22
+ }
@@ -0,0 +1,77 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
2
+ import {
3
+ DefaultSuccess,
4
+ EqualsLength,
5
+ IsDate,
6
+ IsDateDisabled,
7
+ IsEmail,
8
+ IsNumber,
9
+ MaxDate,
10
+ MaxLength,
11
+ MaxNumber,
12
+ MinDate,
13
+ MinLength,
14
+ MinMaxDate,
15
+ MinMaxLength,
16
+ MinMaxNumber,
17
+ MinNumber,
18
+ Pattern,
19
+ Required,
20
+ } from '@lion/ui/form-core.js';
21
+ import { getLocalizedMessage, loadValidateNamespace } from '../getLocalizedMessage.js';
22
+
23
+ /**
24
+ * @typedef {import('../../../form-core/types/validate/validate.js').FeedbackMessageData} FeedbackMessageData
25
+ * @typedef {import('@lion/ui/localize.js').LocalizeManager} LocalizeManager
26
+ */
27
+
28
+ let isLoaded = false;
29
+
30
+ /**
31
+ * @param {{localize: LocalizeManager}} opts allow multiple lion/extension lib versions to provide their deduped instance of LocalizeManager
32
+ */
33
+ export function loadFormCoreMessagesNoSideEffects({ localize }) {
34
+ if (isLoaded === true) return;
35
+
36
+ /** @param {FeedbackMessageData} data */
37
+ Required.getMessage = async data => getLocalizedMessage({ data, localize });
38
+ /** @param {FeedbackMessageData} data */
39
+ EqualsLength.getMessage = async data => getLocalizedMessage({ data, localize });
40
+ /** @param {FeedbackMessageData} data */
41
+ MinLength.getMessage = async data => getLocalizedMessage({ data, localize });
42
+ /** @param {FeedbackMessageData} data */
43
+ MaxLength.getMessage = async data => getLocalizedMessage({ data, localize });
44
+ /** @param {FeedbackMessageData} data */
45
+ MinMaxLength.getMessage = async data => getLocalizedMessage({ data, localize });
46
+ /** @param {FeedbackMessageData} data */
47
+ Pattern.getMessage = async data => getLocalizedMessage({ data, localize });
48
+ /** @param {FeedbackMessageData} data */
49
+ IsEmail.getMessage = async data => getLocalizedMessage({ data, localize });
50
+ /** @param {FeedbackMessageData} data */
51
+ IsNumber.getMessage = async data => getLocalizedMessage({ data, localize });
52
+ /** @param {FeedbackMessageData} data */
53
+ MinNumber.getMessage = async data => getLocalizedMessage({ data, localize });
54
+ /** @param {FeedbackMessageData} data */
55
+ MaxNumber.getMessage = async data => getLocalizedMessage({ data, localize });
56
+ /** @param {FeedbackMessageData} data */
57
+ MinMaxNumber.getMessage = async data => getLocalizedMessage({ data, localize });
58
+ /** @param {FeedbackMessageData} data */
59
+ IsDate.getMessage = async data => getLocalizedMessage({ data, localize });
60
+ /** @param {FeedbackMessageData} data */
61
+ MinDate.getMessage = async data => getLocalizedMessage({ data, localize });
62
+ /** @param {FeedbackMessageData} data */
63
+ MaxDate.getMessage = async data => getLocalizedMessage({ data, localize });
64
+ /** @param {FeedbackMessageData} data */
65
+ MinMaxDate.getMessage = async data => getLocalizedMessage({ data, localize });
66
+ /** @param {FeedbackMessageData} data */
67
+ IsDateDisabled.getMessage = async data => getLocalizedMessage({ data, localize });
68
+
69
+ DefaultSuccess.getMessage = async data => {
70
+ await loadValidateNamespace({ localize });
71
+ const randomKeys = localize.msg('lion-validate:success.RandomOk').split(',');
72
+ const key = randomKeys[Math.floor(Math.random() * randomKeys.length)].trim();
73
+ return localize.msg(`lion-validate:${key}`, data);
74
+ };
75
+
76
+ isLoaded = true;
77
+ }
@@ -0,0 +1,39 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
2
+ import { PhoneNumber } from '@lion/ui/input-tel.js';
3
+ import { loadValidateNamespace } from '../getLocalizedMessage.js';
4
+
5
+ /**
6
+ * @typedef {import('../../../form-core/types/validate/validate.js').FeedbackMessageData} FeedbackMessageData
7
+ * @typedef {import('@lion/ui/localize.js').LocalizeManager} LocalizeManager
8
+ */
9
+
10
+ let isLoaded = false;
11
+
12
+ /**
13
+ * @param {{localize: LocalizeManager}} opts allow multiple lion/extension lib versions to provide their deduped instance of LocalizeManager
14
+ */
15
+ export function loadInputTelMessagesNoSideEffects({ localize }) {
16
+ if (isLoaded === true) return;
17
+
18
+ /** @param {FeedbackMessageData} data */
19
+ // @ts-ignore
20
+ PhoneNumber.getMessage = async data => {
21
+ await loadValidateNamespace({ localize });
22
+ const { type, outcome } = data;
23
+ if (outcome === 'too-long') {
24
+ // TODO: get max-length of country and use MaxLength validator
25
+ return localize.msg(`lion-validate:${type}.Pattern`, data);
26
+ }
27
+ if (outcome === 'too-short') {
28
+ // TODO: get min-length of country and use MinLength validator
29
+ return localize.msg(`lion-validate:${type}.Pattern`, data);
30
+ }
31
+ // TODO: add a more specific message here
32
+ if (outcome === 'invalid-country-code') {
33
+ return localize.msg(`lion-validate:${type}.Pattern`, data);
34
+ }
35
+ return localize.msg(`lion-validate:${type}.Pattern`, data);
36
+ };
37
+
38
+ isLoaded = true;
39
+ }