@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
@@ -9,27 +9,48 @@
9
9
  import ChevronRight24 from '@mozaic-ds/icons-svelte/svelte/ChevronRight24/ChevronRight24.svelte';
10
10
  import Button from '../button/Button.svelte';
11
11
  import IconButton from '../iconbutton/IconButton.svelte';
12
-
12
+ /**
13
+ * Pagination is a navigation component that allows users to browse through large sets of content by dividing it into discrete pages. It typically includes previous and next buttons, numeric page selectors, or dropdowns to jump between pages efficiently. Pagination improves usability and performance in content-heavy applications such as tables, search results, and articles by preventing long scrolls and reducing page load times.
14
+ */
13
15
  interface Props {
16
+ /**
17
+ * A unique identifier for the pagination.
18
+ */
14
19
  id: string;
15
- value?: number;
16
- total?: number;
20
+ /**
21
+ * The current value of the selected page.
22
+ */
23
+ value: number;
24
+ /**
25
+ * If `true`, display a compact version without the select.
26
+ */
17
27
  compact?: boolean;
28
+ /**
29
+ * Total number of pages.
30
+ */
31
+ total?: number;
32
+ /**
33
+ * Accessible label for the select of the pagination.
34
+ */
18
35
  selectLabel?: string;
19
- pagelabel?: string;
36
+ /**
37
+ * Word displayed before the current page number.
38
+ */
20
39
  prefixlabel?: string;
21
- [key: string]: any;
40
+ /**
41
+ * Word displayed between the current page number and total page number.
42
+ */
43
+ pagelabel?: string;
22
44
  }
23
45
 
24
46
  let {
25
47
  id,
26
48
  value = $bindable(1),
27
49
  total = 10,
28
- compact = false,
50
+ compact,
29
51
  selectLabel = 'Page selector',
30
- pagelabel = 'of',
31
52
  prefixlabel = 'Page',
32
- ...events
53
+ pagelabel = 'of',
33
54
  }: Props = $props();
34
55
 
35
56
  let selected = $state(Number(value));
@@ -60,20 +81,15 @@
60
81
  <nav class="mc-pagination" aria-label="pagination">
61
82
  {#if !compact}
62
83
  <Button
63
- iconOnly
84
+ iconposition="only"
64
85
  aria-label="Previous page"
65
86
  disabled={isFirstPage()}
66
87
  onclick={previous}
67
88
  >
68
- <ChevronLeft24 />
89
+ <ChevronLeft24 slot="icon" />
69
90
  </Button>
70
91
  {:else}
71
- <IconButton
72
- outlined
73
- aria-label="Previous page"
74
- disabled={isFirstPage()}
75
- onclick={previous}
76
- >
92
+ <IconButton outlined aria-label="Previous page" disabled={isFirstPage()} onclick={previous}>
77
93
  <ChevronLeft24 slot="icon" />
78
94
  </IconButton>
79
95
  {/if}
@@ -88,11 +104,8 @@
88
104
  bind:value={selected}
89
105
  onchange={onSelectChange}
90
106
  >
91
- {#each pages() as page}
92
- <option
93
- value={Number(page)}
94
- selected={Number(page) == Number(selected)}
95
- >
107
+ {#each pages() as page, index (index)}
108
+ <option value={Number(page)} selected={Number(page) == Number(selected)}>
96
109
  {prefixlabel}
97
110
  {page}
98
111
  {pagelabel}
@@ -111,21 +124,11 @@
111
124
  {/if}
112
125
 
113
126
  {#if !compact}
114
- <Button
115
- iconOnly
116
- aria-label="Next page"
117
- disabled={isLastPage()}
118
- onclick={next}
119
- >
120
- <ChevronRight24 />
127
+ <Button iconposition="only" aria-label="Next page" disabled={isLastPage()} onclick={next}>
128
+ <ChevronRight24 slot="icon" />
121
129
  </Button>
122
130
  {:else}
123
- <IconButton
124
- outlined
125
- aria-label="Next page"
126
- disabled={isLastPage()}
127
- onclick={next}
128
- >
131
+ <IconButton outlined aria-label="Next page" disabled={isLastPage()} onclick={next}>
129
132
  <ChevronRight24 slot="icon" />
130
133
  </IconButton>
131
134
  {/if}
@@ -1,12 +1,35 @@
1
+ /**
2
+ * Pagination is a navigation component that allows users to browse through large sets of content by dividing it into discrete pages. It typically includes previous and next buttons, numeric page selectors, or dropdowns to jump between pages efficiently. Pagination improves usability and performance in content-heavy applications such as tables, search results, and articles by preventing long scrolls and reducing page load times.
3
+ */
1
4
  interface Props {
5
+ /**
6
+ * A unique identifier for the pagination.
7
+ */
2
8
  id: string;
3
- value?: number;
4
- total?: number;
9
+ /**
10
+ * The current value of the selected page.
11
+ */
12
+ value: number;
13
+ /**
14
+ * If `true`, display a compact version without the select.
15
+ */
5
16
  compact?: boolean;
17
+ /**
18
+ * Total number of pages.
19
+ */
20
+ total?: number;
21
+ /**
22
+ * Accessible label for the select of the pagination.
23
+ */
6
24
  selectLabel?: string;
7
- pagelabel?: string;
25
+ /**
26
+ * Word displayed before the current page number.
27
+ */
8
28
  prefixlabel?: string;
9
- [key: string]: any;
29
+ /**
30
+ * Word displayed between the current page number and total page number.
31
+ */
32
+ pagelabel?: string;
10
33
  }
11
34
  declare const Pagination: import("svelte").Component<Props, {}, "value">;
12
35
  type Pagination = ReturnType<typeof Pagination>;
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.svelte.ts"],"names":[],"mappings":"AASE,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAgGH,QAAA,MAAM,UAAU,gDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"Pagination.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.svelte.ts"],"names":[],"mappings":"AAQE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+FH,QAAA,MAAM,UAAU,gDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,16 @@
1
+ # `m-pagination`
2
+
3
+ Pagination is a navigation component that allows users to browse through large sets of content by dividing it into discrete pages. It typically includes previous and next buttons, numeric page selectors, or dropdowns to jump between pages efficiently. Pagination improves usability and performance in content-heavy applications such as tables, search results, and articles by preventing long scrolls and reducing page load times.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `id*` | A unique identifier for the pagination. | `string` | |
10
+ | `value*` | The current value of the selected page. | `number` | `$bindable(1)` |
11
+ | `compact` | If `true`, display a compact version without the select. | `boolean` | |
12
+ | `total` | Total number of pages. | `number` | `10` |
13
+ | `selectLabel` | Accessible label for the select of the pagination. | `string` | `Page selector` |
14
+ | `prefixlabel` | Word displayed before the current page number. | `string` | `Page` |
15
+ | `pagelabel` | Word displayed between the current page number and total page number. | `string` | `of` |
16
+
@@ -1,9 +1,8 @@
1
- import{n as G,c as I,p as q,a as A,b as o,f as j,D as J,m as i,v as K,d as c,s as S,t as C,h as V,i as N,w as O,j as l,r as d,g as D,e as Q}from"../../custom-element.js";import{i as R}from"../../if.js";import{b as T}from"../../attributes.js";import{c as U}from"../../input.js";import{B as W}from"../button/Button.js";import"../../slot.js";import"../loader/Loader.js";function X(h,t,s){t(""),s()()}var Y=j('<div class="mc-controls-options svelte-1luc9tv"><button class="mc-controls-options__button svelte-1luc9tv" type="button"><svg class="mc-controls-options__icon svelte-1luc9tv" aria-hidden="true"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2ZM8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z" class="svelte-1luc9tv"></path></svg> <span class="mc-controls-options__label svelte-1luc9tv"> </span></button></div>'),$=j('<span class="svelte-1luc9tv"> </span>'),ee=j("<div><input/> <!> <!></div>");const te={hash:"svelte-1luc9tv",code:`/**
1
+ import{v as q,c as A,p as B,a as G,b as r,f as D,s as L,d as n,e as E,g as H,w as J,t as M,i as V,j as K,x as N,m as p,k as l,r as s,h as Z}from"../../custom-element.js";import{i as Q}from"../../if.js";import{r as R,s as c}from"../../attributes.js";import{c as T}from"../../input.js";import{c as U}from"../../custom-element-forward-events.js";function W(d,e){N(e,!p(e))}const X=(d,e)=>e("");var Y=D('<div class="mc-controls-options svelte-1luc9tv"><button class="mc-controls-options__button svelte-1luc9tv" type="button"><svg class="mc-controls-options__icon svelte-1luc9tv" aria-hidden="true"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2ZM8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z" class="svelte-1luc9tv"></path></svg> <span class="mc-controls-options__label svelte-1luc9tv"> </span></button></div>'),$=D('<div><input class="mc-password-input__control mc-text-input__control svelte-1luc9tv"/> <!> <button type="button" role="switch" tabindex="0"><span class="svelte-1luc9tv"> </span></button></div>');const tt={hash:"svelte-1luc9tv",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-password-input.svelte-1luc9tv .mc-button:where(.svelte-1luc9tv) {min-width:4rem;margin:0.5rem;}
4
4
 
5
- /* stylelint-disable string-no-newline */.mc-text-input.svelte-1luc9tv {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:100%;height:3rem;box-sizing:border-box;display:flex;align-items:center;gap:0.5rem;}.mc-text-input__control.svelte-1luc9tv {background-color:transparent;border-width:0;font-family:inherit;outline:none;}.mc-text-input__control[type=number].svelte-1luc9tv::-webkit-inner-spin-button, .mc-text-input__control[type=number].svelte-1luc9tv::-webkit-outer-spin-button {appearance:none;margin:0;}.mc-text-input__control[type=number].svelte-1luc9tv {
6
- /* For Gecko rendering engine */appearance:textfield;}.mc-text-input__control[type=search].svelte-1luc9tv::-webkit-search-decoration, .mc-text-input__control[type=search].svelte-1luc9tv::-webkit-search-cancel-button {appearance:none;}.mc-text-input__control.svelte-1luc9tv {padding:0.75rem 0.6875rem;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);font-weight:var(--font-weight-regular, 400);flex-grow:1;}.mc-text-input__control.svelte-1luc9tv::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-text-input__icon.svelte-1luc9tv {fill:var(--forms-color-icon-default, #666666);height:1.5rem;width:1.5rem;flex-shrink:0;}.mc-text-input.svelte-1luc9tv: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-text-input.svelte-1luc9tv: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-text-input.svelte-1luc9tv:has(input:where(.svelte-1luc9tv):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-text-input.svelte-1luc9tv:has(input[readonly]:where(.svelte-1luc9tv)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-text-input.svelte-1luc9tv:has(.mc-text-input__icon:where(.svelte-1luc9tv)) {padding-inline-start:0.6875rem;}.mc-text-input.svelte-1luc9tv:has(.mc-text-input__icon:where(.svelte-1luc9tv)) .mc-text-input__control:where(.svelte-1luc9tv) {padding-inline-start:0;}.mc-text-input.svelte-1luc9tv:has(.mc-controls-options:where(.svelte-1luc9tv)) {padding-inline-end:0.6875rem;}.mc-text-input.svelte-1luc9tv:has(.mc-controls-options:where(.svelte-1luc9tv)) .mc-text-input__control:where(.svelte-1luc9tv) {padding-inline-end:0;}.mc-text-input--s.svelte-1luc9tv {height:2rem;}.mc-text-input.is-invalid.svelte-1luc9tv {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);}.mc-text-input.is-invalid.svelte-1luc9tv: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);}.mc-text-input.svelte-1luc9tv :where(.svelte-1luc9tv) {box-sizing:border-box;}
5
+ /* stylelint-disable string-no-newline */.mc-text-input.svelte-1luc9tv {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:100%;height:3rem;box-sizing:border-box;display:flex;align-items:center;gap:0.5rem;}.mc-text-input__control.svelte-1luc9tv {background-color:transparent;border-width:0;font-family:inherit;outline:none;}.mc-text-input__control.svelte-1luc9tv {padding:0.75rem 0.6875rem;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);font-weight:var(--font-weight-regular, 400);flex-grow:1;}.mc-text-input__control.svelte-1luc9tv::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-text-input.svelte-1luc9tv: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-text-input.svelte-1luc9tv: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-text-input.svelte-1luc9tv:has(input:where(.svelte-1luc9tv):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-text-input.svelte-1luc9tv:has(input[readonly]:where(.svelte-1luc9tv)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-text-input.svelte-1luc9tv:has(.mc-controls-options:where(.svelte-1luc9tv)) {padding-inline-end:0.6875rem;}.mc-text-input.svelte-1luc9tv:has(.mc-controls-options:where(.svelte-1luc9tv)) .mc-text-input__control:where(.svelte-1luc9tv) {padding-inline-end:0;}.mc-text-input.is-invalid.svelte-1luc9tv {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);}.mc-text-input.is-invalid.svelte-1luc9tv: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);}.mc-text-input.svelte-1luc9tv :where(.svelte-1luc9tv) {box-sizing:border-box;}
7
6
 
8
- /* stylelint-enable string-no-newline */.mc-controls-options.svelte-1luc9tv {align-items:center;display:inline-flex;justify-content:center;gap:0.5rem;}.mc-controls-options__button.svelte-1luc9tv {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;border-radius:var(--radius-full, 100%);}.mc-controls-options__button.svelte-1luc9tv:hover .mc-controls-options__icon:where(.svelte-1luc9tv) {fill:var(--forms-color-icon-clear-hover, #4d4d4d);}.mc-controls-options__button.svelte-1luc9tv:focus-visible {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-controls-options__icon.svelte-1luc9tv {fill:var(--forms-color-icon-clear, #666666);}.mc-controls-options__button.svelte-1luc9tv, .mc-controls-options__icon.svelte-1luc9tv {height:1.5rem;width:1.5rem;}.mc-controls-options__label.svelte-1luc9tv {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-controls-options__unit.svelte-1luc9tv {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);font-weight:var(--font-weight-semi-bold, 600);color:var(--forms-color-text-default, #000000);}`};function oe(h,t){q(t,!0),A(h,te);let s=o(t,"id",7),g=o(t,"name",7),a=o(t,"value",15,""),_=o(t,"placeholder",7,""),u=o(t,"isinvalid",7,!1),v=o(t,"disabled",7,!1),x=o(t,"readonly",7,!1),w=o(t,"isclearable",7,!1),y=o(t,"clearlabel",7,"Clear content"),m=o(t,"buttonlabel",23,()=>({show:"Show",hide:"Hide"})),k=o(t,"onclear",7),z=o(t,"ontoggle",7),H=J(t,["$$slots","$$events","$$legacy","$$host","id","name","value","placeholder","isinvalid","disabled","readonly","isclearable","clearlabel","buttonlabel","onclear","ontoggle"]),n=K(!1);function M(){O(n,!i(n)),z()(i(n))}var P={get id(){return s()},set id(e){s(e),l()},get name(){return g()},set name(e){g(e),l()},get value(){return a()},set value(e=""){a(e),l()},get placeholder(){return _()},set placeholder(e=""){_(e),l()},get isinvalid(){return u()},set isinvalid(e=!1){u(e),l()},get disabled(){return v()},set disabled(e=!1){v(e),l()},get readonly(){return x()},set readonly(e=!1){x(e),l()},get isclearable(){return w()},set isclearable(e=!1){w(e),l()},get clearlabel(){return y()},set clearlabel(e="Clear content"){y(e),l()},get buttonlabel(){return m()},set buttonlabel(e={show:"Show",hide:"Hide"}){m(e),l()},get onclear(){return k()},set onclear(e){k(e),l()},get ontoggle(){return z()},set ontoggle(e){z(e),l()}},p=ee(),L=c(p);T(L,()=>({class:"mc-password-input__control mc-text-input__control",id:s(),name:g(),type:i(n)?"text":"password",placeholder:_(),disabled:v(),readonly:x(),"aria-invalid":u(),...H}),void 0,void 0,"svelte-1luc9tv",!0);var B=S(L,2);{var Z=e=>{var b=Y(),r=c(b);r.__click=[X,a,k];var f=S(c(r),2),F=c(f,!0);d(f),d(r),d(b),C(()=>D(F,y())),V(e,b)};R(B,e=>{w()&&a()&&e(Z)})}var E=S(B,2);return W(E,{type:"button",role:"switch",tabindex:"0",get"aria-checked"(){return i(n)},size:"s",ghost:!0,get disabled(){return v()},onclick:M,children:(e,b)=>{var r=$(),f=c(r,!0);d(r),C(()=>D(f,i(n)?m().hide:m().show)),V(e,r)},$$slots:{default:!0}}),d(p),C(()=>Q(p,1,`mc-password-input mc-text-input ${u()?"is-invalid":""}`,"svelte-1luc9tv")),U(L,a),V(h,p),N(P)}G(["click"]);customElements.define("m-password-input",I(oe,{id:{},name:{},value:{},placeholder:{},isinvalid:{},disabled:{},readonly:{},isclearable:{},clearlabel:{},buttonlabel:{},onclear:{},ontoggle:{}},[],[],!0));
7
+ /* stylelint-enable string-no-newline */.mc-button.svelte-1luc9tv {color:var(--button-color-filled-standard-font, #ffffff);background-color:var(--button-color-filled-standard-background, #464e63);}.mc-button.svelte-1luc9tv:hover {background-color:var(--button-color-filled-standard-hover-background, #343b4c);}.mc-button.svelte-1luc9tv:active {background-color:var(--button-color-filled-standard-active-background, #242938);}.mc-button.svelte-1luc9tv:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button.svelte-1luc9tv {font-weight:var(--font-weight-semi-bold, 600);padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button.svelte-1luc9tv {display:inline-flex;justify-content:center;vertical-align:middle;text-align:center;border:2px solid transparent;border-radius:var(--button-radius, 0.25rem);transition:all ease 200ms;transition:box-shadow 200ms ease;align-items:center;box-sizing:border-box;font-family:inherit;fill:currentcolor;gap:0.25rem;cursor:pointer;}.mc-button.svelte-1luc9tv:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button.svelte-1luc9tv:focus-visible {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-button--s.svelte-1luc9tv {padding:0 calc(0.75rem - 0.125rem);min-height:2rem;min-width:2rem;}.mc-button--ghost.svelte-1luc9tv {color:var(--button-color-ghost-standard-font, #242938);background-color:var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.svelte-1luc9tv:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.svelte-1luc9tv:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.svelte-1luc9tv:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-controls-options.svelte-1luc9tv {align-items:center;display:inline-flex;justify-content:center;gap:0.5rem;}.mc-controls-options__button.svelte-1luc9tv {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;border-radius:var(--radius-full, 100%);}.mc-controls-options__button.svelte-1luc9tv:hover .mc-controls-options__icon:where(.svelte-1luc9tv) {fill:var(--forms-color-icon-clear-hover, #4d4d4d);}.mc-controls-options__button.svelte-1luc9tv:focus-visible {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-controls-options__icon.svelte-1luc9tv {fill:var(--forms-color-icon-clear, #666666);}.mc-controls-options__button.svelte-1luc9tv, .mc-controls-options__icon.svelte-1luc9tv {height:1.5rem;width:1.5rem;}.mc-controls-options__label.svelte-1luc9tv {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}`};function et(d,e){B(e,!0),G(d,tt);let h=r(e,"id",7),g=r(e,"name",7),i=r(e,"value",15),_=r(e,"placeholder",7),u=r(e,"isinvalid",7),v=r(e,"disabled",7),w=r(e,"readonly",7),x=r(e,"isclearable",7),k=r(e,"clearlabel",7,"Clear content"),b=r(e,"buttonlabel",23,()=>({show:"Show",hide:"Hide"})),m=J(!1);var F={get id(){return h()},set id(t){h(t),l()},get name(){return g()},set name(t){g(t),l()},get value(){return i()},set value(t){i(t),l()},get placeholder(){return _()},set placeholder(t){_(t),l()},get isinvalid(){return u()},set isinvalid(t){u(t),l()},get disabled(){return v()},set disabled(t){v(t),l()},get readonly(){return w()},set readonly(t){w(t),l()},get isclearable(){return x()},set isclearable(t){x(t),l()},get clearlabel(){return k()},set clearlabel(t="Clear content"){k(t),l()},get buttonlabel(){return b()},set buttonlabel(t={show:"Show",hide:"Hide"}){b(t),l()}},f=$(),o=n(f);R(o);var S=L(o,2);{var I=t=>{var y=Y(),z=n(y);z.__click=[X,i];var C=L(n(z),2),P=n(C,!0);s(C),s(z),s(y),M(()=>Z(P,k())),V(t,y)};Q(S,t=>{x()&&i()&&t(I)})}var a=L(S,2);E(a,1,H(["mc-button","mc-button--s","mc-button--ghost"]),"svelte-1luc9tv"),a.__click=[W,m];var j=n(a),O=n(j,!0);return s(j),s(a),s(f),M(()=>{E(f,1,H(["mc-password-input","mc-text-input",u()&&"is-invalid"]),"svelte-1luc9tv"),c(o,"id",h()),c(o,"name",g()),c(o,"type",p(m)?"text":"password"),c(o,"placeholder",_()),o.disabled=v(),o.readOnly=w(),c(o,"aria-invalid",u()),a.disabled=v(),c(a,"aria-checked",p(m)),Z(O,p(m)?b().hide:b().show)}),T(o,i),V(d,f),K(F)}q(["click"]);customElements.define("m-password-input",A(et,{id:{},name:{},value:{},placeholder:{},isinvalid:{},disabled:{},readonly:{},isclearable:{},clearlabel:{},buttonlabel:{}},[],[],!0,U));
9
8
  //# sourceMappingURL=PasswordInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.js","sources":["../../../src/components/passwordinput/PasswordInput.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-password-input',\n }}\n/>\n\n<script lang=\"ts\">\n import Button from '../button/Button.svelte';\n interface Props {\n id: string;\n name?: string;\n value?: string | number;\n placeholder?: string;\n isinvalid?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n isclearable?: boolean;\n clearlabel?: string;\n buttonlabel?: {\n show: string;\n hide: string;\n };\n [key: string]: any;\n }\n\n let {\n id,\n name,\n value = $bindable(''),\n placeholder = '',\n isinvalid = false,\n disabled = false,\n readonly = false,\n isclearable = false,\n clearlabel = 'Clear content',\n buttonlabel = { show: 'Show', hide: 'Hide' },\n onclear,\n ontoggle,\n ...events\n }: Props = $props();\n\n let isVisible = $state(false);\n\n function toggleVisibility() {\n isVisible = !isVisible;\n ontoggle(isVisible);\n }\n\n function clearValue() {\n value = '';\n onclear();\n }\n</script>\n\n<div class=\"mc-password-input mc-text-input {isinvalid ? 'is-invalid' : ''}\">\n <input\n class=\"mc-password-input__control mc-text-input__control\"\n {id}\n {name}\n type={isVisible ? 'text' : 'password'}\n bind:value\n {placeholder}\n {disabled}\n {readonly}\n aria-invalid={isinvalid}\n {...events}\n />\n {#if isclearable && value}\n <div class=\"mc-controls-options\">\n <button\n class=\"mc-controls-options__button\"\n type=\"button\"\n onclick={clearValue}\n >\n <svg class=\"mc-controls-options__icon\" aria-hidden=\"true\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2ZM8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z\"\n />\n </svg>\n <span class=\"mc-controls-options__label\">{clearlabel}</span>\n </button>\n </div>\n {/if}\n\n <Button\n type=\"button\"\n role=\"switch\"\n tabindex=\"0\"\n aria-checked={isVisible}\n size=\"s\"\n ghost={true}\n {disabled}\n onclick={toggleVisibility}\n >\n <span>{isVisible ? buttonlabel.hide : buttonlabel.show}</span>\n </Button>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/password-input';\n @use '@mozaic-ds/styles/components/text-input';\n @use '@mozaic-ds/styles/components/controls-options';\n</style>\n"],"names":["clearValue","_","value","onclear","id","$.prop","$$props","name","placeholder","isinvalid","disabled","readonly","isclearable","clearlabel","buttonlabel","ontoggle","events","$.rest_props","isVisible","toggleVisibility","$.set","$$value","$$render","consequent","$.template_effect","$.set_text","text_1","$.get"],"mappings":"+WAgDW,SAAAA,EAAUC,EAAAC,EAAAC,EAAG,CACpBD,EAAQ,EAAE,EACVC,IAAO,CACT;;;;;;;o5CAnDF,qBA0BIC,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EACJJ,iBAAkB,EAAE,EACpBM,sBAAc,EAAE,EAChBC,oBAAY,EAAK,EACjBC,mBAAW,EAAK,EAChBC,mBAAW,EAAK,EAChBC,sBAAc,EAAK,EACnBC,qBAAa,eAAe,EAC5BC,6BAAgB,KAAM,OAAQ,KAAM,MAAM,EAAA,EAC1CX,EAAOE,EAAAC,EAAA,UAAA,CAAA,EACPS,EAAQV,EAAAC,EAAA,WAAA,CAAA,EACLU,EAAAC,EAAAX,EAAA,8KAGDY,IAAmB,EAAK,EAEnB,SAAAC,GAAmB,CAC1BC,EAAAF,KAAaA,CAAS,CAAA,EACtBH,EAAQ,IAACG,CAAS,CAAA,CACpB,kIAlBoB,GAAE,2DACN,GAAE,uDACJ,GAAK,qDACN,GAAK,qDACL,GAAK,2DACF,GAAK,yDACN,gBAAe,yCACZ,IAAA,YAAAG,EAAA,CAAA,KAAM,OAAQ,KAAM,QAAM,6NAwBpCH,CAAS,EAAG,OAAS,oEAKbT,EAAS,KACnBO,2FAOShB,EAAUE,EAAAC,CAAA,qDAQuBU,EAAU,CAAA,CAAA,kBAbrDD,EAAW,GAAIV,KAAKoB,EAAAC,CAAA,mGAsBTL,CAAS,kBAEhB,sCAEEC,4CAEFK,EAAA,IAAAC,EAAAC,EAAAC,EAAAT,CAAS,EAAGJ,EAAW,EAAC,KAAOA,EAAW,EAAC,IAAI,CAAA,qFAzCbL,EAAS,EAAG,aAAe,EAAE,GAAA,gBAAA,CAAA,oBAF1E"}
1
+ {"version":3,"file":"PasswordInput.js","sources":["../../../src/components/passwordinput/PasswordInput.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-password-input',\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n /**\n * 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.\n */\n interface Props {\n /**\n * A unique identifier for the password input element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the password input element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the password input field.\n */\n value?: string | number;\n /**\n * A placeholder text to show in the password input when it is empty.\n */\n placeholder?: string;\n /**\n * If `true`, applies an invalid state to the password input.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the password input, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, the password input is read-only (cannot be edited).\n */\n readonly?: boolean;\n /**\n * If `true`, a clear button will appear when the password input has a value.\n */\n isclearable?: boolean;\n /**\n * The label text for the clear button.\n */\n clearlabel?: string;\n /**\n * Labels of the button displayed when showing or hiding the password.\n */\n buttonlabel?: {\n show: string;\n hide: string;\n };\n }\n\n let {\n id,\n name,\n value = $bindable(),\n placeholder,\n isinvalid,\n disabled,\n readonly,\n isclearable,\n clearlabel = 'Clear content',\n buttonlabel = { show: 'Show', hide: 'Hide' },\n }: Props = $props();\n\n let isVisible = $state(false);\n\n function toggleVisibility() {\n isVisible = !isVisible;\n }\n\n const resetValue = () => (value = '');\n</script>\n\n<div class={['mc-password-input', 'mc-text-input', isinvalid && 'is-invalid']}>\n <input\n class=\"mc-password-input__control mc-text-input__control\"\n {id}\n {name}\n type={isVisible ? 'text' : 'password'}\n bind:value\n {placeholder}\n {disabled}\n {readonly}\n aria-invalid={isinvalid}\n />\n {#if isclearable && value}\n <div class=\"mc-controls-options\">\n <button class=\"mc-controls-options__button\" type=\"button\" onclick={resetValue}>\n <svg class=\"mc-controls-options__icon\" aria-hidden=\"true\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2ZM8.293 8.293a1 1 0 0 1 1.414 0L12 10.586l2.293-2.293a1 1 0 1 1 1.414 1.414L13.414 12l2.293 2.293a1 1 0 0 1-1.414 1.414L12 13.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L10.586 12 8.293 9.707a1 1 0 0 1 0-1.414Z\"\n />\n </svg>\n <span class=\"mc-controls-options__label\">{clearlabel}</span>\n </button>\n </div>\n {/if}\n\n <button\n class={['mc-button', 'mc-button--s', 'mc-button--ghost']}\n type=\"button\"\n role=\"switch\"\n tabindex=\"0\"\n {disabled}\n aria-checked={isVisible}\n onclick={toggleVisibility}\n >\n <span>{isVisible ? buttonlabel.hide : buttonlabel.show}</span>\n </button>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/password-input';\n @use '@mozaic-ds/styles/components/text-input';\n @use '@mozaic-ds/styles/components/button';\n @use '@mozaic-ds/styles/components/controls-options';\n</style>\n"],"names":["toggleVisibility","_","isVisible","$.set","resetValue","__1","value","id","$.prop","$$props","name","placeholder","isinvalid","disabled","readonly","isclearable","clearlabel","buttonlabel","$$value","$$render","consequent","$.set_text","text_1","$.get","customElementForwardEvents"],"mappings":"uVAyEW,SAAAA,EAAgBC,EAAAC,EAAG,CAC1BC,EAAAD,KAAaA,CAAS,CAAA,CACxB,OAEME,EAAU,CAAAC,EAAAC,IAAUA,EAAQ,EAAE;;;;;;g7GA7EtC,qBA2DIC,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EACJH,EAAKE,EAAAC,EAAA,QAAA,EAAA,EACLE,EAAWH,EAAAC,EAAA,cAAA,CAAA,EACXG,EAASJ,EAAAC,EAAA,YAAA,CAAA,EACTI,EAAQL,EAAAC,EAAA,WAAA,CAAA,EACRK,EAAQN,EAAAC,EAAA,WAAA,CAAA,EACRM,EAAWP,EAAAC,EAAA,cAAA,CAAA,EACXO,qBAAa,eAAe,EAC5BC,6BAAgB,KAAM,OAAQ,KAAM,MAAM,EAAA,EAGxCf,IAAmB,EAAK,mdAJb,gBAAe,yCACZ,IAAA,YAAAgB,EAAA,CAAA,KAAM,OAAQ,KAAM,QAAM,kFA0B2Bd,EAAUE,CAAA,qDAOjCU,EAAU,CAAA,CAAA,kBATrDD,EAAW,GAAIT,KAAKa,EAAAC,CAAA,0BAef,YAAa,eAAgB,kBAAkB,CAAA,EAAA,gBAAA,aAM9CpB,EAAgBE,CAAA,6DAjChB,oBAAqB,gBAAiBU,KAAa,4EAKtDV,CAAS,EAAG,OAAS,UAAU,0EAKvBU,GAAS,sCAsBTV,CAAS,CAAA,EAGhBmB,EAAAC,EAAAC,EAAArB,CAAS,EAAGe,EAAW,EAAC,KAAOA,EAAW,EAAC,IAAI,sBArC1D,8LA3EYO"}
@@ -0,0 +1,84 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { render, fireEvent } from '@testing-library/svelte';
3
+ import PasswordInput from './PasswordInput.svelte';
4
+ import { tick } from 'svelte';
5
+ describe('m-password-input component', () => {
6
+ const baseProps = {
7
+ id: 'password-input',
8
+ value: '',
9
+ };
10
+ it('renders input with type password initially', () => {
11
+ render(PasswordInput, { props: baseProps });
12
+ const input = document.querySelector('input');
13
+ expect(input).toBeTruthy();
14
+ expect(input.type).toBe('password');
15
+ });
16
+ it('toggles password visibility on button click', async () => {
17
+ const { getByRole, getByText } = render(PasswordInput, {
18
+ props: baseProps,
19
+ });
20
+ const toggleBtn = getByRole('switch');
21
+ const input = document.querySelector('input');
22
+ expect(input.type).toBe('password');
23
+ expect(toggleBtn.getAttribute('aria-checked')).toBe('false');
24
+ expect(getByText('Show')).toBeTruthy();
25
+ await fireEvent.click(toggleBtn);
26
+ await tick();
27
+ expect(input.type).toBe('text');
28
+ expect(toggleBtn.getAttribute('aria-checked')).toBe('true');
29
+ expect(getByText('Hide')).toBeTruthy();
30
+ await fireEvent.click(toggleBtn);
31
+ await tick();
32
+ expect(input.type).toBe('password');
33
+ expect(toggleBtn.getAttribute('aria-checked')).toBe('false');
34
+ });
35
+ it('shows clear button when isclearable is true and value is not empty', async () => {
36
+ const { container } = render(PasswordInput, {
37
+ props: { ...baseProps, isclearable: true, value: 'secret' },
38
+ });
39
+ const clearBtn = container.querySelector('.mc-controls-options__button');
40
+ expect(clearBtn).toBeTruthy();
41
+ await fireEvent.click(clearBtn);
42
+ await tick();
43
+ const input = container.querySelector('input');
44
+ expect(input.value).toBe('');
45
+ });
46
+ it('does not show clear button when value is empty even if isclearable is true', () => {
47
+ const { container } = render(PasswordInput, {
48
+ props: { ...baseProps, isclearable: true, value: '' },
49
+ });
50
+ const clearBtn = container.querySelector('.mc-controls-options__button');
51
+ expect(clearBtn).toBeNull();
52
+ });
53
+ it('respects disabled and readonly props', () => {
54
+ const { container } = render(PasswordInput, {
55
+ props: { ...baseProps, disabled: true, readonly: true },
56
+ });
57
+ const input = container.querySelector('input');
58
+ expect(input.disabled).toBe(true);
59
+ expect(input.readOnly).toBe(true);
60
+ const toggleBtn = container.querySelector('button[role="switch"]');
61
+ expect(toggleBtn.disabled).toBe(true);
62
+ });
63
+ it('adds is-invalid class when isinvalid is true', () => {
64
+ const { container } = render(PasswordInput, {
65
+ props: { ...baseProps, isinvalid: true },
66
+ });
67
+ expect(container.firstChild).toHaveClass('is-invalid');
68
+ });
69
+ it('uses custom clearlabel and buttonlabel props', () => {
70
+ const clearlabel = 'Clear password';
71
+ const buttonlabel = { show: 'Reveal', hide: 'Conceal' };
72
+ const { getByText } = render(PasswordInput, {
73
+ props: {
74
+ ...baseProps,
75
+ isclearable: true,
76
+ value: 'x',
77
+ clearlabel,
78
+ buttonlabel,
79
+ },
80
+ });
81
+ expect(getByText(clearlabel)).toBeTruthy();
82
+ expect(getByText(buttonlabel.show)).toBeTruthy();
83
+ });
84
+ });
@@ -1,14 +1,11 @@
1
- import type { Meta } from '@storybook/html-vite';
2
- /**
3
- * A password input is used for entering secure information like passwords.
4
- * It supports visibility toggle and optional clear functionality.
5
- *
6
- * The `MPasswordInput` component is the **Svelte / WebComponent** implementation of the Mozaic Design System password input field.
7
- * Refer to the full specification in [the Mozaic documentation](https://mozaic.adeo.cloud/components/form/password-input).
8
- */
9
- declare const _default: Meta;
10
- export default _default;
11
- export declare const Default: any;
12
- export declare const WithClearButton: any;
13
- export declare const Disabled: any;
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj;
5
+ export declare const WithValue: Story;
6
+ export declare const Default: Story;
7
+ export declare const Clearable: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const ReadOnly: Story;
10
+ export declare const Invalid: Story;
14
11
  //# sourceMappingURL=PasswordInput.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordInput.stories.d.ts","sourceRoot":"","sources":["../../../src/components/passwordinput/PasswordInput.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;;GAMG;wBA6DE,IAAI;AA3DT,wBA2DU;AAsBV,eAAO,MAAM,OAAO,KAAoB,CAAC;AAazC,eAAO,MAAM,eAAe,KAAoB,CAAC;AAmBjD,eAAO,MAAM,QAAQ,KAAoB,CAAC"}
1
+ {"version":3,"file":"PasswordInput.stories.d.ts","sourceRoot":"","sources":["../../../src/components/passwordinput/PasswordInput.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IAuCX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
@@ -1,132 +1,75 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
1
3
  import { action } from 'storybook/actions';
2
- import { userEvent, expect } from 'storybook/test';
3
- /**
4
- * A password input is used for entering secure information like passwords.
5
- * It supports visibility toggle and optional clear functionality.
6
- *
7
- * The `MPasswordInput` component is the **Svelte / WebComponent** implementation of the Mozaic Design System password input field.
8
- * Refer to the full specification in [the Mozaic documentation](https://mozaic.adeo.cloud/components/form/password-input).
9
- */
10
- export default {
11
- title: 'Form Elements/Password Input',
12
- tags: ['autodocs', 'new'],
13
- argTypes: {
14
- id: {
15
- description: 'Unique identifier for the input',
16
- control: 'text',
17
- },
18
- name: {
19
- description: 'Name attribute for form submission',
20
- control: 'text',
21
- },
22
- value: {
23
- description: 'Value of the password input',
24
- control: 'text',
25
- },
26
- placeholder: {
27
- description: 'Placeholder text',
28
- control: 'text',
29
- },
30
- isinvalid: {
31
- description: 'Displays input as invalid',
32
- control: 'boolean',
33
- },
34
- disabled: {
35
- description: 'Disables the input field',
36
- control: 'boolean',
37
- },
38
- readonly: {
39
- description: 'Makes the input read-only',
40
- control: 'boolean',
41
- },
42
- isclearable: {
43
- description: 'Show a clear button when value is set',
44
- control: 'boolean',
45
- },
46
- clearLabel: {
47
- description: 'Label for the clear button',
48
- control: 'text',
49
- },
50
- buttonLabel: {
51
- description: 'Show/Hide button labels',
52
- control: 'object',
53
- },
54
- onclear: {
55
- description: 'Event that occurs when the clear button is clicked',
56
- action: 'onclear',
57
- table: {
58
- category: 'Events',
59
- },
60
- },
61
- ontoggle: {
62
- description: 'Event that occurs when the show/hide button is clicked',
63
- action: 'ontoggle',
64
- table: {
65
- category: 'Events',
66
- },
67
- },
4
+ const meta = {
5
+ title: 'Form Elements/PasswordInput',
6
+ component: 'm-password-input',
7
+ args: {
8
+ id: 'passwordInputId',
9
+ placeholder: 'Enter your password',
10
+ },
11
+ render: (args) => {
12
+ const onInput = action('input');
13
+ const onChange = action('change');
14
+ const onFocus = action('focus');
15
+ const onBlur = action('blur');
16
+ return html `
17
+ <m-password-input
18
+ id=${ifDefined(args.id)}
19
+ name=${ifDefined(args.name)}
20
+ value=${ifDefined(args.value)}
21
+ placeholder=${ifDefined(args.placeholder)}
22
+ isinvalid=${ifDefined(args.isinvalid)}
23
+ disabled=${ifDefined(args.disabled)}
24
+ readonly=${ifDefined(args.readonly)}
25
+ isclearable=${ifDefined(args.isclearable)}
26
+ clearlabel=${ifDefined(args.clearlabel)}
27
+ @input=${(event) => {
28
+ onInput(event);
29
+ }}
30
+ @change=${(event) => {
31
+ onChange(event);
32
+ }}
33
+ @focus=${(event) => {
34
+ onFocus(event);
35
+ }}
36
+ @blur=${(event) => {
37
+ onBlur(event);
38
+ }}
39
+ ></m-password-input>
40
+ `;
68
41
  },
69
42
  };
70
- const Template = (args) => {
71
- const input = document.createElement('m-password-input');
72
- input.setAttribute('id', args.id || 'password-input');
73
- if (args.name)
74
- input.setAttribute('name', args.name);
75
- if (args.placeholder)
76
- input.setAttribute('placeholder', args.placeholder || 'Password input');
77
- if (args.disabled)
78
- input.setAttribute('disabled', args.disabled);
79
- if (args.readonly)
80
- input.setAttribute('readonly', args.readonly);
81
- if (args.isinvalid)
82
- input.setAttribute('isinvalid', args.isinvalid);
83
- if (args.isclearable)
84
- input.setAttribute('isclearable', args.isclearable);
85
- if (args.clearlabel)
86
- input.setAttribute('clearlabel', args.clearlabel);
87
- if (args.buttonlabel)
88
- input.setAttribute('buttonlabel', JSON.stringify(args.buttonlabel));
89
- if (args.value)
90
- input.setAttribute('value', args.value);
91
- input.addEventListener('input', action('input'));
92
- input.onclear = action('onclear');
93
- input.ontoggle = action('ontoggle');
94
- return input;
95
- };
96
- export const Default = Template.bind({});
97
- Default.args = {
98
- placeholder: 'Enter password',
99
- };
100
- Default.play = async ({ canvasElement }) => {
101
- const inputEl = canvasElement.querySelector('m-password-input');
102
- const input = inputEl?.shadowRoot?.querySelector('input');
103
- expect(input).not.toBeNull();
104
- await userEvent.type(input, 'supersecret');
105
- expect(input).toHaveValue('supersecret');
43
+ export default meta;
44
+ export const WithValue = {
45
+ args: {
46
+ id: 'withValueId',
47
+ value: 'Magic-word-123',
48
+ },
106
49
  };
107
- export const WithClearButton = Template.bind({});
108
- WithClearButton.args = {
109
- placeholder: 'Enter password',
110
- value: '123456',
111
- isclearable: true,
112
- clearlabel: 'Clear',
50
+ export const Default = {};
51
+ export const Clearable = {
52
+ args: {
53
+ id: 'clearableId',
54
+ value: 'Magic-word-123',
55
+ isclearable: true,
56
+ },
113
57
  };
114
- WithClearButton.play = async ({ canvasElement }) => {
115
- const el = canvasElement.querySelector('m-password-input');
116
- const clearBtn = el?.shadowRoot?.querySelector('.mc-controls-options__button');
117
- const input = el?.shadowRoot?.querySelector('input');
118
- expect(input).toHaveValue('123456');
119
- await userEvent.click(clearBtn);
120
- expect(input).toHaveValue('');
58
+ export const Disabled = {
59
+ args: {
60
+ id: 'disableId',
61
+ disabled: true,
62
+ },
121
63
  };
122
- export const Disabled = Template.bind({});
123
- Disabled.args = {
124
- disabled: true,
125
- placeholder: 'Cannot edit',
64
+ export const ReadOnly = {
65
+ args: {
66
+ id: 'readonlyId',
67
+ readonly: true,
68
+ },
126
69
  };
127
- Disabled.play = async ({ canvasElement }) => {
128
- const input = canvasElement
129
- .querySelector('m-password-input')
130
- ?.shadowRoot?.querySelector('input');
131
- expect(input).toBeDisabled();
70
+ export const Invalid = {
71
+ args: {
72
+ id: 'invalidId',
73
+ isinvalid: true,
74
+ },
132
75
  };