@mozaic-ds/web-components 1.0.0-alpha.4 → 1.0.0-alpha.5

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 (203) hide show
  1. package/dist/{components/badge → badge}/Badge.js +1 -1
  2. package/dist/badge/Badge.js.map +1 -0
  3. package/dist/badge/Badge.svelte +66 -0
  4. package/dist/badge/Badge.svelte.d.ts +10 -0
  5. package/dist/badge/Badge.svelte.d.ts.map +1 -0
  6. package/dist/badge/badge.types.d.ts +3 -0
  7. package/dist/badge/badge.types.d.ts.map +1 -0
  8. package/dist/badge/badge.types.js +1 -0
  9. package/dist/bundle.js +31 -0
  10. package/dist/{components/button → button}/Button.js +1 -1
  11. package/dist/button/Button.js.map +1 -0
  12. package/dist/button/Button.svelte +466 -0
  13. package/dist/button/Button.svelte.d.ts +43 -0
  14. package/dist/button/Button.svelte.d.ts.map +1 -0
  15. package/dist/{components/button → button}/IconButton.js +1 -1
  16. package/dist/button/IconButton.js.map +1 -0
  17. package/dist/button/IconButton.svelte +395 -0
  18. package/dist/button/IconButton.svelte.d.ts +15 -0
  19. package/dist/button/IconButton.svelte.d.ts.map +1 -0
  20. package/dist/button/button.types.d.ts +13 -0
  21. package/dist/button/button.types.d.ts.map +1 -0
  22. package/dist/button/button.types.js +1 -0
  23. package/dist/{components/checkbox → checkbox}/Checkbox.js +1 -1
  24. package/dist/checkbox/Checkbox.js.map +1 -0
  25. package/dist/checkbox/Checkbox.svelte +199 -0
  26. package/dist/checkbox/Checkbox.svelte.d.ts +14 -0
  27. package/dist/checkbox/Checkbox.svelte.d.ts.map +1 -0
  28. package/dist/{components/checkboxgroup → checkboxgroup}/checkboxGroup.js +1 -1
  29. package/dist/checkboxgroup/checkboxGroup.js.map +1 -0
  30. package/dist/checkboxgroup/checkboxGroup.svelte +208 -0
  31. package/dist/checkboxgroup/checkboxGroup.svelte.d.ts +11 -0
  32. package/dist/checkboxgroup/checkboxGroup.svelte.d.ts.map +1 -0
  33. package/dist/checkboxgroup/checkboxgroup.types.d.ts +11 -0
  34. package/dist/checkboxgroup/checkboxgroup.types.d.ts.map +1 -0
  35. package/dist/checkboxgroup/checkboxgroup.types.js +1 -0
  36. package/dist/{components/field → field}/Field.js +1 -1
  37. package/dist/field/Field.js.map +1 -0
  38. package/dist/field/Field.svelte +141 -0
  39. package/dist/field/Field.svelte.d.ts +40 -0
  40. package/dist/field/Field.svelte.d.ts.map +1 -0
  41. package/dist/{components/link → link}/Link.js +1 -1
  42. package/dist/link/Link.js.map +1 -0
  43. package/dist/link/Link.svelte +132 -0
  44. package/dist/link/Link.svelte.d.ts +42 -0
  45. package/dist/link/Link.svelte.d.ts.map +1 -0
  46. package/dist/link/link.types.d.ts +4 -0
  47. package/dist/link/link.types.d.ts.map +1 -0
  48. package/dist/link/link.types.js +1 -0
  49. package/dist/{components/loader → loader}/Loader.js +1 -1
  50. package/dist/loader/Loader.js.map +1 -0
  51. package/dist/loader/Loader.svelte +182 -0
  52. package/dist/loader/Loader.svelte.d.ts +11 -0
  53. package/dist/loader/Loader.svelte.d.ts.map +1 -0
  54. package/dist/loader/loader.types.d.ts +3 -0
  55. package/dist/loader/loader.types.d.ts.map +1 -0
  56. package/dist/loader/loader.types.js +1 -0
  57. package/dist/{components/overlay → overlay}/Overlay.js +1 -1
  58. package/dist/overlay/Overlay.js.map +1 -0
  59. package/dist/overlay/Overlay.svelte +106 -0
  60. package/dist/overlay/Overlay.svelte.d.ts +32 -0
  61. package/dist/overlay/Overlay.svelte.d.ts.map +1 -0
  62. package/dist/{components/overlay → overlay}/OverlayLoader.js +1 -1
  63. package/dist/overlay/OverlayLoader.js.map +1 -0
  64. package/dist/overlay/OverlayLoader.svelte +200 -0
  65. package/dist/overlay/OverlayLoader.svelte.d.ts +9 -0
  66. package/dist/overlay/OverlayLoader.svelte.d.ts.map +1 -0
  67. package/dist/{components/quantityselector → quantityselector}/QuantitySelector.js +1 -1
  68. package/dist/quantityselector/QuantitySelector.js.map +1 -0
  69. package/dist/quantityselector/QuantitySelector.svelte +260 -0
  70. package/dist/quantityselector/QuantitySelector.svelte.d.ts +18 -0
  71. package/dist/quantityselector/QuantitySelector.svelte.d.ts.map +1 -0
  72. package/dist/{components/radio → radio}/Radio.js +1 -1
  73. package/dist/radio/Radio.js.map +1 -0
  74. package/dist/radio/Radio.svelte +109 -0
  75. package/dist/radio/Radio.svelte.d.ts +11 -0
  76. package/dist/radio/Radio.svelte.d.ts.map +1 -0
  77. package/dist/{components/radiogroup → radiogroup}/RadioGroup.js +1 -1
  78. package/dist/radiogroup/RadioGroup.js.map +1 -0
  79. package/dist/radiogroup/RadioGroup.svelte +219 -0
  80. package/dist/radiogroup/RadioGroup.svelte.d.ts +13 -0
  81. package/dist/radiogroup/RadioGroup.svelte.d.ts.map +1 -0
  82. package/dist/radiogroup/radioGroup.types.d.ts +9 -0
  83. package/dist/radiogroup/radioGroup.types.d.ts.map +1 -0
  84. package/dist/radiogroup/radioGroup.types.js +1 -0
  85. package/dist/{components/select → select}/Select.js +1 -1
  86. package/dist/select/Select.js.map +1 -0
  87. package/dist/select/Select.svelte +134 -0
  88. package/dist/select/Select.svelte.d.ts +16 -0
  89. package/dist/select/Select.svelte.d.ts.map +1 -0
  90. package/dist/select/select.types.d.ts +9 -0
  91. package/dist/select/select.types.d.ts.map +1 -0
  92. package/dist/select/select.types.js +1 -0
  93. package/dist/{components/statusbadge → statusbadge}/StatusBadge.js +1 -1
  94. package/dist/statusbadge/StatusBadge.js.map +1 -0
  95. package/dist/statusbadge/StatusBadge.svelte +81 -0
  96. package/dist/statusbadge/StatusBadge.svelte.d.ts +32 -0
  97. package/dist/statusbadge/StatusBadge.svelte.d.ts.map +1 -0
  98. package/dist/{components/statusbadge → statusbadge}/StatusDot.js +1 -1
  99. package/dist/statusbadge/StatusDot.js.map +1 -0
  100. package/dist/statusbadge/StatusDot.svelte +49 -0
  101. package/dist/statusbadge/StatusDot.svelte.d.ts +9 -0
  102. package/dist/statusbadge/StatusDot.svelte.d.ts.map +1 -0
  103. package/dist/statusbadge/badge.types.d.ts +3 -0
  104. package/dist/statusbadge/badge.types.d.ts.map +1 -0
  105. package/dist/statusbadge/badge.types.js +1 -0
  106. package/dist/{components/textarea → textarea}/Textarea.js +1 -1
  107. package/dist/textarea/Textarea.js.map +1 -0
  108. package/dist/textarea/Textarea.svelte +178 -0
  109. package/dist/textarea/Textarea.svelte.d.ts +32 -0
  110. package/dist/textarea/Textarea.svelte.d.ts.map +1 -0
  111. package/dist/{components/textinput → textinput}/Textinput.js +1 -1
  112. package/dist/textinput/Textinput.js.map +1 -0
  113. package/dist/textinput/Textinput.svelte +288 -0
  114. package/dist/textinput/Textinput.svelte.d.ts +41 -0
  115. package/dist/textinput/Textinput.svelte.d.ts.map +1 -0
  116. package/dist/textinput/textinput.types.d.ts +3 -0
  117. package/dist/textinput/textinput.types.d.ts.map +1 -0
  118. package/dist/textinput/textinput.types.js +1 -0
  119. package/dist/{components/toggle → toggle}/Toggle.js +1 -1
  120. package/dist/toggle/Toggle.js.map +1 -0
  121. package/dist/toggle/Toggle.svelte +161 -0
  122. package/dist/toggle/Toggle.svelte.d.ts +29 -0
  123. package/dist/toggle/Toggle.svelte.d.ts.map +1 -0
  124. package/dist/toggle/toggle.types.d.ts +2 -0
  125. package/dist/toggle/toggle.types.d.ts.map +1 -0
  126. package/dist/toggle/toggle.types.js +1 -0
  127. package/package.json +13 -13
  128. package/dist/Badge.d.ts +0 -5
  129. package/dist/Button.d.ts +0 -5
  130. package/dist/Checkbox.d.ts +0 -5
  131. package/dist/Field.d.ts +0 -5
  132. package/dist/IconButton.d.ts +0 -5
  133. package/dist/Link.d.ts +0 -5
  134. package/dist/Loader.d.ts +0 -5
  135. package/dist/Overlay.d.ts +0 -5
  136. package/dist/OverlayLoader.d.ts +0 -5
  137. package/dist/QuantitySelector.d.ts +0 -5
  138. package/dist/Radio.d.ts +0 -5
  139. package/dist/RadioGroup.d.ts +0 -5
  140. package/dist/Select.d.ts +0 -5
  141. package/dist/StatusBadge.d.ts +0 -5
  142. package/dist/StatusDot.d.ts +0 -5
  143. package/dist/Textarea.d.ts +0 -5
  144. package/dist/Textinput.d.ts +0 -5
  145. package/dist/Toggle.d.ts +0 -5
  146. package/dist/checkboxGroup.d.ts +0 -5
  147. package/dist/components/badge/Badge.d.ts +0 -4
  148. package/dist/components/badge/Badge.js.map +0 -1
  149. package/dist/components/badge/Badge.svelte +0 -34
  150. package/dist/components/button/Button.d.ts +0 -4
  151. package/dist/components/button/Button.js.map +0 -1
  152. package/dist/components/button/Button.svelte +0 -133
  153. package/dist/components/button/IconButton.d.ts +0 -4
  154. package/dist/components/button/IconButton.js.map +0 -1
  155. package/dist/components/checkbox/Checkbox.d.ts +0 -4
  156. package/dist/components/checkbox/Checkbox.js.map +0 -1
  157. package/dist/components/checkbox/Checkbox.svelte +0 -54
  158. package/dist/components/checkboxgroup/checkboxGroup.d.ts +0 -4
  159. package/dist/components/checkboxgroup/checkboxGroup.js.map +0 -1
  160. package/dist/components/checkboxgroup/checkboxGroup.svelte +0 -63
  161. package/dist/components/field/Field.d.ts +0 -4
  162. package/dist/components/field/Field.js.map +0 -1
  163. package/dist/components/field/Field.svelte +0 -66
  164. package/dist/components/iconbutton/IconButton.svelte +0 -62
  165. package/dist/components/link/Link.d.ts +0 -4
  166. package/dist/components/link/Link.js.map +0 -1
  167. package/dist/components/link/Link.svelte +0 -65
  168. package/dist/components/loader/Loader.d.ts +0 -4
  169. package/dist/components/loader/Loader.js.map +0 -1
  170. package/dist/components/loader/Loader.svelte +0 -89
  171. package/dist/components/overlay/Overlay.d.ts +0 -4
  172. package/dist/components/overlay/Overlay.js.map +0 -1
  173. package/dist/components/overlay/Overlay.svelte +0 -21
  174. package/dist/components/overlay/OverlayLoader.d.ts +0 -4
  175. package/dist/components/overlay/OverlayLoader.js.map +0 -1
  176. package/dist/components/overlayloader/OverlayLoader.svelte +0 -23
  177. package/dist/components/quantityselector/QuantitySelector.d.ts +0 -4
  178. package/dist/components/quantityselector/QuantitySelector.js.map +0 -1
  179. package/dist/components/quantityselector/QuantitySelector.svelte +0 -111
  180. package/dist/components/radio/Radio.d.ts +0 -4
  181. package/dist/components/radio/Radio.js.map +0 -1
  182. package/dist/components/radio/Radio.svelte +0 -37
  183. package/dist/components/radiogroup/RadioGroup.d.ts +0 -4
  184. package/dist/components/radiogroup/RadioGroup.js.map +0 -1
  185. package/dist/components/radiogroup/RadioGroup.svelte +0 -72
  186. package/dist/components/select/Select.d.ts +0 -4
  187. package/dist/components/select/Select.js.map +0 -1
  188. package/dist/components/select/Select.svelte +0 -75
  189. package/dist/components/statusbadge/StatusBadge.d.ts +0 -4
  190. package/dist/components/statusbadge/StatusBadge.js.map +0 -1
  191. package/dist/components/statusbadge/StatusBadge.svelte +0 -22
  192. package/dist/components/statusbadge/StatusDot.d.ts +0 -4
  193. package/dist/components/statusbadge/StatusDot.js.map +0 -1
  194. package/dist/components/statusdot/StatusDot.svelte +0 -22
  195. package/dist/components/textarea/Textarea.d.ts +0 -4
  196. package/dist/components/textarea/Textarea.js.map +0 -1
  197. package/dist/components/textarea/Textarea.svelte +0 -58
  198. package/dist/components/textinput/Textinput.d.ts +0 -4
  199. package/dist/components/textinput/Textinput.js.map +0 -1
  200. package/dist/components/textinput/Textinput.svelte +0 -143
  201. package/dist/components/toggle/Toggle.d.ts +0 -4
  202. package/dist/components/toggle/Toggle.js.map +0 -1
  203. package/dist/components/toggle/Toggle.svelte +0 -54
@@ -0,0 +1,49 @@
1
+ <svelte:options customElement={{ tag: 'm-status-dot', shadow: 'none' }} />
2
+
3
+ <script lang="ts">
4
+ import type { BadgeStyle, BadgeSize } from './badge.types';
5
+
6
+ interface Props {
7
+ style: BadgeStyle;
8
+ size: BadgeSize;
9
+ }
10
+
11
+ let { style, size }: Props = $props();
12
+ </script>
13
+
14
+ <div
15
+ class="mc-status-dot {size ? `mc-status-dot--${size}` : ''} {style
16
+ ? `mc-status-dot--${style}`
17
+ : ''}"
18
+ ></div>
19
+
20
+ <style>/**
21
+ * Do not edit directly, this file was auto-generated.
22
+ */
23
+ .mc-status-dot {
24
+ background-color: var(--status-dot-color-background-information, #0074aa);
25
+ height: 0.5rem;
26
+ width: 0.5rem;
27
+ border-radius: 100%;
28
+ display: inline-block;
29
+ }
30
+ .mc-status-dot--s {
31
+ height: 0.25rem;
32
+ width: 0.25rem;
33
+ }
34
+ .mc-status-dot--l {
35
+ height: 1rem;
36
+ width: 1rem;
37
+ }
38
+ .mc-status-dot--success {
39
+ background-color: var(--status-dot-color-background-success, #117f03);
40
+ }
41
+ .mc-status-dot--danger {
42
+ background-color: var(--status-dot-color-background-danger, #c61112);
43
+ }
44
+ .mc-status-dot--warning {
45
+ background-color: var(--status-dot-color-background-warning, #b64f00);
46
+ }
47
+ .mc-status-dot--neutral {
48
+ background-color: var(--status-dot-color-background-neutral, #666666);
49
+ }</style>
@@ -0,0 +1,9 @@
1
+ import type { BadgeStyle, BadgeSize } from './badge.types';
2
+ interface Props {
3
+ style: BadgeStyle;
4
+ size: BadgeSize;
5
+ }
6
+ declare const StatusDot: import("svelte").Component<Props, {}, "">;
7
+ type StatusDot = ReturnType<typeof StatusDot>;
8
+ export default StatusDot;
9
+ //# sourceMappingURL=StatusDot.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusDot.svelte.d.ts","sourceRoot":"","sources":["../../src/components/statusbadge/StatusDot.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGzD,UAAU,KAAK;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAkBH,QAAA,MAAM,SAAS,2CAAsC,CAAC;AACtD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type BadgeStyle = 'danger' | 'success' | 'warning' | 'neutral' | 'info';
2
+ export type BadgeSize = 's' | 'm' | 'l';
3
+ //# sourceMappingURL=badge.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.types.d.ts","sourceRoot":"","sources":["../../src/components/statusbadge/badge.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAC/E,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import{d as w,c as y,p as _,a as k,b as o,t as D,f as E,g as q,h as z,i as t,q as I,k as O}from"../../custom-element.js";import{s as l}from"../../attributes.js";import{b as S}from"../../input.js";import{c as T}from"../../index-client.js";var j=D('<textarea spellcheck="false"></textarea>');const A={hash:"svelte-15vrvs3",code:`/**
1
+ import{d as w,c as y,p as _,a as k,b as o,t as D,f as E,g as q,h as z,i as t,q as I,k as O}from"../custom-element.js";import{s as l}from"../attributes.js";import{b as S}from"../input.js";import{c as T}from"../index-client.js";var j=D('<textarea spellcheck="false"></textarea>');const A={hash:"svelte-15vrvs3",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
4
  /* stylelint-disable string-no-newline */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.js","sources":["../../src/components/textarea/Textarea.svelte"],"sourcesContent":["<svelte:options customElement=\"m-textarea\" />\n\n<script lang=\"ts\">\n import { createEventDispatcher } from 'svelte';\n\n interface Props {\n name: string;\n value: string;\n placeholder: string;\n rows?: number;\n isinvalid: boolean;\n disabled?: boolean;\n minlength: number;\n maxlength: number;\n readonly: boolean;\n }\n\n let {\n name,\n value = $bindable(),\n placeholder,\n rows = 2,\n isinvalid,\n disabled = false,\n minlength,\n maxlength,\n readonly,\n }: Props = $props();\n\n const dispatch = createEventDispatcher();\n\n function onInput(e: Event) {\n let value = (e.target as HTMLInputElement).value;\n dispatch('on-input', value);\n }\n</script>\n\n<textarea\n bind:value\n class=\"mc-textarea\"\n class:is-invalid={isinvalid}\n aria-invalid={isinvalid}\n {name}\n id={name}\n {placeholder}\n {rows}\n {disabled}\n {minlength}\n {maxlength}\n {readonly}\n spellcheck=\"false\"\n oninput={onInput}\n></textarea>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/field';\n @use '@mozaic-ds/styles/components/textarea';\n</style>\n"],"names":["name","$.prop","$$props","value","placeholder","rows","isinvalid","disabled","minlength","maxlength","readonly","dispatch","createEventDispatcher","onInput"],"mappings":";;;;;snDAkBIA,EAAIC,EAAAC,EAAA,OAAA,CAAA,EACJC,EAAKF,EAAAC,EAAA,QAAA,EAAA,EACLE,EAAWH,EAAAC,EAAA,cAAA,CAAA,EACXG,eAAO,CAAC,EACRC,EAASL,EAAAC,EAAA,YAAA,CAAA,EACTK,mBAAW,EAAK,EAChBC,EAASP,EAAAC,EAAA,YAAA,CAAA,EACTO,EAASR,EAAAC,EAAA,YAAA,CAAA,EACTQ,EAAQT,EAAAC,EAAA,WAAA,CAAA,EAGJ,MAAAS,EAAWC,EAAqB,WAE7BC,EAAQ,EAAU,CACrB,IAAAV,EAAS,EAAE,OAA4B,MAC3CQ,EAAS,WAAYR,CAAK,CAC5B,uCAiBSU,mEAXSP,EAAS,EAAA,qBACbA,GAAS,2BAEnBN,GAAI,6TAtBC,EAAC,4GAEG,GAAK"}
@@ -0,0 +1,178 @@
1
+ <svelte:options customElement="m-textarea" />
2
+
3
+ <script lang="ts">
4
+ import { createEventDispatcher } from 'svelte';
5
+
6
+ interface Props {
7
+ name: string;
8
+ value: string;
9
+ placeholder: string;
10
+ rows?: number;
11
+ isinvalid: boolean;
12
+ disabled?: boolean;
13
+ minlength: number;
14
+ maxlength: number;
15
+ readonly: boolean;
16
+ }
17
+
18
+ let {
19
+ name,
20
+ value = $bindable(),
21
+ placeholder,
22
+ rows = 2,
23
+ isinvalid,
24
+ disabled = false,
25
+ minlength,
26
+ maxlength,
27
+ readonly,
28
+ }: Props = $props();
29
+
30
+ const dispatch = createEventDispatcher();
31
+
32
+ function onInput(e: Event) {
33
+ let value = (e.target as HTMLInputElement).value;
34
+ dispatch('on-input', value);
35
+ }
36
+ </script>
37
+
38
+ <textarea
39
+ bind:value
40
+ class="mc-textarea"
41
+ class:is-invalid={isinvalid}
42
+ aria-invalid={isinvalid}
43
+ {name}
44
+ id={name}
45
+ {placeholder}
46
+ {rows}
47
+ {disabled}
48
+ {minlength}
49
+ {maxlength}
50
+ {readonly}
51
+ spellcheck="false"
52
+ oninput={onInput}
53
+ ></textarea>
54
+
55
+ <style>/**
56
+ * Do not edit directly, this file was auto-generated.
57
+ */
58
+ /* stylelint-disable string-no-newline */
59
+ .mc-field__label, .mc-field__legend {
60
+ font-size: 0.875rem;
61
+ line-height: 1.3;
62
+ font-weight: 400;
63
+ color: var(--field-color-label, #000000);
64
+ }
65
+ .mc-field__legend {
66
+ padding-left: 0;
67
+ padding-right: 0;
68
+ }
69
+ .mc-field__legend + .mc-field__container, .mc-field__help + .mc-field__container {
70
+ margin-top: 0.5rem;
71
+ }
72
+ .mc-field__requirement, .mc-field__help {
73
+ font-size: 0.75rem;
74
+ line-height: 1.5;
75
+ font-weight: 400;
76
+ vertical-align: top;
77
+ color: var(--field-color-requirement, #666666);
78
+ }
79
+ .mc-field__help {
80
+ display: block;
81
+ margin-top: 0.125rem;
82
+ }
83
+ .mc-field__content {
84
+ margin-top: 0.5rem;
85
+ }
86
+ .mc-field__container--inline, .mc-field__element--inline {
87
+ display: flex;
88
+ flex-wrap: wrap;
89
+ }
90
+ .mc-field__container--inline__item:not(:last-child), .mc-field__element--inline__item:not(:last-child) {
91
+ margin-bottom: 0.25rem;
92
+ margin-right: 1rem;
93
+ }
94
+ .mc-field__item {
95
+ padding-top: 0.375rem;
96
+ padding-bottom: 0.375rem;
97
+ }
98
+ .mc-field__item:not(:last-child) {
99
+ margin-bottom: 0.25rem;
100
+ }
101
+ .mc-field__validation-message {
102
+ font-size: 0.875rem;
103
+ line-height: 1.5;
104
+ display: inline-flex;
105
+ gap: 0.25rem;
106
+ margin-top: 0.25rem;
107
+ }
108
+ .mc-field__validation-message::before {
109
+ content: "";
110
+ height: 1.25rem;
111
+ width: 1.25rem;
112
+ }
113
+ .mc-field__validation-message.is-valid {
114
+ color: var(--field-color-validation-valid, #117f03);
115
+ }
116
+ .mc-field__validation-message.is-valid::before {
117
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.25rem' width='1.25rem' fill='var(--field-color-validation-valid, %23117f03)' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M3.25 10c0-3.72792 3.02208-6.75 6.75-6.75 3.7279 0 6.75 3.02208 6.75 6.75 0 3.7279-3.0221 6.75-6.75 6.75-3.72792 0-6.75-3.0221-6.75-6.75ZM10 1.75c-4.55635 0-8.25 3.69365-8.25 8.25 0 4.5563 3.69365 8.25 8.25 8.25 4.5563 0 8.25-3.6937 8.25-8.25 0-4.55635-3.6937-8.25-8.25-8.25Zm4.2803 6.697c.2929-.2929.2929-.76777 0-1.06066-.2929-.2929-.7677-.2929-1.0606 0L9.16667 11.4393 7.197 9.46967c-.2929-.29289-.76777-.29289-1.06066 0-.2929.29289-.2929.76773 0 1.06063l2.5 2.5c.29289.2929.76776.2929 1.06066 0l4.5833-4.5833Z'/%3E%3C/svg%3E");
118
+ }
119
+ .mc-field__validation-message.is-invalid {
120
+ color: var(--field-color-validation-invalid, #c61112);
121
+ }
122
+ .mc-field__validation-message.is-invalid::before {
123
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.25rem' width='1.25rem' fill='var(--field-color-validation-invalid, %23c61112)' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 3.25c-3.72792 0-6.75 3.02208-6.75 6.75 0 3.7279 3.02208 6.75 6.75 6.75 3.7279 0 6.75-3.0221 6.75-6.75 0-3.72792-3.0221-6.75-6.75-6.75ZM1.75 10c0-4.55635 3.69365-8.25 8.25-8.25 4.5563 0 8.25 3.69365 8.25 8.25 0 4.5563-3.6937 8.25-8.25 8.25-4.55635 0-8.25-3.6937-8.25-8.25ZM10 5.91667c.4142 0 .75.33578.75.75v4.16663c0 .4142-.3358.75-.75.75-.41421 0-.75-.3358-.75-.75V6.66667c0-.41422.33579-.75.75-.75Zm0 8.25003c.4602 0 .8333-.3731.8333-.8334 0-.4602-.3731-.8333-.8333-.8333-.46024 0-.83333.3731-.83333.8333 0 .4603.37309.8334.83333.8334Z'/%3E%3C/svg%3E");
124
+ }
125
+ .mc-field--group {
126
+ border: none;
127
+ margin-left: 0;
128
+ margin-right: 0;
129
+ padding: 0;
130
+ }
131
+
132
+ /* stylelint-enable string-no-newline */
133
+ .mc-textarea {
134
+ font-family: inherit;
135
+ transition: box-shadow 200ms ease;
136
+ background-color: var(--forms-color-background-default, #ffffff);
137
+ border: 1px solid var(--forms-color-border-default, #666666);
138
+ border-radius: 0.25rem;
139
+ transition: all ease 200ms;
140
+ color: var(--forms-color-text-default, #000000);
141
+ display: block;
142
+ width: 100%;
143
+ font-size: 1rem;
144
+ line-height: 1.5;
145
+ min-height: 4rem;
146
+ padding: 0.5rem 0.75rem;
147
+ }
148
+ .mc-textarea::placeholder {
149
+ color: var(--forms-color-placeholder, #666666);
150
+ }
151
+ .mc-textarea:hover {
152
+ border-color: var(--forms-color-border-hover, #4d4d4d);
153
+ box-shadow: 0 0 0 1px var(--forms-color-border-hover, #4d4d4d);
154
+ }
155
+ .mc-textarea:focus {
156
+ 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));
157
+ outline: 0.125rem solid transparent;
158
+ outline-offset: 0.125rem;
159
+ }
160
+ .mc-textarea:disabled {
161
+ background-color: var(--forms-color-background-disabled, #d9d9d9);
162
+ cursor: not-allowed;
163
+ border-color: transparent;
164
+ box-shadow: none;
165
+ color: var(--forms-color-text-disabled, #737373);
166
+ }
167
+ .mc-textarea[readonly] {
168
+ border-color: var(--forms-color-border-read-only, #cccccc);
169
+ pointer-events: none;
170
+ }
171
+ .mc-textarea.is-invalid {
172
+ border-color: var(--forms-color-border-invalid, #ea302d);
173
+ box-shadow: 0 0 0 1px var(--forms-color-border-invalid, #ea302d);
174
+ }
175
+ .mc-textarea.is-invalid:hover {
176
+ border-color: var(--forms-color-border-invalid-hover, #c61112);
177
+ box-shadow: 0 0 0 1px var(--forms-color-border-invalid-hover, #c61112);
178
+ }</style>
@@ -0,0 +1,32 @@
1
+ interface Props {
2
+ name: string;
3
+ value: string;
4
+ placeholder: string;
5
+ rows?: number;
6
+ isinvalid: boolean;
7
+ disabled?: boolean;
8
+ minlength: number;
9
+ maxlength: number;
10
+ readonly: boolean;
11
+ }
12
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
13
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
14
+ $$bindings?: Bindings;
15
+ } & Exports;
16
+ (internal: unknown, props: Props & {
17
+ $$events?: Events;
18
+ $$slots?: Slots;
19
+ }): Exports & {
20
+ $set?: any;
21
+ $on?: any;
22
+ };
23
+ z_$$bindings?: Bindings;
24
+ }
25
+ declare const Textarea: $$__sveltets_2_IsomorphicComponent<Props, {
26
+ 'on-input': CustomEvent<any>;
27
+ } & {
28
+ [evt: string]: CustomEvent<any>;
29
+ }, {}, {}, "value">;
30
+ type Textarea = InstanceType<typeof Textarea>;
31
+ export default Textarea;
32
+ //# sourceMappingURL=Textarea.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.svelte.d.ts","sourceRoot":"","sources":["../../src/components/textarea/Textarea.svelte.ts"],"names":[],"mappings":"AAME,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAiCH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,QAAQ;;;;mBAA6E,CAAC;AAC1E,KAAK,QAAQ,GAAG,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAC;AAChD,eAAe,QAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import{l as A,u as R,d as U,c as X,a as Y,b as n,t as D,f as K,g as Z,h as $,p as ee,e as m,s as B,m as T,n as V,r as u,k as te,o as ne,i as o,j as oe}from"../../custom-element.js";import{i as W}from"../../if.js";import{s as ie,a as re}from"../../slot.js";import{r as le,b as se}from"../../attributes.js";import{b as ae}from"../../input.js";function ce(a,t,c){A(()=>{var i=R(()=>t(a,c==null?void 0:c())||{});if(i!=null&&i.destroy)return()=>i.destroy()})}function ve(a,t){console.log(t()),t("")}var de=D('<span class="mc-text-input__icon svelte-1ovon7j"><!></span>'),me=D('<div class="mc-controls-options js-control-options svelte-1ovon7j"><button type="button" class="mc-controls-options__button svelte-1ovon7j"><svg class="mc-controls-options__icon svelte-1ovon7j" 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-1ovon7j"></path></svg> <span class="mc-controls-options__label svelte-1ovon7j"> </span></button></div>'),ue=D("<div><!> <input> <!></div>");const pe={hash:"svelte-1ovon7j",code:`/**
1
+ import{l as A,u as R,d as U,c as X,a as Y,b as n,t as D,f as K,g as Z,h as $,p as ee,e as m,s as B,m as T,n as V,r as u,k as te,o as ne,i as o,j as oe}from"../custom-element.js";import{i as W}from"../if.js";import{s as ie,a as re}from"../slot.js";import{r as le,b as se}from"../attributes.js";import{b as ae}from"../input.js";function ce(a,t,c){A(()=>{var i=R(()=>t(a,c==null?void 0:c())||{});if(i!=null&&i.destroy)return()=>i.destroy()})}function ve(a,t){console.log(t()),t("")}var de=D('<span class="mc-text-input__icon svelte-1ovon7j"><!></span>'),me=D('<div class="mc-controls-options js-control-options svelte-1ovon7j"><button type="button" class="mc-controls-options__button svelte-1ovon7j"><svg class="mc-controls-options__icon svelte-1ovon7j" 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-1ovon7j"></path></svg> <span class="mc-controls-options__label svelte-1ovon7j"> </span></button></div>'),ue=D("<div><!> <input> <!></div>");const pe={hash:"svelte-1ovon7j",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-controls-options.svelte-1ovon7j {align-items:center;display:inline-flex;justify-content:center;gap:0.5rem;}.mc-controls-options__button.svelte-1ovon7j {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;}.mc-controls-options__icon.svelte-1ovon7j {fill:var(--forms-color-icon-clear, #666666);}.mc-controls-options__button.svelte-1ovon7j, .mc-controls-options__icon.svelte-1ovon7j {height:1.5rem;width:1.5rem;}.mc-controls-options__label.svelte-1ovon7j {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-1ovon7j {font-size:1rem;line-height:1.3;font-weight:600;color:var(--forms-color-text-default, #000000);}
4
4
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textinput.js","sources":["../../node_modules/svelte/src/internal/client/dom/elements/actions.js","../../src/components/textinput/Textinput.svelte"],"sourcesContent":["/** @import { ActionPayload } from '#client' */\nimport { effect, render_effect } from '../../reactivity/effects.js';\nimport { safe_not_equal } from '../../reactivity/equality.js';\nimport { deep_read_state, untrack } from '../../runtime.js';\n\n/**\n * @template P\n * @param {Element} dom\n * @param {(dom: Element, value?: P) => ActionPayload<P>} action\n * @param {() => P} [get_value]\n * @returns {void}\n */\nexport function action(dom, action, get_value) {\n\teffect(() => {\n\t\tvar payload = untrack(() => action(dom, get_value?.()) || {});\n\n\t\tif (get_value && payload?.update) {\n\t\t\tvar inited = false;\n\t\t\t/** @type {P} */\n\t\t\tvar prev = /** @type {any} */ ({}); // initialize with something so it's never equal on first run\n\n\t\t\trender_effect(() => {\n\t\t\t\tvar value = get_value();\n\n\t\t\t\t// Action's update method is coarse-grained, i.e. when anything in the passed value changes, update.\n\t\t\t\t// This works in legacy mode because of mutable_source being updated as a whole, but when using $state\n\t\t\t\t// together with actions and mutation, it wouldn't notice the change without a deep read.\n\t\t\t\tdeep_read_state(value);\n\n\t\t\t\tif (inited && safe_not_equal(prev, value)) {\n\t\t\t\t\tprev = value;\n\t\t\t\t\t/** @type {Function} */ (payload.update)(value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tinited = true;\n\t\t}\n\n\t\tif (payload?.destroy) {\n\t\t\treturn () => /** @type {Function} */ (payload.destroy)();\n\t\t}\n\t});\n}\n","<svelte:options customElement=\"m-textinput\" />\n\n<script lang=\"ts\">\n import type { TextInputSize, TextInputType } from './textinput.types';\n\n interface Props {\n name: string;\n value: string;\n placeholder: string;\n inputtype?: TextInputType;\n isvalid: boolean;\n isinvalid: boolean;\n disabled?: boolean;\n size?: TextInputSize;\n iconname: string;\n rightalign: boolean;\n min: string;\n max: string;\n minlength: number;\n maxlength: number;\n required?: boolean;\n clearlabel?: string;\n isclearable?: boolean;\n }\n\n let {\n name,\n value,\n placeholder,\n inputtype = 'text',\n isvalid,\n isinvalid,\n disabled = false,\n size = 'm',\n iconname,\n rightalign,\n min,\n max,\n minlength,\n maxlength,\n required = false,\n clearlabel = 'Clear content',\n isclearable = false,\n ...events\n }: Props = $props();\n\n let inputType = $derived(inputtype);\n let displayClear = $derived(isclearable && value ? true : false);\n\n function getClasses(\n isValid: boolean,\n isInvalid: boolean,\n size: TextInputSize,\n iconname: string,\n ): string {\n const classes = ['mc-text-input', 'mc-field__input'];\n\n if (isValid) {\n classes.push('is-valid');\n }\n\n if (isInvalid) {\n classes.push('is-invalid');\n }\n\n if (size === 's') {\n classes.push('mc-text-input--s');\n }\n\n if (iconname) {\n classes.push('mc-left-icon-input__input');\n }\n\n if (rightalign) {\n classes.push('right-align');\n }\n\n return classes.join(' ');\n }\n\n const setType = (node: any) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n node.type = inputType;\n };\n\n function resetValue() {\n console.log(value);\n value = '';\n }\n</script>\n\n<div class=\"{getClasses(isvalid, isinvalid, size, iconname)} \">\n {#if $$slots.icon}\n <span class=\"mc-text-input__icon\">\n <slot name=\"icon\" />\n </span>\n {/if}\n <input\n bind:value\n use:setType\n class=\"mc-text-input__control\"\n aria-invalid={isinvalid}\n {name}\n id={name}\n {placeholder}\n {disabled}\n {min}\n {max}\n {minlength}\n {maxlength}\n spellcheck=\"false\"\n {required}\n {...events}\n />\n <!-- Control options -->\n {#if displayClear}\n <div class=\"mc-controls-options js-control-options\">\n <!-- Clear Button -->\n <button\n type=\"button\"\n class=\"mc-controls-options__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</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/controls-options';\n @use '@mozaic-ds/styles/components/text-input';\n\n .right-align {\n text-align: right;\n }\n</style>\n"],"names":["action","dom","get_value","effect","payload","untrack","resetValue","_","value","name","$.prop","$$props","placeholder","inputtype","isvalid","isinvalid","disabled","size","iconname","rightalign","min","max","minlength","maxlength","required","clearlabel","isclearable","events","$.rest_props","inputType","displayClear","getClasses","isValid","isInvalid","classes","setType","node","$.get","$$slots","$$render","consequent","consequent_1"],"mappings":"sUAYO,SAASA,GAAOC,EAAKD,EAAQE,EAAW,CAC9CC,EAAO,IAAM,CACZ,IAAIC,EAAUC,EAAQ,IAAML,EAAOC,EAAKC,GAAA,YAAAA,GAAa,GAAK,EAAE,EAwB5D,GAAIE,GAAA,MAAAA,EAAS,QACZ,MAAO,IAA+BA,EAAQ,QAAU,CAE3D,CAAE,CACF,CC2CW,SAAAE,GAAaC,EAAAC,EAAA,CACpB,QAAQ,IAAIA,GAAK,EACjBA,EAAQ,EAAE,CACZ;;;;;;;;;8IA9DEC,EAAIC,EAAAC,EAAA,OAAA,CAAA,EACJH,EAAKE,EAAAC,EAAA,QAAA,CAAA,EACLC,EAAWF,EAAAC,EAAA,cAAA,CAAA,EACXE,oBAAY,MAAM,EAClBC,EAAOJ,EAAAC,EAAA,UAAA,CAAA,EACPI,EAASL,EAAAC,EAAA,YAAA,CAAA,EACTK,mBAAW,EAAK,EAChBC,eAAO,GAAG,EACVC,EAAQR,EAAAC,EAAA,WAAA,CAAA,EACRQ,EAAUT,EAAAC,EAAA,aAAA,CAAA,EACVS,EAAGV,EAAAC,EAAA,MAAA,CAAA,EACHU,EAAGX,EAAAC,EAAA,MAAA,CAAA,EACHW,EAASZ,EAAAC,EAAA,YAAA,CAAA,EACTY,EAASb,EAAAC,EAAA,YAAA,CAAA,EACTa,mBAAW,EAAK,EAChBC,qBAAa,eAAe,EAC5BC,sBAAc,EAAK,EAChBC,EAAAC,GAAAjB,EAAA,+NAGDkB,IAAqBhB,CAAS,EAC9BiB,QAAwB,GAAAJ,EAAW,GAAIlB,EAAQ,EAAY,WAEtDuB,EACPC,EACAC,EACAhB,EACAC,EACQ,OACFgB,EAAO,CAAI,gBAAiB,iBAAiB,EAE/C,OAAAF,GACFE,EAAQ,KAAK,UAAU,EAGrBD,GACFC,EAAQ,KAAK,YAAY,EAGvBjB,IAAS,KACXiB,EAAQ,KAAK,kBAAkB,EAG7BhB,GACFgB,EAAQ,KAAK,2BAA2B,EAGtCf,EAAU,GACZe,EAAQ,KAAK,aAAa,EAGrBA,EAAQ,KAAK,GAAG,CACzB,OAEMC,EAAWC,GAAc,CAE7BA,EAAK,KAAIC,EAAGR,CAAS,CACtB,wFASIS,EAAQ,MAAIC,EAAAC,CAAA,8HA6BFlC,GAAUE,CAAA,sDAQuBiB,EAAU,CAAA,CAAA,oBAdrDK,CAAY,GAAAS,EAAAE,CAAA,mHAdD1B,EAAS,cAEnBN,EAAI,8GASJkB,uBArBK,IAAAI,EAAWjB,EAAO,EAAEC,EAAS,EAAEE,IAAMC,EAAQ,CAAA,iNA9D1C,OAAM,+JAGP,GAAK,6CACT,IAAG,uWAOC,GAAK,yDACH,gBAAe,2DACd,GAAK","x_google_ignoreList":[0]}
@@ -0,0 +1,288 @@
1
+ <svelte:options customElement="m-textinput" />
2
+
3
+ <script lang="ts">
4
+ import type { TextInputSize, TextInputType } from './textinput.types';
5
+
6
+ interface Props {
7
+ name: string;
8
+ value: string;
9
+ placeholder: string;
10
+ inputtype?: TextInputType;
11
+ isvalid: boolean;
12
+ isinvalid: boolean;
13
+ disabled?: boolean;
14
+ size?: TextInputSize;
15
+ iconname: string;
16
+ rightalign: boolean;
17
+ min: string;
18
+ max: string;
19
+ minlength: number;
20
+ maxlength: number;
21
+ required?: boolean;
22
+ clearlabel?: string;
23
+ isclearable?: boolean;
24
+ }
25
+
26
+ let {
27
+ name,
28
+ value,
29
+ placeholder,
30
+ inputtype = 'text',
31
+ isvalid,
32
+ isinvalid,
33
+ disabled = false,
34
+ size = 'm',
35
+ iconname,
36
+ rightalign,
37
+ min,
38
+ max,
39
+ minlength,
40
+ maxlength,
41
+ required = false,
42
+ clearlabel = 'Clear content',
43
+ isclearable = false,
44
+ ...events
45
+ }: Props = $props();
46
+
47
+ let inputType = $derived(inputtype);
48
+ let displayClear = $derived(isclearable && value ? true : false);
49
+
50
+ function getClasses(
51
+ isValid: boolean,
52
+ isInvalid: boolean,
53
+ size: TextInputSize,
54
+ iconname: string,
55
+ ): string {
56
+ const classes = ['mc-text-input', 'mc-field__input'];
57
+
58
+ if (isValid) {
59
+ classes.push('is-valid');
60
+ }
61
+
62
+ if (isInvalid) {
63
+ classes.push('is-invalid');
64
+ }
65
+
66
+ if (size === 's') {
67
+ classes.push('mc-text-input--s');
68
+ }
69
+
70
+ if (iconname) {
71
+ classes.push('mc-left-icon-input__input');
72
+ }
73
+
74
+ if (rightalign) {
75
+ classes.push('right-align');
76
+ }
77
+
78
+ return classes.join(' ');
79
+ }
80
+
81
+ const setType = (node: any) => {
82
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
83
+ node.type = inputType;
84
+ };
85
+
86
+ function resetValue() {
87
+ console.log(value);
88
+ value = '';
89
+ }
90
+ </script>
91
+
92
+ <div class="{getClasses(isvalid, isinvalid, size, iconname)} ">
93
+ {#if $$slots.icon}
94
+ <span class="mc-text-input__icon">
95
+ <slot name="icon" />
96
+ </span>
97
+ {/if}
98
+ <input
99
+ bind:value
100
+ use:setType
101
+ class="mc-text-input__control"
102
+ aria-invalid={isinvalid}
103
+ {name}
104
+ id={name}
105
+ {placeholder}
106
+ {disabled}
107
+ {min}
108
+ {max}
109
+ {minlength}
110
+ {maxlength}
111
+ spellcheck="false"
112
+ {required}
113
+ {...events}
114
+ />
115
+ <!-- Control options -->
116
+ {#if displayClear}
117
+ <div class="mc-controls-options js-control-options">
118
+ <!-- Clear Button -->
119
+ <button
120
+ type="button"
121
+ class="mc-controls-options__button"
122
+ onclick={resetValue}
123
+ >
124
+ <svg class="mc-controls-options__icon" aria-hidden="true">
125
+ <path
126
+ fill-rule="evenodd"
127
+ 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"
128
+ />
129
+ </svg>
130
+ <span class="mc-controls-options__label">{clearlabel}</span>
131
+ </button>
132
+ </div>
133
+ {/if}
134
+ </div>
135
+
136
+ <style>/**
137
+ * Do not edit directly, this file was auto-generated.
138
+ */
139
+ .mc-controls-options {
140
+ align-items: center;
141
+ display: inline-flex;
142
+ justify-content: center;
143
+ gap: 0.5rem;
144
+ }
145
+ .mc-controls-options__button {
146
+ background-color: transparent;
147
+ border-width: 0;
148
+ color: initial;
149
+ font-family: inherit;
150
+ outline: none;
151
+ appearance: none;
152
+ cursor: pointer;
153
+ padding: 0;
154
+ }
155
+ .mc-controls-options__icon {
156
+ fill: var(--forms-color-icon-clear, #666666);
157
+ }
158
+ .mc-controls-options__button, .mc-controls-options__icon {
159
+ height: 1.5rem;
160
+ width: 1.5rem;
161
+ }
162
+ .mc-controls-options__label {
163
+ clip-path: inset(100%);
164
+ clip: rect(1px, 1px, 1px, 1px);
165
+ height: 1px;
166
+ overflow: hidden;
167
+ position: absolute;
168
+ white-space: nowrap;
169
+ padding: 0;
170
+ width: 1px;
171
+ }
172
+ .mc-controls-options__unit {
173
+ font-size: 1rem;
174
+ line-height: 1.3;
175
+ font-weight: 600;
176
+ color: var(--forms-color-text-default, #000000);
177
+ }
178
+
179
+ /* stylelint-disable string-no-newline */
180
+ .mc-text-input {
181
+ transition: box-shadow 200ms ease;
182
+ background-color: var(--forms-color-background-default, #ffffff);
183
+ border: 1px solid var(--forms-color-border-default, #666666);
184
+ border-radius: 0.25rem;
185
+ transition: all ease 200ms;
186
+ color: var(--forms-color-text-default, #000000);
187
+ display: block;
188
+ width: 100%;
189
+ height: 3rem;
190
+ display: flex;
191
+ align-items: center;
192
+ gap: 0.5rem;
193
+ }
194
+ .mc-text-input,
195
+ .mc-text-input * {
196
+ box-sizing: border-box;
197
+ }
198
+ .mc-text-input__control {
199
+ background-color: transparent;
200
+ border-width: 0;
201
+ font-family: inherit;
202
+ outline: none;
203
+ /* For Blink & WebKit rendering engines */
204
+ /* For Gecko rendering engine */
205
+ padding: 0.75rem 0.6875rem;
206
+ font-size: 1rem;
207
+ line-height: 1.3;
208
+ font-weight: 400;
209
+ flex-grow: 1;
210
+ }
211
+ .mc-text-input__control[type=number]::-webkit-inner-spin-button, .mc-text-input__control[type=number]::-webkit-outer-spin-button {
212
+ appearance: none;
213
+ margin: 0;
214
+ }
215
+ .mc-text-input__control[type=number] {
216
+ appearance: textfield;
217
+ }
218
+ .mc-text-input__control[type=search]::-webkit-search-decoration, .mc-text-input__control[type=search]::-webkit-search-cancel-button {
219
+ appearance: none;
220
+ }
221
+ .mc-text-input__control::placeholder {
222
+ color: var(--forms-color-placeholder, #666666);
223
+ }
224
+ .mc-text-input__icon {
225
+ fill: var(--forms-color-icon-default, #666666);
226
+ height: 1.5rem;
227
+ width: 1.5rem;
228
+ }
229
+ .mc-text-input:focus-within {
230
+ 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));
231
+ outline: 0.125rem solid transparent;
232
+ outline-offset: 0.125rem;
233
+ }
234
+ .mc-text-input:hover:not(:focus-within) {
235
+ border-color: var(--forms-color-border-hover, #4d4d4d);
236
+ box-shadow: 0 0 0 1px var(--forms-color-border-hover, #4d4d4d);
237
+ }
238
+ .mc-text-input:has(input:disabled) {
239
+ background-color: var(--forms-color-background-disabled, #d9d9d9);
240
+ cursor: not-allowed;
241
+ border-color: transparent;
242
+ box-shadow: none;
243
+ color: var(--forms-color-text-disabled, #737373);
244
+ pointer-events: none;
245
+ }
246
+ .mc-text-input:has(input[readonly]) {
247
+ border-color: var(--forms-color-border-read-only, #cccccc);
248
+ pointer-events: none;
249
+ }
250
+ .mc-text-input:has(.mc-text-input__icon) {
251
+ padding-inline-start: 0.6875rem;
252
+ }
253
+ .mc-text-input:has(.mc-text-input__icon) .mc-text-input__control {
254
+ padding-inline-start: 0;
255
+ }
256
+ .mc-text-input:has(.mc-controls-options) {
257
+ padding-inline-end: 0.6875rem;
258
+ }
259
+ .mc-text-input:has(.mc-controls-options) .mc-text-input__control {
260
+ padding-inline-end: 0;
261
+ }
262
+ .mc-text-input--s {
263
+ height: 2rem;
264
+ }
265
+ .mc-text-input--s .mc-text-input__control {
266
+ padding: 0.375rem 0.6875rem;
267
+ font-size: 0.875rem;
268
+ line-height: 1.3;
269
+ }
270
+ .mc-text-input--s:has(.mc-text-input__icon) {
271
+ padding-inline-start: 0.4375rem;
272
+ }
273
+ .mc-text-input--s:has(.mc-controls-options) {
274
+ padding-inline-end: 0.4375rem;
275
+ }
276
+ .mc-text-input.is-invalid {
277
+ border-color: var(--forms-color-border-invalid, #ea302d);
278
+ box-shadow: 0 0 0 1px var(--forms-color-border-invalid, #ea302d);
279
+ }
280
+ .mc-text-input.is-invalid:hover:not(:focus-within) {
281
+ border-color: var(--forms-color-border-invalid-hover, #c61112);
282
+ box-shadow: 0 0 0 1px var(--forms-color-border-invalid-hover, #c61112);
283
+ }
284
+
285
+ /* stylelint-enable string-no-newline */
286
+ .right-align {
287
+ text-align: right;
288
+ }</style>
@@ -0,0 +1,41 @@
1
+ import type { TextInputSize, TextInputType } from './textinput.types';
2
+ interface Props {
3
+ name: string;
4
+ value: string;
5
+ placeholder: string;
6
+ inputtype?: TextInputType;
7
+ isvalid: boolean;
8
+ isinvalid: boolean;
9
+ disabled?: boolean;
10
+ size?: TextInputSize;
11
+ iconname: string;
12
+ rightalign: boolean;
13
+ min: string;
14
+ max: string;
15
+ minlength: number;
16
+ maxlength: number;
17
+ required?: boolean;
18
+ clearlabel?: string;
19
+ isclearable?: boolean;
20
+ }
21
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
22
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
23
+ $$bindings?: Bindings;
24
+ } & Exports;
25
+ (internal: unknown, props: Props & {
26
+ $$events?: Events;
27
+ $$slots?: Slots;
28
+ }): Exports & {
29
+ $set?: any;
30
+ $on?: any;
31
+ };
32
+ z_$$bindings?: Bindings;
33
+ }
34
+ declare const Textinput: $$__sveltets_2_IsomorphicComponent<Props, {
35
+ [evt: string]: CustomEvent<any>;
36
+ }, {
37
+ icon: {};
38
+ }, {}, "">;
39
+ type Textinput = InstanceType<typeof Textinput>;
40
+ export default Textinput;
41
+ //# sourceMappingURL=Textinput.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textinput.svelte.d.ts","sourceRoot":"","sources":["../../src/components/textinput/Textinput.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGpE,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAkGH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAUD,QAAA,MAAM,SAAS;;;;UAAmF,CAAC;AACjF,KAAK,SAAS,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;AAClD,eAAe,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type TextInputType = 'date' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'text';
2
+ export type TextInputSize = 's' | 'm';
3
+ //# sourceMappingURL=textinput.types.d.ts.map