@scouterna/ui-webc 2.0.0 → 2.2.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 (293) hide show
  1. package/dist/cjs/{index-D42maJcS.js → index-CtwQwhfH.js} +7 -8
  2. package/dist/cjs/index-CtwQwhfH.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/scout-app-bar.cjs.entry.js +20 -0
  7. package/dist/cjs/scout-app-bar.entry.cjs.js.map +1 -0
  8. package/dist/cjs/scout-bottom-bar-item.cjs.entry.js +8 -2
  9. package/dist/cjs/scout-bottom-bar-item.entry.cjs.js.map +1 -1
  10. package/dist/cjs/scout-bottom-bar.cjs.entry.js +2 -2
  11. package/dist/cjs/scout-bottom-bar.entry.cjs.js.map +1 -1
  12. package/dist/cjs/scout-button.cjs.entry.js +19 -3
  13. package/dist/cjs/scout-button.entry.cjs.js.map +1 -1
  14. package/dist/cjs/scout-card.cjs.entry.js +3 -3
  15. package/dist/cjs/scout-card.entry.cjs.js.map +1 -1
  16. package/dist/cjs/scout-checkbox.scout-radio-button.entry.cjs.js.map +1 -0
  17. package/dist/cjs/scout-checkbox_2.cjs.entry.js +91 -0
  18. package/dist/cjs/scout-divider.cjs.entry.js +19 -0
  19. package/dist/cjs/scout-divider.entry.cjs.js.map +1 -0
  20. package/dist/cjs/scout-field.cjs.entry.js +2 -2
  21. package/dist/cjs/scout-field.entry.cjs.js.map +1 -1
  22. package/dist/cjs/scout-input.cjs.entry.js +3 -2
  23. package/dist/cjs/scout-input.entry.cjs.js.map +1 -1
  24. package/dist/cjs/scout-link.cjs.entry.js +64 -0
  25. package/dist/cjs/scout-link.entry.cjs.js.map +1 -0
  26. package/dist/cjs/scout-list-view-item.cjs.entry.js +63 -0
  27. package/dist/cjs/scout-list-view-item.entry.cjs.js.map +1 -0
  28. package/dist/cjs/scout-list-view-subheader.cjs.entry.js +21 -0
  29. package/dist/cjs/scout-list-view-subheader.entry.cjs.js.map +1 -0
  30. package/dist/cjs/scout-list-view.cjs.entry.js +39 -0
  31. package/dist/cjs/scout-list-view.entry.cjs.js.map +1 -0
  32. package/dist/cjs/scout-loader.cjs.entry.js +73 -0
  33. package/dist/cjs/scout-loader.entry.cjs.js.map +1 -0
  34. package/dist/cjs/scout-select.cjs.entry.js +61 -0
  35. package/dist/cjs/scout-select.entry.cjs.js.map +1 -0
  36. package/dist/cjs/scout-stack.cjs.entry.js +39 -0
  37. package/dist/cjs/scout-stack.entry.cjs.js.map +1 -0
  38. package/dist/cjs/scout-switch.cjs.entry.js +3 -3
  39. package/dist/cjs/scout-switch.entry.cjs.js.map +1 -1
  40. package/dist/cjs/ui-webc.cjs.js +3 -3
  41. package/dist/cjs/ui-webc.cjs.js.map +1 -1
  42. package/dist/collection/collection-manifest.json +13 -3
  43. package/dist/collection/components/app-bar/app-bar.css +27 -0
  44. package/dist/collection/components/app-bar/app-bar.js +44 -0
  45. package/dist/collection/components/app-bar/app-bar.js.map +1 -0
  46. package/dist/collection/components/bottom-bar/bottom-bar.css +1 -1
  47. package/dist/collection/components/bottom-bar/bottom-bar.js +1 -1
  48. package/dist/collection/components/bottom-bar-item/bottom-bar-item.css +1 -1
  49. package/dist/collection/components/bottom-bar-item/bottom-bar-item.js +46 -2
  50. package/dist/collection/components/bottom-bar-item/bottom-bar-item.js.map +1 -1
  51. package/dist/collection/components/button/button.css +40 -17
  52. package/dist/collection/components/button/button.js +97 -4
  53. package/dist/collection/components/button/button.js.map +1 -1
  54. package/dist/collection/components/card/card.css +4 -2
  55. package/dist/collection/components/card/card.js +1 -1
  56. package/dist/collection/components/checkbox/checkbox.css +2 -6
  57. package/dist/collection/components/checkbox/checkbox.js +47 -13
  58. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  59. package/dist/collection/components/divider/divider.css +5 -0
  60. package/dist/collection/components/divider/divider.js +20 -0
  61. package/dist/collection/components/divider/divider.js.map +1 -0
  62. package/dist/collection/components/field/field.css +1 -1
  63. package/dist/collection/components/field/field.js +1 -1
  64. package/dist/collection/components/input/input.css +1 -1
  65. package/dist/collection/components/input/input.js +23 -3
  66. package/dist/collection/components/input/input.js.map +1 -1
  67. package/dist/collection/components/link/link.css +30 -0
  68. package/dist/collection/components/link/link.js +207 -0
  69. package/dist/collection/components/link/link.js.map +1 -0
  70. package/dist/collection/components/list-view/list-view.css +5 -0
  71. package/dist/collection/components/list-view/list-view.js +50 -0
  72. package/dist/collection/components/list-view/list-view.js.map +1 -0
  73. package/dist/collection/components/list-view-item/list-view-item.css +71 -0
  74. package/dist/collection/components/list-view-item/list-view-item.js +282 -0
  75. package/dist/collection/components/list-view-item/list-view-item.js.map +1 -0
  76. package/dist/collection/components/list-view-subheader/list-view-subheader.css +18 -0
  77. package/dist/collection/components/list-view-subheader/list-view-subheader.js +65 -0
  78. package/dist/collection/components/list-view-subheader/list-view-subheader.js.map +1 -0
  79. package/dist/collection/components/loader/loader.css +118 -0
  80. package/dist/collection/components/loader/loader.js +111 -0
  81. package/dist/collection/components/loader/loader.js.map +1 -0
  82. package/dist/collection/components/loader/symbols/adventurer.svg +22 -0
  83. package/dist/collection/components/loader/symbols/challenger.svg +22 -0
  84. package/dist/collection/components/loader/symbols/discoverer.svg +22 -0
  85. package/dist/collection/components/loader/symbols/family-scout.svg +22 -0
  86. package/dist/collection/components/loader/symbols/rover.svg +22 -0
  87. package/dist/collection/components/loader/symbols/tracker.svg +22 -0
  88. package/dist/collection/components/radio-button/radio-button.css +73 -0
  89. package/dist/collection/components/radio-button/radio-button.js +209 -0
  90. package/dist/collection/components/radio-button/radio-button.js.map +1 -0
  91. package/dist/collection/components/select/select.css +59 -0
  92. package/dist/collection/components/select/select.js +196 -0
  93. package/dist/collection/components/select/select.js.map +1 -0
  94. package/dist/collection/components/stack/stack.css +6 -0
  95. package/dist/collection/components/stack/stack.js +96 -0
  96. package/dist/collection/components/stack/stack.js.map +1 -0
  97. package/dist/collection/components/switch/switch.js +2 -2
  98. package/dist/collection/components/switch/switch.js.map +1 -1
  99. package/dist/collection/index.js +1 -1
  100. package/dist/collection/index.js.map +1 -1
  101. package/dist/collection/utils/utils.js +1 -1
  102. package/dist/collection/utils/utils.js.map +1 -1
  103. package/dist/components/index.js +2 -2
  104. package/dist/components/index.js.map +1 -1
  105. package/dist/components/p-C2uc7k4n.js +73 -0
  106. package/dist/components/p-C2uc7k4n.js.map +1 -0
  107. package/dist/components/{p-MfRr-Vl1.js → p-DNlelzlE.js} +7 -9
  108. package/dist/components/p-DNlelzlE.js.map +1 -0
  109. package/dist/components/p-Jt6ZXtWI.js +71 -0
  110. package/dist/components/p-Jt6ZXtWI.js.map +1 -0
  111. package/dist/components/scout-app-bar.d.ts +11 -0
  112. package/dist/components/scout-app-bar.js +42 -0
  113. package/dist/components/scout-app-bar.js.map +1 -0
  114. package/dist/components/scout-bottom-bar-item.js +11 -3
  115. package/dist/components/scout-bottom-bar-item.js.map +1 -1
  116. package/dist/components/scout-bottom-bar.js +2 -2
  117. package/dist/components/scout-bottom-bar.js.map +1 -1
  118. package/dist/components/scout-button.js +25 -5
  119. package/dist/components/scout-button.js.map +1 -1
  120. package/dist/components/scout-card.js +3 -3
  121. package/dist/components/scout-card.js.map +1 -1
  122. package/dist/components/scout-checkbox.js +1 -70
  123. package/dist/components/scout-checkbox.js.map +1 -1
  124. package/dist/components/scout-divider.d.ts +11 -0
  125. package/dist/components/scout-divider.js +39 -0
  126. package/dist/components/scout-divider.js.map +1 -0
  127. package/dist/components/scout-field.js +3 -3
  128. package/dist/components/scout-field.js.map +1 -1
  129. package/dist/components/scout-input.js +5 -3
  130. package/dist/components/scout-input.js.map +1 -1
  131. package/dist/components/scout-link.d.ts +11 -0
  132. package/dist/components/scout-link.js +91 -0
  133. package/dist/components/scout-link.js.map +1 -0
  134. package/dist/components/scout-list-view-item.d.ts +11 -0
  135. package/dist/components/scout-list-view-item.js +106 -0
  136. package/dist/components/scout-list-view-item.js.map +1 -0
  137. package/dist/components/scout-list-view-subheader.d.ts +11 -0
  138. package/dist/components/scout-list-view-subheader.js +44 -0
  139. package/dist/components/scout-list-view-subheader.js.map +1 -0
  140. package/dist/components/scout-list-view.d.ts +11 -0
  141. package/dist/components/scout-list-view.js +59 -0
  142. package/dist/components/scout-list-view.js.map +1 -0
  143. package/dist/components/scout-loader.d.ts +11 -0
  144. package/dist/components/scout-loader.js +96 -0
  145. package/dist/components/scout-loader.js.map +1 -0
  146. package/dist/components/scout-radio-button.d.ts +11 -0
  147. package/dist/components/scout-radio-button.js +9 -0
  148. package/dist/components/scout-radio-button.js.map +1 -0
  149. package/dist/components/scout-select.d.ts +11 -0
  150. package/dist/components/scout-select.js +86 -0
  151. package/dist/components/scout-select.js.map +1 -0
  152. package/dist/components/scout-stack.d.ts +11 -0
  153. package/dist/components/scout-stack.js +62 -0
  154. package/dist/components/scout-stack.js.map +1 -0
  155. package/dist/components/scout-switch.js +4 -4
  156. package/dist/components/scout-switch.js.map +1 -1
  157. package/dist/custom-elements.json +1524 -10
  158. package/dist/esm/{index-DByXnE9g.js → index-Cp4mWtfs.js} +7 -9
  159. package/dist/esm/index-Cp4mWtfs.js.map +1 -0
  160. package/dist/esm/index.js +1 -1
  161. package/dist/esm/index.js.map +1 -1
  162. package/dist/esm/loader.js +3 -3
  163. package/dist/esm/scout-app-bar.entry.js +18 -0
  164. package/dist/esm/scout-app-bar.entry.js.map +1 -0
  165. package/dist/esm/scout-bottom-bar-item.entry.js +8 -2
  166. package/dist/esm/scout-bottom-bar-item.entry.js.map +1 -1
  167. package/dist/esm/scout-bottom-bar.entry.js +2 -2
  168. package/dist/esm/scout-bottom-bar.entry.js.map +1 -1
  169. package/dist/esm/scout-button.entry.js +19 -3
  170. package/dist/esm/scout-button.entry.js.map +1 -1
  171. package/dist/esm/scout-card.entry.js +3 -3
  172. package/dist/esm/scout-card.entry.js.map +1 -1
  173. package/dist/esm/scout-checkbox.scout-radio-button.entry.js.map +1 -0
  174. package/dist/esm/scout-checkbox_2.entry.js +88 -0
  175. package/dist/esm/scout-divider.entry.js +17 -0
  176. package/dist/esm/scout-divider.entry.js.map +1 -0
  177. package/dist/esm/scout-field.entry.js +2 -2
  178. package/dist/esm/scout-field.entry.js.map +1 -1
  179. package/dist/esm/scout-input.entry.js +3 -2
  180. package/dist/esm/scout-input.entry.js.map +1 -1
  181. package/dist/esm/scout-link.entry.js +62 -0
  182. package/dist/esm/scout-link.entry.js.map +1 -0
  183. package/dist/esm/scout-list-view-item.entry.js +61 -0
  184. package/dist/esm/scout-list-view-item.entry.js.map +1 -0
  185. package/dist/esm/scout-list-view-subheader.entry.js +19 -0
  186. package/dist/esm/scout-list-view-subheader.entry.js.map +1 -0
  187. package/dist/esm/scout-list-view.entry.js +37 -0
  188. package/dist/esm/scout-list-view.entry.js.map +1 -0
  189. package/dist/esm/scout-loader.entry.js +71 -0
  190. package/dist/esm/scout-loader.entry.js.map +1 -0
  191. package/dist/esm/scout-select.entry.js +59 -0
  192. package/dist/esm/scout-select.entry.js.map +1 -0
  193. package/dist/esm/scout-stack.entry.js +37 -0
  194. package/dist/esm/scout-stack.entry.js.map +1 -0
  195. package/dist/esm/scout-switch.entry.js +3 -3
  196. package/dist/esm/scout-switch.entry.js.map +1 -1
  197. package/dist/esm/ui-webc.js +4 -4
  198. package/dist/esm/ui-webc.js.map +1 -1
  199. package/dist/types/components/app-bar/app-bar.d.ts +4 -0
  200. package/dist/types/components/bottom-bar-item/bottom-bar-item.d.ts +2 -0
  201. package/dist/types/components/button/button.d.ts +5 -1
  202. package/dist/types/components/checkbox/checkbox.d.ts +4 -2
  203. package/dist/types/components/divider/divider.d.ts +3 -0
  204. package/dist/types/components/input/input.d.ts +1 -0
  205. package/dist/types/components/link/link.d.ts +39 -0
  206. package/dist/types/components/list-view/list-view.d.ts +8 -0
  207. package/dist/types/components/list-view-item/list-view-item.d.ts +19 -0
  208. package/dist/types/components/list-view-subheader/list-view-subheader.d.ts +5 -0
  209. package/dist/types/components/loader/loader.d.ts +15 -0
  210. package/dist/types/components/radio-button/radio-button.d.ts +24 -0
  211. package/dist/types/components/select/select.d.ts +32 -0
  212. package/dist/types/components/stack/stack.d.ts +22 -0
  213. package/dist/types/components.d.ts +427 -4
  214. package/dist/types/index.d.ts +2 -2
  215. package/dist/types/stencil-public-runtime.d.ts +20 -11
  216. package/dist/ui-webc/index.esm.js.map +1 -1
  217. package/dist/ui-webc/{p-2b434594.entry.js → p-0b42e59f.entry.js} +2 -2
  218. package/dist/ui-webc/{p-2b434594.entry.js.map → p-0b42e59f.entry.js.map} +1 -1
  219. package/dist/ui-webc/p-29689fe2.entry.js +2 -0
  220. package/dist/ui-webc/p-29689fe2.entry.js.map +1 -0
  221. package/dist/ui-webc/p-33010b09.entry.js +2 -0
  222. package/dist/ui-webc/p-33010b09.entry.js.map +1 -0
  223. package/dist/ui-webc/p-3b426423.entry.js +2 -0
  224. package/dist/ui-webc/p-3b426423.entry.js.map +1 -0
  225. package/dist/ui-webc/p-3e34c267.entry.js +2 -0
  226. package/dist/ui-webc/p-3e34c267.entry.js.map +1 -0
  227. package/dist/ui-webc/{p-7245a55a.entry.js → p-4c70c251.entry.js} +2 -2
  228. package/dist/ui-webc/p-5d73566e.entry.js +2 -0
  229. package/dist/ui-webc/p-5d73566e.entry.js.map +1 -0
  230. package/dist/ui-webc/p-6ef8c777.entry.js +2 -0
  231. package/dist/ui-webc/p-6ef8c777.entry.js.map +1 -0
  232. package/dist/ui-webc/p-714363c8.entry.js +2 -0
  233. package/dist/ui-webc/p-714363c8.entry.js.map +1 -0
  234. package/dist/ui-webc/p-7f8dc0da.entry.js +2 -0
  235. package/dist/ui-webc/{p-383736c1.entry.js.map → p-7f8dc0da.entry.js.map} +1 -1
  236. package/dist/ui-webc/p-85e7b20f.entry.js +2 -0
  237. package/dist/ui-webc/p-85e7b20f.entry.js.map +1 -0
  238. package/dist/ui-webc/p-93ee0d2c.entry.js +2 -0
  239. package/dist/ui-webc/p-93ee0d2c.entry.js.map +1 -0
  240. package/dist/ui-webc/p-9f80fed6.entry.js +2 -0
  241. package/dist/ui-webc/p-Cp4mWtfs.js +3 -0
  242. package/dist/ui-webc/p-Cp4mWtfs.js.map +1 -0
  243. package/dist/ui-webc/p-afa38195.entry.js +2 -0
  244. package/dist/ui-webc/p-afa38195.entry.js.map +1 -0
  245. package/dist/ui-webc/p-b8715dc5.entry.js +2 -0
  246. package/dist/ui-webc/p-b8715dc5.entry.js.map +1 -0
  247. package/dist/ui-webc/p-e4070682.entry.js +2 -0
  248. package/dist/ui-webc/p-e4070682.entry.js.map +1 -0
  249. package/dist/ui-webc/p-efab02f0.entry.js +2 -0
  250. package/dist/ui-webc/p-efab02f0.entry.js.map +1 -0
  251. package/dist/ui-webc/scout-app-bar.entry.esm.js.map +1 -0
  252. package/dist/ui-webc/scout-bottom-bar-item.entry.esm.js.map +1 -1
  253. package/dist/ui-webc/scout-bottom-bar.entry.esm.js.map +1 -1
  254. package/dist/ui-webc/scout-button.entry.esm.js.map +1 -1
  255. package/dist/ui-webc/scout-card.entry.esm.js.map +1 -1
  256. package/dist/ui-webc/scout-checkbox.scout-radio-button.entry.esm.js.map +1 -0
  257. package/dist/ui-webc/scout-divider.entry.esm.js.map +1 -0
  258. package/dist/ui-webc/scout-field.entry.esm.js.map +1 -1
  259. package/dist/ui-webc/scout-input.entry.esm.js.map +1 -1
  260. package/dist/ui-webc/scout-link.entry.esm.js.map +1 -0
  261. package/dist/ui-webc/scout-list-view-item.entry.esm.js.map +1 -0
  262. package/dist/ui-webc/scout-list-view-subheader.entry.esm.js.map +1 -0
  263. package/dist/ui-webc/scout-list-view.entry.esm.js.map +1 -0
  264. package/dist/ui-webc/scout-loader.entry.esm.js.map +1 -0
  265. package/dist/ui-webc/scout-select.entry.esm.js.map +1 -0
  266. package/dist/ui-webc/scout-stack.entry.esm.js.map +1 -0
  267. package/dist/ui-webc/scout-switch.entry.esm.js.map +1 -1
  268. package/dist/ui-webc/ui-webc.css +2 -13
  269. package/dist/ui-webc/ui-webc.esm.js +1 -1
  270. package/dist/ui-webc/ui-webc.esm.js.map +1 -1
  271. package/package.json +9 -9
  272. package/dist/cjs/index-D42maJcS.js.map +0 -1
  273. package/dist/cjs/scout-checkbox.cjs.entry.js +0 -53
  274. package/dist/cjs/scout-checkbox.entry.cjs.js.map +0 -1
  275. package/dist/components/p-MfRr-Vl1.js.map +0 -1
  276. package/dist/esm/index-DByXnE9g.js.map +0 -1
  277. package/dist/esm/scout-checkbox.entry.js +0 -51
  278. package/dist/esm/scout-checkbox.entry.js.map +0 -1
  279. package/dist/ui-webc/p-24632b65.entry.js +0 -2
  280. package/dist/ui-webc/p-24632b65.entry.js.map +0 -1
  281. package/dist/ui-webc/p-383736c1.entry.js +0 -2
  282. package/dist/ui-webc/p-99329c64.entry.js +0 -2
  283. package/dist/ui-webc/p-99329c64.entry.js.map +0 -1
  284. package/dist/ui-webc/p-9b7c270d.entry.js +0 -2
  285. package/dist/ui-webc/p-9b7c270d.entry.js.map +0 -1
  286. package/dist/ui-webc/p-DByXnE9g.js +0 -3
  287. package/dist/ui-webc/p-DByXnE9g.js.map +0 -1
  288. package/dist/ui-webc/p-c0c3a4af.entry.js +0 -2
  289. package/dist/ui-webc/p-e7602729.entry.js +0 -2
  290. package/dist/ui-webc/p-e7602729.entry.js.map +0 -1
  291. package/dist/ui-webc/scout-checkbox.entry.esm.js.map +0 -1
  292. /package/dist/ui-webc/{p-7245a55a.entry.js.map → p-4c70c251.entry.js.map} +0 -0
  293. /package/dist/ui-webc/{p-c0c3a4af.entry.js.map → p-9f80fed6.entry.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  function format(first, middle, last) {
4
- return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
4
+ return ((first || "") + (middle ? ` ${middle}` : "") + (last ? ` ${last}` : ""));
5
5
  }
6
6
 
7
7
  exports.format = format;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n"],"names":[],"mappings":";;SAAgB,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa,EAAA;AACnE,IAAA,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,GAAG,CAAI,CAAA,EAAA,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE,GAAG,EAAE,CAAC;AAChF;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\n return (\n (first || \"\") + (middle ? ` ${middle}` : \"\") + (last ? ` ${last}` : \"\")\n );\n}\n"],"names":[],"mappings":";;SAAgB,MAAM,CAAC,KAAc,EAAE,MAAe,EAAE,IAAa,EAAA;AACnE,IAAA,QACE,CAAC,KAAK,IAAI,EAAE,KAAK,MAAM,GAAG,CAAI,CAAA,EAAA,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,GAAG,EAAE,CAAC;AAE3E;;;;"}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D42maJcS.js');
3
+ var index = require('./index-CtwQwhfH.js');
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await index.globalScripts();
8
- return index.bootstrapLazy([["scout-bottom-bar.cjs",[[273,"scout-bottom-bar"]]],["scout-bottom-bar-item.cjs",[[273,"scout-bottom-bar-item",{"type":[1],"href":[1],"icon":[1],"label":[1],"active":[4]}]]],["scout-button.cjs",[[273,"scout-button",{"type":[1],"variant":[1],"icon":[1]}]]],["scout-card.cjs",[[273,"scout-card"]]],["scout-checkbox.cjs",[[258,"scout-checkbox",{"checked":[4],"disabled":[4],"ariaLabelledby":[1,"aria-labelledby"],"label":[1],"ariaId":[32]}]]],["scout-field.cjs",[[262,"scout-field",{"label":[1],"helpText":[1,"help-text"],"inputId":[32],"errorText":[32],"errorHidden":[32]},[[0,"_fieldId","catchFieldId"],[0,"scoutInputChange","handleInputChange"],[0,"scoutBlur","handleValidationBlur"]]]]],["scout-input.cjs",[[258,"scout-input",{"type":[1],"inputmode":[1],"pattern":[1],"value":[1],"disabled":[4],"validate":[16],"ariaId":[32]}]]],["scout-switch.cjs",[[273,"scout-switch",{"toggled":[4],"disabled":[4],"ariaLabelledby":[1,"aria-labelledby"],"label":[1],"ariaId":[32]}]]]], options);
8
+ return index.bootstrapLazy([["scout-list-view-item.cjs",[[785,"scout-list-view-item",{"icon":[1],"primary":[1],"secondary":[1],"type":[1],"href":[1],"target":[1],"rel":[1],"name":[1],"value":[1],"checked":[4]}]]],["scout-app-bar.cjs",[[785,"scout-app-bar",{"titleText":[1,"title-text"]}]]],["scout-bottom-bar.cjs",[[273,"scout-bottom-bar"]]],["scout-bottom-bar-item.cjs",[[785,"scout-bottom-bar-item",{"type":[1],"href":[1],"target":[1],"rel":[1],"icon":[1],"label":[1],"active":[4]}]]],["scout-button.cjs",[[785,"scout-button",{"type":[1],"href":[1],"target":[1],"rel":[1],"variant":[1],"icon":[1],"iconOnly":[4,"icon-only"]}]]],["scout-card.cjs",[[273,"scout-card"]]],["scout-divider.cjs",[[273,"scout-divider"]]],["scout-field.cjs",[[774,"scout-field",{"label":[1],"helpText":[1,"help-text"],"inputId":[32],"errorText":[32],"errorHidden":[32]},[[0,"_fieldId","catchFieldId"],[0,"scoutInputChange","handleInputChange"],[0,"scoutBlur","handleValidationBlur"]]]]],["scout-input.cjs",[[770,"scout-input",{"type":[1],"inputmode":[1],"pattern":[1],"value":[1],"name":[1],"disabled":[4],"validate":[16],"ariaId":[32]}]]],["scout-link.cjs",[[785,"scout-link",{"href":[1],"label":[1],"rel":[1],"linkAriaLabel":[1,"link-aria-label"],"type":[1],"target":[1]}]]],["scout-list-view.cjs",[[273,"scout-list-view",null,[[0,"scoutChecked","onScoutChecked"]]]]],["scout-list-view-subheader.cjs",[[785,"scout-list-view-subheader",{"text":[1],"headingLevel":[1,"heading-level"]}]]],["scout-loader.cjs",[[769,"scout-loader",{"text":[1],"size":[1]}]]],["scout-select.cjs",[[774,"scout-select",{"value":[1],"disabled":[4],"name":[1],"validate":[16],"ariaId":[32]}]]],["scout-stack.cjs",[[785,"scout-stack",{"direction":[1],"gapSize":[1,"gap-size"]}]]],["scout-switch.cjs",[[785,"scout-switch",{"toggled":[4],"disabled":[4],"ariaLabelledby":[1,"aria-labelledby"],"label":[1],"ariaId":[32]}]]],["scout-checkbox_2.cjs",[[770,"scout-checkbox",{"checked":[4],"disabled":[4],"ariaLabelledby":[1,"aria-labelledby"],"label":[1],"value":[1],"name":[1],"ariaId":[32]}],[770,"scout-radio-button",{"checked":[4],"disabled":[4],"ariaLabelledby":[1,"aria-labelledby"],"label":[1],"value":[1],"name":[1],"ariaId":[32]}]]]], options);
9
9
  };
10
10
 
11
11
  exports.setNonce = index.setNonce;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CtwQwhfH.js');
4
+
5
+ const appBarCss = ":host{display:flex;width:100%}::slotted(scout-button){height:100%}.container{display:flex;flex:1;height:var(--spacing-14);background-color:var(--color-white);border-bottom:1px solid var(--color-neutral-100);color:var(--color-text-brand-base);padding:var(--spacing-1)}.title{flex:1;display:flex;align-items:center;font:var(--type-body-lg);font-weight:500;padding:0 var(--spacing-2)}";
6
+
7
+ const ScoutAppBar = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ }
11
+ titleText;
12
+ render() {
13
+ return (index.h("header", { key: '041b27816bb20c69b19b27ef90515c2cec8f2131', class: "container" }, index.h("slot", { key: '0171b39a13600bc784df175ad4499891415a58b2', name: "prefix" }), index.h("div", { key: '43c4905c019583a11ae290e4c049f1ccb7c08242', class: "title" }, this.titleText), index.h("slot", { key: '26741e8d7ec8559a720dd52a152d939ef857e2b5', name: "suffix" })));
14
+ }
15
+ static get delegatesFocus() { return true; }
16
+ };
17
+ ScoutAppBar.style = appBarCss;
18
+
19
+ exports.scout_app_bar = ScoutAppBar;
20
+ //# sourceMappingURL=scout-app-bar.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout-app-bar.entry.cjs.js","sources":["src/components/app-bar/app-bar.css?tag=scout-app-bar&encapsulation=shadow","src/components/app-bar/app-bar.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n}\n\n::slotted(scout-button) {\n height: 100%;\n}\n\n.container {\n display: flex;\n flex: 1;\n height: var(--spacing-14);\n background-color: var(--color-white);\n border-bottom: 1px solid var(--color-neutral-100);\n color: var(--color-text-brand-base);\n padding: var(--spacing-1);\n}\n\n.title {\n flex: 1;\n display: flex;\n align-items: center;\n font: var(--type-body-lg);\n font-weight: 500;\n padding: 0 var(--spacing-2);\n}\n","import { Component, h, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"scout-app-bar\",\n styleUrl: \"app-bar.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutAppBar {\n @Prop() titleText?: string;\n\n render() {\n return (\n <header class=\"container\">\n <slot name=\"prefix\" />\n <div class=\"title\">{this.titleText}</div>\n <slot name=\"suffix\" />\n </header>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,SAAS,GAAG,+XAA+X;;MCSpY,WAAW,GAAA,MAAA;;;;AACd,IAAA,SAAS;IAEjB,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,KAAK,EAAC,WAAW,EAAA,EACvBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAG,CAAA,EACtBA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,SAAS,CAAO,EACzCA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAG,CAAA,CACf;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D42maJcS.js');
3
+ var index = require('./index-CtwQwhfH.js');
4
4
 
5
5
  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
6
6
 
@@ -20,6 +20,8 @@ const ScoutBottomBarItem = class {
20
20
  * `type` is set to "link".
21
21
  */
22
22
  href;
23
+ target;
24
+ rel;
23
25
  /**
24
26
  * An icon to display above the label. Must be an SVG string.
25
27
  */
@@ -39,9 +41,13 @@ const ScoutBottomBarItem = class {
39
41
  const props = this.type === "link"
40
42
  ? {
41
43
  href: this.href,
44
+ target: this.target,
45
+ // This might not be our job, but better safe than sorry.
46
+ rel: this.rel ??
47
+ (this.target === "_blank" ? "noopener noreferrer" : undefined),
42
48
  }
43
49
  : {};
44
- return (index.h(Tag, { key: 'da439bd71733883dd610eb24b9ffffb9bb2369e1', class: clsx("button", this.active && "active"), onClick: () => this.scoutClick.emit(), ...props }, index.h("span", { key: 'e3267d4487d643265984555155760cbdb242ef81', class: "icon", innerHTML: this.icon }), index.h("span", { key: '02ade513642f237b24ef25856bf4b56e386b7b2a', class: "label" }, this.label)));
50
+ return (index.h(Tag, { key: '96f414836614c63073d7d4250e5d51e9b4f0fe18', class: clsx("button", this.active && "active"), onClick: () => this.scoutClick.emit(), ...props }, index.h("span", { key: '9a6715eb90b616aa62bd4120ff49aeb687d43d27', class: "icon", innerHTML: this.icon }), index.h("span", { key: 'b66e620d12e0da541e4b6366a2eb373383dff4b8', class: "label" }, this.label)));
45
51
  }
46
52
  static get delegatesFocus() { return true; }
47
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scout-bottom-bar-item.entry.cjs.js","sources":["../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","src/components/bottom-bar-item/bottom-bar-item.css?tag=scout-bottom-bar-item&encapsulation=shadow","src/components/bottom-bar-item/bottom-bar-item.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;",":host {\n display: flex;\n flex: 1;\n}\n\n.button {\n display: flex;\n flex-direction: column;\n flex: 1;\n justify-content: center;\n align-items: center;\n background-color: transparent;\n border: none;\n color: var(--color-text-base);\n cursor: pointer;\n}\n\n.button:hover {\n background-color: var(--color-neutral-50);\n}\n\n.button.active {\n background-color: var(--color-blue-50);\n color: var(--color-blue-500);\n}\n\n.button .icon {\n width: var(--spacing-6);\n height: var(--spacing-6);\n}\n\n.button .label {\n font: var(--type-label-sm);\n}\n\na {\n text-decoration: none;\n}","import { Component, Event, type EventEmitter, h, Prop } from \"@stencil/core\";\nimport clsx from \"clsx\";\n\nexport type ItemType = \"button\" | \"link\";\n\n/**\n * A bottom bar item used within the bottom bar for navigation. Should not be\n * used outside of a bottom bar.\n */\n@Component({\n tag: \"scout-bottom-bar-item\",\n styleUrl: \"bottom-bar-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutBottomBarItem {\n /**\n * The type of the bottom bar item, either a button or a link.\n */\n @Prop() type: ItemType = \"button\";\n\n /**\n * An optional link to navigate to when the item is clicked. Only used when\n * `type` is set to \"link\".\n */\n @Prop() href?: string;\n\n /**\n * An icon to display above the label. Must be an SVG string.\n */\n @Prop() icon!: string;\n\n /**\n * The label to display below the icon.\n */\n @Prop() label!: string;\n\n /**\n * Whether the item is currently active. Should be set to true when the item\n * represents the current page.\n */\n @Prop() active?: boolean;\n\n @Event() scoutClick: EventEmitter<void>;\n\n render() {\n const Tag = this.type === \"link\" ? \"a\" : \"button\";\n\n const props =\n this.type === \"link\"\n ? {\n href: this.href,\n }\n : {};\n\n return (\n <Tag\n class={clsx(\"button\", this.active && \"active\")}\n onClick={() => this.scoutClick.emit()}\n {...props}\n >\n <span class=\"icon\" innerHTML={this.icon} />\n <span class=\"label\">{this.label}</span>\n </Tag>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAQ,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;;ACA/W,MAAM,gBAAgB,GAAG,+eAA+e;;MCgB3f,kBAAkB,GAAA,MAAA;;;;;AAC7B;;AAEG;IACK,IAAI,GAAa,QAAQ;AAEjC;;;AAGG;AACK,IAAA,IAAI;AAEZ;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;AACK,IAAA,KAAK;AAEb;;;AAGG;AACK,IAAA,MAAM;AAEL,IAAA,UAAU;IAEnB,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,QAAQ;AAEjD,QAAA,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB;cACD,EAAE;AAER,QAAA,QACEA,OAAA,CAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EACF,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,EAC9C,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KACjC,KAAK,EAAA,EAETA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAI,CAAA,EAC3CA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,OAAO,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,CACnC;;;;;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"scout-bottom-bar-item.entry.cjs.js","sources":["../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","src/components/bottom-bar-item/bottom-bar-item.css?tag=scout-bottom-bar-item&encapsulation=shadow","src/components/bottom-bar-item/bottom-bar-item.tsx"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;",":host {\n display: flex;\n flex: 1;\n}\n\n.button {\n display: flex;\n flex-direction: column;\n flex: 1;\n justify-content: center;\n align-items: center;\n background-color: transparent;\n border: none;\n color: var(--color-text-base);\n cursor: pointer;\n}\n\n.button:hover {\n background-color: var(--color-neutral-50);\n}\n\n.button.active {\n background-color: var(--color-blue-50);\n color: var(--color-blue-500);\n}\n\n.button .icon {\n width: var(--spacing-6);\n height: var(--spacing-6);\n}\n\n.button .label {\n font: var(--type-label-sm);\n}\n\na {\n text-decoration: none;\n}\n","import { Component, Event, type EventEmitter, h, Prop } from \"@stencil/core\";\nimport clsx from \"clsx\";\n\nexport type ItemType = \"button\" | \"link\";\n\n/**\n * A bottom bar item used within the bottom bar for navigation. Should not be\n * used outside of a bottom bar.\n */\n@Component({\n tag: \"scout-bottom-bar-item\",\n styleUrl: \"bottom-bar-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutBottomBarItem {\n /**\n * The type of the bottom bar item, either a button or a link.\n */\n @Prop() type: ItemType = \"button\";\n\n /**\n * An optional link to navigate to when the item is clicked. Only used when\n * `type` is set to \"link\".\n */\n @Prop() href?: string;\n @Prop() target?: string;\n @Prop() rel?: string;\n\n /**\n * An icon to display above the label. Must be an SVG string.\n */\n @Prop() icon!: string;\n\n /**\n * The label to display below the icon.\n */\n @Prop() label!: string;\n\n /**\n * Whether the item is currently active. Should be set to true when the item\n * represents the current page.\n */\n @Prop() active?: boolean;\n\n @Event() scoutClick: EventEmitter<void>;\n\n render() {\n const Tag = this.type === \"link\" ? \"a\" : \"button\";\n\n const props =\n this.type === \"link\"\n ? {\n href: this.href,\n target: this.target,\n // This might not be our job, but better safe than sorry.\n rel:\n this.rel ??\n (this.target === \"_blank\" ? \"noopener noreferrer\" : undefined),\n }\n : {};\n\n return (\n <Tag\n class={clsx(\"button\", this.active && \"active\")}\n onClick={() => this.scoutClick.emit()}\n {...props}\n >\n <span class=\"icon\" innerHTML={this.icon} />\n <span class=\"label\">{this.label}</span>\n </Tag>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAQ,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;;ACA/W,MAAM,gBAAgB,GAAG,+eAA+e;;MCgB3f,kBAAkB,GAAA,MAAA;;;;;AAC7B;;AAEG;IACK,IAAI,GAAa,QAAQ;AAEjC;;;AAGG;AACK,IAAA,IAAI;AACJ,IAAA,MAAM;AACN,IAAA,GAAG;AAEX;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;AACK,IAAA,KAAK;AAEb;;;AAGG;AACK,IAAA,MAAM;AAEL,IAAA,UAAU;IAEnB,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,QAAQ;AAEjD,QAAA,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;;gBAEnB,GAAG,EACD,IAAI,CAAC,GAAG;AACR,qBAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG,SAAS,CAAC;AACjE;cACD,EAAE;AAER,QAAA,QACEA,OAAA,CAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EACF,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,EAC9C,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KACjC,KAAK,EAAA,EAETA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAI,CAAA,EAC3CA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,OAAO,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,CACnC;;;;;;;;","x_google_ignoreList":[0]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D42maJcS.js');
3
+ var index = require('./index-CtwQwhfH.js');
4
4
 
5
5
  const bottomBarCss = ":host{display:flex;width:100%}.container{display:flex;flex:1;height:var(--spacing-14);border-top:1px solid var(--color-neutral-100)}";
6
6
 
@@ -9,7 +9,7 @@ const ScoutBottomBar = class {
9
9
  index.registerInstance(this, hostRef);
10
10
  }
11
11
  render() {
12
- return (index.h("nav", { key: '0904c3ec8b60ca5fe9a2ed4d68ea2b6fcb55f0dc', class: "container" }, index.h("slot", { key: '18223004272416c7ced4ff31a160adbb451a7367' })));
12
+ return (index.h("nav", { key: '5f2fb6d34977a9a83fb2c2e254562b129fe40535', class: "container" }, index.h("slot", { key: '6833b584719bf53edfa90875d8798707a7fccbe4' })));
13
13
  }
14
14
  static get delegatesFocus() { return true; }
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scout-bottom-bar.entry.cjs.js","sources":["src/components/bottom-bar/bottom-bar.css?tag=scout-bottom-bar&encapsulation=shadow","src/components/bottom-bar/bottom-bar.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n}\n\n.container {\n display: flex;\n flex: 1;\n height: var(--spacing-14);\n border-top: 1px solid var(--color-neutral-100);\n}","import { Component, h } from \"@stencil/core\";\n\n/**\n * The bottom bar component is used in the Jamboree26 app to provide\n * navigation at the bottom of the screen.\n */\n@Component({\n tag: \"scout-bottom-bar\",\n styleUrl: \"bottom-bar.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutBottomBar {\n render() {\n return (\n <nav class=\"container\">\n <slot />\n </nav>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,sIAAsI;;MCa9I,cAAc,GAAA,MAAA;;;;IACzB,MAAM,GAAA;QACJ,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,WAAW,EAAA,EACpBA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;;;;"}
1
+ {"version":3,"file":"scout-bottom-bar.entry.cjs.js","sources":["src/components/bottom-bar/bottom-bar.css?tag=scout-bottom-bar&encapsulation=shadow","src/components/bottom-bar/bottom-bar.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n}\n\n.container {\n display: flex;\n flex: 1;\n height: var(--spacing-14);\n border-top: 1px solid var(--color-neutral-100);\n}\n","import { Component, h } from \"@stencil/core\";\n\n/**\n * The bottom bar component is used in the Jamboree26 app to provide\n * navigation at the bottom of the screen.\n */\n@Component({\n tag: \"scout-bottom-bar\",\n styleUrl: \"bottom-bar.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutBottomBar {\n render() {\n return (\n <nav class=\"container\">\n <slot />\n </nav>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,sIAAsI;;MCa9I,cAAc,GAAA,MAAA;;;;IACzB,MAAM,GAAA;QACJ,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,WAAW,EAAA,EACpBA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D42maJcS.js');
3
+ var index = require('./index-CtwQwhfH.js');
4
4
 
5
- const buttonCss = ":host{display:inline-flex}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-3);height:var(--spacing-10);padding:0 var(--spacing-4);font:var(--type-body-base);border-radius:var(--spacing-2);border:1px solid transparent;cursor:pointer}.icon{width:var(--spacing-5);height:var(--spacing-5);margin:0 calc(var(--spacing-1) * -1)}.icon svg{width:100%;height:100%}button.primary{background-color:var(--color-background-brand-base);color:var(--color-text-brand-inverse)}button.primary:hover{background-color:var(--color-background-brand-hovered)}button.primary:active{background-color:var(--color-background-brand-pressed)}button.outlined{background-color:transparent;border-color:var(--color-background-brand-subtle-base);color:var(--color-text-brand-base)}button.outlined:hover{background-color:var(--color-background-brand-subtle-hovered)}button.outlined:active{background-color:var(--color-background-brand-subtle-pressed)}button.text{background-color:transparent;border-color:transparent;color:var(--color-text-brand-base)}button.text:hover{background-color:var(--color-background-brand-subtle-hovered)}button.text:active{background-color:var(--color-background-brand-subtle-pressed)}button.caution{background-color:var(--color-background-caution-bold-base);color:var(--color-text-caution-bold-base)}button.caution:hover{background-color:var(--color-background-caution-bold-hovered)}button.caution:active{background-color:var(--color-background-caution-bold-pressed)}button.danger{background-color:var(--color-background-danger-bold-base);color:var(--color-text-danger-bold-base)}button.danger:hover{background-color:var(--color-background-danger-bold-hovered)}button.danger:active{background-color:var(--color-background-danger-bold-pressed)}";
5
+ const buttonCss = ":host{display:inline-flex;height:var(--spacing-10)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-3);padding:0 var(--spacing-4);font:var(--type-body-base);border-radius:var(--spacing-2);border:1px solid transparent;cursor:pointer;-webkit-text-decoration:none;text-decoration:none}.icon{width:var(--spacing-5);height:var(--spacing-5);margin:0 calc(var(--spacing-1) * -1)}.icon svg{width:100%;height:100%}.button.icon-only{aspect-ratio:1 / 1;justify-content:center;padding:0}.button.icon-only .icon{margin:0}.button.icon-only .content{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.button.primary{background-color:var(--color-background-brand-base);color:var(--color-text-brand-inverse)}.button.primary:hover{background-color:var(--color-background-brand-hovered)}.button.primary:active{background-color:var(--color-background-brand-pressed)}.button.outlined{background-color:transparent;border-color:var(--color-background-brand-subtle-base);color:var(--color-text-brand-base)}.button.outlined:hover{background-color:var(--color-background-brand-subtle-hovered)}.button.outlined:active{background-color:var(--color-background-brand-subtle-pressed)}.button.text{background-color:transparent;border-color:transparent;color:var(--color-text-brand-base)}.button.text:hover{background-color:var(--color-background-brand-subtle-hovered)}.button.text:active{background-color:var(--color-background-brand-subtle-pressed)}.button.caution{background-color:var(--color-background-caution-bold-base);color:var(--color-text-caution-bold-base)}.button.caution:hover{background-color:var(--color-background-caution-bold-hovered)}.button.caution:active{background-color:var(--color-background-caution-bold-pressed)}.button.danger{background-color:var(--color-background-danger-bold-base);color:var(--color-text-danger-bold-base)}.button.danger:hover{background-color:var(--color-background-danger-bold-hovered)}.button.danger:active{background-color:var(--color-background-danger-bold-pressed)}";
6
6
 
7
7
  const ScoutButton = class {
8
8
  constructor(hostRef) {
@@ -10,6 +10,9 @@ const ScoutButton = class {
10
10
  this.scoutClick = index.createEvent(this, "scoutClick");
11
11
  }
12
12
  type = "button";
13
+ href;
14
+ target;
15
+ rel;
13
16
  /**
14
17
  * The variant primarily affects the color of the button.
15
18
  */
@@ -18,9 +21,22 @@ const ScoutButton = class {
18
21
  * An optional icon to display alongside the button text. Must be an SVG string.
19
22
  */
20
23
  icon;
24
+ iconOnly = false;
21
25
  scoutClick;
22
26
  render() {
23
- return (index.h("button", { key: '7c5b9b8b4dbb40537b923585af17c81dc6ee1644', type: this.type, class: this.variant, onClick: () => this.scoutClick.emit() }, index.h("slot", { key: 'a89b795dbbd004cd8d9123bacf338cb87cca4953' }), this.icon && index.h("span", { key: '12ac9a0668ebd4d84fd02e5065f1c9802d188171', class: "icon", innerHTML: this.icon })));
27
+ const Tag = this.type === "link" ? "a" : "button";
28
+ const props = this.type === "link"
29
+ ? {
30
+ href: this.href,
31
+ target: this.target,
32
+ // This might not be our job, but better safe than sorry.
33
+ rel: this.rel ??
34
+ (this.target === "_blank" ? "noopener noreferrer" : undefined),
35
+ }
36
+ : {
37
+ type: this.type,
38
+ };
39
+ return (index.h(Tag, { key: 'e82f79602197488fbf8e013259203ae5862da824', class: `button ${this.variant} ${this.iconOnly ? "icon-only" : ""}`, onClick: () => this.scoutClick.emit(), ...props }, index.h("span", { key: '1be7c7ccdb6f6570f08f06a81539174c76cbaa8c', class: "content" }, index.h("slot", { key: '556d6b6497cbcd437fbd4d77bff8b814511c844a' })), this.icon && index.h("span", { key: '9cf1e36f3cd767e2ac65dd0bdb1401759bf71e9e', class: "icon", innerHTML: this.icon })));
24
40
  }
25
41
  static get delegatesFocus() { return true; }
26
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scout-button.entry.cjs.js","sources":["src/components/button/button.css?tag=scout-button&encapsulation=shadow","src/components/button/button.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n}\n\nbutton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-3);\n height: var(--spacing-10);\n padding: 0 var(--spacing-4);\n font: var(--type-body-base);\n border-radius: var(--spacing-2);\n border: 1px solid transparent;\n cursor: pointer;\n}\n\n.icon {\n width: var(--spacing-5);\n height: var(--spacing-5);\n margin: 0 calc(var(--spacing-1) * -1);\n}\n\n.icon svg {\n width: 100%;\n height: 100%;\n}\n\nbutton.primary {\n background-color: var(--color-background-brand-base);\n color: var(--color-text-brand-inverse);\n\n &:hover {\n background-color: var(--color-background-brand-hovered);\n }\n &:active {\n background-color: var(--color-background-brand-pressed);\n }\n}\n\nbutton.outlined {\n background-color: transparent;\n border-color: var(--color-background-brand-subtle-base);\n color: var(--color-text-brand-base);\n\n &:hover {\n background-color: var(--color-background-brand-subtle-hovered);\n }\n &:active {\n background-color: var(--color-background-brand-subtle-pressed);\n }\n}\n\nbutton.text {\n background-color: transparent;\n border-color: transparent;\n color: var(--color-text-brand-base);\n\n &:hover {\n background-color: var(--color-background-brand-subtle-hovered);\n }\n &:active {\n background-color: var(--color-background-brand-subtle-pressed);\n }\n}\n\nbutton.caution {\n background-color: var(--color-background-caution-bold-base);\n color: var(--color-text-caution-bold-base);\n\n &:hover {\n background-color: var(--color-background-caution-bold-hovered);\n }\n &:active {\n background-color: var(--color-background-caution-bold-pressed);\n }\n}\n\nbutton.danger {\n background-color: var(--color-background-danger-bold-base);\n color: var(--color-text-danger-bold-base);\n\n &:hover {\n background-color: var(--color-background-danger-bold-hovered);\n }\n &:active {\n background-color: var(--color-background-danger-bold-pressed);\n }\n}\n","import { Component, Event, type EventEmitter, h, Prop } from \"@stencil/core\";\n\nexport type Variant = \"primary\" | \"outlined\" | \"text\" | \"caution\" | \"danger\";\n\n/**\n * A simple button component.\n */\n@Component({\n tag: \"scout-button\",\n styleUrl: \"button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutButton {\n @Prop() type: \"button\" | \"submit\" | \"reset\" = \"button\";\n\n /**\n * The variant primarily affects the color of the button.\n */\n @Prop() variant: Variant = \"outlined\";\n\n /**\n * An optional icon to display alongside the button text. Must be an SVG string.\n */\n @Prop() icon?: string;\n\n @Event() scoutClick: EventEmitter<void>;\n\n render() {\n return (\n <button\n type={this.type}\n class={this.variant}\n onClick={() => this.scoutClick.emit()}\n >\n <slot />\n {this.icon && <span class=\"icon\" innerHTML={this.icon} />}\n </button>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,SAAS,GAAG,kvDAAkvD;;MCcvvD,WAAW,GAAA,MAAA;;;;;IACd,IAAI,GAAkC,QAAQ;AAEtD;;AAEG;IACK,OAAO,GAAY,UAAU;AAErC;;AAEG;AACK,IAAA,IAAI;AAEH,IAAA,UAAU;IAEnB,MAAM,GAAA;AACJ,QAAA,QACEA,OACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAA,EAErCA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACP,IAAI,CAAC,IAAI,IAAIA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAI,CAAA,CAClD;;;;;;;;"}
1
+ {"version":3,"file":"scout-button.entry.cjs.js","sources":["src/components/button/button.css?tag=scout-button&encapsulation=shadow","src/components/button/button.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n height: var(--spacing-10);\n}\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-3);\n padding: 0 var(--spacing-4);\n font: var(--type-body-base);\n border-radius: var(--spacing-2);\n border: 1px solid transparent;\n cursor: pointer;\n text-decoration: none;\n}\n\n.icon {\n width: var(--spacing-5);\n height: var(--spacing-5);\n margin: 0 calc(var(--spacing-1) * -1);\n}\n\n.icon svg {\n width: 100%;\n height: 100%;\n}\n\n.button.icon-only {\n aspect-ratio: 1 / 1;\n justify-content: center;\n padding: 0;\n}\n\n.button.icon-only .icon {\n margin: 0;\n}\n\n.button.icon-only .content {\n /* Visually hidden: https://www.a11yproject.com/posts/how-to-hide-content/ */\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.button.primary {\n background-color: var(--color-background-brand-base);\n color: var(--color-text-brand-inverse);\n\n &:hover {\n background-color: var(--color-background-brand-hovered);\n }\n\n &:active {\n background-color: var(--color-background-brand-pressed);\n }\n}\n\n.button.outlined {\n background-color: transparent;\n border-color: var(--color-background-brand-subtle-base);\n color: var(--color-text-brand-base);\n\n &:hover {\n background-color: var(--color-background-brand-subtle-hovered);\n }\n\n &:active {\n background-color: var(--color-background-brand-subtle-pressed);\n }\n}\n\n.button.text {\n background-color: transparent;\n border-color: transparent;\n color: var(--color-text-brand-base);\n\n &:hover {\n background-color: var(--color-background-brand-subtle-hovered);\n }\n\n &:active {\n background-color: var(--color-background-brand-subtle-pressed);\n }\n}\n\n.button.caution {\n background-color: var(--color-background-caution-bold-base);\n color: var(--color-text-caution-bold-base);\n\n &:hover {\n background-color: var(--color-background-caution-bold-hovered);\n }\n\n &:active {\n background-color: var(--color-background-caution-bold-pressed);\n }\n}\n\n.button.danger {\n background-color: var(--color-background-danger-bold-base);\n color: var(--color-text-danger-bold-base);\n\n &:hover {\n background-color: var(--color-background-danger-bold-hovered);\n }\n\n &:active {\n background-color: var(--color-background-danger-bold-pressed);\n }\n}\n","import { Component, Event, type EventEmitter, h, Prop } from \"@stencil/core\";\n\nexport type Variant = \"primary\" | \"outlined\" | \"text\" | \"caution\" | \"danger\";\n\n/**\n * A simple button component.\n */\n@Component({\n tag: \"scout-button\",\n styleUrl: \"button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutButton {\n @Prop() type: \"button\" | \"submit\" | \"reset\" | \"link\" = \"button\";\n\n @Prop() href?: string;\n @Prop() target?: string;\n @Prop() rel?: string;\n\n /**\n * The variant primarily affects the color of the button.\n */\n @Prop() variant: Variant = \"outlined\";\n\n /**\n * An optional icon to display alongside the button text. Must be an SVG string.\n */\n @Prop() icon?: string;\n @Prop() iconOnly: boolean = false;\n\n @Event() scoutClick: EventEmitter<void>;\n\n render() {\n const Tag = this.type === \"link\" ? \"a\" : \"button\";\n\n const props =\n this.type === \"link\"\n ? {\n href: this.href,\n target: this.target,\n // This might not be our job, but better safe than sorry.\n rel:\n this.rel ??\n (this.target === \"_blank\" ? \"noopener noreferrer\" : undefined),\n }\n : {\n type: this.type,\n };\n\n return (\n <Tag\n class={`button ${this.variant} ${this.iconOnly ? \"icon-only\" : \"\"}`}\n onClick={() => this.scoutClick.emit()}\n {...props}\n >\n <span class=\"content\">\n <slot />\n </span>\n {this.icon && <span class=\"icon\" innerHTML={this.icon} />}\n </Tag>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,SAAS,GAAG,wiEAAwiE;;MCc7iE,WAAW,GAAA,MAAA;;;;;IACd,IAAI,GAA2C,QAAQ;AAEvD,IAAA,IAAI;AACJ,IAAA,MAAM;AACN,IAAA,GAAG;AAEX;;AAEG;IACK,OAAO,GAAY,UAAU;AAErC;;AAEG;AACK,IAAA,IAAI;IACJ,QAAQ,GAAY,KAAK;AAExB,IAAA,UAAU;IAEnB,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,QAAQ;AAEjD,QAAA,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;;gBAEnB,GAAG,EACD,IAAI,CAAC,GAAG;AACR,qBAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG,SAAS,CAAC;AACjE;AACH,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;QAEP,QACEA,OAAC,CAAA,GAAG,EACF,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAA,CAAE,EACnE,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KACjC,KAAK,EAAA,EAETA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EACnBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACH,EACN,IAAI,CAAC,IAAI,IAAIA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAI,CAAA,CACrD;;;;;;;;"}
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D42maJcS.js');
3
+ var index = require('./index-CtwQwhfH.js');
4
4
 
5
- const cardCss = ":host{display:block;border-radius:var(--spacing-2);border:1px solid var(--color-gray-100);padding:var(--spacing-2);box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)}";
5
+ const cardCss = ":host{display:block;border-radius:var(--spacing-2);border:1px solid var(--color-gray-100);padding:var(--spacing-2);box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),\n 0 1px 2px -1px rgba(0, 0, 0, 0.1)}";
6
6
 
7
7
  const ScoutCard = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
10
  }
11
11
  render() {
12
- return index.h("slot", { key: 'bde708b7482da31d53fbc29581bed3f068e26279' });
12
+ return index.h("slot", { key: '44e84e98fac4b83c20fdec40a532c752f41dffd7' });
13
13
  }
14
14
  static get delegatesFocus() { return true; }
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scout-card.entry.cjs.js","sources":["src/components/card/card.css?tag=scout-card&encapsulation=shadow","src/components/card/card.tsx"],"sourcesContent":[":host {\n display: block;\n border-radius: var(--spacing-2);\n border: 1px solid var(--color-gray-100);\n padding: var(--spacing-2);\n /* TODO: We don't have tokens for shadows yet */\n box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n}","import { Component, h } from \"@stencil/core\";\n\n/**\n * A general surface to hold various types of content.\n */\n@Component({\n tag: \"scout-card\",\n styleUrl: \"card.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutCard {\n render() {\n return <slot />;\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,OAAO,GAAG,kMAAkM;;MCYrM,SAAS,GAAA,MAAA;;;;IACpB,MAAM,GAAA;QACJ,OAAOA,oEAAQ;;;;;;;;"}
1
+ {"version":3,"file":"scout-card.entry.cjs.js","sources":["src/components/card/card.css?tag=scout-card&encapsulation=shadow","src/components/card/card.tsx"],"sourcesContent":[":host {\n display: block;\n border-radius: var(--spacing-2);\n border: 1px solid var(--color-gray-100);\n padding: var(--spacing-2);\n /* TODO: We don't have tokens for shadows yet */\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n}\n","import { Component, h } from \"@stencil/core\";\n\n/**\n * A general surface to hold various types of content.\n */\n@Component({\n tag: \"scout-card\",\n styleUrl: \"card.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutCard {\n render() {\n return <slot />;\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,OAAO,GAAG,uMAAuM;;MCY1M,SAAS,GAAA,MAAA;;;;IACpB,MAAM,GAAA;QACJ,OAAOA,oEAAQ;;;;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout-checkbox.scout-radio-button.entry.cjs.js","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","src/components/radio-button/radio-button.css?tag=scout-radio-button&encapsulation=scoped","src/components/radio-button/radio-button.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 Event,\n type EventEmitter,\n h,\n Prop,\n State,\n} from \"@stencil/core\";\nimport checkIcon from \"@tabler/icons/outline/check.svg\";\n\n@Component({\n tag: \"scout-checkbox\",\n styleUrl: \"checkbox.css\",\n scoped: true,\n})\nexport class ScoutCheckbox {\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 @State() ariaId: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n /**\n * Internal event used for form field association.\n */\n @Event() _fieldId: EventEmitter<string>;\n\n componentWillLoad(): Promise<void> | void {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._fieldId.emit(this.ariaId);\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 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) => this.onChange(event)}\n />\n {this.label}\n </Tag>\n );\n }\n}\n",".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 Event,\n type EventEmitter,\n h,\n Prop,\n State,\n} from \"@stencil/core\";\n\n@Component({\n tag: \"scout-radio-button\",\n styleUrl: \"radio-button.css\",\n scoped: true,\n})\nexport class ScoutRadioButton {\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 @State() ariaId: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n /**\n * Internal event used for form field association.\n */\n @Event() _fieldId: EventEmitter<string>;\n\n componentWillLoad(): Promise<void> | void {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._fieldId.emit(this.ariaId);\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 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) => this.onChange(event)}\n />\n {this.label}\n </Tag>\n );\n }\n}\n"],"names":["h","checkIcon"],"mappings":";;;;AAAA,MAAM,QAAQ,GAAG,4fAA4f;;ACA7gB,MAAM,WAAW,GAAG,woDAAwoD;;MCe/oD,aAAa,GAAA,MAAA;;;;;;IAChB,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEL,IAAA,KAAK;AAEL,IAAA,IAAI;AAEH,IAAA,MAAM;AAEN,IAAA,YAAY;AAIrB;;AAEG;AACM,IAAA,QAAQ;IAEjB,iBAAiB,GAAA;QACf,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;QAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGjC,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,QACEA,QAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACFA,OAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,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,CAAO,IAAA,EAAAC,QAAS,GAAG,EAAE,EAAA,iBAAA,EAChC,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,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACzC,CAAA,EACD,IAAI,CAAC,KAAK,CACP;;;;;AC1EZ,MAAM,cAAc,GAAG,ghDAAghD;;MCc1hD,gBAAgB,GAAA,MAAA;;;;;;IACnB,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEL,IAAA,KAAK;AAEL,IAAA,IAAI;AAEH,IAAA,MAAM;AAEN,IAAA,YAAY;AAIrB;;AAEG;AACM,IAAA,QAAQ;IAEjB,iBAAiB,GAAA;QACf,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;QAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGjC,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,QACED,QAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACFA,OACE,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,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,EACI,iBAAA,EAAA,IAAI,CAAC,cAAc,EACrB,eAAA,EAAA,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACzC,CAAA,EACD,IAAI,CAAC,KAAK,CACP;;;;;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CtwQwhfH.js');
4
+
5
+ const checkSvg = 'data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIyNCIKICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgZmlsbD0ibm9uZSIKICBzdHJva2U9ImN1cnJlbnRDb2xvciIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCiAgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItY2hlY2siCj4KICA8cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICA8cGF0aCBkPSJNNSAxMmw1IDVsMTAgLTEwIiAvPgo8L3N2Zz4=';
6
+
7
+ 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)}";
8
+
9
+ const ScoutCheckbox = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.scoutChecked = index.createEvent(this, "scoutChecked");
13
+ this._fieldId = index.createEvent(this, "_fieldId");
14
+ }
15
+ checked = false;
16
+ disabled = false;
17
+ /**
18
+ * Use this prop if you need to connect your checkbox with another element describing its use, other than the property label.
19
+ */
20
+ ariaLabelledby;
21
+ label;
22
+ value;
23
+ name;
24
+ ariaId;
25
+ scoutChecked;
26
+ /**
27
+ * Internal event used for form field association.
28
+ */
29
+ _fieldId;
30
+ componentWillLoad() {
31
+ this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;
32
+ this._fieldId.emit(this.ariaId);
33
+ }
34
+ onChange(event) {
35
+ const checkbox = event.target;
36
+ this.scoutChecked.emit({
37
+ checked: checkbox.checked,
38
+ element: checkbox,
39
+ });
40
+ }
41
+ render() {
42
+ const Tag = this.label?.length ? "label" : "div";
43
+ return (index.h(Tag, { key: '088d1bbf053b0c9cf42851b9954030316c5ef01a' }, index.h("input", { key: 'd212a3f91e78d20270934e336c2356ee3474c129', 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) => this.onChange(event) }), this.label));
44
+ }
45
+ };
46
+ ScoutCheckbox.style = checkboxCss;
47
+
48
+ 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)}";
49
+
50
+ const ScoutRadioButton = class {
51
+ constructor(hostRef) {
52
+ index.registerInstance(this, hostRef);
53
+ this.scoutChecked = index.createEvent(this, "scoutChecked");
54
+ this._fieldId = index.createEvent(this, "_fieldId");
55
+ }
56
+ checked = false;
57
+ disabled = false;
58
+ /**
59
+ * Use this prop if you need to connect your radio button with another element describing its use, other than the property label.
60
+ */
61
+ ariaLabelledby;
62
+ label;
63
+ value;
64
+ name;
65
+ ariaId;
66
+ scoutChecked;
67
+ /**
68
+ * Internal event used for form field association.
69
+ */
70
+ _fieldId;
71
+ componentWillLoad() {
72
+ this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;
73
+ this._fieldId.emit(this.ariaId);
74
+ }
75
+ onChange(event) {
76
+ const radio = event.target;
77
+ this.scoutChecked.emit({
78
+ checked: radio.checked,
79
+ element: radio,
80
+ });
81
+ }
82
+ render() {
83
+ const Tag = this.label?.length ? "label" : "div";
84
+ return (index.h(Tag, { key: 'a978ba978936bd837827aa505316b4fab2cfd1b0' }, index.h("input", { key: 'c378f179764d7b3f78da354c022bbb7dcddd758a', 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) => this.onChange(event) }), this.label));
85
+ }
86
+ };
87
+ ScoutRadioButton.style = radioButtonCss;
88
+
89
+ exports.scout_checkbox = ScoutCheckbox;
90
+ exports.scout_radio_button = ScoutRadioButton;
91
+ //# sourceMappingURL=scout-checkbox.scout-radio-button.entry.cjs.js.map
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CtwQwhfH.js');
4
+
5
+ const dividerCss = ":host{display:block;height:1px;background-color:var(--color-gray-200)}";
6
+
7
+ const ScoutDivider = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ }
11
+ render() {
12
+ return index.h(index.Host, { key: 'e139694ee7eb8dd88235b420d987878af2c970ce' });
13
+ }
14
+ static get delegatesFocus() { return true; }
15
+ };
16
+ ScoutDivider.style = dividerCss;
17
+
18
+ exports.scout_divider = ScoutDivider;
19
+ //# sourceMappingURL=scout-divider.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout-divider.entry.cjs.js","sources":["src/components/divider/divider.css?tag=scout-divider&encapsulation=shadow","src/components/divider/divider.tsx"],"sourcesContent":[":host {\n display: block;\n height: 1px;\n background-color: var(--color-gray-200);\n}\n","import { Component, Host, h } from \"@stencil/core\";\n\n@Component({\n tag: \"scout-divider\",\n styleUrl: \"divider.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutDivider {\n render() {\n return <Host />;\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,UAAU,GAAG,wEAAwE;;MCS9E,YAAY,GAAA,MAAA;;;;IACvB,MAAM,GAAA;QACJ,OAAOA,OAAA,CAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAG;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D42maJcS.js');
3
+ var index = require('./index-CtwQwhfH.js');
4
4
 
5
5
  const fieldCss = ".field.sc-scout-field{display:flex;flex-direction:column}.label.sc-scout-field{font:var(--type-label-sm);font-weight:600;color:var(--color-text-base)}.error-text.sc-scout-field{font:var(--type-label-sm);color:var(--color-text-danger-base);margin:var(--spacing-1) 0 0 0}.error-text.sc-scout-field:empty{margin:0}.help-text.sc-scout-field{font:var(--type-label-sm);color:var(--color-gray-600);margin:var(--spacing-1) 0 0 0}";
6
6
 
@@ -38,7 +38,7 @@ const ScoutField = class {
38
38
  this.errorHidden = false;
39
39
  }
40
40
  render() {
41
- return (index.h("div", { key: '0ba5919cf10618bf4617e1ced85485a6d136f668', class: "field" }, index.h("label", { key: '55cac1b4eb9c0d58ea1e4045b9c85c30a384d99b', htmlFor: this.inputId, class: "label" }, this.label), index.h("slot", { key: 'b5931e88ad82e693ff1dc24acd99db393f048fab' }), index.h("p", { key: '6354b6187ba63158bdd5c784787f1612eb641db4', class: "error-text", "aria-live": "polite" }, !this.errorHidden && this.errorText), this.helpText && index.h("p", { key: 'ba9e47977b682fbe28afd61c6a00832506860e56', class: "help-text" }, this.helpText)));
41
+ return (index.h("div", { key: '3cffad1b9fda1ea4060cf4587420ea67d16a7cde', class: "field" }, index.h("label", { key: '2d065d94b9aa5a9f251366a6fd58559210b485c9', htmlFor: this.inputId, class: "label" }, this.label), index.h("slot", { key: '3bdc5d1426b0fca754ee4eface64514503758d3c' }), index.h("p", { key: '57cb158fec7e16cbb2eb78481939fb84e86f9836', class: "error-text", "aria-live": "polite" }, !this.errorHidden && this.errorText), this.helpText && index.h("p", { key: '50b05f88914cb9f0f4fc615b24cdd2d6ac525219', class: "help-text" }, this.helpText)));
42
42
  }
43
43
  };
44
44
  ScoutField.style = fieldCss;
@@ -1 +1 @@
1
- {"version":3,"file":"scout-field.entry.cjs.js","sources":["src/components/field/field.css?tag=scout-field&encapsulation=scoped","src/components/field/field.tsx"],"sourcesContent":[".field {\n display: flex;\n flex-direction: column;\n}\n\n.label {\n font: var(--type-label-sm);\n font-weight: 600;\n color: var(--color-text-base);\n}\n\n.error-text {\n font: var(--type-label-sm);\n color: var(--color-text-danger-base);\n margin: var(--spacing-1) 0 0 0;\n}\n\n.error-text:empty {\n margin: 0;\n}\n\n.help-text {\n font: var(--type-label-sm);\n color: var(--color-gray-600);\n margin: var(--spacing-1) 0 0 0;\n}","import { Component, Element, h, Listen, Prop, State } from \"@stencil/core\";\n\ntype ValidatableElement =\n | HTMLButtonElement\n | HTMLFieldSetElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n\n@Component({\n tag: \"scout-field\",\n styleUrl: \"field.css\",\n scoped: true,\n})\nexport class ScoutField {\n /**\n * Label shown above the field.\n */\n @Prop() label!: string;\n\n /**\n * Help text shown below the field.\n */\n @Prop() helpText?: string;\n\n @State() inputId: string;\n @State() errorText: string | null = null;\n @State() errorHidden: boolean = false;\n\n @Element() hostElement!: HTMLElement;\n\n @Listen(\"_fieldId\")\n catchFieldId(event: CustomEvent<string>) {\n event.stopPropagation();\n this.inputId = event.detail;\n }\n\n @Listen(\"scoutInputChange\")\n handleInputChange(\n event: CustomEvent<{\n value: string;\n element: ValidatableElement;\n }>,\n ) {\n const { element } = event.detail;\n\n this.errorHidden = true;\n if (element.validity.valid) {\n this.errorText = null;\n } else {\n this.errorText = element.validationMessage;\n }\n }\n\n @Listen(\"scoutBlur\")\n handleValidationBlur() {\n this.errorHidden = false;\n }\n\n render() {\n return (\n <div class=\"field\">\n <label htmlFor={this.inputId} class=\"label\">\n {this.label}\n </label>\n <slot />\n <p class=\"error-text\" aria-live=\"polite\">\n {!this.errorHidden && this.errorText}\n </p>\n {this.helpText && <p class=\"help-text\">{this.helpText}</p>}\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,QAAQ,GAAG,uaAAua;;MCe3a,UAAU,GAAA,MAAA;;;;AACrB;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;AACK,IAAA,QAAQ;AAEP,IAAA,OAAO;IACP,SAAS,GAAkB,IAAI;IAC/B,WAAW,GAAY,KAAK;;AAKrC,IAAA,YAAY,CAAC,KAA0B,EAAA;QACrC,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM;;AAI7B,IAAA,iBAAiB,CACf,KAGE,EAAA;AAEF,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM;AAEhC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;aAChB;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,iBAAiB;;;IAK9C,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;IAG1B,MAAM,GAAA;QACJ,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,OAAO,EAAA,EAChBA,OAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAC,OAAO,EAAA,EACxC,IAAI,CAAC,KAAK,CACL,EACRA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACRA,OAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,YAAY,EAAA,WAAA,EAAW,QAAQ,EACrC,EAAA,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAClC,EACH,IAAI,CAAC,QAAQ,IAAIA,OAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,WAAW,EAAE,EAAA,IAAI,CAAC,QAAQ,CAAK,CACtD;;;;;;;"}
1
+ {"version":3,"file":"scout-field.entry.cjs.js","sources":["src/components/field/field.css?tag=scout-field&encapsulation=scoped","src/components/field/field.tsx"],"sourcesContent":[".field {\n display: flex;\n flex-direction: column;\n}\n\n.label {\n font: var(--type-label-sm);\n font-weight: 600;\n color: var(--color-text-base);\n}\n\n.error-text {\n font: var(--type-label-sm);\n color: var(--color-text-danger-base);\n margin: var(--spacing-1) 0 0 0;\n}\n\n.error-text:empty {\n margin: 0;\n}\n\n.help-text {\n font: var(--type-label-sm);\n color: var(--color-gray-600);\n margin: var(--spacing-1) 0 0 0;\n}\n","import { Component, Element, h, Listen, Prop, State } from \"@stencil/core\";\n\ntype ValidatableElement =\n | HTMLButtonElement\n | HTMLFieldSetElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n\n@Component({\n tag: \"scout-field\",\n styleUrl: \"field.css\",\n scoped: true,\n})\nexport class ScoutField {\n /**\n * Label shown above the field.\n */\n @Prop() label!: string;\n\n /**\n * Help text shown below the field.\n */\n @Prop() helpText?: string;\n\n @State() inputId: string;\n @State() errorText: string | null = null;\n @State() errorHidden: boolean = false;\n\n @Element() hostElement!: HTMLElement;\n\n @Listen(\"_fieldId\")\n catchFieldId(event: CustomEvent<string>) {\n event.stopPropagation();\n this.inputId = event.detail;\n }\n\n @Listen(\"scoutInputChange\")\n handleInputChange(\n event: CustomEvent<{\n value: string;\n element: ValidatableElement;\n }>,\n ) {\n const { element } = event.detail;\n\n this.errorHidden = true;\n if (element.validity.valid) {\n this.errorText = null;\n } else {\n this.errorText = element.validationMessage;\n }\n }\n\n @Listen(\"scoutBlur\")\n handleValidationBlur() {\n this.errorHidden = false;\n }\n\n render() {\n return (\n <div class=\"field\">\n <label htmlFor={this.inputId} class=\"label\">\n {this.label}\n </label>\n <slot />\n <p class=\"error-text\" aria-live=\"polite\">\n {!this.errorHidden && this.errorText}\n </p>\n {this.helpText && <p class=\"help-text\">{this.helpText}</p>}\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,QAAQ,GAAG,uaAAua;;MCe3a,UAAU,GAAA,MAAA;;;;AACrB;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;AACK,IAAA,QAAQ;AAEP,IAAA,OAAO;IACP,SAAS,GAAkB,IAAI;IAC/B,WAAW,GAAY,KAAK;;AAKrC,IAAA,YAAY,CAAC,KAA0B,EAAA;QACrC,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM;;AAI7B,IAAA,iBAAiB,CACf,KAGE,EAAA;AAEF,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM;AAEhC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;aAChB;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,iBAAiB;;;IAK9C,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;IAG1B,MAAM,GAAA;QACJ,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,OAAO,EAAA,EAChBA,OAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAC,OAAO,EAAA,EACxC,IAAI,CAAC,KAAK,CACL,EACRA,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACRA,OAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,YAAY,EAAA,WAAA,EAAW,QAAQ,EACrC,EAAA,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAClC,EACH,IAAI,CAAC,QAAQ,IAAIA,OAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,WAAW,EAAE,EAAA,IAAI,CAAC,QAAQ,CAAK,CACtD;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-D42maJcS.js');
3
+ var index = require('./index-CtwQwhfH.js');
4
4
 
5
5
  const inputCss = ".input.sc-scout-input{height:var(--spacing-10);padding:var(--spacing-2);font:var(--type-body-base);border:1px solid var(--color-gray-300);border-radius:var(--spacing-2);background-color:var(--color-white);color:var(--color-text-base)}.input.sc-scout-input:disabled{background-color:var(--color-gray-100);color:var(--color-gray-700);cursor:not-allowed}";
6
6
 
@@ -29,6 +29,7 @@ const ScoutInput = class {
29
29
  * Value of the input element, in case you want to control it yourself.
30
30
  */
31
31
  value = "";
32
+ name;
32
33
  /**
33
34
  * Whether the input is disabled. Disabled inputs are not editable, excluded
34
35
  * from tab order and are not validated.
@@ -63,7 +64,7 @@ const ScoutInput = class {
63
64
  });
64
65
  }
65
66
  render() {
66
- return (index.h("input", { key: '7bc05d32826cd3173b6a6e4620acfb501fae4edc', id: this.ariaId, type: this.type, inputMode: this.inputmode, pattern: this.pattern, class: "input", value: this.value, disabled: this.disabled, onInput: (e) => this.onInput(e), onBlur: () => this.scoutBlur.emit() }));
67
+ return (index.h("input", { key: '63ad729182147b6a8490f4b88becc3207bfcfa49', id: this.ariaId, type: this.type, name: this.name, inputMode: this.inputmode, pattern: this.pattern, class: "input", value: this.value, disabled: this.disabled, onInput: (e) => this.onInput(e), onBlur: () => this.scoutBlur.emit() }));
67
68
  }
68
69
  };
69
70
  ScoutInput.style = inputCss;
@@ -1 +1 @@
1
- {"version":3,"file":"scout-input.entry.cjs.js","sources":["src/components/input/input.css?tag=scout-input&encapsulation=scoped","src/components/input/input.tsx"],"sourcesContent":[".input {\n height: var(--spacing-10);\n padding: var(--spacing-2);\n font: var(--type-body-base);\n border: 1px solid var(--color-gray-300);\n border-radius: var(--spacing-2);\n background-color: var(--color-white);\n color: var(--color-text-base);\n}\n\n.input:disabled {\n background-color: var(--color-gray-100);\n color: var(--color-gray-700);\n cursor: not-allowed;\n}","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Prop,\n State,\n} from \"@stencil/core\";\n\nexport type InputType =\n | \"text\"\n | \"password\"\n | \"email\"\n | \"number\"\n | \"tel\"\n | \"url\"\n // Hack to suggest above value but still allow any other string value\n | (string & {});\n\nexport type InputMode =\n | \"none\"\n | \"text\"\n | \"decimal\"\n | \"numeric\"\n | \"tel\"\n | \"search\"\n | \"email\"\n | \"url\"\n // Hack to suggest above value but still allow any other string value\n | (string & {});\n\n@Component({\n tag: \"scout-input\",\n styleUrl: \"input.css\",\n scoped: true,\n})\nexport class ScoutInput implements ComponentInterface {\n /**\n * Type of input element. If you need a number input, read the accessibility\n * section of this MDN article first:\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/number#accessibility\n */\n @Prop() type: InputType = \"text\";\n\n /**\n * Input mode hints for devices with dynamic keyboards.\n */\n @Prop() inputmode?: InputMode;\n\n /**\n * Regex pattern for input validation.\n */\n @Prop() pattern?: string;\n\n /**\n * Value of the input element, in case you want to control it yourself.\n */\n @Prop() value: string = \"\";\n\n /**\n * Whether the input is disabled. Disabled inputs are not editable, excluded\n * from tab order and are not validated.\n */\n @Prop() disabled: boolean = false;\n\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: HTMLInputElement;\n }>;\n @Event() scoutBlur: EventEmitter<void>;\n\n /**\n * Internal event used for form field association.\n */\n @Event() _fieldId: EventEmitter<string>;\n\n @State() ariaId: string;\n\n componentWillLoad(): Promise<void> | void {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._fieldId.emit(this.ariaId);\n }\n\n onInput(event: InputEvent) {\n const input = event.target as HTMLInputElement;\n\n if (this.validate) {\n const validationMessage = this.validate(input.value);\n input.setCustomValidity(validationMessage ?? \"\");\n }\n\n this.scoutInputChange.emit({\n value: input.value,\n element: input,\n });\n }\n\n render() {\n return (\n <input\n id={this.ariaId}\n type={this.type}\n inputMode={this.inputmode}\n pattern={this.pattern}\n class=\"input\"\n value={this.value}\n disabled={this.disabled}\n onInput={(e) => this.onInput(e)}\n onBlur={() => this.scoutBlur.emit()}\n />\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,QAAQ,GAAG,iWAAiW;;MCqCrW,UAAU,GAAA,MAAA;;;;;;;AACrB;;;;AAIG;IACK,IAAI,GAAc,MAAM;AAEhC;;AAEG;AACK,IAAA,SAAS;AAEjB;;AAEG;AACK,IAAA,OAAO;AAEf;;AAEG;IACK,KAAK,GAAW,EAAE;AAE1B;;;AAGG;IACK,QAAQ,GAAY,KAAK;AAEjC;;;;AAIG;AACK,IAAA,QAAQ;AAEP,IAAA,gBAAgB;AAIhB,IAAA,SAAS;AAElB;;AAEG;AACM,IAAA,QAAQ;AAER,IAAA,MAAM;IAEf,iBAAiB,GAAA;QACf,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;QAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGjC,IAAA,OAAO,CAAC,KAAiB,EAAA;AACvB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAE9C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AACpD,YAAA,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;;AAGlD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAC,OAAO,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAA,CACnC;;;;;;;"}
1
+ {"version":3,"file":"scout-input.entry.cjs.js","sources":["src/components/input/input.css?tag=scout-input&encapsulation=scoped","src/components/input/input.tsx"],"sourcesContent":[".input {\n height: var(--spacing-10);\n padding: var(--spacing-2);\n font: var(--type-body-base);\n border: 1px solid var(--color-gray-300);\n border-radius: var(--spacing-2);\n background-color: var(--color-white);\n color: var(--color-text-base);\n}\n\n.input:disabled {\n background-color: var(--color-gray-100);\n color: var(--color-gray-700);\n cursor: not-allowed;\n}\n","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Prop,\n State,\n} from \"@stencil/core\";\n\nexport type InputType =\n | \"text\"\n | \"password\"\n | \"email\"\n | \"number\"\n | \"tel\"\n | \"url\"\n // Hack to suggest above value but still allow any other string value\n | (string & {});\n\nexport type InputMode =\n | \"none\"\n | \"text\"\n | \"decimal\"\n | \"numeric\"\n | \"tel\"\n | \"search\"\n | \"email\"\n | \"url\"\n // Hack to suggest above value but still allow any other string value\n | (string & {});\n\n@Component({\n tag: \"scout-input\",\n styleUrl: \"input.css\",\n scoped: true,\n})\nexport class ScoutInput implements ComponentInterface {\n /**\n * Type of input element. If you need a number input, read the accessibility\n * section of this MDN article first:\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/number#accessibility\n */\n @Prop() type: InputType = \"text\";\n\n /**\n * Input mode hints for devices with dynamic keyboards.\n */\n @Prop() inputmode?: InputMode;\n\n /**\n * Regex pattern for input validation.\n */\n @Prop() pattern?: string;\n\n /**\n * Value of the input element, in case you want to control it yourself.\n */\n @Prop() value: string = \"\";\n\n @Prop() name: string;\n\n /**\n * Whether the input is disabled. Disabled inputs are not editable, excluded\n * from tab order and are not validated.\n */\n @Prop() disabled: boolean = false;\n\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: HTMLInputElement;\n }>;\n @Event() scoutBlur: EventEmitter<void>;\n\n /**\n * Internal event used for form field association.\n */\n @Event() _fieldId: EventEmitter<string>;\n\n @State() ariaId: string;\n\n componentWillLoad(): Promise<void> | void {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._fieldId.emit(this.ariaId);\n }\n\n onInput(event: InputEvent) {\n const input = event.target as HTMLInputElement;\n\n if (this.validate) {\n const validationMessage = this.validate(input.value);\n input.setCustomValidity(validationMessage ?? \"\");\n }\n\n this.scoutInputChange.emit({\n value: input.value,\n element: input,\n });\n }\n\n render() {\n return (\n <input\n id={this.ariaId}\n type={this.type}\n name={this.name}\n inputMode={this.inputmode}\n pattern={this.pattern}\n class=\"input\"\n value={this.value}\n disabled={this.disabled}\n onInput={(e) => this.onInput(e)}\n onBlur={() => this.scoutBlur.emit()}\n />\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,QAAQ,GAAG,iWAAiW;;MCqCrW,UAAU,GAAA,MAAA;;;;;;;AACrB;;;;AAIG;IACK,IAAI,GAAc,MAAM;AAEhC;;AAEG;AACK,IAAA,SAAS;AAEjB;;AAEG;AACK,IAAA,OAAO;AAEf;;AAEG;IACK,KAAK,GAAW,EAAE;AAElB,IAAA,IAAI;AAEZ;;;AAGG;IACK,QAAQ,GAAY,KAAK;AAEjC;;;;AAIG;AACK,IAAA,QAAQ;AAEP,IAAA,gBAAgB;AAIhB,IAAA,SAAS;AAElB;;AAEG;AACM,IAAA,QAAQ;AAER,IAAA,MAAM;IAEf,iBAAiB,GAAA;QACf,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;QAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGjC,IAAA,OAAO,CAAC,KAAiB,EAAA;AACvB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAE9C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AACpD,YAAA,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;;AAGlD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAC,OAAO,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAA,CACnC;;;;;;;"}
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CtwQwhfH.js');
4
+
5
+ const linkCss = ":host{display:inline}a,button{color:var(--color-text-brand-base);-webkit-text-decoration:none;text-decoration:none}a:hover,button:hover{-webkit-text-decoration:underline;text-decoration:underline;color:var(--color-background-brand-hover)}a:active,button:active{color:var(--color-background-brand-pressed)}button{display:inline;background:none;border:none;padding:0;cursor:pointer}";
6
+
7
+ const ScoutLink = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.scoutLinkClick = index.createEvent(this, "scoutLinkClick");
11
+ }
12
+ /**
13
+ * The URL that the link points to. Required when type is set to link
14
+ */
15
+ href;
16
+ /**
17
+ * Text to be displayed for the link
18
+ */
19
+ label;
20
+ rel;
21
+ /**
22
+ * If the label property is not sufficient to describe its use, add an aria-label describing what happens
23
+ * when pressing the button or where the user navigates if it is a link.
24
+ */
25
+ linkAriaLabel;
26
+ /**
27
+ * There are two types. If you intend to use it as a button with onclick, a button is rendered, however if you want to you it
28
+ * as a normal link, a link with href is rendered.
29
+ */
30
+ type = "link";
31
+ /**
32
+ * _blank Opens the linked document in a new window or tab
33
+ *
34
+ * _self Opens the linked document in the same frame as it was clicked (this is default)
35
+ *
36
+ * _parent Opens the linked document in the parent frame
37
+ *
38
+ * _top Opens the linked document in the full body of the window
39
+ *
40
+ * _framename Opens the linked document in the named iframe
41
+ */
42
+ target = "_self";
43
+ /**
44
+ * Only sent if the link is a button.
45
+ */
46
+ scoutLinkClick;
47
+ render() {
48
+ if (this.type === "button") {
49
+ return (index.h("button", { type: "button", "aria-label": this.linkAriaLabel || "", onClick: () => this.scoutLinkClick.emit() }, this.label));
50
+ }
51
+ if (!this.href) {
52
+ throw new Error("Href is requied when type is set to link");
53
+ }
54
+ return (index.h("a", { href: this.href, target: this.target, "aria-label": this.linkAriaLabel || "", rel:
55
+ // This might not be our job, but better safe than sorry.
56
+ this.rel ??
57
+ (this.target === "_blank" ? "noopener noreferrer" : undefined) }, this.label));
58
+ }
59
+ static get delegatesFocus() { return true; }
60
+ };
61
+ ScoutLink.style = linkCss;
62
+
63
+ exports.scout_link = ScoutLink;
64
+ //# sourceMappingURL=scout-link.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout-link.entry.cjs.js","sources":["src/components/link/link.css?tag=scout-link&encapsulation=shadow","src/components/link/link.tsx"],"sourcesContent":[":host {\n display: inline;\n}\n\na,\nbutton {\n color: var(--color-text-brand-base);\n text-decoration: none;\n}\na:hover,\nbutton:hover {\n text-decoration: underline;\n color: var(--color-background-brand-hover);\n}\na:active,\nbutton:active {\n color: var(--color-background-brand-pressed);\n}\n\nbutton {\n display: inline;\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n}\n","import { Component, Event, type EventEmitter, h, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"scout-link\",\n styleUrl: \"link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutLink {\n /**\n * The URL that the link points to. Required when type is set to link\n */\n @Prop() href?: string;\n\n /**\n * Text to be displayed for the link\n */\n @Prop() label: string;\n\n @Prop() rel?: string;\n\n /**\n * If the label property is not sufficient to describe its use, add an aria-label describing what happens\n * when pressing the button or where the user navigates if it is a link.\n */\n @Prop() linkAriaLabel?: string;\n\n /**\n * There are two types. If you intend to use it as a button with onclick, a button is rendered, however if you want to you it\n * as a normal link, a link with href is rendered.\n */\n @Prop() type: \"link\" | \"button\" = \"link\";\n\n /**\n * _blank\tOpens the linked document in a new window or tab\n *\n * _self\tOpens the linked document in the same frame as it was clicked (this is default)\n *\n * _parent\tOpens the linked document in the parent frame\n *\n * _top\tOpens the linked document in the full body of the window\n *\n * _framename\tOpens the linked document in the named iframe\n */\n @Prop() target?: \"_blank\" | \"_self\" | \"_parent\" | \"_top\" | \"framename\" =\n \"_self\";\n\n /**\n * Only sent if the link is a button.\n */\n @Event() scoutLinkClick: EventEmitter<HTMLButtonElement>;\n\n render() {\n if (this.type === \"button\") {\n return (\n <button\n type=\"button\"\n aria-label={this.linkAriaLabel || \"\"}\n onClick={() => this.scoutLinkClick.emit()}\n >\n {this.label}\n </button>\n );\n }\n\n if (!this.href) {\n throw new Error(\"Href is requied when type is set to link\");\n }\n\n return (\n <a\n href={this.href}\n target={this.target}\n aria-label={this.linkAriaLabel || \"\"}\n rel={\n // This might not be our job, but better safe than sorry.\n this.rel ??\n (this.target === \"_blank\" ? \"noopener noreferrer\" : undefined)\n }\n >\n {this.label}\n </a>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,OAAO,GAAG,8XAA8X;;MCSjY,SAAS,GAAA,MAAA;;;;;AACpB;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;AACK,IAAA,KAAK;AAEL,IAAA,GAAG;AAEX;;;AAGG;AACK,IAAA,aAAa;AAErB;;;AAGG;IACK,IAAI,GAAsB,MAAM;AAExC;;;;;;;;;;AAUG;IACK,MAAM,GACZ,OAAO;AAET;;AAEG;AACM,IAAA,cAAc;IAEvB,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,QACEA,OAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EAAA,YAAA,EACD,IAAI,CAAC,aAAa,IAAI,EAAE,EACpC,OAAO,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAA,EAExC,IAAI,CAAC,KAAK,CACJ;;AAIb,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;;QAG7D,QACEA,eACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,gBACP,IAAI,CAAC,aAAa,IAAI,EAAE,EACpC,GAAG;;AAED,YAAA,IAAI,CAAC,GAAG;iBACP,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG,SAAS,CAAC,EAG/D,EAAA,IAAI,CAAC,KAAK,CACT;;;;;;;;"}