@mozaic-ds/web-components 1.0.0-beta.6 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/README.md +36 -68
  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/Cross24.js.map +1 -1
  6. package/dist/CrossCircleFilled24.js +1 -1
  7. package/dist/CrossCircleFilled24.js.map +1 -1
  8. package/dist/attributes.js +1 -1
  9. package/dist/attributes.js.map +1 -1
  10. package/dist/bundle.d.ts +24 -23
  11. package/dist/bundle.d.ts.map +1 -1
  12. package/dist/bundle.js +24 -23
  13. package/dist/components/avatar/Avatar.js +2 -5
  14. package/dist/components/avatar/Avatar.js.map +1 -1
  15. package/dist/components/avatar/Avatar.spec.js +17 -0
  16. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  17. package/dist/components/avatar/Avatar.stories.js +3 -29
  18. package/dist/components/avatar/Avatar.svelte +9 -10
  19. package/dist/components/avatar/Avatar.svelte.d.ts +2 -0
  20. package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
  21. package/dist/components/avatar/README.md +16 -0
  22. package/dist/components/breadcrumb/Breadcrumb.js +6 -9
  23. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  24. package/dist/components/breadcrumb/Breadcrumb.spec.js +42 -0
  25. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  26. package/dist/components/breadcrumb/Breadcrumb.stories.js +6 -35
  27. package/dist/components/breadcrumb/Breadcrumb.svelte +26 -34
  28. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  29. package/dist/components/breadcrumb/README.md +11 -0
  30. package/dist/components/button/Button.js +3 -6
  31. package/dist/components/button/Button.js.map +1 -1
  32. package/dist/components/button/Button.spec.js +74 -0
  33. package/dist/components/button/Button.stories.d.ts +9 -13
  34. package/dist/components/button/Button.stories.d.ts.map +1 -1
  35. package/dist/components/button/Button.stories.js +46 -146
  36. package/dist/components/button/Button.svelte +186 -168
  37. package/dist/components/button/Button.svelte.d.ts +36 -8
  38. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  39. package/dist/components/button/README.md +26 -0
  40. package/dist/components/callout/Callout.js +2 -5
  41. package/dist/components/callout/Callout.js.map +1 -1
  42. package/dist/components/callout/Callout.spec.js +33 -0
  43. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  44. package/dist/components/callout/Callout.stories.js +2 -55
  45. package/dist/components/callout/Callout.svelte +15 -14
  46. package/dist/components/callout/Callout.svelte.d.ts +4 -0
  47. package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
  48. package/dist/components/callout/README.md +20 -0
  49. package/dist/components/checkbox/Checkbox.js +3 -6
  50. package/dist/components/checkbox/Checkbox.js.map +1 -1
  51. package/dist/components/checkbox/Checkbox.spec.js +70 -0
  52. package/dist/components/checkbox/Checkbox.stories.d.ts +11 -16
  53. package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
  54. package/dist/components/checkbox/Checkbox.stories.js +67 -124
  55. package/dist/components/checkbox/Checkbox.svelte +75 -58
  56. package/dist/components/checkbox/Checkbox.svelte.d.ts +31 -6
  57. package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
  58. package/dist/components/checkbox/README.md +17 -0
  59. package/dist/components/checkboxgroup/CheckboxGroup.js +4 -7
  60. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  61. package/dist/components/checkboxgroup/CheckboxGroup.spec.js +113 -0
  62. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +5 -13
  63. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
  64. package/dist/components/checkboxgroup/CheckboxGroup.stories.js +56 -140
  65. package/dist/components/checkboxgroup/CheckboxGroup.svelte +89 -81
  66. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts +30 -6
  67. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
  68. package/dist/components/checkboxgroup/README.md +14 -0
  69. package/dist/components/circularprogressbar/CircularProgressbar.js +4 -7
  70. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  71. package/dist/components/circularprogressbar/CircularProgressbar.spec.js +74 -0
  72. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +6 -6
  73. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
  74. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +29 -68
  75. package/dist/components/circularprogressbar/CircularProgressbar.svelte +46 -30
  76. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +18 -0
  77. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  78. package/dist/components/circularprogressbar/README.md +14 -0
  79. package/dist/components/datepicker/Datepicker.js +3 -6
  80. package/dist/components/datepicker/Datepicker.js.map +1 -1
  81. package/dist/components/datepicker/Datepicker.spec.js +95 -0
  82. package/dist/components/datepicker/Datepicker.stories.d.ts +7 -6
  83. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  84. package/dist/components/datepicker/Datepicker.stories.js +58 -75
  85. package/dist/components/datepicker/Datepicker.svelte +103 -79
  86. package/dist/components/datepicker/Datepicker.svelte.d.ts +30 -1
  87. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  88. package/dist/components/datepicker/README.md +18 -0
  89. package/dist/components/drawer/Drawer.js +12 -15
  90. package/dist/components/drawer/Drawer.js.map +1 -1
  91. package/dist/components/drawer/Drawer.spec.js +101 -0
  92. package/dist/components/drawer/Drawer.stories.d.ts +29 -8
  93. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  94. package/dist/components/drawer/Drawer.stories.js +86 -87
  95. package/dist/components/drawer/Drawer.svelte +185 -161
  96. package/dist/components/drawer/Drawer.svelte.d.ts +26 -3
  97. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  98. package/dist/components/drawer/README.md +29 -0
  99. package/dist/components/field/Field.js +3 -6
  100. package/dist/components/field/Field.js.map +1 -1
  101. package/dist/components/field/Field.spec.js +51 -0
  102. package/dist/components/field/Field.stories.d.ts +9 -15
  103. package/dist/components/field/Field.stories.d.ts.map +1 -1
  104. package/dist/components/field/Field.stories.js +86 -142
  105. package/dist/components/field/Field.svelte +63 -30
  106. package/dist/components/field/Field.svelte.d.ts +38 -7
  107. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  108. package/dist/components/field/README.md +24 -0
  109. package/dist/components/flag/Flag.js +2 -5
  110. package/dist/components/flag/Flag.js.map +1 -1
  111. package/dist/components/flag/Flag.spec.js +30 -0
  112. package/dist/components/flag/Flag.stories.d.ts +8 -18
  113. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  114. package/dist/components/flag/Flag.stories.js +28 -106
  115. package/dist/components/flag/Flag.svelte +23 -24
  116. package/dist/components/flag/Flag.svelte.d.ts +10 -28
  117. package/dist/components/flag/Flag.svelte.d.ts.map +1 -1
  118. package/dist/components/flag/README.md +11 -0
  119. package/dist/components/iconbutton/IconButton.js +2 -5
  120. package/dist/components/iconbutton/IconButton.js.map +1 -1
  121. package/dist/components/iconbutton/IconButton.stories.d.ts +11 -11
  122. package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
  123. package/dist/components/iconbutton/IconButton.stories.js +51 -67
  124. package/dist/components/iconbutton/IconButton.svelte +157 -152
  125. package/dist/components/iconbutton/IconButton.svelte.d.ts +28 -7
  126. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  127. package/dist/components/iconbutton/README.md +21 -0
  128. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -5
  129. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  130. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.spec.js +28 -0
  131. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +5 -7
  132. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
  133. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +18 -49
  134. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +19 -12
  135. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts +10 -1
  136. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
  137. package/dist/components/linearprogressbarbuffer/README.md +11 -0
  138. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -5
  139. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  140. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.spec.js +26 -0
  141. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +4 -5
  142. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
  143. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +15 -33
  144. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +19 -16
  145. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts +6 -0
  146. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts.map +1 -1
  147. package/dist/components/linearprogressbarpercentage/README.md +10 -0
  148. package/dist/components/link/Link.js +2 -5
  149. package/dist/components/link/Link.js.map +1 -1
  150. package/dist/components/link/Link.spec.js +51 -0
  151. package/dist/components/link/Link.stories.d.ts +12 -12
  152. package/dist/components/link/Link.stories.d.ts.map +1 -1
  153. package/dist/components/link/Link.stories.js +61 -74
  154. package/dist/components/link/Link.svelte +54 -52
  155. package/dist/components/link/Link.svelte.d.ts +29 -8
  156. package/dist/components/link/Link.svelte.d.ts.map +1 -1
  157. package/dist/components/link/README.md +23 -0
  158. package/dist/components/loader/Loader.js +7 -10
  159. package/dist/components/loader/Loader.js.map +1 -1
  160. package/dist/components/loader/Loader.spec.js +54 -0
  161. package/dist/components/loader/Loader.stories.d.ts +8 -10
  162. package/dist/components/loader/Loader.stories.d.ts.map +1 -1
  163. package/dist/components/loader/Loader.stories.js +27 -43
  164. package/dist/components/loader/Loader.svelte +42 -43
  165. package/dist/components/loader/Loader.svelte.d.ts +14 -3
  166. package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
  167. package/dist/components/loader/README.md +12 -0
  168. package/dist/components/loadingoverlay/LoadingOverlay.js +4 -0
  169. package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -0
  170. package/dist/components/loadingoverlay/LoadingOverlay.spec.js +38 -0
  171. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +7 -0
  172. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -0
  173. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +39 -0
  174. package/dist/components/loadingoverlay/LoadingOverlay.svelte +50 -0
  175. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts +17 -0
  176. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts.map +1 -0
  177. package/dist/components/loadingoverlay/README.md +11 -0
  178. package/dist/components/modal/Modal.js +14 -17
  179. package/dist/components/modal/Modal.js.map +1 -1
  180. package/dist/components/modal/Modal.spec.js +50 -0
  181. package/dist/components/modal/Modal.stories.d.ts +36 -9
  182. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  183. package/dist/components/modal/Modal.stories.js +54 -83
  184. package/dist/components/modal/Modal.svelte +167 -166
  185. package/dist/components/modal/Modal.svelte.d.ts +22 -5
  186. package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
  187. package/dist/components/modal/README.md +28 -0
  188. package/dist/components/numberbadge/NumberBadge.js +2 -5
  189. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  190. package/dist/components/numberbadge/NumberBadge.spec.js +28 -0
  191. package/dist/components/numberbadge/NumberBadge.stories.d.ts +9 -13
  192. package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
  193. package/dist/components/numberbadge/NumberBadge.stories.js +28 -56
  194. package/dist/components/numberbadge/NumberBadge.svelte +36 -35
  195. package/dist/components/numberbadge/NumberBadge.svelte.d.ts +15 -4
  196. package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
  197. package/dist/components/numberbadge/README.md +12 -0
  198. package/dist/components/overlay/Overlay.js +2 -5
  199. package/dist/components/overlay/Overlay.js.map +1 -1
  200. package/dist/components/overlay/Overlay.spec.js +29 -0
  201. package/dist/components/overlay/Overlay.stories.d.ts +5 -7
  202. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  203. package/dist/components/overlay/Overlay.stories.js +32 -40
  204. package/dist/components/overlay/Overlay.svelte +21 -12
  205. package/dist/components/overlay/Overlay.svelte.d.ts +11 -0
  206. package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -1
  207. package/dist/components/overlay/README.md +17 -0
  208. package/dist/components/pagination/Pagination.js +8 -11
  209. package/dist/components/pagination/Pagination.js.map +1 -1
  210. package/dist/components/pagination/Pagination.spec.js +65 -0
  211. package/dist/components/pagination/Pagination.stories.d.ts +8 -11
  212. package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
  213. package/dist/components/pagination/Pagination.stories.js +37 -91
  214. package/dist/components/pagination/Pagination.svelte +53 -35
  215. package/dist/components/pagination/Pagination.svelte.d.ts +27 -4
  216. package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
  217. package/dist/components/pagination/README.md +16 -0
  218. package/dist/components/passwordinput/PasswordInput.js +4 -9
  219. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  220. package/dist/components/passwordinput/PasswordInput.spec.js +84 -0
  221. package/dist/components/passwordinput/PasswordInput.stories.d.ts +10 -13
  222. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  223. package/dist/components/passwordinput/PasswordInput.stories.js +67 -124
  224. package/dist/components/passwordinput/PasswordInput.svelte +424 -60
  225. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +34 -2
  226. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  227. package/dist/components/passwordinput/README.md +19 -0
  228. package/dist/components/pincode/Pincode.js +4 -7
  229. package/dist/components/pincode/Pincode.js.map +1 -1
  230. package/dist/components/pincode/Pincode.spec.js +99 -0
  231. package/dist/components/pincode/Pincode.stories.d.ts +9 -13
  232. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  233. package/dist/components/pincode/Pincode.stories.js +62 -127
  234. package/dist/components/pincode/Pincode.svelte +72 -60
  235. package/dist/components/pincode/Pincode.svelte.d.ts +30 -24
  236. package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
  237. package/dist/components/pincode/README.md +22 -0
  238. package/dist/components/quantityselector/QuantitySelector.js +3 -7
  239. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  240. package/dist/components/quantityselector/QuantitySelector.spec.js +104 -0
  241. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +11 -15
  242. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  243. package/dist/components/quantityselector/QuantitySelector.stories.js +77 -145
  244. package/dist/components/quantityselector/QuantitySelector.svelte +136 -112
  245. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts +49 -17
  246. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  247. package/dist/components/quantityselector/README.md +21 -0
  248. package/dist/components/radio/README.md +15 -0
  249. package/dist/components/radio/Radio.js +2 -5
  250. package/dist/components/radio/Radio.js.map +1 -1
  251. package/dist/components/radio/Radio.spec.js +60 -0
  252. package/dist/components/radio/Radio.stories.d.ts +9 -13
  253. package/dist/components/radio/Radio.stories.d.ts.map +1 -1
  254. package/dist/components/radio/Radio.stories.js +54 -70
  255. package/dist/components/radio/Radio.svelte +58 -39
  256. package/dist/components/radio/Radio.svelte.d.ts +27 -5
  257. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  258. package/dist/components/radiogroup/README.md +14 -0
  259. package/dist/components/radiogroup/RadioGroup.js +4 -7
  260. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  261. package/dist/components/radiogroup/RadioGroup.spec.js +65 -0
  262. package/dist/components/radiogroup/RadioGroup.stories.d.ts +5 -12
  263. package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
  264. package/dist/components/radiogroup/RadioGroup.stories.js +56 -151
  265. package/dist/components/radiogroup/RadioGroup.svelte +81 -77
  266. package/dist/components/radiogroup/RadioGroup.svelte.d.ts +28 -9
  267. package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
  268. package/dist/components/select/README.md +18 -0
  269. package/dist/components/select/Select.js +3 -6
  270. package/dist/components/select/Select.js.map +1 -1
  271. package/dist/components/select/Select.spec.js +76 -0
  272. package/dist/components/select/Select.stories.d.ts +10 -14
  273. package/dist/components/select/Select.stories.d.ts.map +1 -1
  274. package/dist/components/select/Select.stories.js +87 -92
  275. package/dist/components/select/Select.svelte +77 -67
  276. package/dist/components/select/Select.svelte.d.ts +41 -10
  277. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  278. package/dist/components/statusbadge/README.md +11 -0
  279. package/dist/components/statusbadge/StatusBadge.js +2 -5
  280. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  281. package/dist/components/statusbadge/StatusBadge.spec.js +31 -0
  282. package/dist/components/statusbadge/StatusBadge.stories.d.ts +9 -12
  283. package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
  284. package/dist/components/statusbadge/StatusBadge.stories.js +21 -44
  285. package/dist/components/statusbadge/StatusBadge.svelte +34 -29
  286. package/dist/components/statusbadge/StatusBadge.svelte.d.ts +13 -28
  287. package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
  288. package/dist/components/statusdot/README.md +11 -0
  289. package/dist/components/statusdot/StatusDot.js +2 -5
  290. package/dist/components/statusdot/StatusDot.js.map +1 -1
  291. package/dist/components/statusdot/StatusDot.spec.js +42 -0
  292. package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
  293. package/dist/components/statusdot/StatusDot.stories.js +9 -37
  294. package/dist/components/statusdot/StatusDot.svelte +15 -16
  295. package/dist/components/statusdot/StatusDot.svelte.d.ts +2 -2
  296. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  297. package/dist/components/statusnotification/README.md +25 -0
  298. package/dist/components/statusnotification/StatusNotification.js +3 -6
  299. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  300. package/dist/components/statusnotification/StatusNotification.spec.js +54 -0
  301. package/dist/components/statusnotification/StatusNotification.stories.d.ts +16 -14
  302. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  303. package/dist/components/statusnotification/StatusNotification.stories.js +53 -86
  304. package/dist/components/statusnotification/StatusNotification.svelte +186 -187
  305. package/dist/components/statusnotification/StatusNotification.svelte.d.ts +21 -18
  306. package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
  307. package/dist/components/tab/README.md +20 -0
  308. package/dist/components/tab/Tab.js +4 -0
  309. package/dist/components/tab/Tab.js.map +1 -0
  310. package/dist/components/tab/Tab.spec.js +58 -0
  311. package/dist/components/tab/Tab.svelte +154 -0
  312. package/dist/components/{tabs → tab}/Tab.svelte.d.ts +20 -3
  313. package/dist/components/tab/Tab.svelte.d.ts.map +1 -0
  314. package/dist/components/tabs/README.md +18 -0
  315. package/dist/components/tabs/Tabs.js +2 -5
  316. package/dist/components/tabs/Tabs.js.map +1 -1
  317. package/dist/components/tabs/Tabs.spec.js +51 -0
  318. package/dist/components/tabs/Tabs.stories.d.ts +9 -6
  319. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  320. package/dist/components/tabs/Tabs.stories.js +59 -115
  321. package/dist/components/tabs/Tabs.svelte +46 -29
  322. package/dist/components/tabs/Tabs.svelte.d.ts +21 -7
  323. package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
  324. package/dist/components/tags/README.md +9 -0
  325. package/dist/components/tags/Tag.js +2 -5
  326. package/dist/components/tags/Tag.js.map +1 -1
  327. package/dist/components/tags/Tag.svelte +35 -38
  328. package/dist/components/tags/TagContextualised.js +2 -5
  329. package/dist/components/tags/TagContextualised.js.map +1 -1
  330. package/dist/components/tags/TagContextualised.svelte +35 -38
  331. package/dist/components/tags/TagInteractive.js +2 -5
  332. package/dist/components/tags/TagInteractive.js.map +1 -1
  333. package/dist/components/tags/TagInteractive.svelte +35 -38
  334. package/dist/components/tags/TagRemovable.js +2 -5
  335. package/dist/components/tags/TagRemovable.js.map +1 -1
  336. package/dist/components/tags/TagRemovable.svelte +35 -38
  337. package/dist/components/tags/TagSelectable.js +2 -5
  338. package/dist/components/tags/TagSelectable.js.map +1 -1
  339. package/dist/components/tags/TagSelectable.svelte +35 -38
  340. package/dist/components/tags/Tags.stories.d.ts.map +1 -1
  341. package/dist/components/tags/Tags.stories.js +7 -1
  342. package/dist/components/tags/TagsContextualised.stories.d.ts.map +1 -1
  343. package/dist/components/tags/TagsContextualised.stories.js +7 -1
  344. package/dist/components/tags/TagsInteractive.stories.d.ts.map +1 -1
  345. package/dist/components/tags/TagsInteractive.stories.js +7 -1
  346. package/dist/components/tags/TagsRemovable.stories.d.ts.map +1 -1
  347. package/dist/components/tags/TagsRemovable.stories.js +7 -1
  348. package/dist/components/tags/TagsSelectable.stories.d.ts.map +1 -1
  349. package/dist/components/tags/TagsSelectable.stories.js +7 -1
  350. package/dist/components/textarea/README.md +19 -0
  351. package/dist/components/textarea/Textarea.js +2 -8
  352. package/dist/components/textarea/Textarea.js.map +1 -1
  353. package/dist/components/textarea/Textarea.spec.js +67 -0
  354. package/dist/components/textarea/Textarea.stories.d.ts +9 -13
  355. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  356. package/dist/components/textarea/Textarea.stories.js +61 -92
  357. package/dist/components/textarea/Textarea.svelte +70 -117
  358. package/dist/components/textarea/Textarea.svelte.d.ts +43 -13
  359. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  360. package/dist/components/textinput/README.md +26 -0
  361. package/dist/components/textinput/Textinput.js +5 -9
  362. package/dist/components/textinput/Textinput.js.map +1 -1
  363. package/dist/components/textinput/Textinput.spec.js +89 -0
  364. package/dist/components/textinput/Textinput.stories.d.ts +11 -12
  365. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  366. package/dist/components/textinput/Textinput.stories.js +78 -137
  367. package/dist/components/textinput/Textinput.svelte +107 -148
  368. package/dist/components/textinput/Textinput.svelte.d.ts +46 -22
  369. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  370. package/dist/components/toaster/README.md +28 -0
  371. package/dist/components/toaster/Toaster.js +5 -8
  372. package/dist/components/toaster/Toaster.js.map +1 -1
  373. package/dist/components/toaster/Toaster.spec.js +100 -0
  374. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  375. package/dist/components/toaster/Toaster.stories.js +5 -73
  376. package/dist/components/toaster/Toaster.svelte +157 -146
  377. package/dist/components/toaster/Toaster.svelte.d.ts +3 -0
  378. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  379. package/dist/components/toggle/README.md +15 -0
  380. package/dist/components/toggle/Toggle.js +2 -5
  381. package/dist/components/toggle/Toggle.js.map +1 -1
  382. package/dist/components/toggle/Toggle.spec.js +69 -0
  383. package/dist/components/toggle/Toggle.stories.d.ts +9 -14
  384. package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
  385. package/dist/components/toggle/Toggle.stories.js +55 -64
  386. package/dist/components/toggle/Toggle.svelte +59 -48
  387. package/dist/components/toggle/Toggle.svelte.d.ts +26 -7
  388. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  389. package/dist/components/togglegroup/README.md +13 -0
  390. package/dist/components/togglegroup/ToggleGroup.js +3 -6
  391. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  392. package/dist/components/togglegroup/ToggleGroup.spec.js +50 -0
  393. package/dist/components/togglegroup/ToggleGroup.stories.d.ts +5 -13
  394. package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
  395. package/dist/components/togglegroup/ToggleGroup.stories.js +56 -104
  396. package/dist/components/togglegroup/ToggleGroup.svelte +91 -97
  397. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts +25 -14
  398. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
  399. package/dist/components/tooltip/README.md +19 -0
  400. package/dist/components/tooltip/Tooltip.js +4 -7
  401. package/dist/components/tooltip/Tooltip.js.map +1 -1
  402. package/dist/components/tooltip/Tooltip.spec.js +38 -0
  403. package/dist/components/tooltip/Tooltip.stories.d.ts +6 -7
  404. package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
  405. package/dist/components/tooltip/Tooltip.stories.js +45 -59
  406. package/dist/components/tooltip/Tooltip.svelte +31 -25
  407. package/dist/components/tooltip/Tooltip.svelte.d.ts +17 -0
  408. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  409. package/dist/custom-element-forward-events.js.map +1 -1
  410. package/dist/custom-element.js +3 -3
  411. package/dist/custom-element.js.map +1 -1
  412. package/dist/documentation/Contributing.mdx +1 -1
  413. package/dist/documentation/Introduction.mdx +45 -11
  414. package/dist/documentation/SupportAndOnboarding.mdx +2 -2
  415. package/dist/each.js +1 -1
  416. package/dist/each.js.map +1 -1
  417. package/dist/if.js +1 -1
  418. package/dist/if.js.map +1 -1
  419. package/dist/input.js +1 -1
  420. package/dist/input.js.map +1 -1
  421. package/dist/legacy.js +1 -1
  422. package/dist/legacy.js.map +1 -1
  423. package/dist/main.d.ts +24 -23
  424. package/dist/main.d.ts.map +1 -1
  425. package/dist/main.js +24 -23
  426. package/dist/slot.js +1 -1
  427. package/dist/slot.js.map +1 -1
  428. package/dist/this.js +2 -0
  429. package/dist/this.js.map +1 -0
  430. package/package.json +12 -4
  431. package/dist/components/button/button.types.d.ts +0 -13
  432. package/dist/components/button/button.types.d.ts.map +0 -1
  433. package/dist/components/button/button.types.js +0 -1
  434. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts +0 -9
  435. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts.map +0 -1
  436. package/dist/components/checkboxgroup/checkboxgroup.types.js +0 -1
  437. package/dist/components/link/link.types.d.ts +0 -4
  438. package/dist/components/link/link.types.d.ts.map +0 -1
  439. package/dist/components/link/link.types.js +0 -1
  440. package/dist/components/loader/loader.types.d.ts +0 -3
  441. package/dist/components/loader/loader.types.d.ts.map +0 -1
  442. package/dist/components/loader/loader.types.js +0 -1
  443. package/dist/components/numberbadge/NumberBadge.types.d.ts +0 -3
  444. package/dist/components/numberbadge/NumberBadge.types.d.ts.map +0 -1
  445. package/dist/components/numberbadge/NumberBadge.types.js +0 -1
  446. package/dist/components/overlayloader/OverlayLoader.js +0 -30
  447. package/dist/components/overlayloader/OverlayLoader.js.map +0 -1
  448. package/dist/components/overlayloader/OverlayLoader.stories.d.ts +0 -8
  449. package/dist/components/overlayloader/OverlayLoader.stories.d.ts.map +0 -1
  450. package/dist/components/overlayloader/OverlayLoader.stories.js +0 -50
  451. package/dist/components/overlayloader/OverlayLoader.svelte +0 -159
  452. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts +0 -9
  453. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts.map +0 -1
  454. package/dist/components/quantityselector/quantitySelector.types.d.ts +0 -2
  455. package/dist/components/quantityselector/quantitySelector.types.d.ts.map +0 -1
  456. package/dist/components/quantityselector/quantitySelector.types.js +0 -1
  457. package/dist/components/radiogroup/radioGroup.types.d.ts +0 -9
  458. package/dist/components/radiogroup/radioGroup.types.d.ts.map +0 -1
  459. package/dist/components/radiogroup/radioGroup.types.js +0 -1
  460. package/dist/components/select/select.types.d.ts +0 -9
  461. package/dist/components/select/select.types.d.ts.map +0 -1
  462. package/dist/components/select/select.types.js +0 -1
  463. package/dist/components/statusbadge/StatusBadge.types.d.ts +0 -2
  464. package/dist/components/statusbadge/StatusBadge.types.d.ts.map +0 -1
  465. package/dist/components/statusbadge/StatusBadge.types.js +0 -1
  466. package/dist/components/statusdot/StatusDot.types.d.ts +0 -3
  467. package/dist/components/statusdot/StatusDot.types.d.ts.map +0 -1
  468. package/dist/components/statusdot/StatusDot.types.js +0 -1
  469. package/dist/components/tabs/Tab.js +0 -7
  470. package/dist/components/tabs/Tab.js.map +0 -1
  471. package/dist/components/tabs/Tab.svelte +0 -137
  472. package/dist/components/tabs/Tab.svelte.d.ts.map +0 -1
  473. package/dist/components/textinput/textinput.types.d.ts +0 -3
  474. package/dist/components/textinput/textinput.types.d.ts.map +0 -1
  475. package/dist/components/textinput/textinput.types.js +0 -1
  476. package/dist/components/toggle/toggle.types.d.ts +0 -2
  477. package/dist/components/toggle/toggle.types.d.ts.map +0 -1
  478. package/dist/components/toggle/toggle.types.js +0 -1
  479. package/dist/index-client.js +0 -2
  480. package/dist/index-client.js.map +0 -1
  481. package/dist/snippet.js +0 -2
  482. package/dist/snippet.js.map +0 -1
@@ -1,13 +1,8 @@
1
- import{n as E,c as G,p as I,a as K,b as n,f as D,D as W,m as a,v as q,d as c,s as S,t as B,h as C,i as A,j as s,w as J,r as d,g as j,e as N}from"../../custom-element.js";import{i as O}from"../../if.js";import{b as Q,r as R}from"../../attributes.js";import{c as T}from"../../input.js";import{B as U}from"../button/Button.js";import"../../slot.js";import"../loader/Loader.js";function X(f,t,i){t(""),i()()}var Y=D('<div class="mc-controls-options svelte-134wnsv"><button class="mc-controls-options__button svelte-134wnsv" type="button"><svg class="mc-controls-options__icon svelte-134wnsv" 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-134wnsv"></path></svg> <span class="mc-controls-options__label svelte-134wnsv"> </span></button></div>'),$=D('<span class="svelte-134wnsv"> </span>'),ee=D("<div><input/> <!> <!></div>");const te={hash:"svelte-134wnsv",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
- */
4
- /**
5
- * Do not edit directly, this file was auto-generated.
6
- */.mc-password-input.svelte-134wnsv .mc-button:where(.svelte-134wnsv) {min-width:4rem;margin:0.5rem;}
3
+ */.mc-password-input.svelte-1luc9tv .mc-button:where(.svelte-1luc9tv) {min-width:4rem;margin:0.5rem;}
7
4
 
8
- /* stylelint-disable string-no-newline */.mc-text-input.svelte-134wnsv {transition:box-shadow 200ms ease;background-color:#ffffff;border:1px solid #666666;border-radius:0.25rem;transition:all ease 200ms;color:#000000;display:block;width:100%;height:3rem;box-sizing:border-box;display:flex;align-items:center;gap:0.5rem;}.mc-text-input__control.svelte-134wnsv {background-color:transparent;border-width:0;font-family:inherit;outline:none;padding:0.75rem 0.6875rem;font-size:1rem;line-height:1.3;font-weight:400;flex-grow:1;}.mc-text-input__control[type=number].svelte-134wnsv {
9
- /* For Blink & WebKit rendering engines */
10
- /* For Gecko rendering engine */appearance:textfield;}.mc-text-input__control[type=number].svelte-134wnsv::-webkit-inner-spin-button, .mc-text-input__control[type=number].svelte-134wnsv::-webkit-outer-spin-button {appearance:none;margin:0;}.mc-text-input__control[type=search].svelte-134wnsv::-webkit-search-decoration, .mc-text-input__control[type=search].svelte-134wnsv::-webkit-search-cancel-button {appearance:none;}.mc-text-input__control.svelte-134wnsv::placeholder {color:#666666;}.mc-text-input__icon.svelte-134wnsv {fill:#666666;height:1.5rem;width:1.5rem;flex-shrink:0;}.mc-text-input.svelte-134wnsv:focus-within {box-shadow:0 0 0 0.125rem var(--focus-color-mid, #ffffff), 0 0 0 0.25rem var(--focus-color-outer, #000000);outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-text-input.svelte-134wnsv:hover:not(:focus-within) {border-color:#4d4d4d;box-shadow:0 0 0 1px #4d4d4d;}.mc-text-input.svelte-134wnsv:has(input:where(.svelte-134wnsv):disabled) {background-color:#d9d9d9;cursor:not-allowed;border-color:transparent;box-shadow:none;color:#737373;pointer-events:none;}.mc-text-input.svelte-134wnsv:has(input[readonly]:where(.svelte-134wnsv)) {border-color:#cccccc;pointer-events:none;}.mc-text-input.svelte-134wnsv:has(.mc-text-input__icon:where(.svelte-134wnsv)) {padding-inline-start:0.6875rem;}.mc-text-input.svelte-134wnsv:has(.mc-text-input__icon:where(.svelte-134wnsv)) .mc-text-input__control:where(.svelte-134wnsv) {padding-inline-start:0;}.mc-text-input.svelte-134wnsv:has(.mc-controls-options:where(.svelte-134wnsv)) {padding-inline-end:0.6875rem;}.mc-text-input.svelte-134wnsv:has(.mc-controls-options:where(.svelte-134wnsv)) .mc-text-input__control:where(.svelte-134wnsv) {padding-inline-end:0;}.mc-text-input--s.svelte-134wnsv {height:2rem;}.mc-text-input.is-invalid.svelte-134wnsv {border-color:#ea302d;box-shadow:0 0 0 1px #ea302d;}.mc-text-input.is-invalid.svelte-134wnsv:hover:not(:focus-within) {border-color:#c61112;box-shadow:0 0 0 1px #c61112;}.mc-text-input.svelte-134wnsv :where(.svelte-134wnsv) {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;}
11
6
 
12
- /* stylelint-enable string-no-newline */.mc-controls-options.svelte-134wnsv {align-items:center;display:inline-flex;justify-content:center;gap:0.5rem;}.mc-controls-options__button.svelte-134wnsv {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;border-radius:100%;}.mc-controls-options__button.svelte-134wnsv:hover .mc-controls-options__icon:where(.svelte-134wnsv) {fill:#4d4d4d;}.mc-controls-options__button.svelte-134wnsv:focus-visible {box-shadow:0 0 0 0.125rem var(--focus-color-mid, #ffffff), 0 0 0 0.25rem var(--focus-color-outer, #000000);outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-controls-options__icon.svelte-134wnsv {fill:#666666;}.mc-controls-options__button.svelte-134wnsv, .mc-controls-options__icon.svelte-134wnsv {height:1.5rem;width:1.5rem;}.mc-controls-options__label.svelte-134wnsv {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-134wnsv {font-size:1rem;line-height:1.3;font-weight:600;color:#000000;}`};function ne(f,t){I(t,!0),K(f,te);let i=n(t,"id",7),_=n(t,"name",7),r=n(t,"value",15,""),g=n(t,"placeholder",7,""),v=n(t,"isinvalid",7,!1),u=n(t,"disabled",7,!1),x=n(t,"readonly",7,!1),y=n(t,"isclearable",7,!1),k=n(t,"clearlabel",7,"Clear content"),p=n(t,"buttonlabel",23,()=>({show:"Show",hide:"Hide"})),z=n(t,"onclear",7),L=n(t,"ontoggle",7),F=W(t,["$$slots","$$events","$$legacy","$$host","id","name","value","placeholder","isinvalid","disabled","readonly","isclearable","clearlabel","buttonlabel","onclear","ontoggle"]),l=q(!1);function H(){J(l,!a(l)),L()(a(l))}var m=ee(),w=c(m);R(w),Q(w,()=>({class:"mc-password-input__control mc-text-input__control",id:i(),name:_(),type:a(l)?"text":"password",placeholder:g(),disabled:u(),readonly:x(),"aria-invalid":v(),...F}),void 0,void 0,"svelte-134wnsv");var V=S(w,2);{var M=e=>{var b=Y(),o=c(b);o.__click=[X,r,z];var h=S(c(o),2),Z=c(h,!0);d(h),d(o),d(b),B(()=>j(Z,k())),C(e,b)};O(V,e=>{y()&&r()&&e(M)})}var P=S(V,2);return U(P,{type:"button",role:"switch",tabindex:"0",get"aria-checked"(){return a(l)},size:"s",ghost:!0,get disabled(){return u()},onclick:H,children:(e,b)=>{var o=$(),h=c(o,!0);d(o),B(()=>j(h,a(l)?p().hide:p().show)),C(e,o)},$$slots:{default:!0}}),d(m),B(()=>N(m,1,`mc-password-input mc-text-input ${v()?"is-invalid":""}`,"svelte-134wnsv")),T(w,r),C(f,m),A({get id(){return i()},set id(e){i(e),s()},get name(){return _()},set name(e){_(e),s()},get value(){return r()},set value(e=""){r(e),s()},get placeholder(){return g()},set placeholder(e=""){g(e),s()},get isinvalid(){return v()},set isinvalid(e=!1){v(e),s()},get disabled(){return u()},set disabled(e=!1){u(e),s()},get readonly(){return x()},set readonly(e=!1){x(e),s()},get isclearable(){return y()},set isclearable(e=!1){y(e),s()},get clearlabel(){return k()},set clearlabel(e="Clear content"){k(e),s()},get buttonlabel(){return p()},set buttonlabel(e={show:"Show",hide:"Hide"}){p(e),s()},get onclear(){return z()},set onclear(e){z(e),s()},get ontoggle(){return L()},set ontoggle(e){L(e),s()}})}E(["click"]);customElements.define("m-password-input",G(ne,{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",7),_=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));
13
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","$$render","consequent","$.template_effect","$.set_text","text_1","$.get","$$value"],"mappings":"sXAgDW,SAAAA,EAAaC,EAAAC,EAAAC,EAAA,CACpBD,EAAQ,EAAE,EACVC,IAAO,CACT;;;;;;;;;;;+oCAnDF,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,MAASG,CAAS,CAAA,CACpB,mHAaQA,CAAS,EAAG,OAAS,oEAKbT,EAAS,KACnBO,wFAOShB,EAAUE,EAAAC,CAAA,qDAQuBU,EAAU,CAAA,CAAA,kBAbrDD,EAAW,GAAIV,KAAKmB,EAAAC,CAAA,mGAsBTJ,CAAS,kBAEhB,sCAEEC,4CAEFI,EAAA,IAAAC,EAAAC,EAAAC,EAAAR,CAAS,EAAGJ,EAAW,EAAC,KAAOA,IAAY,IAAI,CAAA,qFAzCbL,EAAS,EAAG,aAAe,EAAE,GAAA,gBAAA,CAAA,6IA1BpD,GAAE,2DACN,GAAE,uDACJ,GAAK,qDACN,GAAK,qDACL,GAAK,2DACF,GAAK,yDACN,gBAAe,yCACZ,IAAA,YAAAkB,EAAA,CAAA,KAAM,OAAQ,KAAM,QAAM,oHAiB9C"}
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,\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\n class=\"mc-controls-options__button\"\n type=\"button\"\n onclick={resetValue}\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 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,CAAA,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,kFA6B7Bd,EAAUE,CAAA,qDAQuBU,EAAU,CAAA,CAAA,kBAbrDD,EAAW,GAAIT,KAAKa,EAAAC,CAAA,0BAmBf,YAAa,eAAgB,kBAAkB,CAAA,EAAA,gBAAA,aAM9CpB,EAAgBE,CAAA,6DArChB,oBAAqB,gBAAiBU,KAAa,4EAKtDV,CAAS,EAAG,OAAS,UAAU,0EAKvBU,GAAS,sCA0BTV,CAAS,CAAA,EAGhBmB,EAAAC,EAAAC,EAAArB,CAAS,EAAGe,EAAW,EAAC,KAAOA,EAAW,EAAC,IAAI,sBAzC1D,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, component } = 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
  };