@flitsmeister/design-system 2.2.36 → 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 (572) hide show
  1. package/README.md +33 -52
  2. package/dist/fm-button/fm-button-core.d.ts +25 -0
  3. package/dist/fm-button/fm-button-core.d.ts.map +1 -0
  4. package/dist/fm-button/fm-button-core.js +23 -0
  5. package/dist/fm-button/fm-button-core.js.map +1 -0
  6. package/dist/fm-button/fm-button.d.ts +83 -0
  7. package/dist/fm-button/fm-button.d.ts.map +1 -0
  8. package/dist/fm-button/fm-button.js +256 -0
  9. package/dist/fm-button/fm-button.js.map +1 -0
  10. package/dist/fm-button/fm-button.style.d.ts +2 -0
  11. package/dist/fm-button/fm-button.style.d.ts.map +1 -0
  12. package/dist/fm-button/fm-button.style.js +395 -0
  13. package/dist/fm-button/fm-button.style.js.map +1 -0
  14. package/dist/fm-dropdown/fm-dropdown-core.d.ts +34 -0
  15. package/dist/fm-dropdown/fm-dropdown-core.d.ts.map +1 -0
  16. package/dist/fm-dropdown/fm-dropdown-core.js +137 -0
  17. package/dist/fm-dropdown/fm-dropdown-core.js.map +1 -0
  18. package/dist/fm-dropdown/fm-dropdown-mobile.d.ts +11 -0
  19. package/dist/fm-dropdown/fm-dropdown-mobile.d.ts.map +1 -0
  20. package/dist/fm-dropdown/fm-dropdown-mobile.js +47 -0
  21. package/dist/fm-dropdown/fm-dropdown-mobile.js.map +1 -0
  22. package/dist/fm-dropdown/fm-dropdown.d.ts +107 -0
  23. package/dist/fm-dropdown/fm-dropdown.d.ts.map +1 -0
  24. package/dist/fm-dropdown/fm-dropdown.js +727 -0
  25. package/dist/fm-dropdown/fm-dropdown.js.map +1 -0
  26. package/dist/fm-dropdown/fm-dropdown.style.d.ts +2 -0
  27. package/dist/fm-dropdown/fm-dropdown.style.d.ts.map +1 -0
  28. package/dist/fm-dropdown/fm-dropdown.style.js +480 -0
  29. package/dist/fm-dropdown/fm-dropdown.style.js.map +1 -0
  30. package/dist/fm-icon/all.d.ts +6 -0
  31. package/dist/fm-icon/all.d.ts.map +1 -0
  32. package/dist/fm-icon/all.js +11 -0
  33. package/dist/fm-icon/all.js.map +1 -0
  34. package/dist/fm-icon/fm-icon.d.ts +47 -0
  35. package/dist/fm-icon/fm-icon.d.ts.map +1 -0
  36. package/dist/fm-icon/fm-icon.js +100 -0
  37. package/dist/fm-icon/fm-icon.js.map +1 -0
  38. package/dist/fm-icon/fm-icon.style.d.ts +2 -0
  39. package/dist/fm-icon/fm-icon.style.d.ts.map +1 -0
  40. package/dist/fm-icon/fm-icon.style.js +102 -0
  41. package/dist/fm-icon/fm-icon.style.js.map +1 -0
  42. package/dist/fm-icon/icon-registry.d.ts +4 -0
  43. package/dist/fm-icon/icon-registry.d.ts.map +1 -0
  44. package/dist/fm-icon/icon-registry.generated.d.ts +9 -0
  45. package/dist/fm-icon/icon-registry.generated.d.ts.map +1 -0
  46. package/dist/fm-icon/icon-registry.generated.js +96 -0
  47. package/dist/fm-icon/icon-registry.generated.js.map +1 -0
  48. package/dist/fm-icon/icon-registry.js +11 -0
  49. package/dist/fm-icon/icon-registry.js.map +1 -0
  50. package/dist/fm-icon/icons/bold-add.d.ts +5 -0
  51. package/dist/fm-icon/icons/bold-add.d.ts.map +1 -0
  52. package/dist/fm-icon/icons/bold-add.js +6 -0
  53. package/dist/fm-icon/icons/bold-add.js.map +1 -0
  54. package/dist/fm-icon/icons/bold-check.d.ts +5 -0
  55. package/dist/fm-icon/icons/bold-check.d.ts.map +1 -0
  56. package/dist/fm-icon/icons/bold-check.js +6 -0
  57. package/dist/fm-icon/icons/bold-check.js.map +1 -0
  58. package/dist/fm-icon/icons/bold-checkbox-checked.d.ts +5 -0
  59. package/dist/fm-icon/icons/bold-checkbox-checked.d.ts.map +1 -0
  60. package/dist/fm-icon/icons/bold-checkbox-checked.js +6 -0
  61. package/dist/fm-icon/icons/bold-checkbox-checked.js.map +1 -0
  62. package/dist/fm-icon/icons/bold-checkbox-unchecked.d.ts +5 -0
  63. package/dist/fm-icon/icons/bold-checkbox-unchecked.d.ts.map +1 -0
  64. package/dist/fm-icon/icons/bold-checkbox-unchecked.js +6 -0
  65. package/dist/fm-icon/icons/bold-checkbox-unchecked.js.map +1 -0
  66. package/dist/fm-icon/icons/bold-chevron-backward.d.ts +5 -0
  67. package/dist/fm-icon/icons/bold-chevron-backward.d.ts.map +1 -0
  68. package/dist/fm-icon/icons/bold-chevron-backward.js +6 -0
  69. package/dist/fm-icon/icons/bold-chevron-backward.js.map +1 -0
  70. package/dist/fm-icon/icons/bold-chevron-down.d.ts +5 -0
  71. package/dist/fm-icon/icons/bold-chevron-down.d.ts.map +1 -0
  72. package/dist/fm-icon/icons/bold-chevron-down.js +6 -0
  73. package/dist/fm-icon/icons/bold-chevron-down.js.map +1 -0
  74. package/dist/fm-icon/icons/bold-chevron-forward.d.ts +5 -0
  75. package/dist/fm-icon/icons/bold-chevron-forward.d.ts.map +1 -0
  76. package/dist/fm-icon/icons/bold-chevron-forward.js +6 -0
  77. package/dist/fm-icon/icons/bold-chevron-forward.js.map +1 -0
  78. package/dist/fm-icon/icons/bold-chevron-up.d.ts +5 -0
  79. package/dist/fm-icon/icons/bold-chevron-up.d.ts.map +1 -0
  80. package/dist/fm-icon/icons/bold-chevron-up.js +6 -0
  81. package/dist/fm-icon/icons/bold-chevron-up.js.map +1 -0
  82. package/dist/fm-icon/icons/bold-close-1.d.ts +5 -0
  83. package/dist/fm-icon/icons/bold-close-1.d.ts.map +1 -0
  84. package/dist/fm-icon/icons/bold-close-1.js +6 -0
  85. package/dist/fm-icon/icons/bold-close-1.js.map +1 -0
  86. package/dist/fm-icon/icons/bold-close.d.ts +5 -0
  87. package/dist/fm-icon/icons/bold-close.d.ts.map +1 -0
  88. package/dist/fm-icon/icons/bold-close.js +6 -0
  89. package/dist/fm-icon/icons/bold-close.js.map +1 -0
  90. package/dist/fm-icon/icons/bold-dot.d.ts +5 -0
  91. package/dist/fm-icon/icons/bold-dot.d.ts.map +1 -0
  92. package/dist/fm-icon/icons/bold-dot.js +6 -0
  93. package/dist/fm-icon/icons/bold-dot.js.map +1 -0
  94. package/dist/fm-icon/icons/bold-open-external.d.ts +5 -0
  95. package/dist/fm-icon/icons/bold-open-external.d.ts.map +1 -0
  96. package/dist/fm-icon/icons/bold-open-external.js +6 -0
  97. package/dist/fm-icon/icons/bold-open-external.js.map +1 -0
  98. package/dist/fm-icon/icons/bold-prominent-1.d.ts +5 -0
  99. package/dist/fm-icon/icons/bold-prominent-1.d.ts.map +1 -0
  100. package/dist/fm-icon/icons/bold-prominent-1.js +6 -0
  101. package/dist/fm-icon/icons/bold-prominent-1.js.map +1 -0
  102. package/dist/fm-icon/icons/bold-prominent.d.ts +5 -0
  103. package/dist/fm-icon/icons/bold-prominent.d.ts.map +1 -0
  104. package/dist/fm-icon/icons/bold-prominent.js +6 -0
  105. package/dist/fm-icon/icons/bold-prominent.js.map +1 -0
  106. package/dist/fm-icon/icons/bold-question.d.ts +5 -0
  107. package/dist/fm-icon/icons/bold-question.d.ts.map +1 -0
  108. package/dist/fm-icon/icons/bold-question.js +6 -0
  109. package/dist/fm-icon/icons/bold-question.js.map +1 -0
  110. package/dist/fm-icon/icons/bold-remove.d.ts +5 -0
  111. package/dist/fm-icon/icons/bold-remove.d.ts.map +1 -0
  112. package/dist/fm-icon/icons/bold-remove.js +6 -0
  113. package/dist/fm-icon/icons/bold-remove.js.map +1 -0
  114. package/dist/fm-icon/icons/bold-search.d.ts +5 -0
  115. package/dist/fm-icon/icons/bold-search.d.ts.map +1 -0
  116. package/dist/fm-icon/icons/bold-search.js +6 -0
  117. package/dist/fm-icon/icons/bold-search.js.map +1 -0
  118. package/dist/fm-icon/icons/bold-spinner.d.ts +5 -0
  119. package/dist/fm-icon/icons/bold-spinner.d.ts.map +1 -0
  120. package/dist/fm-icon/icons/bold-spinner.js +6 -0
  121. package/dist/fm-icon/icons/bold-spinner.js.map +1 -0
  122. package/dist/fm-icon/icons/bold-warning.d.ts +5 -0
  123. package/dist/fm-icon/icons/bold-warning.d.ts.map +1 -0
  124. package/dist/fm-icon/icons/bold-warning.js +6 -0
  125. package/dist/fm-icon/icons/bold-warning.js.map +1 -0
  126. package/dist/fm-icon/icons/duotone-check.d.ts +5 -0
  127. package/dist/fm-icon/icons/duotone-check.d.ts.map +1 -0
  128. package/dist/fm-icon/icons/duotone-check.js +6 -0
  129. package/dist/fm-icon/icons/duotone-check.js.map +1 -0
  130. package/dist/fm-icon/icons/filled-achievements.d.ts +5 -0
  131. package/dist/fm-icon/icons/filled-achievements.d.ts.map +1 -0
  132. package/dist/fm-icon/icons/filled-achievements.js +6 -0
  133. package/dist/fm-icon/icons/filled-achievements.js.map +1 -0
  134. package/dist/fm-icon/icons/filled-add.d.ts +5 -0
  135. package/dist/fm-icon/icons/filled-add.d.ts.map +1 -0
  136. package/dist/fm-icon/icons/filled-add.js +6 -0
  137. package/dist/fm-icon/icons/filled-add.js.map +1 -0
  138. package/dist/fm-icon/icons/filled-app-settings.d.ts +5 -0
  139. package/dist/fm-icon/icons/filled-app-settings.d.ts.map +1 -0
  140. package/dist/fm-icon/icons/filled-app-settings.js +6 -0
  141. package/dist/fm-icon/icons/filled-app-settings.js.map +1 -0
  142. package/dist/fm-icon/icons/filled-calendar.d.ts +5 -0
  143. package/dist/fm-icon/icons/filled-calendar.d.ts.map +1 -0
  144. package/dist/fm-icon/icons/filled-calendar.js +6 -0
  145. package/dist/fm-icon/icons/filled-calendar.js.map +1 -0
  146. package/dist/fm-icon/icons/filled-car-simplified.d.ts +5 -0
  147. package/dist/fm-icon/icons/filled-car-simplified.d.ts.map +1 -0
  148. package/dist/fm-icon/icons/filled-car-simplified.js +6 -0
  149. package/dist/fm-icon/icons/filled-car-simplified.js.map +1 -0
  150. package/dist/fm-icon/icons/filled-check.d.ts +5 -0
  151. package/dist/fm-icon/icons/filled-check.d.ts.map +1 -0
  152. package/dist/fm-icon/icons/filled-check.js +6 -0
  153. package/dist/fm-icon/icons/filled-check.js.map +1 -0
  154. package/dist/fm-icon/icons/filled-clock.d.ts +5 -0
  155. package/dist/fm-icon/icons/filled-clock.d.ts.map +1 -0
  156. package/dist/fm-icon/icons/filled-clock.js +6 -0
  157. package/dist/fm-icon/icons/filled-clock.js.map +1 -0
  158. package/dist/fm-icon/icons/filled-close.d.ts +5 -0
  159. package/dist/fm-icon/icons/filled-close.d.ts.map +1 -0
  160. package/dist/fm-icon/icons/filled-close.js +6 -0
  161. package/dist/fm-icon/icons/filled-close.js.map +1 -0
  162. package/dist/fm-icon/icons/filled-control.d.ts +5 -0
  163. package/dist/fm-icon/icons/filled-control.d.ts.map +1 -0
  164. package/dist/fm-icon/icons/filled-control.js +6 -0
  165. package/dist/fm-icon/icons/filled-control.js.map +1 -0
  166. package/dist/fm-icon/icons/filled-danger.d.ts +5 -0
  167. package/dist/fm-icon/icons/filled-danger.d.ts.map +1 -0
  168. package/dist/fm-icon/icons/filled-danger.js +6 -0
  169. package/dist/fm-icon/icons/filled-danger.js.map +1 -0
  170. package/dist/fm-icon/icons/filled-delete.d.ts +5 -0
  171. package/dist/fm-icon/icons/filled-delete.d.ts.map +1 -0
  172. package/dist/fm-icon/icons/filled-delete.js +6 -0
  173. package/dist/fm-icon/icons/filled-delete.js.map +1 -0
  174. package/dist/fm-icon/icons/filled-deviceOne.d.ts +5 -0
  175. package/dist/fm-icon/icons/filled-deviceOne.d.ts.map +1 -0
  176. package/dist/fm-icon/icons/filled-deviceOne.js +6 -0
  177. package/dist/fm-icon/icons/filled-deviceOne.js.map +1 -0
  178. package/dist/fm-icon/icons/filled-deviceTwo.d.ts +5 -0
  179. package/dist/fm-icon/icons/filled-deviceTwo.d.ts.map +1 -0
  180. package/dist/fm-icon/icons/filled-deviceTwo.js +6 -0
  181. package/dist/fm-icon/icons/filled-deviceTwo.js.map +1 -0
  182. package/dist/fm-icon/icons/filled-disputeFine.d.ts +5 -0
  183. package/dist/fm-icon/icons/filled-disputeFine.d.ts.map +1 -0
  184. package/dist/fm-icon/icons/filled-disputeFine.js +6 -0
  185. package/dist/fm-icon/icons/filled-disputeFine.js.map +1 -0
  186. package/dist/fm-icon/icons/filled-email.d.ts +5 -0
  187. package/dist/fm-icon/icons/filled-email.d.ts.map +1 -0
  188. package/dist/fm-icon/icons/filled-email.js +6 -0
  189. package/dist/fm-icon/icons/filled-email.js.map +1 -0
  190. package/dist/fm-icon/icons/filled-gasPrices.d.ts +5 -0
  191. package/dist/fm-icon/icons/filled-gasPrices.d.ts.map +1 -0
  192. package/dist/fm-icon/icons/filled-gasPrices.js +6 -0
  193. package/dist/fm-icon/icons/filled-gasPrices.js.map +1 -0
  194. package/dist/fm-icon/icons/filled-hazard.d.ts +5 -0
  195. package/dist/fm-icon/icons/filled-hazard.d.ts.map +1 -0
  196. package/dist/fm-icon/icons/filled-hazard.js +6 -0
  197. package/dist/fm-icon/icons/filled-hazard.js.map +1 -0
  198. package/dist/fm-icon/icons/filled-highway.d.ts +5 -0
  199. package/dist/fm-icon/icons/filled-highway.d.ts.map +1 -0
  200. package/dist/fm-icon/icons/filled-highway.js +6 -0
  201. package/dist/fm-icon/icons/filled-highway.js.map +1 -0
  202. package/dist/fm-icon/icons/filled-info.d.ts +5 -0
  203. package/dist/fm-icon/icons/filled-info.d.ts.map +1 -0
  204. package/dist/fm-icon/icons/filled-info.js +6 -0
  205. package/dist/fm-icon/icons/filled-info.js.map +1 -0
  206. package/dist/fm-icon/icons/filled-lock-close.d.ts +5 -0
  207. package/dist/fm-icon/icons/filled-lock-close.d.ts.map +1 -0
  208. package/dist/fm-icon/icons/filled-lock-close.js +6 -0
  209. package/dist/fm-icon/icons/filled-lock-close.js.map +1 -0
  210. package/dist/fm-icon/icons/filled-lock-open.d.ts +5 -0
  211. package/dist/fm-icon/icons/filled-lock-open.d.ts.map +1 -0
  212. package/dist/fm-icon/icons/filled-lock-open.js +6 -0
  213. package/dist/fm-icon/icons/filled-lock-open.js.map +1 -0
  214. package/dist/fm-icon/icons/filled-lock.d.ts +5 -0
  215. package/dist/fm-icon/icons/filled-lock.d.ts.map +1 -0
  216. package/dist/fm-icon/icons/filled-lock.js +6 -0
  217. package/dist/fm-icon/icons/filled-lock.js.map +1 -0
  218. package/dist/fm-icon/icons/filled-microphone.d.ts +5 -0
  219. package/dist/fm-icon/icons/filled-microphone.d.ts.map +1 -0
  220. package/dist/fm-icon/icons/filled-microphone.js +6 -0
  221. package/dist/fm-icon/icons/filled-microphone.js.map +1 -0
  222. package/dist/fm-icon/icons/filled-notificaiton-unread.d.ts +5 -0
  223. package/dist/fm-icon/icons/filled-notificaiton-unread.d.ts.map +1 -0
  224. package/dist/fm-icon/icons/filled-notificaiton-unread.js +6 -0
  225. package/dist/fm-icon/icons/filled-notificaiton-unread.js.map +1 -0
  226. package/dist/fm-icon/icons/filled-notificaiton.d.ts +5 -0
  227. package/dist/fm-icon/icons/filled-notificaiton.d.ts.map +1 -0
  228. package/dist/fm-icon/icons/filled-notificaiton.js +6 -0
  229. package/dist/fm-icon/icons/filled-notificaiton.js.map +1 -0
  230. package/dist/fm-icon/icons/filled-parking.d.ts +5 -0
  231. package/dist/fm-icon/icons/filled-parking.d.ts.map +1 -0
  232. package/dist/fm-icon/icons/filled-parking.js +6 -0
  233. package/dist/fm-icon/icons/filled-parking.js.map +1 -0
  234. package/dist/fm-icon/icons/filled-play.d.ts +5 -0
  235. package/dist/fm-icon/icons/filled-play.d.ts.map +1 -0
  236. package/dist/fm-icon/icons/filled-play.js +6 -0
  237. package/dist/fm-icon/icons/filled-play.js.map +1 -0
  238. package/dist/fm-icon/icons/filled-question.d.ts +5 -0
  239. package/dist/fm-icon/icons/filled-question.d.ts.map +1 -0
  240. package/dist/fm-icon/icons/filled-question.js +6 -0
  241. package/dist/fm-icon/icons/filled-question.js.map +1 -0
  242. package/dist/fm-icon/icons/filled-rating-empty.d.ts +5 -0
  243. package/dist/fm-icon/icons/filled-rating-empty.d.ts.map +1 -0
  244. package/dist/fm-icon/icons/filled-rating-empty.js +6 -0
  245. package/dist/fm-icon/icons/filled-rating-empty.js.map +1 -0
  246. package/dist/fm-icon/icons/filled-rating-full.d.ts +5 -0
  247. package/dist/fm-icon/icons/filled-rating-full.d.ts.map +1 -0
  248. package/dist/fm-icon/icons/filled-rating-full.js +6 -0
  249. package/dist/fm-icon/icons/filled-rating-full.js.map +1 -0
  250. package/dist/fm-icon/icons/filled-rating-half.d.ts +5 -0
  251. package/dist/fm-icon/icons/filled-rating-half.d.ts.map +1 -0
  252. package/dist/fm-icon/icons/filled-rating-half.js +6 -0
  253. package/dist/fm-icon/icons/filled-rating-half.js.map +1 -0
  254. package/dist/fm-icon/icons/filled-remove.d.ts +5 -0
  255. package/dist/fm-icon/icons/filled-remove.d.ts.map +1 -0
  256. package/dist/fm-icon/icons/filled-remove.js +6 -0
  257. package/dist/fm-icon/icons/filled-remove.js.map +1 -0
  258. package/dist/fm-icon/icons/filled-return-location.d.ts +5 -0
  259. package/dist/fm-icon/icons/filled-return-location.d.ts.map +1 -0
  260. package/dist/fm-icon/icons/filled-return-location.js +6 -0
  261. package/dist/fm-icon/icons/filled-return-location.js.map +1 -0
  262. package/dist/fm-icon/icons/filled-support.d.ts +5 -0
  263. package/dist/fm-icon/icons/filled-support.d.ts.map +1 -0
  264. package/dist/fm-icon/icons/filled-support.js +6 -0
  265. package/dist/fm-icon/icons/filled-support.js.map +1 -0
  266. package/dist/fm-icon/icons/filled-toll.d.ts +5 -0
  267. package/dist/fm-icon/icons/filled-toll.d.ts.map +1 -0
  268. package/dist/fm-icon/icons/filled-toll.js +6 -0
  269. package/dist/fm-icon/icons/filled-toll.js.map +1 -0
  270. package/dist/fm-icon/icons/filled-tripHistory.d.ts +5 -0
  271. package/dist/fm-icon/icons/filled-tripHistory.d.ts.map +1 -0
  272. package/dist/fm-icon/icons/filled-tripHistory.js +6 -0
  273. package/dist/fm-icon/icons/filled-tripHistory.js.map +1 -0
  274. package/dist/fm-icon/icons/filled-truck.d.ts +5 -0
  275. package/dist/fm-icon/icons/filled-truck.d.ts.map +1 -0
  276. package/dist/fm-icon/icons/filled-truck.js +6 -0
  277. package/dist/fm-icon/icons/filled-truck.js.map +1 -0
  278. package/dist/fm-icon/icons/filled-user-pin.d.ts +5 -0
  279. package/dist/fm-icon/icons/filled-user-pin.d.ts.map +1 -0
  280. package/dist/fm-icon/icons/filled-user-pin.js +6 -0
  281. package/dist/fm-icon/icons/filled-user-pin.js.map +1 -0
  282. package/dist/fm-icon/icons/filled-user-profile.d.ts +5 -0
  283. package/dist/fm-icon/icons/filled-user-profile.d.ts.map +1 -0
  284. package/dist/fm-icon/icons/filled-user-profile.js +6 -0
  285. package/dist/fm-icon/icons/filled-user-profile.js.map +1 -0
  286. package/dist/fm-icon/icons/filled-warning.d.ts +5 -0
  287. package/dist/fm-icon/icons/filled-warning.d.ts.map +1 -0
  288. package/dist/fm-icon/icons/filled-warning.js +6 -0
  289. package/dist/fm-icon/icons/filled-warning.js.map +1 -0
  290. package/dist/fm-icon/icons/filled-zone-default.d.ts +5 -0
  291. package/dist/fm-icon/icons/filled-zone-default.d.ts.map +1 -0
  292. package/dist/fm-icon/icons/filled-zone-default.js +6 -0
  293. package/dist/fm-icon/icons/filled-zone-default.js.map +1 -0
  294. package/dist/fm-icon/icons/filled-zone-indoor.d.ts +5 -0
  295. package/dist/fm-icon/icons/filled-zone-indoor.d.ts.map +1 -0
  296. package/dist/fm-icon/icons/filled-zone-indoor.js +6 -0
  297. package/dist/fm-icon/icons/filled-zone-indoor.js.map +1 -0
  298. package/dist/fm-icon/icons/filled-zone-street.d.ts +5 -0
  299. package/dist/fm-icon/icons/filled-zone-street.d.ts.map +1 -0
  300. package/dist/fm-icon/icons/filled-zone-street.js +6 -0
  301. package/dist/fm-icon/icons/filled-zone-street.js.map +1 -0
  302. package/dist/fm-icon/icons/stroke-arrow-Down.d.ts +5 -0
  303. package/dist/fm-icon/icons/stroke-arrow-Down.d.ts.map +1 -0
  304. package/dist/fm-icon/icons/stroke-arrow-Down.js +6 -0
  305. package/dist/fm-icon/icons/stroke-arrow-Down.js.map +1 -0
  306. package/dist/fm-icon/icons/stroke-arrow-Up.d.ts +5 -0
  307. package/dist/fm-icon/icons/stroke-arrow-Up.d.ts.map +1 -0
  308. package/dist/fm-icon/icons/stroke-arrow-Up.js +6 -0
  309. package/dist/fm-icon/icons/stroke-arrow-Up.js.map +1 -0
  310. package/dist/fm-icon/icons/stroke-arrow-left.d.ts +5 -0
  311. package/dist/fm-icon/icons/stroke-arrow-left.d.ts.map +1 -0
  312. package/dist/fm-icon/icons/stroke-arrow-left.js +6 -0
  313. package/dist/fm-icon/icons/stroke-arrow-left.js.map +1 -0
  314. package/dist/fm-icon/icons/stroke-arrow-right.d.ts +5 -0
  315. package/dist/fm-icon/icons/stroke-arrow-right.d.ts.map +1 -0
  316. package/dist/fm-icon/icons/stroke-arrow-right.js +6 -0
  317. package/dist/fm-icon/icons/stroke-arrow-right.js.map +1 -0
  318. package/dist/fm-icon/icons/stroke-check.d.ts +5 -0
  319. package/dist/fm-icon/icons/stroke-check.d.ts.map +1 -0
  320. package/dist/fm-icon/icons/stroke-check.js +6 -0
  321. package/dist/fm-icon/icons/stroke-check.js.map +1 -0
  322. package/dist/fm-icon/icons/stroke-checkbox-checked.d.ts +5 -0
  323. package/dist/fm-icon/icons/stroke-checkbox-checked.d.ts.map +1 -0
  324. package/dist/fm-icon/icons/stroke-checkbox-checked.js +6 -0
  325. package/dist/fm-icon/icons/stroke-checkbox-checked.js.map +1 -0
  326. package/dist/fm-icon/icons/stroke-checkbox-unchecked.d.ts +5 -0
  327. package/dist/fm-icon/icons/stroke-checkbox-unchecked.d.ts.map +1 -0
  328. package/dist/fm-icon/icons/stroke-checkbox-unchecked.js +6 -0
  329. package/dist/fm-icon/icons/stroke-checkbox-unchecked.js.map +1 -0
  330. package/dist/fm-icon/icons/stroke-chevron-backward.d.ts +5 -0
  331. package/dist/fm-icon/icons/stroke-chevron-backward.d.ts.map +1 -0
  332. package/dist/fm-icon/icons/stroke-chevron-backward.js +6 -0
  333. package/dist/fm-icon/icons/stroke-chevron-backward.js.map +1 -0
  334. package/dist/fm-icon/icons/stroke-chevron-down.d.ts +5 -0
  335. package/dist/fm-icon/icons/stroke-chevron-down.d.ts.map +1 -0
  336. package/dist/fm-icon/icons/stroke-chevron-down.js +6 -0
  337. package/dist/fm-icon/icons/stroke-chevron-down.js.map +1 -0
  338. package/dist/fm-icon/icons/stroke-chevron-forward.d.ts +5 -0
  339. package/dist/fm-icon/icons/stroke-chevron-forward.d.ts.map +1 -0
  340. package/dist/fm-icon/icons/stroke-chevron-forward.js +6 -0
  341. package/dist/fm-icon/icons/stroke-chevron-forward.js.map +1 -0
  342. package/dist/fm-icon/icons/stroke-chevron-up.d.ts +5 -0
  343. package/dist/fm-icon/icons/stroke-chevron-up.d.ts.map +1 -0
  344. package/dist/fm-icon/icons/stroke-chevron-up.js +6 -0
  345. package/dist/fm-icon/icons/stroke-chevron-up.js.map +1 -0
  346. package/dist/fm-icon/icons/stroke-clock.d.ts +5 -0
  347. package/dist/fm-icon/icons/stroke-clock.d.ts.map +1 -0
  348. package/dist/fm-icon/icons/stroke-clock.js +6 -0
  349. package/dist/fm-icon/icons/stroke-clock.js.map +1 -0
  350. package/dist/fm-icon/icons/stroke-close-1.d.ts +5 -0
  351. package/dist/fm-icon/icons/stroke-close-1.d.ts.map +1 -0
  352. package/dist/fm-icon/icons/stroke-close-1.js +6 -0
  353. package/dist/fm-icon/icons/stroke-close-1.js.map +1 -0
  354. package/dist/fm-icon/icons/stroke-close.d.ts +5 -0
  355. package/dist/fm-icon/icons/stroke-close.d.ts.map +1 -0
  356. package/dist/fm-icon/icons/stroke-close.js +6 -0
  357. package/dist/fm-icon/icons/stroke-close.js.map +1 -0
  358. package/dist/fm-icon/icons/stroke-download.d.ts +5 -0
  359. package/dist/fm-icon/icons/stroke-download.d.ts.map +1 -0
  360. package/dist/fm-icon/icons/stroke-download.js +6 -0
  361. package/dist/fm-icon/icons/stroke-download.js.map +1 -0
  362. package/dist/fm-icon/icons/stroke-email.d.ts +5 -0
  363. package/dist/fm-icon/icons/stroke-email.d.ts.map +1 -0
  364. package/dist/fm-icon/icons/stroke-email.js +6 -0
  365. package/dist/fm-icon/icons/stroke-email.js.map +1 -0
  366. package/dist/fm-icon/icons/stroke-hamburger.d.ts +5 -0
  367. package/dist/fm-icon/icons/stroke-hamburger.d.ts.map +1 -0
  368. package/dist/fm-icon/icons/stroke-hamburger.js +6 -0
  369. package/dist/fm-icon/icons/stroke-hamburger.js.map +1 -0
  370. package/dist/fm-icon/icons/stroke-login.d.ts +5 -0
  371. package/dist/fm-icon/icons/stroke-login.d.ts.map +1 -0
  372. package/dist/fm-icon/icons/stroke-login.js +6 -0
  373. package/dist/fm-icon/icons/stroke-login.js.map +1 -0
  374. package/dist/fm-icon/icons/stroke-logout.d.ts +5 -0
  375. package/dist/fm-icon/icons/stroke-logout.d.ts.map +1 -0
  376. package/dist/fm-icon/icons/stroke-logout.js +6 -0
  377. package/dist/fm-icon/icons/stroke-logout.js.map +1 -0
  378. package/dist/fm-icon/icons/stroke-more.d.ts +5 -0
  379. package/dist/fm-icon/icons/stroke-more.d.ts.map +1 -0
  380. package/dist/fm-icon/icons/stroke-more.js +6 -0
  381. package/dist/fm-icon/icons/stroke-more.js.map +1 -0
  382. package/dist/fm-icon/icons/stroke-open-external.d.ts +5 -0
  383. package/dist/fm-icon/icons/stroke-open-external.d.ts.map +1 -0
  384. package/dist/fm-icon/icons/stroke-open-external.js +6 -0
  385. package/dist/fm-icon/icons/stroke-open-external.js.map +1 -0
  386. package/dist/fm-icon/icons/stroke-question.d.ts +5 -0
  387. package/dist/fm-icon/icons/stroke-question.d.ts.map +1 -0
  388. package/dist/fm-icon/icons/stroke-question.js +6 -0
  389. package/dist/fm-icon/icons/stroke-question.js.map +1 -0
  390. package/dist/fm-icon/icons/stroke-search.d.ts +5 -0
  391. package/dist/fm-icon/icons/stroke-search.d.ts.map +1 -0
  392. package/dist/fm-icon/icons/stroke-search.js +6 -0
  393. package/dist/fm-icon/icons/stroke-search.js.map +1 -0
  394. package/dist/fm-icon/icons/stroke-spinner.d.ts +5 -0
  395. package/dist/fm-icon/icons/stroke-spinner.d.ts.map +1 -0
  396. package/dist/fm-icon/icons/stroke-spinner.js +6 -0
  397. package/dist/fm-icon/icons/stroke-spinner.js.map +1 -0
  398. package/dist/fm-icon/icons/stroke-warning.d.ts +5 -0
  399. package/dist/fm-icon/icons/stroke-warning.d.ts.map +1 -0
  400. package/dist/fm-icon/icons/stroke-warning.js +6 -0
  401. package/dist/fm-icon/icons/stroke-warning.js.map +1 -0
  402. package/dist/fm-input/fm-input.d.ts +95 -0
  403. package/dist/fm-input/fm-input.d.ts.map +1 -0
  404. package/dist/fm-input/fm-input.js +343 -0
  405. package/dist/fm-input/fm-input.js.map +1 -0
  406. package/dist/fm-input/fm-input.style.d.ts +2 -0
  407. package/dist/fm-input/fm-input.style.d.ts.map +1 -0
  408. package/dist/fm-input/fm-input.style.js +221 -0
  409. package/dist/fm-input/fm-input.style.js.map +1 -0
  410. package/dist/fm-radio-input/fm-radio-input.d.ts +54 -0
  411. package/dist/fm-radio-input/fm-radio-input.d.ts.map +1 -0
  412. package/dist/fm-radio-input/fm-radio-input.js +88 -0
  413. package/dist/fm-radio-input/fm-radio-input.js.map +1 -0
  414. package/dist/fm-radio-input/fm-radio-input.style.d.ts +2 -0
  415. package/dist/fm-radio-input/fm-radio-input.style.d.ts.map +1 -0
  416. package/dist/fm-radio-input/fm-radio-input.style.js +151 -0
  417. package/dist/fm-radio-input/fm-radio-input.style.js.map +1 -0
  418. package/dist/fm-segmented-controller/fm-segmented-controller-core.d.ts +22 -0
  419. package/dist/fm-segmented-controller/fm-segmented-controller-core.d.ts.map +1 -0
  420. package/dist/fm-segmented-controller/fm-segmented-controller-core.js +64 -0
  421. package/dist/fm-segmented-controller/fm-segmented-controller-core.js.map +1 -0
  422. package/dist/fm-segmented-controller/fm-segmented-controller.d.ts +51 -0
  423. package/dist/fm-segmented-controller/fm-segmented-controller.d.ts.map +1 -0
  424. package/dist/fm-segmented-controller/fm-segmented-controller.js +166 -0
  425. package/dist/fm-segmented-controller/fm-segmented-controller.js.map +1 -0
  426. package/dist/fm-segmented-controller/fm-segmented-controller.style.d.ts +2 -0
  427. package/dist/fm-segmented-controller/fm-segmented-controller.style.d.ts.map +1 -0
  428. package/dist/fm-segmented-controller/fm-segmented-controller.style.js +197 -0
  429. package/dist/fm-segmented-controller/fm-segmented-controller.style.js.map +1 -0
  430. package/dist/fm-wizard/fm-wizard-core.d.ts +106 -0
  431. package/dist/fm-wizard/fm-wizard-core.d.ts.map +1 -0
  432. package/dist/fm-wizard/fm-wizard-core.js +263 -0
  433. package/dist/fm-wizard/fm-wizard-core.js.map +1 -0
  434. package/dist/fm-wizard/fm-wizard-node.d.ts +34 -0
  435. package/dist/fm-wizard/fm-wizard-node.d.ts.map +1 -0
  436. package/dist/fm-wizard/fm-wizard-node.js +70 -0
  437. package/dist/fm-wizard/fm-wizard-node.js.map +1 -0
  438. package/dist/fm-wizard/fm-wizard.d.ts +66 -0
  439. package/dist/fm-wizard/fm-wizard.d.ts.map +1 -0
  440. package/dist/fm-wizard/fm-wizard.js +293 -0
  441. package/dist/fm-wizard/fm-wizard.js.map +1 -0
  442. package/dist/fm-wizard/fm-wizard.style.d.ts +2 -0
  443. package/dist/fm-wizard/fm-wizard.style.d.ts.map +1 -0
  444. package/dist/fm-wizard/fm-wizard.style.js +197 -0
  445. package/dist/fm-wizard/fm-wizard.style.js.map +1 -0
  446. package/dist/index.d.ts +8 -0
  447. package/dist/index.d.ts.map +1 -0
  448. package/dist/index.js +8 -0
  449. package/dist/index.js.map +1 -0
  450. package/package.json +104 -67
  451. package/scripts/build-report.js +92 -0
  452. package/scripts/enrich-custom-elements-manifest.js +70 -0
  453. package/scripts/generate-icon-registry.js +80 -0
  454. package/scripts/install-cli.mjs +157 -0
  455. package/dist-lib/assets/style-entry-l0sNRNKZ.js +0 -1
  456. package/dist-lib/flitsmeister-design-system.es.js +0 -506
  457. package/dist-lib/flitsmeister-design-system.umd.js +0 -1
  458. package/dist-lib/main.css +0 -2
  459. package/dist-lib/style.css +0 -1
  460. package/index.js +0 -4
  461. package/tokens/schema_exports/fm-design-system/fm-design-system.css +0 -286
  462. package/tokens/schema_exports/fm-design-system/fm-design-system.json +0 -562
  463. package/tokens/schema_exports/fm-design-system/fm-design-system.xml +0 -207
  464. package/tokens/schema_exports/safedrive/safedrive.css +0 -349
  465. package/tokens/schema_exports/safedrive/safedrive.json +0 -658
  466. package/tokens/schema_exports/safedrive/safedrive.xml +0 -248
  467. package/web/components/CookieConsent.vue +0 -115
  468. package/web/components/Flag.vue +0 -47
  469. package/web/components/Icon.vue +0 -31
  470. package/web/components/LanguageSwitcher.vue +0 -77
  471. package/web/components/PermissionToggle.vue +0 -49
  472. package/web/components/button-with-loader.vue +0 -26
  473. package/web/components/fmxButton.vue +0 -287
  474. package/web/components/fmxDropdown.vue +0 -226
  475. package/web/components/fmxInput.vue +0 -319
  476. package/web/components/loader.vue +0 -22
  477. package/web/components/modal.vue +0 -61
  478. package/web/components/navbar.vue +0 -72
  479. package/web/icons/bold/add.svg +0 -3
  480. package/web/icons/bold/check.svg +0 -3
  481. package/web/icons/bold/checkbox-checked.svg +0 -4
  482. package/web/icons/bold/checkbox-unchecked.svg +0 -3
  483. package/web/icons/bold/chevron-backward.svg +0 -3
  484. package/web/icons/bold/chevron-down.svg +0 -3
  485. package/web/icons/bold/chevron-forward.svg +0 -3
  486. package/web/icons/bold/chevron-up.svg +0 -3
  487. package/web/icons/bold/close-1.svg +0 -3
  488. package/web/icons/bold/close.svg +0 -4
  489. package/web/icons/bold/dot.svg +0 -3
  490. package/web/icons/bold/open-external.svg +0 -3
  491. package/web/icons/bold/prominent-1.svg +0 -3
  492. package/web/icons/bold/prominent.svg +0 -3
  493. package/web/icons/bold/question.svg +0 -4
  494. package/web/icons/bold/remove.svg +0 -3
  495. package/web/icons/bold/search.svg +0 -3
  496. package/web/icons/bold/spinner.svg +0 -3
  497. package/web/icons/bold/warning.svg +0 -3
  498. package/web/icons/duotone/check.svg +0 -4
  499. package/web/icons/filled/achievements.svg +0 -3
  500. package/web/icons/filled/add.svg +0 -3
  501. package/web/icons/filled/app-settings.svg +0 -3
  502. package/web/icons/filled/calendar.svg +0 -7
  503. package/web/icons/filled/car-simplified.svg +0 -3
  504. package/web/icons/filled/check.svg +0 -3
  505. package/web/icons/filled/clock.svg +0 -3
  506. package/web/icons/filled/close.svg +0 -3
  507. package/web/icons/filled/control.svg +0 -7
  508. package/web/icons/filled/danger.svg +0 -3
  509. package/web/icons/filled/delete.svg +0 -3
  510. package/web/icons/filled/deviceOne.svg +0 -3
  511. package/web/icons/filled/deviceTwo.svg +0 -3
  512. package/web/icons/filled/disputeFine.svg +0 -3
  513. package/web/icons/filled/email.svg +0 -3
  514. package/web/icons/filled/gasPrices.svg +0 -3
  515. package/web/icons/filled/hazard.svg +0 -3
  516. package/web/icons/filled/highway.svg +0 -3
  517. package/web/icons/filled/info.svg +0 -3
  518. package/web/icons/filled/lock-close.svg +0 -3
  519. package/web/icons/filled/lock-open.svg +0 -3
  520. package/web/icons/filled/lock.svg +0 -3
  521. package/web/icons/filled/microphone.svg +0 -4
  522. package/web/icons/filled/notificaiton-unread.svg +0 -4
  523. package/web/icons/filled/notificaiton.svg +0 -3
  524. package/web/icons/filled/parking.svg +0 -3
  525. package/web/icons/filled/play.svg +0 -8
  526. package/web/icons/filled/question.svg +0 -3
  527. package/web/icons/filled/rating-empty.svg +0 -3
  528. package/web/icons/filled/rating-full.svg +0 -3
  529. package/web/icons/filled/rating-half.svg +0 -4
  530. package/web/icons/filled/remove.svg +0 -3
  531. package/web/icons/filled/return-location.svg +0 -3
  532. package/web/icons/filled/support.svg +0 -3
  533. package/web/icons/filled/toll.svg +0 -3
  534. package/web/icons/filled/tripHistory.svg +0 -3
  535. package/web/icons/filled/truck.svg +0 -3
  536. package/web/icons/filled/user-pin.svg +0 -3
  537. package/web/icons/filled/user-profile.svg +0 -3
  538. package/web/icons/filled/warning.svg +0 -3
  539. package/web/icons/filled/zone-default.svg +0 -3
  540. package/web/icons/filled/zone-indoor.svg +0 -3
  541. package/web/icons/filled/zone-street.svg +0 -3
  542. package/web/icons/stroke/arrow-Down.svg +0 -3
  543. package/web/icons/stroke/arrow-Up.svg +0 -3
  544. package/web/icons/stroke/arrow-left.svg +0 -3
  545. package/web/icons/stroke/arrow-right.svg +0 -3
  546. package/web/icons/stroke/check.svg +0 -3
  547. package/web/icons/stroke/checkbox-checked.svg +0 -4
  548. package/web/icons/stroke/checkbox-unchecked.svg +0 -3
  549. package/web/icons/stroke/chevron-backward.svg +0 -3
  550. package/web/icons/stroke/chevron-down.svg +0 -3
  551. package/web/icons/stroke/chevron-forward.svg +0 -3
  552. package/web/icons/stroke/chevron-up.svg +0 -3
  553. package/web/icons/stroke/clock.svg +0 -3
  554. package/web/icons/stroke/close-1.svg +0 -3
  555. package/web/icons/stroke/close.svg +0 -4
  556. package/web/icons/stroke/download.svg +0 -4
  557. package/web/icons/stroke/email.svg +0 -4
  558. package/web/icons/stroke/hamburger.svg +0 -3
  559. package/web/icons/stroke/login.svg +0 -4
  560. package/web/icons/stroke/logout.svg +0 -3
  561. package/web/icons/stroke/more.svg +0 -5
  562. package/web/icons/stroke/open-external.svg +0 -3
  563. package/web/icons/stroke/question.svg +0 -4
  564. package/web/icons/stroke/search.svg +0 -3
  565. package/web/icons/stroke/spinner.svg +0 -3
  566. package/web/icons/stroke/warning.svg +0 -3
  567. package/web/index.js +0 -55
  568. package/web/styles/flashmaster/primitives.json +0 -604
  569. package/web/styles/flashmaster/sample_fmdx_android.xml +0 -223
  570. package/web/styles/flashmaster/sample_fmdx_ios.json +0 -265
  571. package/web/styles/flashmaster.scss +0 -21
  572. package/web/styles/main.pcss +0 -143
@@ -0,0 +1,343 @@
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
+ var FmInput_1;
8
+ import { LitElement, html } from 'lit';
9
+ import { customElement, property, state } from 'lit/decorators.js';
10
+ import { FmIcon } from '../fm-icon/fm-icon.js';
11
+ import '../fm-icon/icons/bold-check.js';
12
+ import '../fm-icon/icons/bold-warning.js';
13
+ import '../fm-icon/icons/bold-spinner.js';
14
+ import { fmInputStyle } from './fm-input.style.js';
15
+ if (!customElements.get('fm-icon')) {
16
+ customElements.define('fm-icon', FmIcon);
17
+ }
18
+ /**
19
+ * Flitsmeister input web component. Text input with floating label and optional validation.
20
+ * Bij validatie toont het component standaard een primary check bij succes en een danger
21
+ * uitroepteken (warning) bij fout; geen icon hoeft te worden meegegeven.
22
+ *
23
+ * @element fm-input
24
+ *
25
+ * @fires fm-input - Fired when the value changes. Detail: `{ value: string }`.
26
+ * @fires fm-focus - Fired when the input receives focus. Detail: `{ originalEvent: FocusEvent }`.
27
+ * @fires fm-blur - Fired when the input loses focus. Detail: `{ originalEvent: FocusEvent }`.
28
+ *
29
+ * @csspart error-message - Validation error message.
30
+ *
31
+ * @example
32
+ * ```html
33
+ * <fm-input placeholder="Email" type="email"></fm-input>
34
+ * ```
35
+ *
36
+ * @example
37
+ * Controlled with validation:
38
+ * ```html
39
+ * <fm-input
40
+ * .value=${this.email}
41
+ * @fm-input=${(e: CustomEvent<{ value: string }>) => { this.email = e.detail.value; }}
42
+ * .rules=${[(v) => (!v ? 'Required' : undefined)]}
43
+ * placeholder="Email"
44
+ * ></fm-input>
45
+ * ```
46
+ */
47
+ let FmInput = class FmInput extends LitElement {
48
+ constructor() {
49
+ super(...arguments);
50
+ /** Input type: 'text' | 'search' | 'email' | 'number' | 'password' | 'tel'. Default `'text'`. */
51
+ this.type = 'text';
52
+ /** Floating label text. */
53
+ this.placeholder = '';
54
+ /** Current value (controlled). */
55
+ this.value = '';
56
+ /** Validation rules: array of functions (value) => error string | undefined. */
57
+ this.rules = [];
58
+ /** Disabled state. */
59
+ this.disabled = false;
60
+ /** Read-only state. */
61
+ this.readonly = false;
62
+ /** Loading state: shows spinner and neutral border. */
63
+ this.loading = false;
64
+ /** Gray border in default state (not hover, not focused). */
65
+ this.grayBorder = false;
66
+ /** Max length. Omit or 0 for no limit. */
67
+ this.maxLength = null;
68
+ /** Letter spacing in em units. */
69
+ this.letterSpacing = 0;
70
+ /** Autocomplete attribute. */
71
+ this.autocomplete = '';
72
+ /** Extra CSS classes on the wrapper. */
73
+ this.customClass = '';
74
+ /** Extra CSS classes on the input. */
75
+ this.inputClass = '';
76
+ this.errorMessage = '';
77
+ this.statusIcon = '';
78
+ this.displayedIcon = '';
79
+ this.displayedLoading = false;
80
+ this.loadingIconEntering = false;
81
+ this.iconClass = 'icon-default';
82
+ this.isFocused = false;
83
+ this.iconLeaveTimeout = null;
84
+ this.loadingLeaveTimeout = null;
85
+ this.loadingEnterRaf = null;
86
+ }
87
+ static { FmInput_1 = this; }
88
+ static { this.ICON_TRANSITION_MS = 350; }
89
+ get inputStateClass() {
90
+ return this.errorMessage && !this.isFocused ? 'input--danger' : '';
91
+ }
92
+ get labelFilledClass() {
93
+ return this.value && String(this.value).length > 0 ? 'label-filled' : '';
94
+ }
95
+ /** Run validation and update error state. Call from host if needed after external value change. */
96
+ validate() {
97
+ this.runValidation(this.value);
98
+ }
99
+ handleInput(e) {
100
+ const target = e.target;
101
+ const value = target.value;
102
+ this.value = value;
103
+ this.dispatchEvent(new CustomEvent('fm-input', {
104
+ detail: { value },
105
+ bubbles: true,
106
+ composed: true
107
+ }));
108
+ }
109
+ handleFocus(e) {
110
+ this.isFocused = true;
111
+ this.iconClass = 'icon-default';
112
+ this.statusIcon = '';
113
+ this.dispatchEvent(new CustomEvent('fm-focus', {
114
+ detail: { originalEvent: e },
115
+ bubbles: true,
116
+ composed: true
117
+ }));
118
+ }
119
+ handleBlur(e) {
120
+ this.isFocused = false;
121
+ this.runValidation(this.value);
122
+ this.dispatchEvent(new CustomEvent('fm-blur', {
123
+ detail: { originalEvent: e },
124
+ bubbles: true,
125
+ composed: true
126
+ }));
127
+ }
128
+ runValidation(value) {
129
+ const str = value != null ? String(value) : '';
130
+ for (const rule of this.rules) {
131
+ const error = rule(str);
132
+ if (error) {
133
+ this.errorMessage = error;
134
+ this.iconClass = 'icon-danger';
135
+ this.statusIcon = 'warning';
136
+ return;
137
+ }
138
+ }
139
+ this.errorMessage = '';
140
+ if (this.rules.length > 0 && str.length > 0) {
141
+ this.iconClass = 'icon-success';
142
+ this.statusIcon = 'check';
143
+ }
144
+ else {
145
+ this.statusIcon = '';
146
+ this.iconClass = 'icon-default';
147
+ }
148
+ }
149
+ connectedCallback() {
150
+ super.connectedCallback();
151
+ if (this.value && this.value.length > 0 && !this.isFocused) {
152
+ this.runValidation(this.value);
153
+ }
154
+ }
155
+ willUpdate(changed) {
156
+ if (changed.has('value') && !this.isFocused && this.value?.length > 0) {
157
+ this.runValidation(this.value);
158
+ }
159
+ if (changed.has('statusIcon')) {
160
+ if (this.statusIcon) {
161
+ if (this.iconLeaveTimeout) {
162
+ clearTimeout(this.iconLeaveTimeout);
163
+ this.iconLeaveTimeout = null;
164
+ }
165
+ this.displayedIcon = this.statusIcon;
166
+ }
167
+ else {
168
+ this.iconLeaveTimeout = setTimeout(() => {
169
+ this.displayedIcon = '';
170
+ this.iconLeaveTimeout = null;
171
+ }, FmInput_1.ICON_TRANSITION_MS);
172
+ }
173
+ }
174
+ if (changed.has('loading')) {
175
+ if (this.loading) {
176
+ if (this.loadingLeaveTimeout) {
177
+ clearTimeout(this.loadingLeaveTimeout);
178
+ this.loadingLeaveTimeout = null;
179
+ }
180
+ this.displayedLoading = true;
181
+ this.loadingIconEntering = true;
182
+ }
183
+ else {
184
+ this.loadingLeaveTimeout = setTimeout(() => {
185
+ this.displayedLoading = false;
186
+ this.loadingLeaveTimeout = null;
187
+ }, FmInput_1.ICON_TRANSITION_MS);
188
+ }
189
+ }
190
+ }
191
+ updated(changed) {
192
+ if (changed.has('loading') && this.loading && this.loadingIconEntering) {
193
+ this.loadingEnterRaf = requestAnimationFrame(() => {
194
+ requestAnimationFrame(() => {
195
+ this.loadingIconEntering = false;
196
+ this.loadingEnterRaf = null;
197
+ });
198
+ });
199
+ }
200
+ }
201
+ disconnectedCallback() {
202
+ super.disconnectedCallback();
203
+ if (this.iconLeaveTimeout) {
204
+ clearTimeout(this.iconLeaveTimeout);
205
+ this.iconLeaveTimeout = null;
206
+ }
207
+ if (this.loadingLeaveTimeout) {
208
+ clearTimeout(this.loadingLeaveTimeout);
209
+ this.loadingLeaveTimeout = null;
210
+ }
211
+ if (this.loadingEnterRaf != null) {
212
+ cancelAnimationFrame(this.loadingEnterRaf);
213
+ this.loadingEnterRaf = null;
214
+ }
215
+ }
216
+ render() {
217
+ const inputClasses = [
218
+ 'input',
219
+ 'fmx-input-border',
220
+ 'fmx-input-autofill',
221
+ this.placeholder ? 'input--with-placeholder' : 'input--no-placeholder',
222
+ this.inputStateClass,
223
+ this.loading ? 'input--loading' : '',
224
+ this.grayBorder ? 'input--gray-border' : '',
225
+ this.inputClass
226
+ ].filter(Boolean).join(' ');
227
+ const labelClasses = [
228
+ 'label',
229
+ 'label-text',
230
+ this.labelFilledClass
231
+ ].filter(Boolean).join(' ');
232
+ return html `
233
+ <div
234
+ class="inputgroup w-full mb-6 ${this.customClass} ${this.isFocused ? 'inputgroup--focused' : ''}"
235
+ data-inputgroup-type=${this.type}
236
+ >
237
+ <div class="relative">
238
+ <input
239
+ type=${this.type}
240
+ .value=${this.value}
241
+ @input=${this.handleInput}
242
+ @focus=${this.handleFocus}
243
+ @blur=${this.handleBlur}
244
+ ?disabled=${this.disabled}
245
+ ?readonly=${this.readonly}
246
+ maxlength=${this.maxLength ?? undefined}
247
+ autocomplete=${this.autocomplete}
248
+ class=${inputClasses}
249
+ style="letter-spacing: ${this.letterSpacing}em;"
250
+ />
251
+ ${this.placeholder
252
+ ? html `<label class=${labelClasses}>${this.placeholder}</label>`
253
+ : ''}
254
+ <span
255
+ class="iconwrapper icon icon-scale-enter-active icon-scale-leave-active ${this.displayedLoading ? `icon-loading ${this.loadingIconEntering ? 'icon-scale-enter-from icon-scale-leave-to' : this.loading ? 'icon-scale-enter-to icon-scale-leave-from' : 'icon-scale-leave-to icon-scale-enter-from'}` : `${this.iconClass} ${this.statusIcon ? 'icon-scale-enter-to icon-scale-leave-from' : 'icon-scale-enter-from icon-scale-leave-to'}`}"
256
+ >
257
+ ${this.displayedLoading
258
+ ? html `<fm-icon name="spinner" variant="bold" size="sm"></fm-icon>`
259
+ : this.displayedIcon
260
+ ? html `
261
+ <fm-icon
262
+ name=${this.displayedIcon}
263
+ variant="bold"
264
+ size="sm"
265
+ color=${this.displayedIcon === 'warning' ? 'danger' : 'primary'}
266
+ ></fm-icon>
267
+ `
268
+ : ''}
269
+ </span>
270
+ </div>
271
+ ${this.errorMessage && !this.isFocused
272
+ ? html `<p class="error-message" part="error-message">${this.errorMessage}</p>`
273
+ : ''}
274
+ </div>
275
+ `;
276
+ }
277
+ static { this.styles = [fmInputStyle]; }
278
+ };
279
+ __decorate([
280
+ property({ type: String })
281
+ ], FmInput.prototype, "type", void 0);
282
+ __decorate([
283
+ property({ type: String })
284
+ ], FmInput.prototype, "placeholder", void 0);
285
+ __decorate([
286
+ property({ type: String })
287
+ ], FmInput.prototype, "value", void 0);
288
+ __decorate([
289
+ property({ type: Array })
290
+ ], FmInput.prototype, "rules", void 0);
291
+ __decorate([
292
+ property({ type: Boolean, reflect: true })
293
+ ], FmInput.prototype, "disabled", void 0);
294
+ __decorate([
295
+ property({ type: Boolean, reflect: true })
296
+ ], FmInput.prototype, "readonly", void 0);
297
+ __decorate([
298
+ property({ type: Boolean, reflect: true })
299
+ ], FmInput.prototype, "loading", void 0);
300
+ __decorate([
301
+ property({ type: Boolean, attribute: 'gray-border', reflect: true })
302
+ ], FmInput.prototype, "grayBorder", void 0);
303
+ __decorate([
304
+ property({ type: Number, attribute: 'max-length' })
305
+ ], FmInput.prototype, "maxLength", void 0);
306
+ __decorate([
307
+ property({ type: Number, attribute: 'letter-spacing' })
308
+ ], FmInput.prototype, "letterSpacing", void 0);
309
+ __decorate([
310
+ property({ type: String })
311
+ ], FmInput.prototype, "autocomplete", void 0);
312
+ __decorate([
313
+ property({ type: String, attribute: 'custom-class' })
314
+ ], FmInput.prototype, "customClass", void 0);
315
+ __decorate([
316
+ property({ type: String, attribute: 'input-class' })
317
+ ], FmInput.prototype, "inputClass", void 0);
318
+ __decorate([
319
+ state()
320
+ ], FmInput.prototype, "errorMessage", void 0);
321
+ __decorate([
322
+ state()
323
+ ], FmInput.prototype, "statusIcon", void 0);
324
+ __decorate([
325
+ state()
326
+ ], FmInput.prototype, "displayedIcon", void 0);
327
+ __decorate([
328
+ state()
329
+ ], FmInput.prototype, "displayedLoading", void 0);
330
+ __decorate([
331
+ state()
332
+ ], FmInput.prototype, "loadingIconEntering", void 0);
333
+ __decorate([
334
+ state()
335
+ ], FmInput.prototype, "iconClass", void 0);
336
+ __decorate([
337
+ state()
338
+ ], FmInput.prototype, "isFocused", void 0);
339
+ FmInput = FmInput_1 = __decorate([
340
+ customElement('fm-input')
341
+ ], FmInput);
342
+ export { FmInput };
343
+ //# sourceMappingURL=fm-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fm-input.js","sourceRoot":"","sources":["../../src/fm-input/fm-input.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,gCAAgC,CAAA;AACvC,OAAO,kCAAkC,CAAA;AACzC,OAAO,kCAAkC,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;IACnC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC1C,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEI,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAAhC;;QACL,iGAAiG;QACrE,SAAI,GAAc,MAAM,CAAA;QAEpD,2BAA2B;QACC,gBAAW,GAAG,EAAE,CAAA;QAE5C,kCAAkC;QACN,UAAK,GAAG,EAAE,CAAA;QAEtC,gFAAgF;QACrD,UAAK,GAAqB,EAAE,CAAA;QAEvD,sBAAsB;QACsB,aAAQ,GAAG,KAAK,CAAA;QAE5D,uBAAuB;QACqB,aAAQ,GAAG,KAAK,CAAA;QAE5D,uDAAuD;QACX,YAAO,GAAG,KAAK,CAAA;QAE3D,6DAA6D;QACS,eAAU,GAAG,KAAK,CAAA;QAExF,0CAA0C;QACW,cAAS,GAAkB,IAAI,CAAA;QAEpF,kCAAkC;QACuB,kBAAa,GAAG,CAAC,CAAA;QAE1E,8BAA8B;QACF,iBAAY,GAAG,EAAE,CAAA;QAE7C,wCAAwC;QACe,gBAAW,GAAG,EAAE,CAAA;QAEvE,sCAAsC;QACgB,eAAU,GAAG,EAAE,CAAA;QAEpD,iBAAY,GAAG,EAAE,CAAA;QACjB,eAAU,GAA6B,EAAE,CAAA;QACzC,kBAAa,GAA6B,EAAE,CAAA;QAC5C,qBAAgB,GAAG,KAAK,CAAA;QACxB,wBAAmB,GAAG,KAAK,CAAA;QAC3B,cAAS,GAAG,cAAc,CAAA;QAC1B,cAAS,GAAG,KAAK,CAAA;QAE1B,qBAAgB,GAAyC,IAAI,CAAA;QAC7D,wBAAmB,GAAyC,IAAI,CAAA;QAChE,oBAAe,GAAkB,IAAI,CAAA;IAgN/C,CAAC;;aA/MyB,uBAAkB,GAAG,GAAG,AAAN,CAAM;IAEhD,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1E,CAAC;IAED,mGAAmG;IACnG,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAEO,WAAW,CAAC,CAAQ;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAA;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,UAAU,EAAE;YAC1B,MAAM,EAAE,EAAE,KAAK,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAA;IACH,CAAC;IAEO,WAAW,CAAC,CAAa;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,SAAS,GAAG,cAAc,CAAA;QAC/B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,UAAU,EAAE;YAC1B,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAA;IACH,CAAC;IAEO,UAAU,CAAC,CAAa;QAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,SAAS,EAAE;YACzB,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAA;IACH,CAAC;IAEO,aAAa,CAAC,KAAsB;QAC1C,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;YACvB,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBACzB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAA;gBAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;gBAC3B,OAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,cAAc,CAAA;YAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;YACpB,IAAI,CAAC,SAAS,GAAG,cAAc,CAAA;QACjC,CAAC;IACH,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAA;QACzB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAEQ,UAAU,CAAC,OAA6B;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;oBACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;gBAC9B,CAAC;gBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;oBACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;gBAC9B,CAAC,EAAE,SAAO,CAAC,kBAAkB,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC7B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;oBACtC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;gBACjC,CAAC;gBACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;gBAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE;oBACzC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;oBAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;gBACjC,CAAC,EAAE,SAAO,CAAC,kBAAkB,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAEQ,OAAO,CAAC,OAA6B;QAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvE,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC,GAAG,EAAE;gBAChD,qBAAqB,CAAC,GAAG,EAAE;oBACzB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;oBAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;gBAC7B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAC5B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;YACtC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;YACjC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,YAAY,GAAG;YACnB,OAAO;YACP,kBAAkB;YAClB,oBAAoB;YACpB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,uBAAuB;YACtE,IAAI,CAAC,eAAe;YACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,UAAU;SAChB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3B,MAAM,YAAY,GAAG;YACnB,OAAO;YACP,YAAY;YACZ,IAAI,CAAC,gBAAgB;SACtB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3B,OAAO,IAAI,CAAA;;wCAEyB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;+BACxE,IAAI,CAAC,IAAI;;;;mBAIrB,IAAI,CAAC,IAAI;qBACP,IAAI,CAAC,KAAK;qBACV,IAAI,CAAC,WAAW;qBAChB,IAAI,CAAC,WAAW;oBACjB,IAAI,CAAC,UAAU;wBACX,IAAI,CAAC,QAAQ;wBACb,IAAI,CAAC,QAAQ;wBACb,IAAI,CAAC,SAAS,IAAI,SAAS;2BACxB,IAAI,CAAC,YAAY;oBACxB,YAAY;qCACK,IAAI,CAAC,aAAa;;YAE3C,IAAI,CAAC,WAAW;YAChB,CAAC,CAAC,IAAI,CAAA,gBAAgB,YAAY,IAAI,IAAI,CAAC,WAAW,UAAU;YAChE,CAAC,CAAC,EAAE;;sFAEsE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,2CAA2C,EAAE;;cAExa,IAAI,CAAC,gBAAgB;YACrB,CAAC,CAAC,IAAI,CAAA,6DAA6D;YACnE,CAAC,CAAC,IAAI,CAAC,aAAa;gBAClB,CAAC,CAAC,IAAI,CAAA;;6BAEO,IAAI,CAAC,aAAa;;;8BAGjB,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;;mBAElE;gBACH,CAAC,CAAC,EAAE;;;UAGV,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS;YACpC,CAAC,CAAC,IAAI,CAAA,iDAAiD,IAAI,CAAC,YAAY,MAAM;YAC9E,CAAC,CAAC,EAAE;;KAET,CAAA;IACH,CAAC;aACM,WAAM,GAAI,CAAC,YAAY,CAAC,AAAlB,CAAkB;;AA/PH;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qCAAyB;AAGxB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAAiB;AAGhB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCAAW;AAGX;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;sCAA6B;AAGX;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAiB;AAGhB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAiB;AAGhB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAgB;AAGW;IAArE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAmB;AAGnC;IAApD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;0CAAgC;AAG3B;IAAxD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;8CAAkB;AAG9C;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAkB;AAGU;IAAtD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;4CAAiB;AAGjB;IAArD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;2CAAgB;AAEpD;IAAhB,KAAK,EAAE;6CAA0B;AACjB;IAAhB,KAAK,EAAE;2CAAkD;AACzC;IAAhB,KAAK,EAAE;8CAAqD;AAC5C;IAAhB,KAAK,EAAE;iDAAiC;AACxB;IAAhB,KAAK,EAAE;oDAAoC;AAC3B;IAAhB,KAAK,EAAE;0CAAmC;AAC1B;IAAhB,KAAK,EAAE;0CAA0B;AA9CvB,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAkQnB"}
@@ -0,0 +1,2 @@
1
+ export declare const fmInputStyle: import("lit").CSSResult;
2
+ //# sourceMappingURL=fm-input.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fm-input.style.d.ts","sourceRoot":"","sources":["../../src/fm-input/fm-input.style.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBA0NxB,CAAC"}
@@ -0,0 +1,221 @@
1
+ import { css } from "lit";
2
+ export const fmInputStyle = css `
3
+ :host {
4
+ display: block;
5
+ min-width: 100px;
6
+ }
7
+
8
+ .inputgroup {
9
+ min-width: 100px;
10
+ }
11
+
12
+ .relative {
13
+ position: relative;
14
+ }
15
+
16
+ .input {
17
+ width: 100%;
18
+ height: var(--button-height-lg);
19
+ font-size: var(--font-size-lg);
20
+ background: var(--color-surface-neutral-default-highest);
21
+ color: var(--color-content-neutral-default);
22
+ border: var(--stroke-sm) solid transparent;
23
+ border-radius: var(--radius-md);
24
+ padding-left: var(--spacing-md);
25
+ padding-right: var(--spacing-xl);
26
+ transition:
27
+ border-color 0.3s ease,
28
+ padding 0.3s ease;
29
+ outline: none;
30
+ box-sizing: border-box;
31
+ font-family: inherit;
32
+ overflow: hidden;
33
+ text-overflow: ellipsis;
34
+ white-space: nowrap;
35
+ }
36
+
37
+ .input:focus {
38
+ border-color: var(--color-outline-brand-brand);
39
+ text-overflow: clip;
40
+ }
41
+
42
+ .input:hover:not(:focus):not(:disabled):not(:read-only){
43
+ border-color: var(--color-outline-brand-brand);
44
+ }
45
+ .input.input--danger {
46
+ border-color: var(--color-outline-functional-danger);
47
+ }
48
+
49
+ .input.input--loading {
50
+ border-color: color-mix(
51
+ in srgb,
52
+ var(--color-content-neutral-default-alt) 20%,
53
+ transparent
54
+ );
55
+ }
56
+
57
+ .input.input--gray-border:not(:focus):not(:hover):not(.input--danger) {
58
+ border-color: var(--color-outline-neutral-default);
59
+ }
60
+
61
+
62
+
63
+ .input.fmx-input-autofill:-webkit-autofill,
64
+ .input.fmx-input-autofill:autofill {
65
+ color: var(--color-content-neutral-default) !important;
66
+ -webkit-text-fill-color: var(
67
+ --color-content-neutral-default
68
+ ) !important;
69
+ }
70
+
71
+ .label {
72
+ position: absolute;
73
+ top: 50%;
74
+ left: var(--spacing-md);
75
+ color: var(--color-content-neutral-default-alt);
76
+ transition: all 0.2s ease;
77
+ transform-origin: left;
78
+ transform: translateY(-50%);
79
+ font-weight: var(--font-weight-medium);
80
+ pointer-events: none;
81
+ }
82
+
83
+ .input--with-placeholder {
84
+ padding-top: var(--spacing-md);
85
+ padding-left: 14px;
86
+ }
87
+
88
+ .input--no-placeholder {
89
+ padding-top: var(--spacing-lg);
90
+ padding-bottom: var(--spacing-lg);
91
+ display: flex;
92
+ align-items: center;
93
+ justify-content: center;
94
+ }
95
+
96
+ .label-text {
97
+ font-size: var(--text-lg);
98
+ }
99
+
100
+ .inputgroup--focused .label,
101
+ .label-filled {
102
+ top: var(--spacing-sm);
103
+ left: var(--spacing-md);
104
+ font-size: var(--text-xs);
105
+ font-weight: var(--font-weight-bold);
106
+ transform: translateY(0);
107
+ }
108
+
109
+ .inputgroup .fmx-input-autofill:-webkit-autofill,
110
+ .inputgroup .fmx-input-autofill:autofill {
111
+ padding-top: var(--spacing-md);
112
+ padding-bottom: var(--spacing-xxs);
113
+ font-size: var(--text-lg);
114
+ }
115
+
116
+ .iconwrapper {
117
+ position: absolute;
118
+ display: block;
119
+ height: 1.5rem;
120
+ width: 1.5rem;
121
+ }
122
+
123
+ .iconwrapper.icon-scale-enter-active,
124
+ .iconwrapper.icon-scale-leave-active {
125
+ transition: transform 0.3s cubic-bezier(0.66, -0.22, 0.28, 1.18);
126
+ transform-origin: 100% 0;
127
+ }
128
+
129
+ .iconwrapper.icon-scale-enter-from,
130
+ .iconwrapper.icon-scale-leave-to {
131
+ transform: scale(0) translateY(-50%);
132
+ pointer-events: none;
133
+ }
134
+
135
+ .iconwrapper.icon-scale-enter-to,
136
+ .iconwrapper.icon-scale-leave-from {
137
+ transform: scale(1) translateY(-50%);
138
+ }
139
+
140
+ .iconwrapper svg,
141
+ .iconwrapper fm-icon {
142
+ width: 100%;
143
+ height: 100%;
144
+ }
145
+
146
+ .icon {
147
+ right: var(--spacing-xs);
148
+ top: 50%;
149
+ transform: translateY(-50%);
150
+ }
151
+
152
+ .icon-default {
153
+ color: currentColor;
154
+ }
155
+
156
+ .icon-danger {
157
+ color: var(--color-content-functional-danger);
158
+ }
159
+
160
+ .icon-success {
161
+ color: var(--color-content-brand-brand);
162
+ }
163
+
164
+ .iconwrapper.icon-loading {
165
+ color: var(--color-content-neutral-default-alt);
166
+ }
167
+
168
+ .iconwrapper.icon-loading fm-icon {
169
+ animation: fm-input-spinner-rotate 0.8s linear infinite;
170
+ }
171
+
172
+ @keyframes fm-input-spinner-rotate {
173
+ from {
174
+ transform: rotate(0deg);
175
+ }
176
+ to {
177
+ transform: rotate(360deg);
178
+ }
179
+ }
180
+
181
+ .error-message {
182
+ color: var(--color-content-functional-danger);
183
+ font-size: var(--text-xs);
184
+ font-weight: var(--font-weight-bold);
185
+ margin-top: var(--spacing-xxs);
186
+ margin-bottom: var(--spacing-none);
187
+ }
188
+
189
+ .input[type="number"]::-webkit-inner-spin-button,
190
+ .input[type="number"]::-webkit-outer-spin-button {
191
+ -webkit-appearance: none;
192
+ margin: var(--spacing-none);
193
+ }
194
+ .input[type="number"] {
195
+ -moz-appearance: textfield;
196
+ }
197
+
198
+ .input[type="search"]::-webkit-search-cancel-button,
199
+ .input[type="search"]::-webkit-search-decoration {
200
+ -webkit-appearance: none;
201
+ }
202
+
203
+
204
+ .input:disabled {
205
+ cursor: not-allowed;
206
+ background: var(--color-surface-neutral-default); /* of een donkerdere token */
207
+ border-color: var(--color-outline-neutral-default);
208
+ color: var(--color-content-neutral-default-alt);
209
+ }
210
+
211
+ .input:read-only {
212
+ cursor: default;
213
+ }
214
+
215
+ .input:focus:disabled,
216
+ .input:focus:read-only {
217
+ border-color: var(--color-outline-neutral-default);
218
+ }
219
+
220
+ `;
221
+ //# sourceMappingURL=fm-input.style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fm-input.style.js","sourceRoot":"","sources":["../../src/fm-input/fm-input.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0N9B,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * Flitsmeister radio-card web component. Wraps a native radio input with label,
4
+ * media and description slots.
5
+ *
6
+ * @element fm-radio-input
7
+ *
8
+ * @fires fm-radio-input - Bij selectie van deze optie. Detail: `{ name: string, value: string }`.
9
+ *
10
+ * @slot default - Label (hoofdtekst).
11
+ * @slot media - Logo, prijs of extra element. Standaard `append` (helemaal rechts); zet `media-placement="prepend"` voor media links tegen de tekst.
12
+ * @slot description - Secundaire tekst onder het label.
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <fm-radio-input name="plan" value="basic" .checked=${true}>
17
+ * <span>Basis</span>
18
+ * <span slot="media">€ 0</span>
19
+ * <span slot="description">Tot 10 routes per maand</span>
20
+ * </fm-radio-input>
21
+ * <fm-radio-input name="x" value="y">
22
+ * <span>Label</span>
23
+ * <span slot="media">€ 9,99</span>
24
+ * </fm-radio-input>
25
+ * <fm-radio-input media-placement="prepend" name="x" value="y">
26
+ * <span>Label</span>
27
+ * <span slot="media">Logo</span>
28
+ * </fm-radio-input>
29
+ * ```
30
+ */
31
+ export type FmRadioInputMediaPlacement = 'prepend' | 'append';
32
+ export declare class FmRadioInput extends LitElement {
33
+ /** Radio group name forwarded to the native input. */
34
+ name: string;
35
+ /** Submitted value for this radio option. */
36
+ value: string;
37
+ /** Checked state. */
38
+ checked: boolean;
39
+ /** Disabled state. */
40
+ disabled: boolean;
41
+ /** Gray border in default state (not hover, not focused, not checked). */
42
+ grayBorder: boolean;
43
+ /** Media slot placement: 'prepend' | 'append'. Default `'append'`. */
44
+ mediaPlacement: FmRadioInputMediaPlacement;
45
+ private handleChange;
46
+ render(): import("lit").TemplateResult<1>;
47
+ static styles: import("lit").CSSResult[];
48
+ }
49
+ declare global {
50
+ interface HTMLElementTagNameMap {
51
+ 'fm-radio-input': FmRadioInput;
52
+ }
53
+ }
54
+ //# sourceMappingURL=fm-radio-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fm-radio-input.d.ts","sourceRoot":"","sources":["../../src/fm-radio-input/fm-radio-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAA;AAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE7D,qBACa,YAAa,SAAQ,UAAU;IAC1C,sDAAsD;IAC1B,IAAI,SAAK;IAErC,6CAA6C;IACjB,KAAK,SAAK;IAEtC,qBAAqB;IACuB,OAAO,UAAQ;IAE3D,sBAAsB;IACsB,QAAQ,UAAQ;IAE5D,0EAA0E;IACJ,UAAU,UAAQ;IAExF,sEAAsE;IAEtE,cAAc,EAAE,0BAA0B,CAAW;IAErD,OAAO,CAAC,YAAY;IAcpB,MAAM;IA6BN,MAAM,CAAC,MAAM,4BAAsB;CACpC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAA;KAC/B;CACF"}