@scouterna/ui-webc 2.2.4 → 2.2.6

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 (272) hide show
  1. package/dist/cjs/{index-B3fXatmo.js → index-DpSUh0CA.js} +1809 -91
  2. package/dist/cjs/index.cjs.js +0 -1
  3. package/dist/cjs/{inputMixin-CkYXihTB.js → inputMixin-BEUFwoun.js} +5 -4
  4. package/dist/cjs/loader.cjs.js +2 -3
  5. package/dist/cjs/scout-app-bar.cjs.entry.js +3 -4
  6. package/dist/cjs/scout-bottom-bar-item.cjs.entry.js +3 -4
  7. package/dist/cjs/scout-bottom-bar.cjs.entry.js +3 -4
  8. package/dist/cjs/scout-button.cjs.entry.js +12 -6
  9. package/dist/cjs/scout-card.cjs.entry.js +4 -5
  10. package/dist/cjs/scout-checkbox_2.cjs.entry.js +8 -9
  11. package/dist/cjs/scout-divider.cjs.entry.js +4 -5
  12. package/dist/cjs/scout-field.cjs.entry.js +4 -5
  13. package/dist/cjs/scout-input.cjs.entry.js +24 -6
  14. package/dist/cjs/scout-link.cjs.entry.js +3 -4
  15. package/dist/cjs/scout-list-view-item.cjs.entry.js +7 -7
  16. package/dist/cjs/scout-list-view-subheader.cjs.entry.js +4 -5
  17. package/dist/cjs/scout-list-view.cjs.entry.js +4 -5
  18. package/dist/cjs/scout-loader.cjs.entry.js +4 -5
  19. package/dist/cjs/scout-select.cjs.entry.js +5 -6
  20. package/dist/cjs/scout-stack.cjs.entry.js +5 -6
  21. package/dist/cjs/scout-switch.cjs.entry.js +5 -6
  22. package/dist/cjs/ui-webc.cjs.js +3 -4
  23. package/dist/collection/collection-manifest.json +2 -2
  24. package/dist/collection/components/app-bar/app-bar.css +2 -1
  25. package/dist/collection/components/app-bar/app-bar.js +0 -1
  26. package/dist/collection/components/bottom-bar/bottom-bar.js +0 -1
  27. package/dist/collection/components/bottom-bar-item/bottom-bar-item.js +0 -1
  28. package/dist/collection/components/button/button.css +93 -104
  29. package/dist/collection/components/button/button.js +36 -5
  30. package/dist/collection/components/card/card.js +1 -2
  31. package/dist/collection/components/checkbox/checkbox.js +1 -2
  32. package/dist/collection/components/divider/divider.js +1 -2
  33. package/dist/collection/components/field/field.js +1 -2
  34. package/dist/collection/components/input/input.css +26 -4
  35. package/dist/collection/components/input/input.js +92 -3
  36. package/dist/collection/components/link/link.js +0 -1
  37. package/dist/collection/components/list-view/list-view.js +1 -2
  38. package/dist/collection/components/list-view-item/list-view-item.js +23 -4
  39. package/dist/collection/components/list-view-subheader/list-view-subheader.css +3 -2
  40. package/dist/collection/components/list-view-subheader/list-view-subheader.js +1 -2
  41. package/dist/collection/components/loader/loader.js +1 -2
  42. package/dist/collection/components/radio-button/radio-button.js +1 -2
  43. package/dist/collection/components/select/select.js +1 -2
  44. package/dist/collection/components/stack/stack.js +2 -3
  45. package/dist/collection/components/switch/switch.js +1 -2
  46. package/dist/collection/index.js +0 -1
  47. package/dist/collection/mixins/inputMixin.js +4 -1
  48. package/dist/collection/utils/utils.js +0 -1
  49. package/dist/components/index.d.ts +2 -0
  50. package/dist/components/index.js +1 -10
  51. package/dist/components/p-CFwvojTA.js +1 -0
  52. package/dist/components/p-CToGnlms.js +1 -0
  53. package/dist/components/p-CmHrcz9s.js +1 -0
  54. package/dist/components/p-FVW0-50y.js +1 -0
  55. package/dist/components/scout-app-bar.js +1 -42
  56. package/dist/components/scout-bottom-bar-item.js +1 -85
  57. package/dist/components/scout-bottom-bar.js +1 -39
  58. package/dist/components/scout-button.js +1 -75
  59. package/dist/components/scout-card.js +1 -39
  60. package/dist/components/scout-checkbox.js +1 -9
  61. package/dist/components/scout-divider.js +1 -39
  62. package/dist/components/scout-field.js +1 -72
  63. package/dist/components/scout-input.js +1 -76
  64. package/dist/components/scout-link.js +1 -91
  65. package/dist/components/scout-list-view-item.js +1 -106
  66. package/dist/components/scout-list-view-subheader.js +1 -44
  67. package/dist/components/scout-list-view.js +1 -59
  68. package/dist/components/scout-loader.js +1 -96
  69. package/dist/components/scout-radio-button.js +1 -9
  70. package/dist/components/scout-select.js +1 -61
  71. package/dist/components/scout-stack.js +1 -62
  72. package/dist/components/scout-switch.js +1 -75
  73. package/dist/custom-elements.d.ts +11 -0
  74. package/dist/custom-elements.json +185 -4
  75. package/dist/esm/{index-ksA_9NPe.js → index-xD2pOo_x.js} +1809 -91
  76. package/dist/esm/index.js +0 -1
  77. package/dist/esm/{inputMixin-mAf9ZFOg.js → inputMixin-BuDdNX3m.js} +5 -4
  78. package/dist/esm/loader.js +3 -4
  79. package/dist/esm/scout-app-bar.entry.js +3 -4
  80. package/dist/esm/scout-bottom-bar-item.entry.js +3 -4
  81. package/dist/esm/scout-bottom-bar.entry.js +3 -4
  82. package/dist/esm/scout-button.entry.js +12 -6
  83. package/dist/esm/scout-card.entry.js +4 -5
  84. package/dist/esm/scout-checkbox_2.entry.js +8 -9
  85. package/dist/esm/scout-divider.entry.js +4 -5
  86. package/dist/esm/scout-field.entry.js +4 -5
  87. package/dist/esm/scout-input.entry.js +24 -6
  88. package/dist/esm/scout-link.entry.js +3 -4
  89. package/dist/esm/scout-list-view-item.entry.js +7 -7
  90. package/dist/esm/scout-list-view-subheader.entry.js +4 -5
  91. package/dist/esm/scout-list-view.entry.js +4 -5
  92. package/dist/esm/scout-loader.entry.js +4 -5
  93. package/dist/esm/scout-select.entry.js +5 -6
  94. package/dist/esm/scout-stack.entry.js +5 -6
  95. package/dist/esm/scout-switch.entry.js +5 -6
  96. package/dist/esm/ui-webc.js +4 -5
  97. package/dist/types/components/button/button.d.ts +5 -0
  98. package/dist/types/components/list-view-item/list-view-item.d.ts +1 -0
  99. package/dist/types/components.d.ts +44 -4
  100. package/dist/types/stencil-public-runtime.d.ts +87 -4
  101. package/dist/ui-webc/index.esm.js +1 -2
  102. package/dist/ui-webc/p-186ee2d2.entry.js +1 -0
  103. package/dist/ui-webc/p-1f031683.entry.js +1 -0
  104. package/dist/ui-webc/p-20ba2e18.entry.js +1 -0
  105. package/dist/ui-webc/p-4f317624.entry.js +1 -0
  106. package/dist/ui-webc/p-594f0ba6.entry.js +1 -0
  107. package/dist/ui-webc/p-6ea55279.entry.js +1 -0
  108. package/dist/ui-webc/p-802ce20c.entry.js +1 -0
  109. package/dist/ui-webc/p-80b57c1b.entry.js +1 -0
  110. package/dist/ui-webc/p-8da4cdaa.entry.js +1 -0
  111. package/dist/ui-webc/p-90c097f4.entry.js +1 -0
  112. package/dist/ui-webc/p-BuuT2Uz3.js +1 -0
  113. package/dist/ui-webc/p-a92dd367.entry.js +1 -0
  114. package/dist/ui-webc/p-bf96d820.entry.js +1 -0
  115. package/dist/ui-webc/p-cdce9596.entry.js +1 -0
  116. package/dist/ui-webc/p-d7430470.entry.js +1 -0
  117. package/dist/ui-webc/p-db9e3e2d.entry.js +1 -0
  118. package/dist/ui-webc/p-e97f584a.entry.js +1 -0
  119. package/dist/ui-webc/p-f3ff75c8.entry.js +1 -0
  120. package/dist/ui-webc/p-xD2pOo_x.js +2 -0
  121. package/dist/ui-webc/ui-webc.esm.js +1 -2
  122. package/package.json +5 -5
  123. package/dist/cjs/index-B3fXatmo.js.map +0 -1
  124. package/dist/cjs/index.cjs.js.map +0 -1
  125. package/dist/cjs/inputMixin-CkYXihTB.js.map +0 -1
  126. package/dist/cjs/loader.cjs.js.map +0 -1
  127. package/dist/cjs/scout-app-bar.entry.cjs.js.map +0 -1
  128. package/dist/cjs/scout-bottom-bar-item.entry.cjs.js.map +0 -1
  129. package/dist/cjs/scout-bottom-bar.entry.cjs.js.map +0 -1
  130. package/dist/cjs/scout-button.entry.cjs.js.map +0 -1
  131. package/dist/cjs/scout-card.entry.cjs.js.map +0 -1
  132. package/dist/cjs/scout-checkbox.scout-radio-button.entry.cjs.js.map +0 -1
  133. package/dist/cjs/scout-divider.entry.cjs.js.map +0 -1
  134. package/dist/cjs/scout-field.entry.cjs.js.map +0 -1
  135. package/dist/cjs/scout-input.entry.cjs.js.map +0 -1
  136. package/dist/cjs/scout-link.entry.cjs.js.map +0 -1
  137. package/dist/cjs/scout-list-view-item.entry.cjs.js.map +0 -1
  138. package/dist/cjs/scout-list-view-subheader.entry.cjs.js.map +0 -1
  139. package/dist/cjs/scout-list-view.entry.cjs.js.map +0 -1
  140. package/dist/cjs/scout-loader.entry.cjs.js.map +0 -1
  141. package/dist/cjs/scout-select.entry.cjs.js.map +0 -1
  142. package/dist/cjs/scout-stack.entry.cjs.js.map +0 -1
  143. package/dist/cjs/scout-switch.entry.cjs.js.map +0 -1
  144. package/dist/cjs/ui-webc.cjs.js.map +0 -1
  145. package/dist/collection/components/app-bar/app-bar.js.map +0 -1
  146. package/dist/collection/components/bottom-bar/bottom-bar.js.map +0 -1
  147. package/dist/collection/components/bottom-bar-item/bottom-bar-item.js.map +0 -1
  148. package/dist/collection/components/button/button.js.map +0 -1
  149. package/dist/collection/components/card/card.js.map +0 -1
  150. package/dist/collection/components/checkbox/checkbox.js.map +0 -1
  151. package/dist/collection/components/divider/divider.js.map +0 -1
  152. package/dist/collection/components/field/field.js.map +0 -1
  153. package/dist/collection/components/input/input.js.map +0 -1
  154. package/dist/collection/components/link/link.js.map +0 -1
  155. package/dist/collection/components/list-view/list-view.js.map +0 -1
  156. package/dist/collection/components/list-view-item/list-view-item.js.map +0 -1
  157. package/dist/collection/components/list-view-subheader/list-view-subheader.js.map +0 -1
  158. package/dist/collection/components/loader/loader.js.map +0 -1
  159. package/dist/collection/components/radio-button/radio-button.js.map +0 -1
  160. package/dist/collection/components/select/select.js.map +0 -1
  161. package/dist/collection/components/stack/stack.js.map +0 -1
  162. package/dist/collection/components/switch/switch.js.map +0 -1
  163. package/dist/collection/index.js.map +0 -1
  164. package/dist/collection/mixins/inputMixin.js.map +0 -1
  165. package/dist/collection/utils/utils.js.map +0 -1
  166. package/dist/components/index.js.map +0 -1
  167. package/dist/components/p-B_lll43e.js +0 -71
  168. package/dist/components/p-B_lll43e.js.map +0 -1
  169. package/dist/components/p-CwrP_ZZM.js +0 -73
  170. package/dist/components/p-CwrP_ZZM.js.map +0 -1
  171. package/dist/components/p-DaGMxK4K.js +0 -62
  172. package/dist/components/p-DaGMxK4K.js.map +0 -1
  173. package/dist/components/p-fr5CaUFu.js +0 -1747
  174. package/dist/components/p-fr5CaUFu.js.map +0 -1
  175. package/dist/components/scout-app-bar.js.map +0 -1
  176. package/dist/components/scout-bottom-bar-item.js.map +0 -1
  177. package/dist/components/scout-bottom-bar.js.map +0 -1
  178. package/dist/components/scout-button.js.map +0 -1
  179. package/dist/components/scout-card.js.map +0 -1
  180. package/dist/components/scout-checkbox.js.map +0 -1
  181. package/dist/components/scout-divider.js.map +0 -1
  182. package/dist/components/scout-field.js.map +0 -1
  183. package/dist/components/scout-input.js.map +0 -1
  184. package/dist/components/scout-link.js.map +0 -1
  185. package/dist/components/scout-list-view-item.js.map +0 -1
  186. package/dist/components/scout-list-view-subheader.js.map +0 -1
  187. package/dist/components/scout-list-view.js.map +0 -1
  188. package/dist/components/scout-loader.js.map +0 -1
  189. package/dist/components/scout-radio-button.js.map +0 -1
  190. package/dist/components/scout-select.js.map +0 -1
  191. package/dist/components/scout-stack.js.map +0 -1
  192. package/dist/components/scout-switch.js.map +0 -1
  193. package/dist/esm/index-ksA_9NPe.js.map +0 -1
  194. package/dist/esm/index.js.map +0 -1
  195. package/dist/esm/inputMixin-mAf9ZFOg.js.map +0 -1
  196. package/dist/esm/loader.js.map +0 -1
  197. package/dist/esm/scout-app-bar.entry.js.map +0 -1
  198. package/dist/esm/scout-bottom-bar-item.entry.js.map +0 -1
  199. package/dist/esm/scout-bottom-bar.entry.js.map +0 -1
  200. package/dist/esm/scout-button.entry.js.map +0 -1
  201. package/dist/esm/scout-card.entry.js.map +0 -1
  202. package/dist/esm/scout-checkbox.scout-radio-button.entry.js.map +0 -1
  203. package/dist/esm/scout-divider.entry.js.map +0 -1
  204. package/dist/esm/scout-field.entry.js.map +0 -1
  205. package/dist/esm/scout-input.entry.js.map +0 -1
  206. package/dist/esm/scout-link.entry.js.map +0 -1
  207. package/dist/esm/scout-list-view-item.entry.js.map +0 -1
  208. package/dist/esm/scout-list-view-subheader.entry.js.map +0 -1
  209. package/dist/esm/scout-list-view.entry.js.map +0 -1
  210. package/dist/esm/scout-loader.entry.js.map +0 -1
  211. package/dist/esm/scout-select.entry.js.map +0 -1
  212. package/dist/esm/scout-stack.entry.js.map +0 -1
  213. package/dist/esm/scout-switch.entry.js.map +0 -1
  214. package/dist/esm/ui-webc.js.map +0 -1
  215. package/dist/ui-webc/index.esm.js.map +0 -1
  216. package/dist/ui-webc/loader.esm.js.map +0 -1
  217. package/dist/ui-webc/p-02c211ea.entry.js +0 -2
  218. package/dist/ui-webc/p-02c211ea.entry.js.map +0 -1
  219. package/dist/ui-webc/p-1efd7b9a.entry.js +0 -2
  220. package/dist/ui-webc/p-1efd7b9a.entry.js.map +0 -1
  221. package/dist/ui-webc/p-3018f46f.entry.js +0 -2
  222. package/dist/ui-webc/p-3018f46f.entry.js.map +0 -1
  223. package/dist/ui-webc/p-45b65a28.entry.js +0 -2
  224. package/dist/ui-webc/p-45b65a28.entry.js.map +0 -1
  225. package/dist/ui-webc/p-50112773.entry.js +0 -2
  226. package/dist/ui-webc/p-50112773.entry.js.map +0 -1
  227. package/dist/ui-webc/p-531dc32a.entry.js +0 -2
  228. package/dist/ui-webc/p-531dc32a.entry.js.map +0 -1
  229. package/dist/ui-webc/p-78b6c86b.entry.js +0 -2
  230. package/dist/ui-webc/p-78b6c86b.entry.js.map +0 -1
  231. package/dist/ui-webc/p-974e8415.entry.js +0 -2
  232. package/dist/ui-webc/p-974e8415.entry.js.map +0 -1
  233. package/dist/ui-webc/p-97956c4f.entry.js +0 -2
  234. package/dist/ui-webc/p-97956c4f.entry.js.map +0 -1
  235. package/dist/ui-webc/p-97f9cf0a.entry.js +0 -2
  236. package/dist/ui-webc/p-97f9cf0a.entry.js.map +0 -1
  237. package/dist/ui-webc/p-BzgciO7w.js +0 -2
  238. package/dist/ui-webc/p-BzgciO7w.js.map +0 -1
  239. package/dist/ui-webc/p-ac65f104.entry.js +0 -2
  240. package/dist/ui-webc/p-ac65f104.entry.js.map +0 -1
  241. package/dist/ui-webc/p-c2c5857d.entry.js +0 -2
  242. package/dist/ui-webc/p-c2c5857d.entry.js.map +0 -1
  243. package/dist/ui-webc/p-e2288570.entry.js +0 -2
  244. package/dist/ui-webc/p-e2288570.entry.js.map +0 -1
  245. package/dist/ui-webc/p-e4ba9bd7.entry.js +0 -2
  246. package/dist/ui-webc/p-e4ba9bd7.entry.js.map +0 -1
  247. package/dist/ui-webc/p-ee497882.entry.js +0 -2
  248. package/dist/ui-webc/p-ee497882.entry.js.map +0 -1
  249. package/dist/ui-webc/p-f01605ca.entry.js +0 -2
  250. package/dist/ui-webc/p-f01605ca.entry.js.map +0 -1
  251. package/dist/ui-webc/p-faaf9da5.entry.js +0 -2
  252. package/dist/ui-webc/p-faaf9da5.entry.js.map +0 -1
  253. package/dist/ui-webc/p-ksA_9NPe.js +0 -3
  254. package/dist/ui-webc/p-ksA_9NPe.js.map +0 -1
  255. package/dist/ui-webc/scout-app-bar.entry.esm.js.map +0 -1
  256. package/dist/ui-webc/scout-bottom-bar-item.entry.esm.js.map +0 -1
  257. package/dist/ui-webc/scout-bottom-bar.entry.esm.js.map +0 -1
  258. package/dist/ui-webc/scout-button.entry.esm.js.map +0 -1
  259. package/dist/ui-webc/scout-card.entry.esm.js.map +0 -1
  260. package/dist/ui-webc/scout-checkbox.scout-radio-button.entry.esm.js.map +0 -1
  261. package/dist/ui-webc/scout-divider.entry.esm.js.map +0 -1
  262. package/dist/ui-webc/scout-field.entry.esm.js.map +0 -1
  263. package/dist/ui-webc/scout-input.entry.esm.js.map +0 -1
  264. package/dist/ui-webc/scout-link.entry.esm.js.map +0 -1
  265. package/dist/ui-webc/scout-list-view-item.entry.esm.js.map +0 -1
  266. package/dist/ui-webc/scout-list-view-subheader.entry.esm.js.map +0 -1
  267. package/dist/ui-webc/scout-list-view.entry.esm.js.map +0 -1
  268. package/dist/ui-webc/scout-loader.entry.esm.js.map +0 -1
  269. package/dist/ui-webc/scout-select.entry.esm.js.map +0 -1
  270. package/dist/ui-webc/scout-stack.entry.esm.js.map +0 -1
  271. package/dist/ui-webc/scout-switch.entry.esm.js.map +0 -1
  272. package/dist/ui-webc/ui-webc.esm.js.map +0 -1
@@ -1,71 +0,0 @@
1
- import { p as proxyCustomElement, M as Mixin, c as createEvent, h } from './p-fr5CaUFu.js';
2
- import { i as inputMixin } from './p-DaGMxK4K.js';
3
-
4
- const radioButtonCss = ".radio.sc-scout-radio-button{width:var(--spacing-6);height:var(--spacing-6);-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;align-content:center;justify-content:center;border-radius:100%;background-color:var(--color-white);border:2px solid var(--color-gray-300);position:relative}.radio.sc-scout-radio-button:hover{border:2px solid var(--color-gray-400);box-shadow:inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);cursor:pointer}.radio.sc-scout-radio-button:active{background-color:var(--color-background-brand-subtle-pressed)}.radio.sc-scout-radio-button:checked:hover{border-color:var(--color-background-brand-hovered);box-shadow:none}.radio.sc-scout-radio-button:checked:hover::before{background-color:var(--color-background-brand-hovered)}.radio.sc-scout-radio-button:checked{border-color:var(--color-background-brand-base)}.radio.sc-scout-radio-button::after{content:\"\";position:absolute;width:var(--spacing-10);height:var(--spacing-10);top:50%;left:50%;transform:translate(-50%, -50%)}.radio.sc-scout-radio-button:checked::before{content:\"\";background-color:var(--color-background-brand-base);width:var(--spacing-4);height:var(--spacing-4);position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);border-radius:100%}.radio.sc-scout-radio-button:disabled{pointer-events:none;background-color:var(--color-gray-100);border-color:var(--color-gray-100)}label.sc-scout-radio-button{display:flex;align-items:center;gap:var(--spacing-2);font:var(--type-label-base);color:var(--color-text-base)}";
5
-
6
- const ScoutRadioButton = /*@__PURE__*/ proxyCustomElement(class ScoutRadioButton extends Mixin(inputMixin) {
7
- constructor(registerHost) {
8
- super(false);
9
- if (registerHost !== false) {
10
- this.__registerHost();
11
- }
12
- this.scoutInputChange = createEvent(this, "scoutInputChange");
13
- this.scoutBlur = createEvent(this, "scoutBlur");
14
- this._scoutValidate = createEvent(this, "_scoutValidate");
15
- this._scoutInvalid = createEvent(this, "_scoutInvalid");
16
- this._scoutFieldId = createEvent(this, "_scoutFieldId");
17
- this.scoutChecked = createEvent(this, "scoutChecked");
18
- }
19
- checked = false;
20
- disabled = false;
21
- /**
22
- * Use this prop if you need to connect your radio button with another element describing its use, other than the property label.
23
- */
24
- ariaLabelledby;
25
- label;
26
- value;
27
- name;
28
- scoutChecked;
29
- onChange(event) {
30
- const radio = event.target;
31
- this.scoutChecked.emit({
32
- checked: radio.checked,
33
- element: radio,
34
- });
35
- }
36
- render() {
37
- const Tag = this.label?.length ? "label" : "div";
38
- return (h(Tag, { key: '9d30a566a03bfa1b49411878fbaa6bc07d53d2f6' }, h("input", { key: 'e2f2c58a2ec00fce35d27860e6fa37e23d09d040', ref: (el) => this.setInputRef(el), id: this.ariaId, type: "radio", value: this.value, name: this.name, class: "radio", "aria-labelledby": this.ariaLabelledby, "aria-disabled": this.disabled, disabled: this.disabled, checked: this.checked, onChange: (event) => {
39
- this.onInput();
40
- this.onChange(event);
41
- }, onBlur: () => this.onBlur(), onInvalid: () => this.onInvalid() }), this.label));
42
- }
43
- static get style() { return radioButtonCss; }
44
- }, [770, "scout-radio-button", {
45
- "validate": [16],
46
- "checked": [4],
47
- "disabled": [4],
48
- "ariaLabelledby": [1, "aria-labelledby"],
49
- "label": [1],
50
- "value": [1],
51
- "name": [1],
52
- "ariaId": [32]
53
- }]);
54
- function defineCustomElement() {
55
- if (typeof customElements === "undefined") {
56
- return;
57
- }
58
- const components = ["scout-radio-button"];
59
- components.forEach(tagName => { switch (tagName) {
60
- case "scout-radio-button":
61
- if (!customElements.get(tagName)) {
62
- customElements.define(tagName, ScoutRadioButton);
63
- }
64
- break;
65
- } });
66
- }
67
-
68
- export { ScoutRadioButton as S, defineCustomElement as d };
69
- //# sourceMappingURL=p-B_lll43e.js.map
70
-
71
- //# sourceMappingURL=p-B_lll43e.js.map
@@ -1 +0,0 @@
1
- {"file":"p-B_lll43e.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,ghDAAghD;;ACqB1hD,MAAA,gBACX,iBAAAA,kBAAA,CAAA,MAAA,gBAAA,SAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;IAGjB,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEL,IAAA,KAAK;AAEL,IAAA,IAAI;AAEH,IAAA,YAAY;AAKrB,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAE9C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK;AAChD,QAAA,QACE,EAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACF,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,OAAO,EAAA,iBAAA,EACI,IAAI,CAAC,cAAc,EAAA,eAAA,EACrB,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,CAAC,KAAK,KAAI;gBAClB,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACtB,aAAC,EACD,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EACjC,CAAA,EACD,IAAI,CAAC,KAAK,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"sources":["src/components/radio-button/radio-button.css?tag=scout-radio-button&encapsulation=scoped","src/components/radio-button/radio-button.tsx"],"sourcesContent":[".radio {\n width: var(--spacing-6);\n height: var(--spacing-6);\n appearance: none;\n -webkit-appearance: none;\n display: flex;\n align-content: center;\n justify-content: center;\n border-radius: 100%;\n background-color: var(--color-white);\n border: 2px solid var(--color-gray-300);\n position: relative;\n}\n\n.radio:hover {\n border: 2px solid var(--color-gray-400);\n box-shadow: inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);\n cursor: pointer;\n}\n\n.radio:active {\n background-color: var(--color-background-brand-subtle-pressed);\n}\n\n.radio:checked:hover {\n border-color: var(--color-background-brand-hovered);\n box-shadow: none;\n}\n\n.radio:checked:hover::before {\n background-color: var(--color-background-brand-hovered);\n}\n\n.radio:checked {\n border-color: var(--color-background-brand-base);\n}\n\n.radio::after {\n content: \"\";\n position: absolute;\n width: var(--spacing-10);\n height: var(--spacing-10);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.radio:checked::before {\n content: \"\";\n background-color: var(--color-background-brand-base);\n width: var(--spacing-4);\n height: var(--spacing-4);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border-radius: 100%;\n}\n\n.radio:disabled {\n pointer-events: none;\n background-color: var(--color-gray-100);\n border-color: var(--color-gray-100);\n}\n\nlabel {\n display: flex;\n align-items: center;\n gap: var(--spacing-2);\n font: var(--type-label-base);\n color: var(--color-text-base);\n}\n","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\n\n/**\n * The radio button component is used to let users select one option from a set.\n * When used in a form, make sure to wrap it in a Field component to display a\n * label, help text, and error messages.\n */\n@Component({\n tag: \"scout-radio-button\",\n styleUrl: \"radio-button.css\",\n scoped: true,\n})\nexport class ScoutRadioButton\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n @Prop() checked: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your radio button with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @Prop() value: string;\n\n @Prop() name: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n\n onChange(event: Event) {\n const radio = event.target as HTMLInputElement;\n\n this.scoutChecked.emit({\n checked: radio.checked,\n element: radio,\n });\n }\n\n render() {\n const Tag = this.label?.length ? \"label\" : \"div\";\n return (\n <Tag>\n <input\n ref={(el) => this.setInputRef(el)}\n id={this.ariaId}\n type=\"radio\"\n value={this.value}\n name={this.name}\n class=\"radio\"\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.checked}\n onChange={(event) => {\n this.onInput();\n this.onChange(event);\n }}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n {this.label}\n </Tag>\n );\n }\n}\n"],"version":3}
@@ -1,73 +0,0 @@
1
- import { p as proxyCustomElement, M as Mixin, c as createEvent, h } from './p-fr5CaUFu.js';
2
- import { i as inputMixin } from './p-DaGMxK4K.js';
3
-
4
- const checkSvg = 'data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCiAgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItY2hlY2siCj4KICA8cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICA8cGF0aCBkPSJNNSAxMmw1IDVsMTAgLTEwIiAvPgo8L3N2Zz4=';
5
-
6
- const checkboxCss = ".checkbox.sc-scout-checkbox{width:var(--spacing-6);height:var(--spacing-6);-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;align-content:center;justify-content:center;border-radius:3px;background-color:var(--color-text-brand-inverse);border:2px solid var(--color-gray-300);position:relative}.checkbox.sc-scout-checkbox:hover{border:2px solid var(--color-gray-400);box-shadow:inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);cursor:pointer}.checkbox.sc-scout-checkbox:active{background-color:var(--color-background-brand-subtle-pressed)}.checkbox.sc-scout-checkbox:checked:hover{background-color:var(--color-background-brand-hovered);border-color:var(--color-background-brand-hovered);box-shadow:none}.checkbox.sc-scout-checkbox:checked{background-color:var(--color-background-brand-base);border-color:var(--color-background-brand-base)}.checkbox.sc-scout-checkbox::after{content:\"\";position:absolute;width:var(--spacing-10);height:var(--spacing-10);top:50%;left:50%;transform:translate(-50%, -50%)}.checkbox.sc-scout-checkbox:checked::before{content:\"\";background-color:var(--color-text-brand-inverse);width:var(--spacing-6);height:var(--spacing-6);position:absolute;top:50%;left:50%;right:0;bottom:0;transform:translate(-50%, -50%);-webkit-mask-image:var(--icon-checkbox);mask-image:var(--icon-checkbox);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.checkbox.sc-scout-checkbox:disabled{pointer-events:none;background-color:var(--color-gray-100);border-color:var(--color-gray-100)}label.sc-scout-checkbox{display:flex;align-items:center;gap:var(--spacing-2);font:var(--type-label-base);color:var(--color-text-base)}";
7
-
8
- const ScoutCheckbox = /*@__PURE__*/ proxyCustomElement(class ScoutCheckbox extends Mixin(inputMixin) {
9
- constructor(registerHost) {
10
- super(false);
11
- if (registerHost !== false) {
12
- this.__registerHost();
13
- }
14
- this.scoutInputChange = createEvent(this, "scoutInputChange");
15
- this.scoutBlur = createEvent(this, "scoutBlur");
16
- this._scoutValidate = createEvent(this, "_scoutValidate");
17
- this._scoutInvalid = createEvent(this, "_scoutInvalid");
18
- this._scoutFieldId = createEvent(this, "_scoutFieldId");
19
- this.scoutChecked = createEvent(this, "scoutChecked");
20
- }
21
- checked = false;
22
- disabled = false;
23
- /**
24
- * Use this prop if you need to connect your checkbox with another element describing its use, other than the property label.
25
- */
26
- ariaLabelledby;
27
- label;
28
- value;
29
- name;
30
- scoutChecked;
31
- onChange(event) {
32
- const checkbox = event.target;
33
- this.scoutChecked.emit({
34
- checked: checkbox.checked,
35
- element: checkbox,
36
- });
37
- }
38
- render() {
39
- const Tag = this.label?.length ? "label" : "div";
40
- return (h(Tag, { key: '156e87e7a0d74f3cbc84b9c14a4ecce5b97e2912' }, h("input", { key: '6c70374d9e1f2605d7a0ec3b2216f8b055175e41', ref: (el) => this.setInputRef(el), id: this.ariaId, type: "checkbox", value: this.value, name: this.name, class: "checkbox", style: { "--icon-checkbox": `url(${checkSvg})` }, "aria-labelledby": this.ariaLabelledby, "aria-disabled": this.disabled, disabled: this.disabled, checked: this.checked, onChange: (event) => {
41
- this.onInput();
42
- this.onChange(event);
43
- }, onBlur: () => this.onBlur(), onInvalid: () => this.onInvalid() }), this.label));
44
- }
45
- static get style() { return checkboxCss; }
46
- }, [770, "scout-checkbox", {
47
- "validate": [16],
48
- "checked": [4],
49
- "disabled": [4],
50
- "ariaLabelledby": [1, "aria-labelledby"],
51
- "label": [1],
52
- "value": [1],
53
- "name": [1],
54
- "ariaId": [32]
55
- }]);
56
- function defineCustomElement() {
57
- if (typeof customElements === "undefined") {
58
- return;
59
- }
60
- const components = ["scout-checkbox"];
61
- components.forEach(tagName => { switch (tagName) {
62
- case "scout-checkbox":
63
- if (!customElements.get(tagName)) {
64
- customElements.define(tagName, ScoutCheckbox);
65
- }
66
- break;
67
- } });
68
- }
69
-
70
- export { ScoutCheckbox as S, defineCustomElement as d };
71
- //# sourceMappingURL=p-CwrP_ZZM.js.map
72
-
73
- //# sourceMappingURL=p-CwrP_ZZM.js.map
@@ -1 +0,0 @@
1
- {"file":"p-CwrP_ZZM.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,4fAA4f;;ACA7gB,MAAM,WAAW,GAAG,woDAAwoD;;ACuB/oD,MAAA,aACX,iBAAAA,kBAAA,CAAA,MAAA,aAAA,SAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;;;IAGjB,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEL,IAAA,KAAK;AAEL,IAAA,IAAI;AAEH,IAAA,YAAY;AAKrB,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAA0B;AAEjD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;AACzB,YAAA,OAAO,EAAE,QAAQ;AAClB,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK;QAChD,QACE,EAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACF,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAOC,QAAS,CAAA,CAAA,CAAG,EAAE,qBAChC,IAAI,CAAC,cAAc,EAAA,eAAA,EACrB,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,CAAC,KAAK,KAAI;gBAClB,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACtB,aAAC,EACD,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EACjC,CAAA,EACD,IAAI,CAAC,KAAK,CACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","checkIcon"],"sources":["../../node_modules/.pnpm/@tabler+icons@3.35.0/node_modules/@tabler/icons/icons/outline/check.svg","src/components/checkbox/checkbox.css?tag=scout-checkbox&encapsulation=scoped","src/components/checkbox/checkbox.tsx"],"sourcesContent":["<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"icon icon-tabler icons-tabler-outline icon-tabler-check\"\n>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M5 12l5 5l10 -10\" />\n</svg>",".checkbox {\n width: var(--spacing-6);\n height: var(--spacing-6);\n appearance: none;\n -webkit-appearance: none;\n display: flex;\n align-content: center;\n justify-content: center;\n border-radius: 3px;\n background-color: var(--color-text-brand-inverse);\n border: 2px solid var(--color-gray-300);\n position: relative;\n}\n\n.checkbox:hover {\n border: 2px solid var(--color-gray-400);\n box-shadow: inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);\n cursor: pointer;\n}\n\n.checkbox:active {\n background-color: var(--color-background-brand-subtle-pressed);\n}\n\n.checkbox:checked:hover {\n background-color: var(--color-background-brand-hovered);\n border-color: var(--color-background-brand-hovered);\n box-shadow: none;\n}\n\n.checkbox:checked {\n background-color: var(--color-background-brand-base);\n border-color: var(--color-background-brand-base);\n}\n\n.checkbox::after {\n content: \"\";\n position: absolute;\n width: var(--spacing-10);\n height: var(--spacing-10);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.checkbox:checked::before {\n content: \"\";\n background-color: var(--color-text-brand-inverse);\n width: var(--spacing-6);\n height: var(--spacing-6);\n position: absolute;\n /* Needed because of the border */\n top: 50%;\n left: 50%;\n right: 0;\n bottom: 0;\n transform: translate(-50%, -50%);\n mask-image: var(--icon-checkbox);\n mask-repeat: no-repeat;\n}\n\n.checkbox:disabled {\n pointer-events: none;\n background-color: var(--color-gray-100);\n border-color: var(--color-gray-100);\n}\n\nlabel {\n display: flex;\n align-items: center;\n gap: var(--spacing-2);\n font: var(--type-label-base);\n color: var(--color-text-base);\n}\n","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport checkIcon from \"@tabler/icons/outline/check.svg\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\n\n/**\n * The checkbox component is used to let users select one or more options from a\n * set. For toggling a single option, consider using the Switch component\n * instead. When used in a form, make sure to wrap it in a Field component to\n * display a label, help text, and error messages.\n */\n@Component({\n tag: \"scout-checkbox\",\n styleUrl: \"checkbox.css\",\n scoped: true,\n})\nexport class ScoutCheckbox\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n @Prop() checked: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your checkbox with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @Prop() value: string;\n\n @Prop() name: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n\n onChange(event: Event) {\n const checkbox = event.target as HTMLInputElement;\n\n this.scoutChecked.emit({\n checked: checkbox.checked,\n element: checkbox,\n });\n }\n\n render() {\n const Tag = this.label?.length ? \"label\" : \"div\";\n return (\n <Tag>\n <input\n ref={(el) => this.setInputRef(el)}\n id={this.ariaId}\n type=\"checkbox\"\n value={this.value}\n name={this.name}\n class=\"checkbox\"\n style={{ \"--icon-checkbox\": `url(${checkIcon})` }}\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.checked}\n onChange={(event) => {\n this.onInput();\n this.onChange(event);\n }}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n {this.label}\n </Tag>\n );\n }\n}\n"],"version":3}
@@ -1,62 +0,0 @@
1
- const inputMixin = (Base) => {
2
- const InputMixin = class extends Base {
3
- constructor() {
4
- super();
5
- }
6
- /**
7
- * Custom validation function run on top of the implicit validation performed
8
- * by the browser. Return a string with the validation message to mark the
9
- * input as invalid, or null to mark it as valid.
10
- */
11
- validate;
12
- scoutInputChange;
13
- scoutBlur;
14
- /**
15
- * Internal event used for form field validation.
16
- */
17
- _scoutValidate;
18
- /**
19
- * Internal event used for form field validation.
20
- */
21
- _scoutInvalid;
22
- /**
23
- * Internal event used for form field association.
24
- */
25
- _scoutFieldId;
26
- ariaId;
27
- inputElement;
28
- componentWillLoad() {
29
- this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;
30
- this._scoutFieldId.emit(this.ariaId);
31
- }
32
- componentDidLoad() {
33
- this.runValidation();
34
- }
35
- onInput() {
36
- this.runValidation();
37
- }
38
- onBlur() {
39
- this.scoutBlur.emit();
40
- }
41
- onInvalid() {
42
- this._scoutInvalid.emit();
43
- }
44
- runValidation() {
45
- if (!this.validate) {
46
- return;
47
- }
48
- const validationMessage = this.validate(this.inputElement.value);
49
- this.inputElement.setCustomValidity(validationMessage ?? "");
50
- this._scoutValidate.emit({ element: this.inputElement });
51
- }
52
- setInputRef(el) {
53
- this.inputElement = el;
54
- }
55
- };
56
- return InputMixin;
57
- };
58
-
59
- export { inputMixin as i };
60
- //# sourceMappingURL=p-DaGMxK4K.js.map
61
-
62
- //# sourceMappingURL=p-DaGMxK4K.js.map
@@ -1 +0,0 @@
1
- {"file":"p-DaGMxK4K.js","mappings":"AAQa,MAAA,UAAU,GAAG,CAAwB,IAAO,KAAI;UACrD,UAAW,GAAA,cAAQ,IAAI,CAAA;;;;AAC3B;;;;AAIG;AACK,QAAA,QAAQ;AAEP,QAAA,gBAAgB;AAIhB,QAAA,SAAS;AAElB;;AAEG;AACM,QAAA,cAAc;AAEvB;;AAEG;AACM,QAAA,aAAa;AAEtB;;AAEG;AACM,QAAA,aAAa;AAEb,QAAA,MAAM;AAEP,QAAA,YAAY;QAOpB,iBAAiB,GAAA;YACf,IAAI,CAAC,MAAM,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;YAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;QAGtC,gBAAgB,GAAA;YACd,IAAI,CAAC,aAAa,EAAE;;QAGtB,OAAO,GAAA;YACL,IAAI,CAAC,aAAa,EAAE;;QAGtB,MAAM,GAAA;AACJ,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;QAGvB,SAAS,GAAA;AACP,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;QAG3B,aAAa,GAAA;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB;;AAGF,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAE5D,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;;AAG1D,QAAA,WAAW,CACT,EAKuB,EAAA;AAEvB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;;AAG1B,IAAA,OAAO,UAAU;AACnB;;;;","names":[],"sources":["src/mixins/inputMixin.ts"],"sourcesContent":["import {\n Event,\n type EventEmitter,\n type MixedInCtor,\n Prop,\n State,\n} from \"@stencil/core\";\n\nexport const inputMixin = <B extends MixedInCtor>(Base: B) => {\n class InputMixin extends Base {\n /**\n * Custom validation function run on top of the implicit validation performed\n * by the browser. Return a string with the validation message to mark the\n * input as invalid, or null to mark it as valid.\n */\n @Prop() validate?: (value: string) => string | null;\n\n @Event() scoutInputChange: EventEmitter<{\n value: string;\n element: HTMLElement;\n }>;\n @Event() scoutBlur: EventEmitter<void>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutValidate: EventEmitter<{ element: HTMLElement }>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutInvalid: EventEmitter<void>;\n\n /**\n * Internal event used for form field association.\n */\n @Event() _scoutFieldId: EventEmitter<string>;\n\n @State() ariaId: string;\n\n private inputElement:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n\n componentWillLoad() {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._scoutFieldId.emit(this.ariaId);\n }\n\n componentDidLoad() {\n this.runValidation();\n }\n\n onInput() {\n this.runValidation();\n }\n\n onBlur() {\n this.scoutBlur.emit();\n }\n\n onInvalid() {\n this._scoutInvalid.emit();\n }\n\n runValidation() {\n if (!this.validate) {\n return;\n }\n\n const validationMessage = this.validate(this.inputElement.value);\n this.inputElement.setCustomValidity(validationMessage ?? \"\");\n\n this._scoutValidate.emit({ element: this.inputElement });\n }\n\n setInputRef(\n el:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement,\n ) {\n this.inputElement = el;\n }\n }\n return InputMixin;\n};\n"],"version":3}