@mozaic-ds/web-components 1.0.0-beta.7 → 1.1.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 (491) hide show
  1. package/README.md +38 -70
  2. package/dist/Cross20.js +1 -1
  3. package/dist/Cross20.js.map +1 -1
  4. package/dist/Cross24.js +1 -1
  5. package/dist/CrossCircleFilled24.js +1 -1
  6. package/dist/attributes.js +1 -1
  7. package/dist/attributes.js.map +1 -1
  8. package/dist/bundle.d.ts +25 -23
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +25 -23
  11. package/dist/components/avatar/Avatar.js +2 -2
  12. package/dist/components/avatar/Avatar.js.map +1 -1
  13. package/dist/components/avatar/Avatar.spec.js +17 -0
  14. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  15. package/dist/components/avatar/Avatar.stories.js +4 -32
  16. package/dist/components/avatar/Avatar.svelte +7 -5
  17. package/dist/components/avatar/Avatar.svelte.d.ts +2 -0
  18. package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
  19. package/dist/components/avatar/README.md +16 -0
  20. package/dist/components/breadcrumb/Breadcrumb.js +2 -2
  21. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  22. package/dist/components/breadcrumb/Breadcrumb.spec.js +42 -0
  23. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  24. package/dist/components/breadcrumb/Breadcrumb.stories.js +7 -39
  25. package/dist/components/breadcrumb/Breadcrumb.svelte +12 -20
  26. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  27. package/dist/components/breadcrumb/README.md +11 -0
  28. package/dist/components/button/Button.js +2 -2
  29. package/dist/components/button/Button.js.map +1 -1
  30. package/dist/components/button/Button.spec.js +74 -0
  31. package/dist/components/button/Button.stories.d.ts +9 -13
  32. package/dist/components/button/Button.stories.d.ts.map +1 -1
  33. package/dist/components/button/Button.stories.js +46 -146
  34. package/dist/components/button/Button.svelte +70 -53
  35. package/dist/components/button/Button.svelte.d.ts +36 -8
  36. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  37. package/dist/components/button/README.md +26 -0
  38. package/dist/components/callout/Callout.js +2 -5
  39. package/dist/components/callout/Callout.js.map +1 -1
  40. package/dist/components/callout/Callout.spec.js +33 -0
  41. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  42. package/dist/components/callout/Callout.stories.js +2 -55
  43. package/dist/components/callout/Callout.svelte +12 -15
  44. package/dist/components/callout/Callout.svelte.d.ts +4 -0
  45. package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
  46. package/dist/components/callout/README.md +20 -0
  47. package/dist/components/checkbox/Checkbox.js +3 -3
  48. package/dist/components/checkbox/Checkbox.js.map +1 -1
  49. package/dist/components/checkbox/Checkbox.spec.js +70 -0
  50. package/dist/components/checkbox/Checkbox.stories.d.ts +11 -16
  51. package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
  52. package/dist/components/checkbox/Checkbox.stories.js +67 -124
  53. package/dist/components/checkbox/Checkbox.svelte +42 -22
  54. package/dist/components/checkbox/Checkbox.svelte.d.ts +31 -6
  55. package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
  56. package/dist/components/checkbox/README.md +17 -0
  57. package/dist/components/checkboxgroup/CheckboxGroup.js +3 -3
  58. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  59. package/dist/components/checkboxgroup/CheckboxGroup.spec.js +111 -0
  60. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +5 -13
  61. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
  62. package/dist/components/checkboxgroup/CheckboxGroup.stories.js +56 -140
  63. package/dist/components/checkboxgroup/CheckboxGroup.svelte +54 -49
  64. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts +30 -6
  65. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
  66. package/dist/components/checkboxgroup/README.md +14 -0
  67. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  68. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  69. package/dist/components/circularprogressbar/CircularProgressbar.spec.js +74 -0
  70. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +6 -6
  71. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
  72. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +29 -68
  73. package/dist/components/circularprogressbar/CircularProgressbar.svelte +20 -10
  74. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +18 -0
  75. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  76. package/dist/components/circularprogressbar/README.md +14 -0
  77. package/dist/components/datepicker/Datepicker.js +3 -3
  78. package/dist/components/datepicker/Datepicker.js.map +1 -1
  79. package/dist/components/datepicker/Datepicker.spec.js +95 -0
  80. package/dist/components/datepicker/Datepicker.stories.d.ts +7 -6
  81. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  82. package/dist/components/datepicker/Datepicker.stories.js +58 -75
  83. package/dist/components/datepicker/Datepicker.svelte +47 -33
  84. package/dist/components/datepicker/Datepicker.svelte.d.ts +31 -2
  85. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  86. package/dist/components/datepicker/README.md +18 -0
  87. package/dist/components/drawer/Drawer.js +2 -2
  88. package/dist/components/drawer/Drawer.js.map +1 -1
  89. package/dist/components/drawer/Drawer.spec.js +101 -0
  90. package/dist/components/drawer/Drawer.stories.d.ts +29 -8
  91. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  92. package/dist/components/drawer/Drawer.stories.js +85 -87
  93. package/dist/components/drawer/Drawer.svelte +74 -38
  94. package/dist/components/drawer/Drawer.svelte.d.ts +34 -3
  95. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  96. package/dist/components/drawer/README.md +31 -0
  97. package/dist/components/field/Field.js +2 -2
  98. package/dist/components/field/Field.js.map +1 -1
  99. package/dist/components/field/Field.spec.js +98 -0
  100. package/dist/components/field/Field.stories.d.ts +10 -15
  101. package/dist/components/field/Field.stories.d.ts.map +1 -1
  102. package/dist/components/field/Field.stories.js +100 -141
  103. package/dist/components/field/Field.svelte +55 -13
  104. package/dist/components/field/Field.svelte.d.ts +42 -7
  105. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  106. package/dist/components/field/README.md +25 -0
  107. package/dist/components/flag/Flag.js +2 -2
  108. package/dist/components/flag/Flag.js.map +1 -1
  109. package/dist/components/flag/Flag.spec.js +30 -0
  110. package/dist/components/flag/Flag.stories.d.ts +8 -18
  111. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  112. package/dist/components/flag/Flag.stories.js +22 -103
  113. package/dist/components/flag/Flag.svelte +11 -9
  114. package/dist/components/flag/Flag.svelte.d.ts +10 -28
  115. package/dist/components/flag/Flag.svelte.d.ts.map +1 -1
  116. package/dist/components/flag/README.md +11 -0
  117. package/dist/components/iconbutton/IconButton.js +2 -2
  118. package/dist/components/iconbutton/IconButton.js.map +1 -1
  119. package/dist/components/iconbutton/IconButton.stories.d.ts +11 -11
  120. package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
  121. package/dist/components/iconbutton/IconButton.stories.js +51 -67
  122. package/dist/components/iconbutton/IconButton.svelte +41 -37
  123. package/dist/components/iconbutton/IconButton.svelte.d.ts +28 -7
  124. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  125. package/dist/components/iconbutton/README.md +21 -0
  126. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  127. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  128. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.spec.js +28 -0
  129. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +5 -7
  130. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
  131. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +18 -49
  132. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +12 -7
  133. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts +10 -1
  134. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
  135. package/dist/components/linearprogressbarbuffer/README.md +11 -0
  136. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  137. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  138. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.spec.js +26 -0
  139. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +4 -5
  140. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
  141. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +15 -33
  142. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +6 -0
  143. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts +6 -0
  144. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts.map +1 -1
  145. package/dist/components/linearprogressbarpercentage/README.md +10 -0
  146. package/dist/components/link/Link.js +2 -2
  147. package/dist/components/link/Link.js.map +1 -1
  148. package/dist/components/link/Link.spec.js +51 -0
  149. package/dist/components/link/Link.stories.d.ts +12 -12
  150. package/dist/components/link/Link.stories.d.ts.map +1 -1
  151. package/dist/components/link/Link.stories.js +61 -74
  152. package/dist/components/link/Link.svelte +45 -40
  153. package/dist/components/link/Link.svelte.d.ts +29 -8
  154. package/dist/components/link/Link.svelte.d.ts.map +1 -1
  155. package/dist/components/link/README.md +23 -0
  156. package/dist/components/loader/Loader.js +2 -2
  157. package/dist/components/loader/Loader.js.map +1 -1
  158. package/dist/components/loader/Loader.spec.js +73 -0
  159. package/dist/components/loader/Loader.stories.d.ts +8 -10
  160. package/dist/components/loader/Loader.stories.d.ts.map +1 -1
  161. package/dist/components/loader/Loader.stories.js +26 -42
  162. package/dist/components/loader/Loader.svelte +37 -35
  163. package/dist/components/loader/Loader.svelte.d.ts +14 -3
  164. package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
  165. package/dist/components/loader/README.md +12 -0
  166. package/dist/components/loadingoverlay/LoadingOverlay.js +4 -0
  167. package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -0
  168. package/dist/components/loadingoverlay/LoadingOverlay.spec.js +38 -0
  169. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +7 -0
  170. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -0
  171. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +39 -0
  172. package/dist/components/loadingoverlay/LoadingOverlay.svelte +50 -0
  173. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts +17 -0
  174. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts.map +1 -0
  175. package/dist/components/loadingoverlay/README.md +11 -0
  176. package/dist/components/modal/Modal.js +2 -2
  177. package/dist/components/modal/Modal.js.map +1 -1
  178. package/dist/components/modal/Modal.spec.js +50 -0
  179. package/dist/components/modal/Modal.stories.d.ts +36 -9
  180. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  181. package/dist/components/modal/Modal.stories.js +52 -83
  182. package/dist/components/modal/Modal.svelte +42 -41
  183. package/dist/components/modal/Modal.svelte.d.ts +22 -5
  184. package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
  185. package/dist/components/modal/README.md +28 -0
  186. package/dist/components/numberbadge/NumberBadge.js +2 -2
  187. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  188. package/dist/components/numberbadge/NumberBadge.spec.js +28 -0
  189. package/dist/components/numberbadge/NumberBadge.stories.d.ts +9 -13
  190. package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
  191. package/dist/components/numberbadge/NumberBadge.stories.js +28 -56
  192. package/dist/components/numberbadge/NumberBadge.svelte +18 -20
  193. package/dist/components/numberbadge/NumberBadge.svelte.d.ts +15 -4
  194. package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
  195. package/dist/components/numberbadge/README.md +12 -0
  196. package/dist/components/overlay/Overlay.js +2 -2
  197. package/dist/components/overlay/Overlay.js.map +1 -1
  198. package/dist/components/overlay/Overlay.spec.js +29 -0
  199. package/dist/components/overlay/Overlay.stories.d.ts +5 -7
  200. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  201. package/dist/components/overlay/Overlay.stories.js +29 -40
  202. package/dist/components/overlay/Overlay.svelte +14 -4
  203. package/dist/components/overlay/Overlay.svelte.d.ts +11 -0
  204. package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -1
  205. package/dist/components/overlay/README.md +17 -0
  206. package/dist/components/pagination/Pagination.js +6 -6
  207. package/dist/components/pagination/Pagination.js.map +1 -1
  208. package/dist/components/pagination/Pagination.spec.js +65 -0
  209. package/dist/components/pagination/Pagination.stories.d.ts +8 -11
  210. package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
  211. package/dist/components/pagination/Pagination.stories.js +37 -91
  212. package/dist/components/pagination/Pagination.svelte +37 -34
  213. package/dist/components/pagination/Pagination.svelte.d.ts +27 -4
  214. package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
  215. package/dist/components/pagination/README.md +16 -0
  216. package/dist/components/passwordinput/PasswordInput.js +3 -4
  217. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  218. package/dist/components/passwordinput/PasswordInput.spec.js +84 -0
  219. package/dist/components/passwordinput/PasswordInput.stories.d.ts +10 -13
  220. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  221. package/dist/components/passwordinput/PasswordInput.stories.js +67 -124
  222. package/dist/components/passwordinput/PasswordInput.svelte +387 -28
  223. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +33 -1
  224. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  225. package/dist/components/passwordinput/README.md +19 -0
  226. package/dist/components/pincode/Pincode.js +2 -2
  227. package/dist/components/pincode/Pincode.js.map +1 -1
  228. package/dist/components/pincode/Pincode.spec.js +99 -0
  229. package/dist/components/pincode/Pincode.stories.d.ts +9 -13
  230. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  231. package/dist/components/pincode/Pincode.stories.js +62 -127
  232. package/dist/components/pincode/Pincode.svelte +56 -53
  233. package/dist/components/pincode/Pincode.svelte.d.ts +30 -24
  234. package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
  235. package/dist/components/pincode/README.md +22 -0
  236. package/dist/components/quantityselector/QuantitySelector.js +2 -2
  237. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  238. package/dist/components/quantityselector/QuantitySelector.spec.js +104 -0
  239. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +10 -15
  240. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  241. package/dist/components/quantityselector/QuantitySelector.stories.js +72 -146
  242. package/dist/components/quantityselector/QuantitySelector.svelte +94 -77
  243. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts +49 -17
  244. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  245. package/dist/components/quantityselector/README.md +21 -0
  246. package/dist/components/radio/README.md +15 -0
  247. package/dist/components/radio/Radio.js +2 -2
  248. package/dist/components/radio/Radio.js.map +1 -1
  249. package/dist/components/radio/Radio.spec.js +60 -0
  250. package/dist/components/radio/Radio.stories.d.ts +9 -13
  251. package/dist/components/radio/Radio.stories.d.ts.map +1 -1
  252. package/dist/components/radio/Radio.stories.js +54 -70
  253. package/dist/components/radio/Radio.svelte +35 -20
  254. package/dist/components/radio/Radio.svelte.d.ts +27 -5
  255. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  256. package/dist/components/radiogroup/README.md +14 -0
  257. package/dist/components/radiogroup/RadioGroup.js +3 -3
  258. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  259. package/dist/components/radiogroup/RadioGroup.spec.js +65 -0
  260. package/dist/components/radiogroup/RadioGroup.stories.d.ts +5 -12
  261. package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
  262. package/dist/components/radiogroup/RadioGroup.stories.js +56 -151
  263. package/dist/components/radiogroup/RadioGroup.svelte +48 -47
  264. package/dist/components/radiogroup/RadioGroup.svelte.d.ts +28 -9
  265. package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
  266. package/dist/components/segmentedcontrol/README.md +19 -0
  267. package/dist/components/segmentedcontrol/SegmentedControl.js +4 -0
  268. package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -0
  269. package/dist/components/segmentedcontrol/SegmentedControl.spec.js +52 -0
  270. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts +8 -0
  271. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -0
  272. package/dist/components/segmentedcontrol/SegmentedControl.stories.js +54 -0
  273. package/dist/components/segmentedcontrol/SegmentedControl.svelte +125 -0
  274. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts +32 -0
  275. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts.map +1 -0
  276. package/dist/components/select/README.md +18 -0
  277. package/dist/components/select/Select.js +2 -2
  278. package/dist/components/select/Select.js.map +1 -1
  279. package/dist/components/select/Select.spec.js +76 -0
  280. package/dist/components/select/Select.stories.d.ts +10 -14
  281. package/dist/components/select/Select.stories.d.ts.map +1 -1
  282. package/dist/components/select/Select.stories.js +87 -92
  283. package/dist/components/select/Select.svelte +57 -44
  284. package/dist/components/select/Select.svelte.d.ts +42 -11
  285. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  286. package/dist/components/statusbadge/README.md +11 -0
  287. package/dist/components/statusbadge/StatusBadge.js +2 -2
  288. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  289. package/dist/components/statusbadge/StatusBadge.spec.js +31 -0
  290. package/dist/components/statusbadge/StatusBadge.stories.d.ts +9 -12
  291. package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
  292. package/dist/components/statusbadge/StatusBadge.stories.js +21 -44
  293. package/dist/components/statusbadge/StatusBadge.svelte +14 -6
  294. package/dist/components/statusbadge/StatusBadge.svelte.d.ts +13 -28
  295. package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
  296. package/dist/components/statusdot/README.md +11 -0
  297. package/dist/components/statusdot/StatusDot.js +2 -2
  298. package/dist/components/statusdot/StatusDot.js.map +1 -1
  299. package/dist/components/statusdot/StatusDot.spec.js +36 -0
  300. package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
  301. package/dist/components/statusdot/StatusDot.stories.js +9 -37
  302. package/dist/components/statusdot/StatusDot.svelte +5 -9
  303. package/dist/components/statusdot/StatusDot.svelte.d.ts +2 -2
  304. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  305. package/dist/components/statusnotification/README.md +25 -0
  306. package/dist/components/statusnotification/StatusNotification.js +2 -6
  307. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  308. package/dist/components/statusnotification/StatusNotification.spec.js +54 -0
  309. package/dist/components/statusnotification/StatusNotification.stories.d.ts +16 -14
  310. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  311. package/dist/components/statusnotification/StatusNotification.stories.js +53 -86
  312. package/dist/components/statusnotification/StatusNotification.svelte +53 -64
  313. package/dist/components/statusnotification/StatusNotification.svelte.d.ts +21 -18
  314. package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
  315. package/dist/components/tab/README.md +20 -0
  316. package/dist/components/tab/Tab.js +4 -0
  317. package/dist/components/tab/Tab.js.map +1 -0
  318. package/dist/components/tab/Tab.spec.js +58 -0
  319. package/dist/components/{tabs → tab}/Tab.svelte +44 -30
  320. package/dist/components/{tabs → tab}/Tab.svelte.d.ts +20 -3
  321. package/dist/components/tab/Tab.svelte.d.ts.map +1 -0
  322. package/dist/components/tabs/README.md +18 -0
  323. package/dist/components/tabs/Tabs.js +2 -2
  324. package/dist/components/tabs/Tabs.js.map +1 -1
  325. package/dist/components/tabs/Tabs.spec.js +51 -0
  326. package/dist/components/tabs/Tabs.stories.d.ts +9 -6
  327. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  328. package/dist/components/tabs/Tabs.stories.js +59 -115
  329. package/dist/components/tabs/Tabs.svelte +27 -7
  330. package/dist/components/tabs/Tabs.svelte.d.ts +21 -7
  331. package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
  332. package/dist/components/tags/README.md +9 -0
  333. package/dist/components/tags/Tag.js +1 -1
  334. package/dist/components/tags/TagContextualised.js +2 -2
  335. package/dist/components/tags/TagContextualised.js.map +1 -1
  336. package/dist/components/tags/TagContextualised.svelte +1 -5
  337. package/dist/components/tags/TagInteractive.js +1 -1
  338. package/dist/components/tags/TagRemovable.js +2 -2
  339. package/dist/components/tags/TagRemovable.js.map +1 -1
  340. package/dist/components/tags/TagRemovable.svelte +2 -12
  341. package/dist/components/tags/TagRemovable.svelte.d.ts.map +1 -1
  342. package/dist/components/tags/TagSelectable.js +2 -2
  343. package/dist/components/tags/TagSelectable.js.map +1 -1
  344. package/dist/components/tags/TagSelectable.svelte +1 -5
  345. package/dist/components/tags/Tags.stories.d.ts.map +1 -1
  346. package/dist/components/tags/Tags.stories.js +7 -1
  347. package/dist/components/tags/TagsContextualised.stories.d.ts.map +1 -1
  348. package/dist/components/tags/TagsContextualised.stories.js +7 -1
  349. package/dist/components/tags/TagsInteractive.stories.d.ts.map +1 -1
  350. package/dist/components/tags/TagsInteractive.stories.js +7 -1
  351. package/dist/components/tags/TagsRemovable.stories.d.ts.map +1 -1
  352. package/dist/components/tags/TagsRemovable.stories.js +8 -4
  353. package/dist/components/tags/TagsSelectable.stories.d.ts.map +1 -1
  354. package/dist/components/tags/TagsSelectable.stories.js +7 -1
  355. package/dist/components/textarea/README.md +19 -0
  356. package/dist/components/textarea/Textarea.js +2 -5
  357. package/dist/components/textarea/Textarea.js.map +1 -1
  358. package/dist/components/textarea/Textarea.spec.js +67 -0
  359. package/dist/components/textarea/Textarea.stories.d.ts +9 -13
  360. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  361. package/dist/components/textarea/Textarea.stories.js +61 -92
  362. package/dist/components/textarea/Textarea.svelte +51 -97
  363. package/dist/components/textarea/Textarea.svelte.d.ts +43 -13
  364. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  365. package/dist/components/textinput/README.md +26 -0
  366. package/dist/components/textinput/Textinput.js +2 -2
  367. package/dist/components/textinput/Textinput.js.map +1 -1
  368. package/dist/components/textinput/Textinput.spec.js +89 -0
  369. package/dist/components/textinput/Textinput.stories.d.ts +11 -12
  370. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  371. package/dist/components/textinput/Textinput.stories.js +78 -137
  372. package/dist/components/textinput/Textinput.svelte +68 -118
  373. package/dist/components/textinput/Textinput.svelte.d.ts +47 -23
  374. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  375. package/dist/components/toaster/README.md +29 -0
  376. package/dist/components/toaster/Toaster.js +3 -7
  377. package/dist/components/toaster/Toaster.js.map +1 -1
  378. package/dist/components/toaster/Toaster.spec.js +100 -0
  379. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  380. package/dist/components/toaster/Toaster.stories.js +5 -73
  381. package/dist/components/toaster/Toaster.svelte +21 -14
  382. package/dist/components/toaster/Toaster.svelte.d.ts +7 -0
  383. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  384. package/dist/components/toggle/README.md +15 -0
  385. package/dist/components/toggle/Toggle.js +2 -2
  386. package/dist/components/toggle/Toggle.js.map +1 -1
  387. package/dist/components/toggle/Toggle.spec.js +69 -0
  388. package/dist/components/toggle/Toggle.stories.d.ts +9 -14
  389. package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
  390. package/dist/components/toggle/Toggle.stories.js +55 -64
  391. package/dist/components/toggle/Toggle.svelte +33 -33
  392. package/dist/components/toggle/Toggle.svelte.d.ts +26 -7
  393. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  394. package/dist/components/togglegroup/README.md +13 -0
  395. package/dist/components/togglegroup/ToggleGroup.js +3 -3
  396. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  397. package/dist/components/togglegroup/ToggleGroup.spec.js +50 -0
  398. package/dist/components/togglegroup/ToggleGroup.stories.d.ts +5 -13
  399. package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
  400. package/dist/components/togglegroup/ToggleGroup.stories.js +56 -104
  401. package/dist/components/togglegroup/ToggleGroup.svelte +55 -58
  402. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts +25 -14
  403. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
  404. package/dist/components/tooltip/README.md +19 -0
  405. package/dist/components/tooltip/Tooltip.js +2 -2
  406. package/dist/components/tooltip/Tooltip.js.map +1 -1
  407. package/dist/components/tooltip/Tooltip.spec.js +38 -0
  408. package/dist/components/tooltip/Tooltip.stories.d.ts +6 -7
  409. package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
  410. package/dist/components/tooltip/Tooltip.stories.js +45 -59
  411. package/dist/components/tooltip/Tooltip.svelte +19 -14
  412. package/dist/components/tooltip/Tooltip.svelte.d.ts +17 -0
  413. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  414. package/dist/custom-element-forward-events.js.map +1 -1
  415. package/dist/custom-element.js +3 -3
  416. package/dist/custom-element.js.map +1 -1
  417. package/dist/documentation/Contributing.mdx +1 -1
  418. package/dist/documentation/Introduction.mdx +54 -11
  419. package/dist/documentation/SupportAndOnboarding.mdx +2 -2
  420. package/dist/documentation/Svelte/Introduction.mdx +1 -1
  421. package/dist/documentation/Svelte/usingPresets.mdx +5 -6
  422. package/dist/documentation/WebComponents/Introduction.mdx +0 -1
  423. package/dist/documentation/WebComponents/usingIcons.mdx +2 -3
  424. package/dist/documentation/WebComponents/usingPresets.mdx +3 -4
  425. package/dist/each.js +1 -1
  426. package/dist/each.js.map +1 -1
  427. package/dist/if.js +1 -1
  428. package/dist/if.js.map +1 -1
  429. package/dist/input.js +1 -1
  430. package/dist/input.js.map +1 -1
  431. package/dist/legacy.js +1 -1
  432. package/dist/main.d.ts +25 -23
  433. package/dist/main.d.ts.map +1 -1
  434. package/dist/main.js +25 -23
  435. package/dist/slot.js +1 -1
  436. package/dist/slot.js.map +1 -1
  437. package/dist/this.js +2 -0
  438. package/dist/this.js.map +1 -0
  439. package/dist/utils/custom-element-forward-events.d.ts.map +1 -1
  440. package/package.json +32 -22
  441. package/dist/components/button/button.types.d.ts +0 -13
  442. package/dist/components/button/button.types.d.ts.map +0 -1
  443. package/dist/components/button/button.types.js +0 -1
  444. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts +0 -9
  445. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts.map +0 -1
  446. package/dist/components/checkboxgroup/checkboxgroup.types.js +0 -1
  447. package/dist/components/link/link.types.d.ts +0 -4
  448. package/dist/components/link/link.types.d.ts.map +0 -1
  449. package/dist/components/link/link.types.js +0 -1
  450. package/dist/components/loader/loader.types.d.ts +0 -3
  451. package/dist/components/loader/loader.types.d.ts.map +0 -1
  452. package/dist/components/loader/loader.types.js +0 -1
  453. package/dist/components/numberbadge/NumberBadge.types.d.ts +0 -3
  454. package/dist/components/numberbadge/NumberBadge.types.d.ts.map +0 -1
  455. package/dist/components/numberbadge/NumberBadge.types.js +0 -1
  456. package/dist/components/overlayloader/OverlayLoader.js +0 -27
  457. package/dist/components/overlayloader/OverlayLoader.js.map +0 -1
  458. package/dist/components/overlayloader/OverlayLoader.stories.d.ts +0 -8
  459. package/dist/components/overlayloader/OverlayLoader.stories.d.ts.map +0 -1
  460. package/dist/components/overlayloader/OverlayLoader.stories.js +0 -50
  461. package/dist/components/overlayloader/OverlayLoader.svelte +0 -160
  462. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts +0 -9
  463. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts.map +0 -1
  464. package/dist/components/quantityselector/quantitySelector.types.d.ts +0 -2
  465. package/dist/components/quantityselector/quantitySelector.types.d.ts.map +0 -1
  466. package/dist/components/quantityselector/quantitySelector.types.js +0 -1
  467. package/dist/components/radiogroup/radioGroup.types.d.ts +0 -9
  468. package/dist/components/radiogroup/radioGroup.types.d.ts.map +0 -1
  469. package/dist/components/radiogroup/radioGroup.types.js +0 -1
  470. package/dist/components/select/select.types.d.ts +0 -9
  471. package/dist/components/select/select.types.d.ts.map +0 -1
  472. package/dist/components/select/select.types.js +0 -1
  473. package/dist/components/statusbadge/StatusBadge.types.d.ts +0 -2
  474. package/dist/components/statusbadge/StatusBadge.types.d.ts.map +0 -1
  475. package/dist/components/statusbadge/StatusBadge.types.js +0 -1
  476. package/dist/components/statusdot/StatusDot.types.d.ts +0 -3
  477. package/dist/components/statusdot/StatusDot.types.d.ts.map +0 -1
  478. package/dist/components/statusdot/StatusDot.types.js +0 -1
  479. package/dist/components/tabs/Tab.js +0 -4
  480. package/dist/components/tabs/Tab.js.map +0 -1
  481. package/dist/components/tabs/Tab.svelte.d.ts.map +0 -1
  482. package/dist/components/textinput/textinput.types.d.ts +0 -3
  483. package/dist/components/textinput/textinput.types.d.ts.map +0 -1
  484. package/dist/components/textinput/textinput.types.js +0 -1
  485. package/dist/components/toggle/toggle.types.d.ts +0 -2
  486. package/dist/components/toggle/toggle.types.d.ts.map +0 -1
  487. package/dist/components/toggle/toggle.types.js +0 -1
  488. package/dist/index-client.js +0 -2
  489. package/dist/index-client.js.map +0 -1
  490. package/dist/snippet.js +0 -2
  491. package/dist/snippet.js.map +0 -1
@@ -1,58 +1,84 @@
1
1
  <svelte:options
2
2
  customElement={{
3
3
  tag: 'm-password-input',
4
+ extend: customElementForwardEvents,
4
5
  }}
5
6
  />
6
7
 
7
8
  <script lang="ts">
8
- import Button from '../button/Button.svelte';
9
+ import { customElementForwardEvents } from '../../utils';
10
+ /**
11
+ * A password input is a specialized input field used to securely enter and manage passwords. It typically masks the characters entered to protect sensitive information from being seen. It includes a toggle button to show or hide the password, improving usability while maintaining security. Password inputs are commonly used in login forms, account creation, and authentication flows.
12
+ */
9
13
  interface Props {
14
+ /**
15
+ * A unique identifier for the password input element, used to associate the label with the form element.
16
+ */
10
17
  id: string;
18
+ /**
19
+ * The name attribute for the password input element, typically used for form submission.
20
+ */
11
21
  name?: string;
22
+ /**
23
+ * The current value of the password input field.
24
+ */
12
25
  value?: string | number;
26
+ /**
27
+ * A placeholder text to show in the password input when it is empty.
28
+ */
13
29
  placeholder?: string;
30
+ /**
31
+ * If `true`, applies an invalid state to the password input.
32
+ */
14
33
  isinvalid?: boolean;
34
+ /**
35
+ * If `true`, disables the password input, making it non-interactive.
36
+ */
15
37
  disabled?: boolean;
38
+ /**
39
+ * If `true`, the password input is read-only (cannot be edited).
40
+ */
16
41
  readonly?: boolean;
42
+ /**
43
+ * If `true`, a clear button will appear when the password input has a value.
44
+ */
17
45
  isclearable?: boolean;
46
+ /**
47
+ * The label text for the clear button.
48
+ */
18
49
  clearlabel?: string;
50
+ /**
51
+ * Labels of the button displayed when showing or hiding the password.
52
+ */
19
53
  buttonlabel?: {
20
54
  show: string;
21
55
  hide: string;
22
56
  };
23
- [key: string]: any;
24
57
  }
25
58
 
26
59
  let {
27
60
  id,
28
61
  name,
29
- value = $bindable(''),
30
- placeholder = '',
31
- isinvalid = false,
32
- disabled = false,
33
- readonly = false,
34
- isclearable = false,
62
+ value = $bindable(),
63
+ placeholder,
64
+ isinvalid,
65
+ disabled,
66
+ readonly,
67
+ isclearable,
35
68
  clearlabel = 'Clear content',
36
69
  buttonlabel = { show: 'Show', hide: 'Hide' },
37
- onclear,
38
- ontoggle,
39
- ...events
40
70
  }: Props = $props();
41
71
 
42
72
  let isVisible = $state(false);
43
73
 
44
74
  function toggleVisibility() {
45
75
  isVisible = !isVisible;
46
- ontoggle(isVisible);
47
76
  }
48
77
 
49
- function clearValue() {
50
- value = '';
51
- onclear();
52
- }
78
+ const resetValue = () => (value = '');
53
79
  </script>
54
80
 
55
- <div class="mc-password-input mc-text-input {isinvalid ? 'is-invalid' : ''}">
81
+ <div class={['mc-password-input', 'mc-text-input', isinvalid && 'is-invalid']}>
56
82
  <input
57
83
  class="mc-password-input__control mc-text-input__control"
58
84
  {id}
@@ -63,15 +89,10 @@
63
89
  {disabled}
64
90
  {readonly}
65
91
  aria-invalid={isinvalid}
66
- {...events}
67
92
  />
68
93
  {#if isclearable && value}
69
94
  <div class="mc-controls-options">
70
- <button
71
- class="mc-controls-options__button"
72
- type="button"
73
- onclick={clearValue}
74
- >
95
+ <button class="mc-controls-options__button" type="button" onclick={resetValue}>
75
96
  <svg class="mc-controls-options__icon" aria-hidden="true">
76
97
  <path
77
98
  fill-rule="evenodd"
@@ -83,18 +104,17 @@
83
104
  </div>
84
105
  {/if}
85
106
 
86
- <Button
107
+ <button
108
+ class={['mc-button', 'mc-button--s', 'mc-button--ghost']}
87
109
  type="button"
88
110
  role="switch"
89
111
  tabindex="0"
90
- aria-checked={isVisible}
91
- size="s"
92
- ghost={true}
93
112
  {disabled}
113
+ aria-checked={isVisible}
94
114
  onclick={toggleVisibility}
95
115
  >
96
116
  <span>{isVisible ? buttonlabel.hide : buttonlabel.show}</span>
97
- </Button>
117
+ </button>
98
118
  </div>
99
119
 
100
120
  <style>/**
@@ -217,6 +237,345 @@
217
237
  }
218
238
 
219
239
  /* stylelint-enable string-no-newline */
240
+ .mc-button {
241
+ color: var(--button-color-filled-standard-font, #ffffff);
242
+ background-color: var(--button-color-filled-standard-background, #464e63);
243
+ }
244
+ .mc-button:hover {
245
+ background-color: var(--button-color-filled-standard-hover-background, #343b4c);
246
+ }
247
+ .mc-button:active {
248
+ background-color: var(--button-color-filled-standard-active-background, #242938);
249
+ }
250
+ .mc-button:disabled {
251
+ background-color: var(--button-state-disabled-background, #d9d9d9);
252
+ border-color: transparent;
253
+ color: var(--button-state-disabled-color, #737373);
254
+ cursor: not-allowed;
255
+ }
256
+ .mc-button {
257
+ font-weight: var(--font-weight-semi-bold, 600);
258
+ padding: 0 calc(1rem - 0.125rem);
259
+ min-height: 3rem;
260
+ min-width: 3rem;
261
+ }
262
+ .mc-button .mc-button__label {
263
+ font-size: var(--font-size-150, 1rem);
264
+ }
265
+ .mc-button {
266
+ display: inline-flex;
267
+ justify-content: center;
268
+ vertical-align: middle;
269
+ text-align: center;
270
+ border: 2px solid transparent;
271
+ border-radius: var(--button-radius, 0.25rem);
272
+ transition: all ease 200ms;
273
+ transition: box-shadow 200ms ease;
274
+ align-items: center;
275
+ box-sizing: border-box;
276
+ font-family: inherit;
277
+ fill: currentcolor;
278
+ gap: 0.25rem;
279
+ cursor: pointer;
280
+ }
281
+ .mc-button__label {
282
+ font-size: var(--font-size-150, 1rem);
283
+ }
284
+ .mc-button__icon {
285
+ flex-shrink: 0;
286
+ width: 1.5rem;
287
+ height: 1.5rem;
288
+ }
289
+ .mc-button:disabled {
290
+ background-color: var(--button-state-disabled-background, #d9d9d9);
291
+ border-color: transparent;
292
+ color: var(--button-state-disabled-color, #737373);
293
+ cursor: not-allowed;
294
+ }
295
+ .mc-button:focus-visible {
296
+ box-shadow: 0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));
297
+ outline: 0.125rem solid transparent;
298
+ outline-offset: 0.125rem;
299
+ }
300
+ .mc-button--s {
301
+ padding: 0 calc(0.75rem - 0.125rem);
302
+ min-height: 2rem;
303
+ min-width: 2rem;
304
+ }
305
+ .mc-button--s .mc-button__label {
306
+ font-size: var(--font-size-100, 0.875rem);
307
+ }
308
+ .mc-button--s .mc-button__icon {
309
+ width: 1.25rem;
310
+ height: 1.25rem;
311
+ }
312
+ .mc-button--s .mc-button__icon:only-child {
313
+ width: 1.25rem;
314
+ height: 1.25rem;
315
+ }
316
+ .mc-button--m {
317
+ padding: 0 calc(1rem - 0.125rem);
318
+ min-height: 3rem;
319
+ min-width: 3rem;
320
+ }
321
+ .mc-button--m .mc-button__label {
322
+ font-size: var(--font-size-150, 1rem);
323
+ }
324
+ .mc-button--m .mc-button__icon {
325
+ width: 1.5rem;
326
+ height: 1.5rem;
327
+ }
328
+ .mc-button--m .mc-button__icon:only-child {
329
+ width: 1.5rem;
330
+ height: 1.5rem;
331
+ }
332
+ .mc-button--l {
333
+ padding: 0 calc(1.25rem - 0.125rem);
334
+ min-height: 4rem;
335
+ min-width: 4rem;
336
+ }
337
+ .mc-button--l .mc-button__label {
338
+ font-size: var(--font-size-200, 1.125rem);
339
+ }
340
+ .mc-button--l .mc-button__icon {
341
+ width: 2rem;
342
+ height: 2rem;
343
+ }
344
+ .mc-button--l .mc-button__icon:only-child {
345
+ width: 2rem;
346
+ height: 2rem;
347
+ }
348
+ .mc-button--icon-only {
349
+ padding: 0.25rem;
350
+ }
351
+ .mc-button--outlined {
352
+ color: var(--button-color-outlined-standard-font, #242938);
353
+ border-color: var(--button-color-outlined-standard-border, #8891aa);
354
+ background-color: var(--button-color-outlined-standard-background, #ffffff);
355
+ }
356
+ .mc-button--outlined:hover {
357
+ background-color: var(--button-color-outlined-standard-hover-background, #eff1f6);
358
+ }
359
+ .mc-button--outlined:active {
360
+ background-color: var(--button-color-outlined-standard-active-background, #c9d0de);
361
+ }
362
+ .mc-button--outlined:disabled {
363
+ background-color: var(--button-state-disabled-background, #d9d9d9);
364
+ border-color: transparent;
365
+ color: var(--button-state-disabled-color, #737373);
366
+ cursor: not-allowed;
367
+ }
368
+ .mc-button--ghost {
369
+ color: var(--button-color-ghost-standard-font, #242938);
370
+ background-color: var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));
371
+ }
372
+ .mc-button--ghost:hover {
373
+ background-color: var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));
374
+ }
375
+ .mc-button--ghost:active {
376
+ background-color: var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));
377
+ }
378
+ .mc-button--ghost:disabled {
379
+ background-color: var(--button-state-disabled-background, #d9d9d9);
380
+ border-color: transparent;
381
+ color: var(--button-state-disabled-color, #737373);
382
+ cursor: not-allowed;
383
+ }
384
+ .mc-button--accent {
385
+ color: var(--button-color-filled-accent-font, #ffffff);
386
+ background-color: var(--button-color-filled-accent-background, #117f03);
387
+ }
388
+ .mc-button--accent:hover {
389
+ background-color: var(--button-color-filled-accent-hover-background, #006902);
390
+ }
391
+ .mc-button--accent:active {
392
+ background-color: var(--button-color-filled-accent-active-background, #035010);
393
+ }
394
+ .mc-button--accent:disabled {
395
+ background-color: var(--button-state-disabled-background, #d9d9d9);
396
+ border-color: transparent;
397
+ color: var(--button-state-disabled-color, #737373);
398
+ cursor: not-allowed;
399
+ }
400
+ .mc-button--danger {
401
+ color: var(--button-color-filled-danger-font, #ffffff);
402
+ background-color: var(--button-color-filled-danger-background, #c61112);
403
+ }
404
+ .mc-button--danger:hover {
405
+ background-color: var(--button-color-filled-danger-hover-background, #8c0003);
406
+ }
407
+ .mc-button--danger:active {
408
+ background-color: var(--button-color-filled-danger-active-background, #530000);
409
+ }
410
+ .mc-button--danger:disabled {
411
+ background-color: var(--button-state-disabled-background, #d9d9d9);
412
+ border-color: transparent;
413
+ color: var(--button-state-disabled-color, #737373);
414
+ cursor: not-allowed;
415
+ }
416
+ .mc-button--inverse {
417
+ --focus-color-mid: var(--focus-color-outline-outer, #000000);
418
+ --focus-color-outer: var(--focus-color-outline-mid, #ffffff);
419
+ color: var(--button-color-filled-inverse-font, #242938);
420
+ background-color: var(--button-color-filled-inverse-background, #ffffff);
421
+ }
422
+ .mc-button--inverse:hover {
423
+ background-color: var(--button-color-filled-inverse-hover-background, #e6e6e6);
424
+ }
425
+ .mc-button--inverse:active {
426
+ background-color: var(--button-color-filled-inverse-active-background, #cccccc);
427
+ }
428
+ .mc-button--inverse:disabled {
429
+ background-color: var(--button-state-disabled-background, #d9d9d9);
430
+ border-color: transparent;
431
+ color: var(--button-state-disabled-color, #737373);
432
+ cursor: not-allowed;
433
+ }
434
+ .mc-button--icon-button {
435
+ border-radius: var(--radius-full, 100%);
436
+ padding: 0;
437
+ }
438
+ .mc-button--loading .mc-button__loader {
439
+ position: absolute;
440
+ color: currentcolor;
441
+ }
442
+ .mc-button--loading .mc-button__label,
443
+ .mc-button--loading .mc-button__icon {
444
+ visibility: hidden;
445
+ }
446
+ .mc-button--outlined.mc-button--standard {
447
+ color: var(--button-color-outlined-standard-font, #242938);
448
+ border-color: var(--button-color-outlined-standard-border, #8891aa);
449
+ background-color: var(--button-color-outlined-standard-background, #ffffff);
450
+ }
451
+ .mc-button--outlined.mc-button--standard:hover {
452
+ background-color: var(--button-color-outlined-standard-hover-background, #eff1f6);
453
+ }
454
+ .mc-button--outlined.mc-button--standard:active {
455
+ background-color: var(--button-color-outlined-standard-active-background, #c9d0de);
456
+ }
457
+ .mc-button--outlined.mc-button--standard:disabled {
458
+ background-color: var(--button-state-disabled-background, #d9d9d9);
459
+ border-color: transparent;
460
+ color: var(--button-state-disabled-color, #737373);
461
+ cursor: not-allowed;
462
+ }
463
+ .mc-button--outlined.mc-button--accent {
464
+ color: var(--button-color-outlined-accent-font, #117f03);
465
+ border-color: var(--button-color-outlined-accent-border, #78be20);
466
+ background-color: var(--button-color-outlined-accent-background, #ffffff);
467
+ }
468
+ .mc-button--outlined.mc-button--accent:hover {
469
+ background-color: var(--button-color-outlined-accent-hover-background, #ebf5de);
470
+ }
471
+ .mc-button--outlined.mc-button--accent:active {
472
+ background-color: var(--button-color-outlined-accent-active-background, #c5e39e);
473
+ }
474
+ .mc-button--outlined.mc-button--accent:disabled {
475
+ background-color: var(--button-state-disabled-background, #d9d9d9);
476
+ border-color: transparent;
477
+ color: var(--button-state-disabled-color, #737373);
478
+ cursor: not-allowed;
479
+ }
480
+ .mc-button--outlined.mc-button--danger {
481
+ color: var(--button-color-outlined-danger-font, #c61112);
482
+ border-color: var(--button-color-outlined-danger-border, #ef5f5c);
483
+ background-color: var(--button-color-outlined-danger-background, #ffffff);
484
+ }
485
+ .mc-button--outlined.mc-button--danger:hover {
486
+ background-color: var(--button-color-outlined-danger-hover-background, #fdeaea);
487
+ }
488
+ .mc-button--outlined.mc-button--danger:active {
489
+ background-color: var(--button-color-outlined-danger-active-background, #f8bcbb);
490
+ }
491
+ .mc-button--outlined.mc-button--danger:disabled {
492
+ background-color: var(--button-state-disabled-background, #d9d9d9);
493
+ border-color: transparent;
494
+ color: var(--button-state-disabled-color, #737373);
495
+ cursor: not-allowed;
496
+ }
497
+ .mc-button--outlined.mc-button--inverse {
498
+ color: var(--button-color-outlined-inverse-font, #ffffff);
499
+ border-color: var(--button-color-outlined-inverse-border, #ffffff);
500
+ background-color: var(--button-color-outlined-inverse-background, rgba(255, 255, 255, 0.01));
501
+ }
502
+ .mc-button--outlined.mc-button--inverse:hover {
503
+ background-color: var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));
504
+ }
505
+ .mc-button--outlined.mc-button--inverse:active {
506
+ background-color: var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));
507
+ }
508
+ .mc-button--outlined.mc-button--inverse:disabled {
509
+ background-color: var(--button-state-disabled-background, #d9d9d9);
510
+ border-color: transparent;
511
+ color: var(--button-state-disabled-color, #737373);
512
+ cursor: not-allowed;
513
+ }
514
+ .mc-button--ghost.mc-button--standard {
515
+ color: var(--button-color-ghost-standard-font, #242938);
516
+ background-color: var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));
517
+ }
518
+ .mc-button--ghost.mc-button--standard:hover {
519
+ background-color: var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));
520
+ }
521
+ .mc-button--ghost.mc-button--standard:active {
522
+ background-color: var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));
523
+ }
524
+ .mc-button--ghost.mc-button--standard:disabled {
525
+ background-color: var(--button-state-disabled-background, #d9d9d9);
526
+ border-color: transparent;
527
+ color: var(--button-state-disabled-color, #737373);
528
+ cursor: not-allowed;
529
+ }
530
+ .mc-button--ghost.mc-button--accent {
531
+ color: var(--button-color-ghost-accent-font, #117f03);
532
+ background-color: var(--button-color-ghost-accent-background, rgba(255, 255, 255, 0.01));
533
+ }
534
+ .mc-button--ghost.mc-button--accent:hover {
535
+ background-color: var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));
536
+ }
537
+ .mc-button--ghost.mc-button--accent:active {
538
+ background-color: var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));
539
+ }
540
+ .mc-button--ghost.mc-button--accent:disabled {
541
+ background-color: var(--button-state-disabled-background, #d9d9d9);
542
+ border-color: transparent;
543
+ color: var(--button-state-disabled-color, #737373);
544
+ cursor: not-allowed;
545
+ }
546
+ .mc-button--ghost.mc-button--danger {
547
+ color: var(--button-color-ghost-danger-font, #c61112);
548
+ background-color: var(--button-color-ghost-danger-background, rgba(255, 255, 255, 0.01));
549
+ }
550
+ .mc-button--ghost.mc-button--danger:hover {
551
+ background-color: var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));
552
+ }
553
+ .mc-button--ghost.mc-button--danger:active {
554
+ background-color: var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));
555
+ }
556
+ .mc-button--ghost.mc-button--danger:disabled {
557
+ background-color: var(--button-state-disabled-background, #d9d9d9);
558
+ border-color: transparent;
559
+ color: var(--button-state-disabled-color, #737373);
560
+ cursor: not-allowed;
561
+ }
562
+ .mc-button--ghost.mc-button--inverse {
563
+ color: var(--button-color-ghost-inverse-font, #ffffff);
564
+ background-color: var(--button-color-ghost-inverse-background, rgba(255, 255, 255, 0.01));
565
+ }
566
+ .mc-button--ghost.mc-button--inverse:hover {
567
+ background-color: var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));
568
+ }
569
+ .mc-button--ghost.mc-button--inverse:active {
570
+ background-color: var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));
571
+ }
572
+ .mc-button--ghost.mc-button--inverse:disabled {
573
+ background-color: var(--button-state-disabled-background, #d9d9d9);
574
+ border-color: transparent;
575
+ color: var(--button-state-disabled-color, #737373);
576
+ cursor: not-allowed;
577
+ }
578
+
220
579
  .mc-controls-options {
221
580
  align-items: center;
222
581
  display: inline-flex;
@@ -1,18 +1,50 @@
1
+ /**
2
+ * A password input is a specialized input field used to securely enter and manage passwords. It typically masks the characters entered to protect sensitive information from being seen. It includes a toggle button to show or hide the password, improving usability while maintaining security. Password inputs are commonly used in login forms, account creation, and authentication flows.
3
+ */
1
4
  interface Props {
5
+ /**
6
+ * A unique identifier for the password input element, used to associate the label with the form element.
7
+ */
2
8
  id: string;
9
+ /**
10
+ * The name attribute for the password input element, typically used for form submission.
11
+ */
3
12
  name?: string;
13
+ /**
14
+ * The current value of the password input field.
15
+ */
4
16
  value?: string | number;
17
+ /**
18
+ * A placeholder text to show in the password input when it is empty.
19
+ */
5
20
  placeholder?: string;
21
+ /**
22
+ * If `true`, applies an invalid state to the password input.
23
+ */
6
24
  isinvalid?: boolean;
25
+ /**
26
+ * If `true`, disables the password input, making it non-interactive.
27
+ */
7
28
  disabled?: boolean;
29
+ /**
30
+ * If `true`, the password input is read-only (cannot be edited).
31
+ */
8
32
  readonly?: boolean;
33
+ /**
34
+ * If `true`, a clear button will appear when the password input has a value.
35
+ */
9
36
  isclearable?: boolean;
37
+ /**
38
+ * The label text for the clear button.
39
+ */
10
40
  clearlabel?: string;
41
+ /**
42
+ * Labels of the button displayed when showing or hiding the password.
43
+ */
11
44
  buttonlabel?: {
12
45
  show: string;
13
46
  hide: string;
14
47
  };
15
- [key: string]: any;
16
48
  }
17
49
  declare const PasswordInput: import("svelte").Component<Props, {}, "value">;
18
50
  type PasswordInput = ReturnType<typeof PasswordInput>;
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/passwordinput/PasswordInput.svelte.ts"],"names":[],"mappings":"AAKE,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AA4DH,QAAA,MAAM,aAAa,gDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"PasswordInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/passwordinput/PasswordInput.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAsDH,QAAA,MAAM,aAAa,gDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -0,0 +1,19 @@
1
+ # `m-password-input`
2
+
3
+ A password input is a specialized input field used to securely enter and manage passwords. It typically masks the characters entered to protect sensitive information from being seen. It includes a toggle button to show or hide the password, improving usability while maintaining security. Password inputs are commonly used in login forms, account creation, and authentication flows.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `id*` | A unique identifier for the password input element, used to associate the label with the form element. | `string` | |
10
+ | `name` | The name attribute for the password input element, typically used for form submission. | `string` | |
11
+ | `value` | The current value of the password input field. | `string` `number` | `$bindable()` |
12
+ | `placeholder` | A placeholder text to show in the password input when it is empty. | `string` | |
13
+ | `isinvalid` | If `true`, applies an invalid state to the password input. | `boolean` | |
14
+ | `disabled` | If `true`, disables the password input, making it non-interactive. | `boolean` | |
15
+ | `readonly` | If `true`, the password input is read-only (cannot be edited). | `boolean` | |
16
+ | `isclearable` | If `true`, a clear button will appear when the password input has a value. | `boolean` | |
17
+ | `clearlabel` | The label text for the clear button. | `string` | `Clear content` |
18
+ | `buttonlabel` | Labels of the button displayed when showing or hiding the password. | `{ show: string; hide: string; }` | `{ show: 'Show', hide: 'Hide' }` |
19
+
@@ -1,6 +1,6 @@
1
- import{x as K,$ as R,y as Y,a0 as F,a1 as G,c as H,p as J,a as N,b as m,v as A,l as S,m as a,z as Q,a2 as U,w as E,f as q,D as V,o as I,h as L,i as W,j as p,r as X,t as Z,e as $}from"../../custom-element.js";import{c as ee}from"../../index-client.js";import{e as re,i as te}from"../../each.js";import{b as oe,C as ae,r as se,s as j,e as ne}from"../../attributes.js";function M(o,t){return o===t||(o==null?void 0:o[G])===t}function ie(o={},t,c,u){return K(()=>{var l,i;return R(()=>{l=i,i=(u==null?void 0:u())||[],Y(()=>{o!==c(...i)&&(t(o,...i),l&&M(c(...l),o)&&t(null,...l))})}),()=>{F(()=>{i&&M(c(...i),o)&&t(null,...i)})}}),o}function le(o){return function(...t){var c=t[0];return c.preventDefault(),o==null?void 0:o.apply(this,t)}}var de=q('<input type="text" inputmode="numeric" maxlength="1" pattern="\\d*" autocomplete="one-time-code"/>'),ce=q("<div></div>");const fe={hash:"svelte-h63szf",code:`/**
1
+ import{v as B,c as C,p as K,a as O,b as d,w as z,l as D,m as t,L as R,u as F,x as A,f as L,M as G,i as I,j as H,k as c,r as J,t as N,e as Q,g as T}from"../../custom-element.js";import{e as U}from"../../each.js";import{r as V,s as j,e as W}from"../../attributes.js";import{b as E}from"../../this.js";var X=(u,s,n)=>s(u,n),Y=(u,s,n)=>s(u,n),Z=L('<input type="text" inputmode="numeric" maxlength="1" pattern="\\d*" autocomplete="one-time-code"/>'),$=L('<div class="mc-pincode-input svelte-h63szf"></div>');const ee={hash:"svelte-h63szf",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-pincode-input.svelte-h63szf {display:inline-flex;column-gap:0.5rem;}
4
4
  @media screen and (width <= 1024px) {.mc-pincode-input.svelte-h63szf {flex-wrap:wrap;row-gap:0.75rem;}
5
- }.mc-pincode-input__control.svelte-h63szf {font-size:var(--font-size-400, 1.75rem);transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-s, 1px) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-radius-border, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:3rem;box-sizing:border-box;height:4rem;text-align:center;line-height:var(--line-height-s, 1.3);}.mc-pincode-input__control.svelte-h63szf::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-pincode-input__control.svelte-h63szf:focus-within {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-pincode-input__control.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-hover, #4d4d4d);}.mc-pincode-input__control.svelte-h63szf:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-pincode-input__control.is-invalid.svelte-h63szf {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);}.mc-pincode-input__control.is-invalid.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid-hover, #c61112);}`};function ue(o,t){J(t,!0),N(o,fe);const c=ee();let u=m(t,"id",7),l=m(t,"length",7,6),i=m(t,"name",7),_=m(t,"value",7,""),g=m(t,"isInvalid",7,!1),x=m(t,"disabled",7,!1),z=m(t,"readonly",7,!1),B=V(t,["$$slots","$$events","$$legacy","$$host","id","length","name","value","isInvalid","disabled","readonly"]);const f=Q(()=>typeof l()=="string"?parseInt(l(),10)||6:l());let v=A(S(Array(a(f)).fill(""))),k=A(S([]));U(()=>{const e=String(_()??"");E(v,Array.from({length:a(f)},(r,n)=>e[n]??""),!0)});function h(e){queueMicrotask(()=>{var r,n;return(n=(r=a(k))==null?void 0:r[e])==null?void 0:n.focus()})}function D(){const e=a(v).join("");c("input",{value:e}),c("change",{value:e})}function C(e,r){const s=e.target.value.replace(/\D/g,"").slice(0,1);a(v)[r]=s,D(),s&&r+1<a(f)&&h(r+1)}function O(e,r){e.key==="ArrowLeft"&&r>0?(e.preventDefault(),h(r-1)):e.key==="ArrowRight"&&r<a(f)-1?(e.preventDefault(),h(r+1)):e.key==="Backspace"&&a(v)[r]===""&&r>0&&(a(v)[r-1]="",D(),h(r-1))}function P(e){var n;e.preventDefault();const r=(((n=e.clipboardData)==null?void 0:n.getData("text"))??"").replace(/\D/g,"").slice(0,a(f));E(v,Array.from({length:a(f)},(s,y)=>r[y]??""),!0),D(),h(Math.min(r.length,a(f)-1))}var T={get id(){return u()},set id(e){u(e),p()},get length(){return l()},set length(e=6){l(e),p()},get name(){return i()},set name(e){i(e),p()},get value(){return _()},set value(e=""){_(e),p()},get isInvalid(){return g()},set isInvalid(e=!1){g(e),p()},get disabled(){return x()},set disabled(e=!1){x(e),p()},get readonly(){return z()},set readonly(e=!1){z(e),p()}},b=ce();return oe(b,e=>({class:"mc-pincode-input",...B,[ae]:e}),[()=>({"is-invalid":g()})],void 0,"svelte-h63szf"),re(b,21,()=>Array(a(f)),te,(e,r,n)=>{var s=de();se(s),j(s,"id",`pincodeItem${n}`);let y;ie(s,(d,w)=>a(k)[w]=d,d=>{var w;return(w=a(k))==null?void 0:w[d]},()=>[n]),Z(d=>{y=$(s,1,"mc-pincode-input__control svelte-h63szf",null,y,d),j(s,"name",i()??`pincode-${u()}`),s.disabled=x(),s.readOnly=z(),ne(s,a(v)[n])},[()=>({"is-invalid":g()})]),I("input",s,d=>C(d,n)),I("keydown",s,d=>O(d,n)),L(e,s)}),X(b),I("paste",b,le(P)),L(o,b),W(T)}customElements.define("m-pincode",H(ue,{id:{},length:{},name:{},value:{},isInvalid:{},disabled:{},readonly:{}},[],[],!0));
5
+ }.mc-pincode-input__control.svelte-h63szf {font-size:var(--font-size-400, 1.75rem);transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-s, 1px) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-radius-border, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:3rem;box-sizing:border-box;height:4rem;text-align:center;line-height:var(--line-height-s, 1.3);}.mc-pincode-input__control.svelte-h63szf::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-pincode-input__control.svelte-h63szf:focus-within {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-pincode-input__control.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-hover, #4d4d4d);}.mc-pincode-input__control.svelte-h63szf:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-pincode-input__control.is-invalid.svelte-h63szf {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);}.mc-pincode-input__control.is-invalid.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid-hover, #c61112);}`};function oe(u,s){K(s,!0),O(u,ee);let n=d(s,"id",7),v=d(s,"length",7,6),h=d(s,"name",7),b=d(s,"value",7),g=d(s,"isinvalid",7),_=d(s,"disabled",7),y=d(s,"readonly",7);const a=R(()=>typeof v()=="string"?parseInt(v(),10)||6:v());let l=z(D(Array(t(a)).fill(""))),w=z(D([])),x;F(()=>{const e=String(b()??"");A(l,Array.from({length:t(a)},(o,r)=>e[r]??""),!0)});const m=e=>{queueMicrotask(()=>{var o,r;return(r=(o=t(w))==null?void 0:o[e])==null?void 0:r.focus()})},k=()=>{const e=t(l).join(""),o=new CustomEvent("input",{detail:{value:e},bubbles:!0,composed:!0});x.dispatchEvent(o)},M=(e,o)=>{const i=e.target.value.replace(/\D/g,"").slice(0,1);t(l)[o]=i,k(),i&&o+1<t(a)&&m(o+1)},P=(e,o)=>{e.key==="ArrowLeft"&&o>0?(e.preventDefault(),m(o-1)):e.key==="ArrowRight"&&o<t(a)-1?(e.preventDefault(),m(o+1)):e.key==="Backspace"&&t(l)[o]===""&&o>0&&(t(l)[o-1]="",k(),m(o-1))},S=e=>{var r;e.preventDefault();const o=(((r=e.clipboardData)==null?void 0:r.getData("text"))??"").replace(/\D/g,"").slice(0,t(a));A(l,Array.from({length:t(a)},(i,f)=>o[f]??""),!0),k(),m(Math.min(o.length,t(a)-1))};var q={get id(){return n()},set id(e){n(e),c()},get length(){return v()},set length(e=6){v(e),c()},get name(){return h()},set name(e){h(e),c()},get value(){return b()},set value(e){b(e),c()},get isinvalid(){return g()},set isinvalid(e){g(e),c()},get disabled(){return _()},set disabled(e){_(e),c()},get readonly(){return y()},set readonly(e){y(e),c()}},p=$();return U(p,20,()=>[...Array(t(a)).keys()],e=>e,(e,o)=>{var r=Z();V(r),r.__input=[X,M,o],r.__keydown=[Y,P,o],E(r,(i,f)=>t(w)[f]=i,i=>{var f;return(f=t(w))==null?void 0:f[i]},()=>[o]),N(()=>{j(r,"id",`pincodeItem${o}`),Q(r,1,T(["mc-pincode-input__control",g()&&"is-invalid"]),"svelte-h63szf"),j(r,"name",h()??`pincode-${n()}`),r.disabled=_(),r.readOnly=y(),W(r,t(l)[o])}),I(e,r)}),J(p),E(p,e=>x=e,()=>x),G("paste",p,S),I(u,p),H(q)}B(["input","keydown"]);customElements.define("m-pincode",C(oe,{id:{},length:{},name:{},value:{},isinvalid:{},disabled:{},readonly:{}},[],[],!0));
6
6
  //# sourceMappingURL=Pincode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pincode.js","sources":["../../../node_modules/svelte/src/internal/client/dom/elements/bindings/this.js","../../../node_modules/svelte/src/internal/client/dom/legacy/event-modifiers.js","../../../src/components/pincode/Pincode.svelte"],"sourcesContent":["import { STATE_SYMBOL } from '#client/constants';\nimport { effect, render_effect } from '../../../reactivity/effects.js';\nimport { untrack } from '../../../runtime.js';\nimport { queue_micro_task } from '../../task.js';\n\n/**\n * @param {any} bound_value\n * @param {Element} element_or_component\n * @returns {boolean}\n */\nfunction is_bound_this(bound_value, element_or_component) {\n\treturn (\n\t\tbound_value === element_or_component || bound_value?.[STATE_SYMBOL] === element_or_component\n\t);\n}\n\n/**\n * @param {any} element_or_component\n * @param {(value: unknown, ...parts: unknown[]) => void} update\n * @param {(...parts: unknown[]) => unknown} get_value\n * @param {() => unknown[]} [get_parts] Set if the this binding is used inside an each block,\n * \t\t\t\t\t\t\t\t\t\treturns all the parts of the each block context that are used in the expression\n * @returns {void}\n */\nexport function bind_this(element_or_component = {}, update, get_value, get_parts) {\n\teffect(() => {\n\t\t/** @type {unknown[]} */\n\t\tvar old_parts;\n\n\t\t/** @type {unknown[]} */\n\t\tvar parts;\n\n\t\trender_effect(() => {\n\t\t\told_parts = parts;\n\t\t\t// We only track changes to the parts, not the value itself to avoid unnecessary reruns.\n\t\t\tparts = get_parts?.() || [];\n\n\t\t\tuntrack(() => {\n\t\t\t\tif (element_or_component !== get_value(...parts)) {\n\t\t\t\t\tupdate(element_or_component, ...parts);\n\t\t\t\t\t// If this is an effect rerun (cause: each block context changes), then nullfiy the binding at\n\t\t\t\t\t// the previous position if it isn't already taken over by a different effect.\n\t\t\t\t\tif (old_parts && is_bound_this(get_value(...old_parts), element_or_component)) {\n\t\t\t\t\t\tupdate(null, ...old_parts);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\t// We cannot use effects in the teardown phase, we we use a microtask instead.\n\t\t\tqueue_micro_task(() => {\n\t\t\t\tif (parts && is_bound_this(get_value(...parts), element_or_component)) {\n\t\t\t\t\tupdate(null, ...parts);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t});\n\n\treturn element_or_component;\n}\n","import { noop } from '../../../shared/utils.js';\nimport { user_pre_effect } from '../../reactivity/effects.js';\nimport { on } from '../elements/events.js';\n\n/**\n * Substitute for the `trusted` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function trusted(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\tif (event.isTrusted) {\n\t\t\t// @ts-ignore\n\t\t\tfn?.apply(this, args);\n\t\t}\n\t};\n}\n\n/**\n * Substitute for the `self` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function self(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\t// @ts-ignore\n\t\tif (event.target === this) {\n\t\t\t// @ts-ignore\n\t\t\tfn?.apply(this, args);\n\t\t}\n\t};\n}\n\n/**\n * Substitute for the `stopPropagation` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function stopPropagation(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\tevent.stopPropagation();\n\t\t// @ts-ignore\n\t\treturn fn?.apply(this, args);\n\t};\n}\n\n/**\n * Substitute for the `once` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function once(fn) {\n\tvar ran = false;\n\n\treturn function (...args) {\n\t\tif (ran) return;\n\t\tran = true;\n\n\t\t// @ts-ignore\n\t\treturn fn?.apply(this, args);\n\t};\n}\n\n/**\n * Substitute for the `stopImmediatePropagation` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function stopImmediatePropagation(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\tevent.stopImmediatePropagation();\n\t\t// @ts-ignore\n\t\treturn fn?.apply(this, args);\n\t};\n}\n\n/**\n * Substitute for the `preventDefault` event modifier\n * @deprecated\n * @param {(event: Event, ...args: Array<unknown>) => void} fn\n * @returns {(event: Event, ...args: unknown[]) => void}\n */\nexport function preventDefault(fn) {\n\treturn function (...args) {\n\t\tvar event = /** @type {Event} */ (args[0]);\n\t\tevent.preventDefault();\n\t\t// @ts-ignore\n\t\treturn fn?.apply(this, args);\n\t};\n}\n\n/**\n * Substitute for the `passive` event modifier, implemented as an action\n * @deprecated\n * @param {HTMLElement} node\n * @param {[event: string, handler: () => EventListener]} options\n */\nexport function passive(node, [event, handler]) {\n\tuser_pre_effect(() => {\n\t\treturn on(node, event, handler() ?? noop, {\n\t\t\tpassive: true\n\t\t});\n\t});\n}\n\n/**\n * Substitute for the `nonpassive` event modifier, implemented as an action\n * @deprecated\n * @param {HTMLElement} node\n * @param {[event: string, handler: () => EventListener]} options\n */\nexport function nonpassive(node, [event, handler]) {\n\tuser_pre_effect(() => {\n\t\treturn on(node, event, handler() ?? noop, {\n\t\t\tpassive: false\n\t\t});\n\t});\n}\n","<svelte:options customElement={{ tag: 'm-pincode' }} />\n\n<script lang=\"ts\">\n import { createEventDispatcher } from 'svelte';\n\n type PincodeLen = 4 | 5 | 6;\n interface Props {\n id: string;\n length?: PincodeLen | string; // <- peut arriver en string via l'attribut\n name?: string;\n value?: string | number;\n isInvalid?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n [key: string]: any;\n }\n\n const dispatch = createEventDispatcher();\n\n let {\n id,\n length = 6,\n name,\n value = '',\n isInvalid = false,\n disabled = false,\n readonly = false,\n ...attrsAndEvents\n }: Props = $props();\n\n // Normalisation: length numérique (ex. \"6\" -> 6)\n const L = $derived(\n typeof length === 'string' ? parseInt(length, 10) || 6 : length,\n );\n\n // État minimal\n let otp = $state<string[]>(Array(L).fill(''));\n let inputs = $state<HTMLInputElement[]>([]);\n\n // Sync depuis props (value/length normalisé)\n $effect(() => {\n const incoming = String(value ?? '');\n otp = Array.from({ length: L }, (_, i) => incoming[i] ?? '');\n });\n\n function focusInput(i: number) {\n queueMicrotask(() => inputs?.[i]?.focus());\n }\n\n function emit() {\n const joined = otp.join('');\n dispatch('input', { value: joined });\n dispatch('change', { value: joined });\n }\n\n function onInput(e: Event, index: number) {\n const el = e.target as HTMLInputElement;\n const digit = el.value.replace(/\\D/g, '').slice(0, 1);\n otp[index] = digit;\n emit();\n if (digit && index + 1 < L) focusInput(index + 1);\n }\n\n function onKeyDown(e: KeyboardEvent, index: number) {\n if (e.key === 'ArrowLeft' && index > 0) {\n e.preventDefault();\n focusInput(index - 1);\n } else if (e.key === 'ArrowRight' && index < L - 1) {\n e.preventDefault();\n focusInput(index + 1);\n } else if (e.key === 'Backspace' && otp[index] === '' && index > 0) {\n otp[index - 1] = '';\n emit();\n focusInput(index - 1);\n }\n }\n\n function onPaste(e: ClipboardEvent) {\n e.preventDefault();\n const pasted = (e.clipboardData?.getData('text') ?? '')\n .replace(/\\D/g, '')\n .slice(0, L);\n otp = Array.from({ length: L }, (_, i) => pasted[i] ?? '');\n emit();\n focusInput(Math.min(pasted.length, L - 1));\n }\n</script>\n\n<div\n class=\"mc-pincode-input\"\n on:paste|preventDefault={onPaste}\n class:is-invalid={isInvalid}\n {...attrsAndEvents}\n>\n {#each Array(L) as _, i}\n <input\n id={`pincodeItem${i}`}\n bind:this={inputs[i]}\n class=\"mc-pincode-input__control\"\n class:is-invalid={isInvalid}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n pattern=\"\\d*\"\n autocomplete=\"one-time-code\"\n name={name ?? `pincode-${id}`}\n {disabled}\n {readonly}\n value={otp[i]}\n on:input={(e) => onInput(e, i)}\n on:keydown={(e) => onKeyDown(e as KeyboardEvent, i)}\n />\n {/each}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/pincode-input';\n</style>\n"],"names":["is_bound_this","bound_value","element_or_component","STATE_SYMBOL","bind_this","update","get_value","get_parts","effect","old_parts","parts","render_effect","untrack","queue_micro_task","preventDefault","fn","args","event","dispatch","createEventDispatcher","id","$.prop","$$props","length","name","value","isInvalid","disabled","readonly","attrsAndEvents","$.rest_props","L","$.derived","otp","$.get","inputs","$.state","$.proxy","$.user_effect","incoming","$.set","_","i","focusInput","emit","joined","onInput","index","digit","onKeyDown","onPaste","pasted","_a","$.attribute_effect","div","$0","$.index","$$anchor","$$value","$.set_attribute","input","$.set_value","$.event","e"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"Pincode.js","sources":["../../../src/components/pincode/Pincode.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-pincode' }} />\n\n<script lang=\"ts\">\n /**\n * A pincode input is a specialized input field used to enter short numeric codes, such as verification codes, security PINs, or authentication tokens. It typically separates each digit into individual fields to improve readability and ease of entry. This component is commonly used in two-factor authentication (2FA), password recovery, and secure access flows, ensuring a structured and user-friendly experience.\n *\n * @event input {CustomEvent<{ value: string }>} - Emits when the pincode value changes.\n */\n interface Props {\n /**\n * A unique identifier for the pincode element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The number of input displayed in the pincode element.\n */\n length?: 4 | 5 | 6;\n /**\n * The name attribute for the pincode element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the pincode field.\n */\n value?: string | number;\n /**\n * If `true`, applies an invalid state to the pincode.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the pincode, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, the pincode is read-only (cannot be edited).\n */\n readonly?: boolean;\n }\n\n let { id, length = 6, name, value, isinvalid, disabled, readonly }: Props = $props();\n\n const L = $derived(typeof length === 'string' ? parseInt(length, 10) || 6 : length);\n\n let otp = $state<string[]>(Array(L).fill(''));\n let inputs = $state<HTMLInputElement[]>([]);\n let element: HTMLElement;\n\n $effect(() => {\n const incoming = String(value ?? '');\n otp = Array.from({ length: L }, (_, i) => incoming[i] ?? '');\n });\n\n const focusInput = (i: number) => {\n queueMicrotask(() => inputs?.[i]?.focus());\n };\n\n const emitInput = () => {\n const joined = otp.join('');\n const event = new CustomEvent('input', {\n detail: { value: joined },\n bubbles: true,\n composed: true,\n });\n element.dispatchEvent(event);\n };\n\n const onInput = (e: Event, index: number) => {\n const el = e.target as HTMLInputElement;\n const digit = el.value.replace(/\\D/g, '').slice(0, 1);\n otp[index] = digit;\n emitInput();\n if (digit && index + 1 < L) focusInput(index + 1);\n };\n\n const onKeyDown = (e: KeyboardEvent, index: number) => {\n if (e.key === 'ArrowLeft' && index > 0) {\n e.preventDefault();\n focusInput(index - 1);\n } else if (e.key === 'ArrowRight' && index < L - 1) {\n e.preventDefault();\n focusInput(index + 1);\n } else if (e.key === 'Backspace' && otp[index] === '' && index > 0) {\n otp[index - 1] = '';\n emitInput();\n focusInput(index - 1);\n }\n };\n\n const onPaste = (e: ClipboardEvent) => {\n e.preventDefault();\n const pasted = (e.clipboardData?.getData('text') ?? '').replace(/\\D/g, '').slice(0, L);\n otp = Array.from({ length: L }, (_, i) => pasted[i] ?? '');\n emitInput();\n focusInput(Math.min(pasted.length, L - 1));\n };\n</script>\n\n<div class=\"mc-pincode-input\" onpaste={onPaste} bind:this={element}>\n {#each [...Array(L).keys()] as i (i)}\n <input\n id={`pincodeItem${i}`}\n bind:this={inputs[i]}\n class={['mc-pincode-input__control', isinvalid && 'is-invalid']}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n pattern=\"\\d*\"\n autocomplete=\"one-time-code\"\n name={name ?? `pincode-${id}`}\n {disabled}\n {readonly}\n value={otp[i]}\n oninput={(e) => onInput(e, i)}\n onkeydown={(e) => onKeyDown(e as KeyboardEvent, i)}\n />\n {/each}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/pincode-input';\n</style>\n"],"names":["on_input","e","onInput","i","on_keydown","onKeyDown","id","$.prop","$$props","length","name","value","isinvalid","disabled","readonly","L","$.derived","otp","$.get","inputs","$.state","$.proxy","element","$.user_effect","incoming","$.set","_","focusInput","emitInput","joined","event","index","digit","onPaste","pasted","_a","$$anchor","$$value","$.set_attribute","input","$.set_value","$.bind_this","div"],"mappings":"2SAgHgB,IAAAA,EAAA,CAAAC,EAACC,EAAAC,IAAKD,EAAQD,EAAGE,CAAC,EAChBC,EAAA,CAAAH,EAACI,EAAAF,IAAKE,EAAUJ,EAAoBE,CAAC;;;;0uDAjHvD,qBAuCQG,EAAEC,EAAAC,EAAA,KAAA,CAAA,EAAEC,iBAAS,CAAC,EAAEC,EAAIH,EAAAC,EAAA,OAAA,CAAA,EAAEG,EAAKJ,EAAAC,EAAA,QAAA,CAAA,EAAEI,EAASL,EAAAC,EAAA,YAAA,CAAA,EAAEK,EAAQN,EAAAC,EAAA,WAAA,CAAA,EAAEM,EAAQP,EAAAC,EAAA,WAAA,CAAA,EAE1D,MAAAO,EAACC,EAAA,IAAA,OAAmBP,EAAM,GAAK,SAAW,SAASA,EAAM,EAAE,EAAE,GAAK,EAAIA,EAAM,CAAA,EAE9E,IAAAQ,MAAuB,MAAKC,EAACH,CAAC,CAAA,EAAE,KAAK,EAAE,CAAA,CAAA,EACvCI,EAAMC,EAAAC,EAAA,CAAA,CAAA,CAAA,EACNC,EAEJC,EAAO,IAAO,CACN,MAAAC,EAAW,OAAOb,EAAK,GAAI,EAAE,EACnCc,EAAAR,EAAM,MAAM,KAAI,CAAG,OAAMC,EAAEH,CAAC,CAAA,EAAA,CAAKW,EAAGvB,IAAMqB,EAASrB,CAAC,GAAK,EAAE,EAAA,EAAA,CAC7D,CAAC,QAEKwB,EAAcxB,GAAc,CAChC,eAAc,IAAA,SAAAe,OAAAA,GAAAA,EAAAA,EAAOC,CAAM,IAAbD,YAAAA,EAAgBf,KAAhBe,YAAAA,EAAoB,QAAK,CACzC,EAEMU,EAAS,IAAS,CAChB,MAAAC,EAAMX,EAAGD,CAAG,EAAC,KAAK,EAAE,EACpBa,MAAY,YAAY,QAAO,CACnC,OAAM,CAAI,MAAOD,CAAM,EACvB,QAAS,GACT,SAAU,EAAI,CAAA,EAEhBP,EAAQ,cAAcQ,CAAK,CAC7B,EAEM5B,EAAO,CAAI,EAAU6B,IAAkB,CAErC,MAAAC,EADK,EAAE,OACI,MAAM,QAAQ,MAAO,EAAE,EAAE,MAAM,EAAG,CAAC,IACpDf,CAAG,EAACc,CAAK,EAAIC,EACbJ,EAAS,EACLI,GAASD,EAAQ,EAACb,EAAGH,CAAC,GAAEY,EAAWI,EAAQ,CAAC,CAClD,EAEM1B,EAAS,CAAI,EAAkB0B,IAAkB,CACjD,EAAE,MAAQ,aAAeA,EAAQ,GACnC,EAAE,eAAc,EAChBJ,EAAWI,EAAQ,CAAC,GACX,EAAE,MAAQ,cAAgBA,EAAKb,EAAGH,CAAC,EAAG,GAC/C,EAAE,eAAc,EAChBY,EAAWI,EAAQ,CAAC,GACX,EAAE,MAAQ,aAAWb,EAAID,CAAG,EAACc,CAAK,IAAM,IAAMA,EAAQ,IAC/Db,EAAAD,CAAG,EAACc,EAAQ,CAAC,EAAI,GACjBH,EAAS,EACTD,EAAWI,EAAQ,CAAC,EAExB,EAEME,EAAW,GAAsB,OACrC,EAAE,eAAc,QACVC,KAAUC,EAAA,EAAE,gBAAF,YAAAA,EAAiB,QAAQ,UAAW,IAAI,QAAQ,MAAO,EAAE,EAAE,MAAM,EAACjB,EAAEH,CAAC,CAAA,EACrFU,EAAAR,EAAM,MAAM,KAAI,CAAG,OAAMC,EAAEH,CAAC,CAAA,EAAA,CAAKW,EAAGvB,IAAM+B,EAAO/B,CAAC,GAAK,EAAE,EAAA,EAAA,EACzDyB,EAAS,EACTD,EAAW,KAAK,IAAIO,EAAO,OAAMhB,EAAEH,CAAC,EAAG,CAAC,CAAA,CAC1C,wFAvDmB,EAAC,qSA2DT,MAAKG,EAACH,CAAC,CAAA,EAAE,KAAI,GAAOZ,GAAGA,EAAC,CAAAiC,EAAJjC,IAAC,6DAGVA,IAACe,EAARC,CAAM,EAAChB,CAAC,EAAAkC,EAAD,GAAC,OAAAnB,OAAAA,EAAAA,EAARC,CAAM,IAAED,YAAAA,EAAD,IAAC,IAAA,CAADf,CAAC,CAAA,gCADDA,CAAC,EAAA,WAEX,4BAA6BS,KAAa,YAAY,CAAA,EAAA,eAAA,EAMxD0B,EAAAC,EAAA,OAAA7B,EAAI,cAAeJ,EAAE,CAAA,EAAA,gCAGpBkC,EAAAD,EAAArB,EAAAD,CAAG,EAACd,CAAC,CAAA,kBAdyCsC,EAAAC,EAAAL,GAAAf,QAAAA,CAAO,cAA3BW,CAAO,aAF9C"}