@scouterna/ui-webc 2.2.0 → 2.2.2

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 (200) hide show
  1. package/dist/cjs/{index-CtwQwhfH.js → index-B3fXatmo.js} +9 -3
  2. package/dist/cjs/index-B3fXatmo.js.map +1 -0
  3. package/dist/cjs/inputMixin-CkYXihTB.js +67 -0
  4. package/dist/cjs/inputMixin-CkYXihTB.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/scout-app-bar.cjs.entry.js +1 -1
  7. package/dist/cjs/scout-bottom-bar-item.cjs.entry.js +1 -1
  8. package/dist/cjs/scout-bottom-bar.cjs.entry.js +1 -1
  9. package/dist/cjs/scout-button.cjs.entry.js +5 -4
  10. package/dist/cjs/scout-button.entry.cjs.js.map +1 -1
  11. package/dist/cjs/scout-card.cjs.entry.js +3 -3
  12. package/dist/cjs/scout-card.entry.cjs.js.map +1 -1
  13. package/dist/cjs/scout-checkbox.scout-radio-button.entry.cjs.js.map +1 -1
  14. package/dist/cjs/scout-checkbox_2.cjs.entry.js +24 -25
  15. package/dist/cjs/scout-divider.cjs.entry.js +2 -2
  16. package/dist/cjs/scout-field.cjs.entry.js +4 -4
  17. package/dist/cjs/scout-field.entry.cjs.js.map +1 -1
  18. package/dist/cjs/scout-input.cjs.entry.js +8 -32
  19. package/dist/cjs/scout-input.entry.cjs.js.map +1 -1
  20. package/dist/cjs/scout-link.cjs.entry.js +1 -1
  21. package/dist/cjs/scout-list-view-item.cjs.entry.js +2 -2
  22. package/dist/cjs/scout-list-view-subheader.cjs.entry.js +2 -2
  23. package/dist/cjs/scout-list-view.cjs.entry.js +2 -2
  24. package/dist/cjs/scout-loader.cjs.entry.js +2 -2
  25. package/dist/cjs/scout-select.cjs.entry.js +8 -32
  26. package/dist/cjs/scout-select.entry.cjs.js.map +1 -1
  27. package/dist/cjs/scout-stack.cjs.entry.js +3 -3
  28. package/dist/cjs/scout-switch.cjs.entry.js +21 -21
  29. package/dist/cjs/scout-switch.entry.cjs.js.map +1 -1
  30. package/dist/cjs/ui-webc.cjs.js +2 -2
  31. package/dist/collection/components/button/button.css +2 -5
  32. package/dist/collection/components/button/button.js +24 -3
  33. package/dist/collection/components/button/button.js.map +1 -1
  34. package/dist/collection/components/card/card.css +4 -0
  35. package/dist/collection/components/card/card.js +1 -1
  36. package/dist/collection/components/card/card.js.map +1 -1
  37. package/dist/collection/components/checkbox/checkbox.js +10 -32
  38. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  39. package/dist/collection/components/divider/divider.js +1 -1
  40. package/dist/collection/components/field/field.js +13 -7
  41. package/dist/collection/components/field/field.js.map +1 -1
  42. package/dist/collection/components/input/input.js +7 -106
  43. package/dist/collection/components/input/input.js.map +1 -1
  44. package/dist/collection/components/list-view/list-view.js +1 -1
  45. package/dist/collection/components/list-view-item/list-view-item.js +1 -1
  46. package/dist/collection/components/list-view-subheader/list-view-subheader.js +1 -1
  47. package/dist/collection/components/loader/loader.js +1 -1
  48. package/dist/collection/components/radio-button/radio-button.js +10 -32
  49. package/dist/collection/components/radio-button/radio-button.js.map +1 -1
  50. package/dist/collection/components/select/select.js +7 -106
  51. package/dist/collection/components/select/select.js.map +1 -1
  52. package/dist/collection/components/stack/stack.js +2 -2
  53. package/dist/collection/components/switch/switch.css +8 -7
  54. package/dist/collection/components/switch/switch.js +20 -42
  55. package/dist/collection/components/switch/switch.js.map +1 -1
  56. package/dist/collection/mixins/inputMixin.js +172 -0
  57. package/dist/collection/mixins/inputMixin.js.map +1 -0
  58. package/dist/components/index.js +1 -1
  59. package/dist/components/{p-Jt6ZXtWI.js → p-BkrRT31y.js} +16 -16
  60. package/dist/components/p-BkrRT31y.js.map +1 -0
  61. package/dist/components/{p-C2uc7k4n.js → p-C2_wl40t.js} +16 -16
  62. package/dist/components/p-C2_wl40t.js.map +1 -0
  63. package/dist/components/p-DaGMxK4K.js +62 -0
  64. package/dist/components/p-DaGMxK4K.js.map +1 -0
  65. package/dist/components/{p-DNlelzlE.js → p-fr5CaUFu.js} +9 -4
  66. package/dist/components/p-fr5CaUFu.js.map +1 -0
  67. package/dist/components/scout-app-bar.js +1 -1
  68. package/dist/components/scout-bottom-bar-item.js +1 -1
  69. package/dist/components/scout-bottom-bar.js +1 -1
  70. package/dist/components/scout-button.js +7 -6
  71. package/dist/components/scout-button.js.map +1 -1
  72. package/dist/components/scout-card.js +3 -3
  73. package/dist/components/scout-card.js.map +1 -1
  74. package/dist/components/scout-checkbox.js +1 -1
  75. package/dist/components/scout-divider.js +2 -2
  76. package/dist/components/scout-field.js +5 -5
  77. package/dist/components/scout-field.js.map +1 -1
  78. package/dist/components/scout-input.js +9 -34
  79. package/dist/components/scout-input.js.map +1 -1
  80. package/dist/components/scout-link.js +1 -1
  81. package/dist/components/scout-list-view-item.js +4 -4
  82. package/dist/components/scout-list-view-subheader.js +2 -2
  83. package/dist/components/scout-list-view.js +2 -2
  84. package/dist/components/scout-loader.js +2 -2
  85. package/dist/components/scout-radio-button.js +1 -1
  86. package/dist/components/scout-select.js +9 -34
  87. package/dist/components/scout-select.js.map +1 -1
  88. package/dist/components/scout-stack.js +3 -3
  89. package/dist/components/scout-switch.js +22 -22
  90. package/dist/components/scout-switch.js.map +1 -1
  91. package/dist/custom-elements.json +393 -24
  92. package/dist/esm/{index-Cp4mWtfs.js → index-ksA_9NPe.js} +9 -4
  93. package/dist/esm/index-ksA_9NPe.js.map +1 -0
  94. package/dist/esm/inputMixin-mAf9ZFOg.js +65 -0
  95. package/dist/esm/inputMixin-mAf9ZFOg.js.map +1 -0
  96. package/dist/esm/loader.js +3 -3
  97. package/dist/esm/scout-app-bar.entry.js +1 -1
  98. package/dist/esm/scout-bottom-bar-item.entry.js +1 -1
  99. package/dist/esm/scout-bottom-bar.entry.js +1 -1
  100. package/dist/esm/scout-button.entry.js +5 -4
  101. package/dist/esm/scout-button.entry.js.map +1 -1
  102. package/dist/esm/scout-card.entry.js +3 -3
  103. package/dist/esm/scout-card.entry.js.map +1 -1
  104. package/dist/esm/scout-checkbox.scout-radio-button.entry.js.map +1 -1
  105. package/dist/esm/scout-checkbox_2.entry.js +24 -25
  106. package/dist/esm/scout-divider.entry.js +2 -2
  107. package/dist/esm/scout-field.entry.js +4 -4
  108. package/dist/esm/scout-field.entry.js.map +1 -1
  109. package/dist/esm/scout-input.entry.js +8 -32
  110. package/dist/esm/scout-input.entry.js.map +1 -1
  111. package/dist/esm/scout-link.entry.js +1 -1
  112. package/dist/esm/scout-list-view-item.entry.js +2 -2
  113. package/dist/esm/scout-list-view-subheader.entry.js +2 -2
  114. package/dist/esm/scout-list-view.entry.js +2 -2
  115. package/dist/esm/scout-loader.entry.js +2 -2
  116. package/dist/esm/scout-select.entry.js +8 -32
  117. package/dist/esm/scout-select.entry.js.map +1 -1
  118. package/dist/esm/scout-stack.entry.js +3 -3
  119. package/dist/esm/scout-switch.entry.js +21 -21
  120. package/dist/esm/scout-switch.entry.js.map +1 -1
  121. package/dist/esm/ui-webc.js +3 -3
  122. package/dist/types/components/button/button.d.ts +1 -0
  123. package/dist/types/components/field/field.d.ts +3 -6
  124. package/dist/types/components.d.ts +140 -28
  125. package/dist/ui-webc/p-02c211ea.entry.js +2 -0
  126. package/dist/ui-webc/p-1a701759.entry.js +2 -0
  127. package/dist/ui-webc/p-1a701759.entry.js.map +1 -0
  128. package/dist/ui-webc/{p-5d73566e.entry.js → p-1efd7b9a.entry.js} +2 -2
  129. package/dist/ui-webc/{p-85e7b20f.entry.js → p-3018f46f.entry.js} +2 -2
  130. package/dist/ui-webc/p-3e750355.entry.js +2 -0
  131. package/dist/ui-webc/p-3e750355.entry.js.map +1 -0
  132. package/dist/ui-webc/p-4616484e.entry.js +2 -0
  133. package/dist/ui-webc/p-4616484e.entry.js.map +1 -0
  134. package/dist/ui-webc/p-479ae616.entry.js +2 -0
  135. package/dist/ui-webc/p-479ae616.entry.js.map +1 -0
  136. package/dist/ui-webc/{p-9f80fed6.entry.js → p-50112773.entry.js} +2 -2
  137. package/dist/ui-webc/p-974e8415.entry.js +2 -0
  138. package/dist/ui-webc/{p-29689fe2.entry.js → p-97956c4f.entry.js} +2 -2
  139. package/dist/ui-webc/p-97f9cf0a.entry.js +2 -0
  140. package/dist/ui-webc/p-97f9cf0a.entry.js.map +1 -0
  141. package/dist/ui-webc/p-BzgciO7w.js +2 -0
  142. package/dist/ui-webc/p-BzgciO7w.js.map +1 -0
  143. package/dist/ui-webc/p-ac65f104.entry.js +2 -0
  144. package/dist/ui-webc/{p-efab02f0.entry.js → p-c2c5857d.entry.js} +2 -2
  145. package/dist/ui-webc/p-d8084e5c.entry.js +2 -0
  146. package/dist/ui-webc/p-d8084e5c.entry.js.map +1 -0
  147. package/dist/ui-webc/p-d999b8d6.entry.js +2 -0
  148. package/dist/ui-webc/p-d999b8d6.entry.js.map +1 -0
  149. package/dist/ui-webc/{p-e4070682.entry.js → p-e2288570.entry.js} +2 -2
  150. package/dist/ui-webc/{p-b8715dc5.entry.js → p-e4f5dad7.entry.js} +2 -2
  151. package/dist/ui-webc/p-ksA_9NPe.js +3 -0
  152. package/dist/{esm/index-Cp4mWtfs.js.map → ui-webc/p-ksA_9NPe.js.map} +1 -1
  153. package/dist/ui-webc/scout-button.entry.esm.js.map +1 -1
  154. package/dist/ui-webc/scout-card.entry.esm.js.map +1 -1
  155. package/dist/ui-webc/scout-checkbox.scout-radio-button.entry.esm.js.map +1 -1
  156. package/dist/ui-webc/scout-field.entry.esm.js.map +1 -1
  157. package/dist/ui-webc/scout-input.entry.esm.js.map +1 -1
  158. package/dist/ui-webc/scout-select.entry.esm.js.map +1 -1
  159. package/dist/ui-webc/scout-switch.entry.esm.js.map +1 -1
  160. package/dist/ui-webc/ui-webc.css +2 -2
  161. package/dist/ui-webc/ui-webc.esm.js +1 -1
  162. package/package.json +2 -2
  163. package/dist/cjs/index-CtwQwhfH.js.map +0 -1
  164. package/dist/components/p-C2uc7k4n.js.map +0 -1
  165. package/dist/components/p-DNlelzlE.js.map +0 -1
  166. package/dist/components/p-Jt6ZXtWI.js.map +0 -1
  167. package/dist/types/components/checkbox/checkbox.d.ts +0 -24
  168. package/dist/types/components/input/input.d.ts +0 -48
  169. package/dist/types/components/radio-button/radio-button.d.ts +0 -24
  170. package/dist/types/components/select/select.d.ts +0 -32
  171. package/dist/types/components/switch/switch.d.ts +0 -25
  172. package/dist/ui-webc/p-0b42e59f.entry.js +0 -2
  173. package/dist/ui-webc/p-0b42e59f.entry.js.map +0 -1
  174. package/dist/ui-webc/p-33010b09.entry.js +0 -2
  175. package/dist/ui-webc/p-3b426423.entry.js +0 -2
  176. package/dist/ui-webc/p-3b426423.entry.js.map +0 -1
  177. package/dist/ui-webc/p-3e34c267.entry.js +0 -2
  178. package/dist/ui-webc/p-4c70c251.entry.js +0 -2
  179. package/dist/ui-webc/p-4c70c251.entry.js.map +0 -1
  180. package/dist/ui-webc/p-6ef8c777.entry.js +0 -2
  181. package/dist/ui-webc/p-6ef8c777.entry.js.map +0 -1
  182. package/dist/ui-webc/p-714363c8.entry.js +0 -2
  183. package/dist/ui-webc/p-714363c8.entry.js.map +0 -1
  184. package/dist/ui-webc/p-7f8dc0da.entry.js +0 -2
  185. package/dist/ui-webc/p-7f8dc0da.entry.js.map +0 -1
  186. package/dist/ui-webc/p-93ee0d2c.entry.js +0 -2
  187. package/dist/ui-webc/p-Cp4mWtfs.js +0 -3
  188. package/dist/ui-webc/p-Cp4mWtfs.js.map +0 -1
  189. package/dist/ui-webc/p-afa38195.entry.js +0 -2
  190. package/dist/ui-webc/p-afa38195.entry.js.map +0 -1
  191. /package/dist/ui-webc/{p-93ee0d2c.entry.js.map → p-02c211ea.entry.js.map} +0 -0
  192. /package/dist/ui-webc/{p-5d73566e.entry.js.map → p-1efd7b9a.entry.js.map} +0 -0
  193. /package/dist/ui-webc/{p-85e7b20f.entry.js.map → p-3018f46f.entry.js.map} +0 -0
  194. /package/dist/ui-webc/{p-9f80fed6.entry.js.map → p-50112773.entry.js.map} +0 -0
  195. /package/dist/ui-webc/{p-33010b09.entry.js.map → p-974e8415.entry.js.map} +0 -0
  196. /package/dist/ui-webc/{p-29689fe2.entry.js.map → p-97956c4f.entry.js.map} +0 -0
  197. /package/dist/ui-webc/{p-3e34c267.entry.js.map → p-ac65f104.entry.js.map} +0 -0
  198. /package/dist/ui-webc/{p-efab02f0.entry.js.map → p-c2c5857d.entry.js.map} +0 -0
  199. /package/dist/ui-webc/{p-e4070682.entry.js.map → p-e2288570.entry.js.map} +0 -0
  200. /package/dist/ui-webc/{p-b8715dc5.entry.js.map → p-e4f5dad7.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"scout-button.entry.esm.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":[],"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,QACE,CAAC,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,EAET,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EACnB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACH,EACN,IAAI,CAAC,IAAI,IAAI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAI,CAAA,CACrD;;;;;;;;"}
1
+ {"version":3,"file":"scout-button.entry.esm.js","sources":["src/components/button/button.css?tag=scout-button&encapsulation=scoped","src/components/button/button.tsx"],"sourcesContent":[".button {\n flex: 1;\n display: inline-flex;\n height: var(--spacing-10);\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 scoped: true,\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() iconPosition: \"before\" | \"after\" = \"after\";\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 const icon = this.icon && <span class=\"icon\" innerHTML={this.icon} />;\n\n return (\n <Tag\n class={`button ${this.variant} ${this.iconOnly ? \"icon-only\" : \"\"}`}\n onClick={() => this.scoutClick.emit()}\n {...props}\n >\n {this.iconPosition === \"before\" && icon}\n <span class=\"content\">\n <slot />\n </span>\n {this.iconPosition === \"after\" && icon}\n </Tag>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,q5EAAq5E;;MCY15E,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,YAAY,GAAuB,OAAO;IAC1C,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,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,GAAI;AAErE,QAAA,QACE,CAAC,CAAA,GAAG,EACF,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,UAAU,IAAI,CAAC,OAAO,CAAI,CAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAA,CAAE,EACnE,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KACjC,KAAK,EAAA,EAER,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,EACvC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EACnB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACH,EACN,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,IAAI,CAClC;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scout-card.entry.esm.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":[],"mappings":";;AAAA,MAAM,OAAO,GAAG,uMAAuM;;MCY1M,SAAS,GAAA,MAAA;;;;IACpB,MAAM,GAAA;QACJ,OAAO,8DAAQ;;;;;;;;"}
1
+ {"version":3,"file":"scout-card.entry.esm.js","sources":["src/components/card/card.css?tag=scout-card&encapsulation=shadow","src/components/card/card.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.card {\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 (\n <div class=\"card\">\n <slot />\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,OAAO,GAAG,8NAA8N;;MCYjO,SAAS,GAAA,MAAA;;;;IACpB,MAAM,GAAA;QACJ,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,MAAM,EAAA,EACf,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACJ;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scout-checkbox.scout-radio-button.entry.esm.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":["checkIcon"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"scout-checkbox.scout-radio-button.entry.esm.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 type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport checkIcon from \"@tabler/icons/outline/check.svg\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\n\n@Component({\n tag: \"scout-checkbox\",\n styleUrl: \"checkbox.css\",\n scoped: true,\n})\nexport class ScoutCheckbox\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n @Prop() checked: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your checkbox with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @Prop() value: string;\n\n @Prop() name: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n\n onChange(event: Event) {\n const checkbox = event.target as HTMLInputElement;\n\n this.scoutChecked.emit({\n checked: checkbox.checked,\n element: checkbox,\n });\n }\n\n render() {\n const Tag = this.label?.length ? \"label\" : \"div\";\n return (\n <Tag>\n <input\n ref={(el) => this.setInputRef(el)}\n id={this.ariaId}\n type=\"checkbox\"\n value={this.value}\n name={this.name}\n class=\"checkbox\"\n style={{ \"--icon-checkbox\": `url(${checkIcon})` }}\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.checked}\n onChange={(event) => {\n this.onInput();\n this.onChange(event);\n }}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n {this.label}\n </Tag>\n );\n }\n}\n",".radio {\n width: var(--spacing-6);\n height: var(--spacing-6);\n appearance: none;\n -webkit-appearance: none;\n display: flex;\n align-content: center;\n justify-content: center;\n border-radius: 100%;\n background-color: var(--color-white);\n border: 2px solid var(--color-gray-300);\n position: relative;\n}\n\n.radio:hover {\n border: 2px solid var(--color-gray-400);\n box-shadow: inset 0px 0px 5px 5px var(--color-background-brand-subtle-hovered);\n cursor: pointer;\n}\n\n.radio:active {\n background-color: var(--color-background-brand-subtle-pressed);\n}\n\n.radio:checked:hover {\n border-color: var(--color-background-brand-hovered);\n box-shadow: none;\n}\n\n.radio:checked:hover::before {\n background-color: var(--color-background-brand-hovered);\n}\n\n.radio:checked {\n border-color: var(--color-background-brand-base);\n}\n\n.radio::after {\n content: \"\";\n position: absolute;\n width: var(--spacing-10);\n height: var(--spacing-10);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.radio:checked::before {\n content: \"\";\n background-color: var(--color-background-brand-base);\n width: var(--spacing-4);\n height: var(--spacing-4);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border-radius: 100%;\n}\n\n.radio:disabled {\n pointer-events: none;\n background-color: var(--color-gray-100);\n border-color: var(--color-gray-100);\n}\n\nlabel {\n display: flex;\n align-items: center;\n gap: var(--spacing-2);\n font: var(--type-label-base);\n color: var(--color-text-base);\n}\n","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\n\n@Component({\n tag: \"scout-radio-button\",\n styleUrl: \"radio-button.css\",\n scoped: true,\n})\nexport class ScoutRadioButton\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n @Prop() checked: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your radio button with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @Prop() value: string;\n\n @Prop() name: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n\n onChange(event: Event) {\n const radio = event.target as HTMLInputElement;\n\n this.scoutChecked.emit({\n checked: radio.checked,\n element: radio,\n });\n }\n\n render() {\n const Tag = this.label?.length ? \"label\" : \"div\";\n return (\n <Tag>\n <input\n ref={(el) => this.setInputRef(el)}\n id={this.ariaId}\n type=\"radio\"\n value={this.value}\n name={this.name}\n class=\"radio\"\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.checked}\n onChange={(event) => {\n this.onInput();\n this.onChange(event);\n }}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n {this.label}\n </Tag>\n );\n }\n}\n"],"names":["checkIcon"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"scout-field.entry.esm.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":[],"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,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,OAAO,EAAA,EAChB,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAC,OAAO,EAAA,EACxC,IAAI,CAAC,KAAK,CACL,EACR,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACR,CAAA,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,IAAI,CAAA,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.esm.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\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(\"_scoutFieldId\")\n catchFieldId(event: CustomEvent<string>) {\n event.stopPropagation();\n this.inputId = event.detail;\n }\n\n @Listen(\"_scoutValidate\")\n handleValidation(\n event: CustomEvent<{\n element:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\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 @Listen(\"_scoutInvalid\")\n showError() {\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":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG,uaAAua;;MCO3a,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,gBAAgB,CACd,KAOE,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;;;IAM9C,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;IAG1B,MAAM,GAAA;QACJ,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,OAAO,EAAA,EAChB,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAC,OAAO,EAAA,EACxC,IAAI,CAAC,KAAK,CACL,EACR,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACR,CAAA,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,IAAI,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,KAAK,EAAC,WAAW,EAAE,EAAA,IAAI,CAAC,QAAQ,CAAK,CACtD;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scout-input.entry.esm.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":[],"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,QACE,CAAA,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;;;;;;;"}
1
+ {"version":3,"file":"scout-input.entry.esm.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 h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\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\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\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 render() {\n return (\n <input\n ref={(el) => this.setInputRef(el)}\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={() => this.onInput()}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,iWAAiW;;ACoCrW,MAAA,UACX,GAAA,cAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;AAGzB;;;;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;IAEjC,MAAM,GAAA;QACJ,QACE,8DACE,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EACjC,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,MAAM,IAAI,CAAC,OAAO,EAAE,EAC7B,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EACjC,CAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scout-select.entry.esm.js","sources":["../../node_modules/.pnpm/@tabler+icons@3.35.0/node_modules/@tabler/icons/icons/outline/chevron-down.svg","src/components/select/select.css?tag=scout-select&encapsulation=scoped","src/components/select/select.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-chevron-down\"\n>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M6 9l6 6l6 -6\" />\n</svg>",".select-wrapper {\n position: relative;\n display: inline-flex;\n width: 100%;\n}\n\n.select {\n width: 100%;\n height: var(--spacing-10);\n padding: var(--spacing-2);\n padding-right: var(--spacing-8);\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 appearance: none;\n -webkit-appearance: none;\n cursor: pointer;\n}\n\n.select:hover:not(:disabled) {\n border-color: var(--color-gray-400);\n}\n\n.select:focus {\n outline: 2px solid var(--color-background-brand-base);\n outline-offset: 1px;\n}\n\n.select:disabled {\n background-color: var(--color-gray-100);\n color: var(--color-gray-700);\n cursor: not-allowed;\n}\n\n.select-icon {\n position: absolute;\n right: var(--spacing-2);\n top: 50%;\n transform: translateY(-50%);\n width: var(--spacing-5);\n height: var(--spacing-5);\n background-color: var(--color-text-base);\n mask-image: var(--icon-chevron);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: contain;\n pointer-events: none;\n}\n\n.select:disabled + .select-icon {\n background-color: var(--color-gray-500);\n}\n","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Prop,\n State,\n} from \"@stencil/core\";\nimport chevronIcon from \"@tabler/icons/outline/chevron-down.svg\";\n\n@Component({\n tag: \"scout-select\",\n styleUrl: \"select.css\",\n scoped: true,\n})\nexport class ScoutSelect implements ComponentInterface {\n /**\n * Value of the select element, in case you want to control it yourself.\n */\n @Prop() value: string = \"\";\n\n /**\n * Whether the select is disabled. Disabled selects are not editable, excluded\n * from tab order and are not validated.\n */\n @Prop() disabled: boolean = false;\n\n @Prop() name: string;\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 * select 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: HTMLSelectElement;\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 onChange(event: Event) {\n const select = event.target as HTMLSelectElement;\n\n if (this.validate) {\n const validationMessage = this.validate(select.value);\n select.setCustomValidity(validationMessage ?? \"\");\n }\n\n this.scoutInputChange.emit({\n value: select.value,\n element: select,\n });\n }\n\n render() {\n return (\n <div class=\"select-wrapper\">\n <select\n id={this.ariaId}\n name={this.name}\n class=\"select\"\n disabled={this.disabled}\n onChange={(e) => this.onChange(e)}\n onBlur={() => this.scoutBlur.emit()}\n >\n <slot />\n </select>\n <span\n class=\"select-icon\"\n style={{ \"--icon-chevron\": `url(${chevronIcon})` }}\n aria-hidden=\"true\"\n />\n </div>\n );\n }\n}\n"],"names":["chevronIcon"],"mappings":";;AAAA,MAAM,cAAc,GAAG,ggBAAggB;;ACAvhB,MAAM,SAAS,GAAG,mvCAAmvC;;MCgBxvC,WAAW,GAAA,MAAA;;;;;;;AACtB;;AAEG;IACK,KAAK,GAAW,EAAE;AAE1B;;;AAGG;IACK,QAAQ,GAAY,KAAK;AAEzB,IAAA,IAAI;AAEZ;;;;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,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2B;AAEhD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;AACrD,YAAA,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;;AAGnD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;AACnB,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA,CAAC;;IAGJ,MAAM,GAAA;QACJ,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACzB,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EACjC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAA,EAEnC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACD,EACT,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,EAAE,gBAAgB,EAAE,CAAO,IAAA,EAAAA,cAAW,CAAG,CAAA,CAAA,EAAE,EAAA,aAAA,EACtC,MAAM,EAClB,CAAA,CACE;;;;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"scout-select.entry.esm.js","sources":["../../node_modules/.pnpm/@tabler+icons@3.35.0/node_modules/@tabler/icons/icons/outline/chevron-down.svg","src/components/select/select.css?tag=scout-select&encapsulation=scoped","src/components/select/select.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-chevron-down\"\n>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M6 9l6 6l6 -6\" />\n</svg>",".select-wrapper {\n position: relative;\n display: inline-flex;\n width: 100%;\n}\n\n.select {\n width: 100%;\n height: var(--spacing-10);\n padding: var(--spacing-2);\n padding-right: var(--spacing-8);\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 appearance: none;\n -webkit-appearance: none;\n cursor: pointer;\n}\n\n.select:hover:not(:disabled) {\n border-color: var(--color-gray-400);\n}\n\n.select:focus {\n outline: 2px solid var(--color-background-brand-base);\n outline-offset: 1px;\n}\n\n.select:disabled {\n background-color: var(--color-gray-100);\n color: var(--color-gray-700);\n cursor: not-allowed;\n}\n\n.select-icon {\n position: absolute;\n right: var(--spacing-2);\n top: 50%;\n transform: translateY(-50%);\n width: var(--spacing-5);\n height: var(--spacing-5);\n background-color: var(--color-text-base);\n mask-image: var(--icon-chevron);\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: contain;\n pointer-events: none;\n}\n\n.select:disabled + .select-icon {\n background-color: var(--color-gray-500);\n}\n","import {\n Component,\n type ComponentInterface,\n h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport chevronIcon from \"@tabler/icons/outline/chevron-down.svg\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\n\n@Component({\n tag: \"scout-select\",\n styleUrl: \"select.css\",\n scoped: true,\n})\nexport class ScoutSelect\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n /**\n * Value of the select element, in case you want to control it yourself.\n */\n @Prop() value: string = \"\";\n\n /**\n * Whether the select is disabled. Disabled selects are not editable, excluded\n * from tab order and are not validated.\n */\n @Prop() disabled: boolean = false;\n\n @Prop() name: string;\n\n render() {\n return (\n <div class=\"select-wrapper\">\n <select\n id={this.ariaId}\n name={this.name}\n class=\"select\"\n disabled={this.disabled}\n onChange={() => this.onInput()}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n >\n <slot />\n </select>\n <span\n class=\"select-icon\"\n style={{ \"--icon-chevron\": `url(${chevronIcon})` }}\n aria-hidden=\"true\"\n />\n </div>\n );\n }\n}\n"],"names":["chevronIcon"],"mappings":";;;AAAA,MAAM,cAAc,GAAG,ggBAAggB;;ACAvhB,MAAM,SAAS,GAAG,mvCAAmvC;;ACexvC,MAAA,WACX,GAAA,cAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;AAGzB;;AAEG;IACK,KAAK,GAAW,EAAE;AAE1B;;;AAGG;IACK,QAAQ,GAAY,KAAK;AAEzB,IAAA,IAAI;IAEZ,MAAM,GAAA;QACJ,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACzB,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC9B,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EAAA,EAEjC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACD,EACT,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,EAAE,gBAAgB,EAAE,CAAO,IAAA,EAAAA,cAAW,CAAG,CAAA,CAAA,EAAE,EAAA,aAAA,EACtC,MAAM,EAClB,CAAA,CACE;;;;;;;","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"scout-switch.entry.esm.js","sources":["src/components/switch/switch.css?tag=scout-switch&encapsulation=shadow","src/components/switch/switch.tsx"],"sourcesContent":[".switch {\n width: var(--spacing-12);\n height: var(--spacing-6);\n appearance: none;\n -webkit-appearance: none;\n border-radius: var(--spacing-8);\n background-color: var(--color-text-brand-inverse);\n border: 1px solid var(--color-gray-300);\n position: relative;\n display: flex;\n align-content: center;\n justify-content: center;\n transition-property: border-color;\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n cursor: pointer;\n --switch-ball-size: calc((var(--spacing-6) - var(--spacing-1) / 2) + 1px);\n}\n\n.switch:hover {\n transition-property: none;\n border-color: var(--color-gray-400);\n background-color: var(--color-background-brand-subtle-hovered);\n}\n\n.switch:active {\n background-color: var(--color-background-brand-subtle-pressed);\n}\n\n.switch:checked {\n border-color: var(--color-background-brand-base);\n}\n\n.switch:hover::before {\n background-color: var(--color-gray-400);\n}\n\n.switch::before {\n content: \"\";\n background-color: var(--color-gray-300);\n width: var(--switch-ball-size);\n height: var(--switch-ball-size);\n border-radius: 50%;\n position: absolute;\n left: -1px;\n right: 0;\n transition-duration: 0.3s;\n transition-property: left, right;\n}\n.switch:checked::before {\n content: \"\";\n background-color: var(--color-background-brand-base);\n left: calc(100% - calc(var(--spacing-6) - var(--spacing-1) / 2) + 1px);\n}\n\n.switch:disabled {\n pointer-events: none;\n background-color: var(--color-gray-100);\n border-color: var(--color-gray-100);\n}\n\n.switch:disabled::before {\n background-color: var(--color-gray-300);\n}\n\nlabel {\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n font: var(--type-label-base);\n color: var(--color-text-base);\n}\n\n.inlineDivider {\n width: var(--spacing-2);\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-switch\",\n styleUrl: \"switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutSwitch {\n /**\n * Indicates whether the switch is toggled on or off.\n */\n @Prop() toggled: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your switch with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @State() ariaId: string;\n\n @Event() scoutSwitchToggled: EventEmitter<{\n toggled: 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 onClick(event: Event) {\n const switchElement = event.target as HTMLInputElement;\n\n this.scoutSwitchToggled.emit({\n toggled: switchElement.checked,\n element: switchElement,\n });\n }\n\n render() {\n const Tag = this.label?.length ? \"label\" : \"div\";\n return (\n <Tag>\n {this.label}\n <span class=\"inlineDivider\"></span>\n <input\n class=\"switch\"\n onChange={(event) => this.onClick(event)}\n type=\"checkbox\"\n id={this.ariaId}\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.toggled}\n />\n </Tag>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,omDAAomD;;MCgBzmD,WAAW,GAAA,MAAA;;;;;;AACtB;;AAEG;IACK,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEJ,IAAA,MAAM;AAEN,IAAA,kBAAkB;AAI3B;;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,OAAO,CAAC,KAAY,EAAA;AAClB,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,MAA0B;AAEtD,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,aAAa,CAAC,OAAO;AAC9B,YAAA,OAAO,EAAE,aAAa;AACvB,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK;QAChD,QACE,EAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACD,IAAI,CAAC,KAAK,EACX,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAQ,CAAA,EACnC,CACE,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EACxC,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,MAAM,EAAA,iBAAA,EACE,IAAI,CAAC,cAAc,mBACrB,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,CACrB,CACE;;;;;;;;"}
1
+ {"version":3,"file":"scout-switch.entry.esm.js","sources":["src/components/switch/switch.css?tag=scout-switch&encapsulation=shadow","src/components/switch/switch.tsx"],"sourcesContent":[".switch {\n width: var(--spacing-10);\n height: var(--spacing-6);\n appearance: none;\n -webkit-appearance: none;\n border-radius: var(--spacing-8);\n background-color: var(--color-text-brand-inverse);\n border: 2px solid var(--color-gray-300);\n position: relative;\n display: flex;\n align-content: center;\n justify-content: center;\n transition-property: border-color;\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n cursor: pointer;\n --switch-ball-padding: calc(var(--spacing-1) / 4);\n --switch-ball-size: calc(var(--spacing-5) - var(--switch-ball-padding) * 2);\n}\n\n.switch:hover {\n transition-property: none;\n border-color: var(--color-gray-400);\n background-color: var(--color-background-brand-subtle-hovered);\n}\n\n.switch:active {\n background-color: var(--color-background-brand-subtle-pressed);\n}\n\n.switch:checked {\n border-color: var(--color-background-brand-base);\n}\n\n.switch:hover::before {\n background-color: var(--color-gray-400);\n}\n\n.switch::before {\n content: \"\";\n background-color: var(--color-gray-300);\n width: var(--switch-ball-size);\n height: var(--switch-ball-size);\n border-radius: 50%;\n position: absolute;\n top: var(--switch-ball-padding);\n left: var(--switch-ball-padding);\n transition-duration: 0.3s;\n transition-property: left, right;\n}\n.switch:checked::before {\n content: \"\";\n background-color: var(--color-background-brand-base);\n left: calc(100% - calc(var(--switch-ball-size) + var(--switch-ball-padding)));\n}\n\n.switch:disabled {\n pointer-events: none;\n background-color: var(--color-gray-100);\n border-color: var(--color-gray-100);\n}\n\n.switch:disabled::before {\n background-color: var(--color-gray-300);\n}\n\nlabel {\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n font: var(--type-label-base);\n color: var(--color-text-base);\n}\n\n.inlineDivider {\n width: var(--spacing-2);\n}\n","import {\n Component,\n type ComponentInterface,\n Event,\n type EventEmitter,\n h,\n Mixin,\n Prop,\n} from \"@stencil/core\";\nimport { inputMixin } from \"../../mixins/inputMixin\";\n\n@Component({\n tag: \"scout-switch\",\n styleUrl: \"switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutSwitch\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n /**\n * Indicates whether the switch is toggled on or off.\n */\n @Prop() toggled: boolean = false;\n\n @Prop() disabled: boolean = false;\n\n /**\n * Use this prop if you need to connect your switch with another element describing its use, other than the property label.\n */\n @Prop() ariaLabelledby: string;\n\n @Prop() label: string;\n\n @Event() scoutChecked: EventEmitter<{\n checked: boolean;\n element: HTMLInputElement;\n }>;\n\n onChange(event: Event) {\n const checkbox = event.target as HTMLInputElement;\n\n this.scoutChecked.emit({\n checked: checkbox.checked,\n element: checkbox,\n });\n }\n\n render() {\n const Tag = this.label?.length ? \"label\" : \"div\";\n return (\n <Tag>\n {this.label}\n <span class=\"inlineDivider\"></span>\n <input\n ref={(el) => this.setInputRef(el)}\n id={this.ariaId}\n type=\"checkbox\"\n class=\"switch\"\n aria-labelledby={this.ariaLabelledby}\n aria-disabled={this.disabled}\n disabled={this.disabled}\n checked={this.toggled}\n onChange={(event) => {\n this.onInput();\n this.onChange(event);\n }}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n </Tag>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,SAAS,GAAG,ktDAAktD;;ACkBvtD,MAAA,WACX,GAAA,cAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;;AAGzB;;AAEG;IACK,OAAO,GAAY,KAAK;IAExB,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACK,IAAA,cAAc;AAEd,IAAA,KAAK;AAEJ,IAAA,YAAY;AAKrB,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAA0B;AAEjD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;AACzB,YAAA,OAAO,EAAE,QAAQ;AAClB,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK;QAChD,QACE,EAAC,GAAG,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACD,IAAI,CAAC,KAAK,EACX,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAQ,CAAA,EACnC,CACE,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EACjC,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,QAAQ,EACG,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,KAAI;gBAClB,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;aACrB,EACD,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EAAA,CACjC,CACE;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- :root{--misc-color-annotations:#ff00ff;--color-blue-50:#e6eeff;--color-blue-100:#d0e0ff;--color-blue-200:#9cc3ff;--color-blue-300:#58a6ff;--color-blue-400:#0087e3;--color-blue-500:#006bb5;--color-blue-600:#00508a;--color-blue-700:#003660;--color-blue-800:#002748;--color-blue-900:#00162d;--color-blue-950:#000f21;--color-neutral-50:#ebf1f7;--color-neutral-100:#d7e4f0;--color-neutral-200:#b1cde3;--color-neutral-300:#87b3d4;--color-neutral-400:#749bb7;--color-neutral-500:#608199;--color-neutral-600:#4c667a;--color-neutral-700:#374b5a;--color-neutral-800:#25343f;--color-neutral-900:#131d24;--color-neutral-950:#0a1217;--color-white:#ffffff;--color-challengerpink-50:#fff0f2;--color-challengerpink-100:#ffdde3;--color-challengerpink-200:#ffbac7;--color-challengerpink-300:#ff93ab;--color-challengerpink-400:#ff668e;--color-challengerpink-500:#ff1271;--color-challengerpink-600:#da005e;--color-challengerpink-700:#a60046;--color-challengerpink-800:#72002e;--color-challengerpink-900:#470019;--color-challengerpink-950:#30000f;--color-orange-50:#fffbeb;--color-orange-100:#fef3c7;--color-orange-200:#fde68a;--color-orange-300:#fcd34d;--color-orange-400:#fbbf24;--color-orange-500:#f59e0b;--color-orange-600:#d97706;--color-orange-700:#b45309;--color-orange-800:#92400e;--color-orange-900:#78350f;--color-orange-950:#451a03;--color-gray-50:#f3f3f4;--color-gray-100:#e5e5e6;--color-gray-200:#cbccce;--color-gray-300:#b2b3b6;--color-gray-400:#9c9ea1;--color-gray-500:#85868a;--color-gray-600:#6e7073;--color-gray-700:#585a5c;--color-gray-800:#444547;--color-gray-900:#252627;--color-gray-950:#151616;--color-discovererblue-50:#eaf5ff;--color-discovererblue-100:#cde9ff;--color-discovererblue-200:#92d4ff;--color-discovererblue-300:#1ec0ff;--color-discovererblue-400:#00a8e1;--color-discovererblue-500:#008bbb;--color-discovererblue-600:#006d94;--color-discovererblue-700:#01516f;--color-discovererblue-800:#00394f;--color-discovererblue-900:#00202f;--color-discovererblue-950:#00131d;--color-trackergreen-50:#ccfec6;--color-trackergreen-100:#85fd72;--color-trackergreen-200:#5be23d;--color-trackergreen-300:#4ec333;--color-trackergreen-400:#41a629;--color-trackergreen-500:#348821;--color-trackergreen-600:#286c18;--color-trackergreen-700:#1c5110;--color-trackergreen-800:#113808;--color-trackergreen-900:#072103;--color-trackergreen-950:#031501;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#b9f8cf;--color-green-300:#7bf1a8;--color-green-400:#05df72;--color-green-500:#00c950;--color-green-600:#00a63e;--color-green-700:#008236;--color-green-800:#016630;--color-green-900:#0d542b;--color-green-950:#032e15;--color-red-50:#fef2f2;--color-red-100:#ffe2e2;--color-red-200:#ffc9c9;--color-red-300:#ffa2a2;--color-red-400:#ff6467;--color-red-500:#fb2c36;--color-red-600:#e7000b;--color-red-700:#c10007;--color-red-800:#9f0712;--color-red-900:#82181a;--color-red-950:#460809;--color-black:#000000;--color-roveryellow-50:#fffd62;--color-roveryellow-100:#f4f203;--color-roveryellow-200:#e2e000;--color-roveryellow-300:#c3c100;--color-roveryellow-400:#a4a300;--color-roveryellow-500:#878500;--color-roveryellow-600:#6a6900;--color-roveryellow-700:#515000;--color-roveryellow-800:#373700;--color-roveryellow-900:#1f1f00;--color-roveryellow-950:#121200;--color-adventurerorange-50:#fff1ee;--color-adventurerorange-100:#fee2dd;--color-adventurerorange-200:#fec0b4;--color-adventurerorange-300:#fda18b;--color-adventurerorange-400:#fd7a4c;--color-adventurerorange-500:#e95f13;--color-adventurerorange-600:#b94a0d;--color-adventurerorange-700:#8e3708;--color-adventurerorange-800:#622303;--color-adventurerorange-900:#3c1301;--color-adventurerorange-950:#280a01;--fontsize-base:16px;--fontfamily-sans:"Source Sans 3 Variable", sans-serif;--spacing-base:4px;--color-text-caution-base:var(--color-orange-700);--color-text-caution-bold-base:var(--color-orange-50);--color-text-brand-base:var(--color-blue-700);--color-text-brand-inverse:var(--color-white);--color-text-danger-base:var(--color-red-700);--color-text-danger-bold-base:var(--color-red-50);--color-text-positive-bold-base:var(--color-green-50);--color-text-positive-base:var(--color-green-700);--color-text-base:var(--color-neutral-800);--color-background-danger-base:var(--color-red-100);--color-background-danger-bold-base:var(--color-red-700);--color-background-danger-bold-hovered:var(--color-red-800);--color-background-danger-bold-pressed:var(--color-red-900);--color-background-brand-subtle-hovered:var(--color-blue-50);--color-background-brand-subtle-pressed:var(--color-blue-100);--color-background-brand-subtle-base:var(--color-blue-700);--color-background-brand-hovered:var(--color-blue-800);--color-background-brand-pressed:var(--color-blue-900);--color-background-brand-base:var(--color-blue-700);--color-background-positive-base:var(--color-green-100);--color-background-positive-bold-base:var(--color-green-700);--color-background-positive-bold-hovered:var(--color-green-800);--color-background-positive-bold-pressed:var(--color-green-900);--color-background-caution-base:var(--color-orange-100);--color-background-caution-bold-base:var(--color-orange-700);--color-background-caution-bold-hovered:var(--color-orange-800);--color-background-caution-bold-pressed:var(--color-orange-900);--fontsize-lg:calc(var(--fontsize-base)*1.125);--fontsize-sm:calc(var(--fontsize-base)*0.875);--fontsize-xs:calc(var(--fontsize-base)*0.75);--fontsize-3xl:calc(var(--fontsize-base)*1.875);--fontsize-4xl:calc(var(--fontsize-base)*2.25);--fontsize-2xl:calc(var(--fontsize-base)*1.5);--fontsize-xl:calc(var(--fontsize-base)*1.25);--fontsize-6xl:calc(var(--fontsize-base)*3.75);--fontsize-5xl:calc(var(--fontsize-base)*3);--spacing-1:calc(var(--spacing-base)*1);--spacing-2:calc(var(--spacing-base)*2);--spacing-3:calc(var(--spacing-base)*3);--spacing-4:calc(var(--spacing-base)*4);--spacing-5:calc(var(--spacing-base)*5);--spacing-6:calc(var(--spacing-base)*6);--spacing-7:calc(var(--spacing-base)*7);--spacing-8:calc(var(--spacing-base)*8);--spacing-10:calc(var(--spacing-base)*10);--spacing-11:calc(var(--spacing-base)*11);--spacing-12:calc(var(--spacing-base)*12);--spacing-14:calc(var(--spacing-base)*14);--spacing-16:calc(var(--spacing-base)*16);--spacing-17:calc(var(--spacing-base)*17);--spacing-18:calc(var(--spacing-base)*18);--spacing-20:calc(var(--spacing-base)*20);--spacing-24:calc(var(--spacing-base)*24);--spacing-28:calc(var(--spacing-base)*28);--spacing-32:calc(var(--spacing-base)*32);--spacing-36:calc(var(--spacing-base)*36);--spacing-40:calc(var(--spacing-base)*40);--spacing-48:calc(var(--spacing-base)*48);--spacing-52:calc(var(--spacing-base)*52);--spacing-56:calc(var(--spacing-base)*56);--spacing-60:calc(var(--spacing-base)*60);--spacing-64:calc(var(--spacing-base)*64);--spacing-72:calc(var(--spacing-base)*72);--spacing-80:calc(var(--spacing-base)*80);--spacing-96:calc(var(--spacing-base)*96);--spacing-180:calc(var(--spacing-base)*180);--spacing-195:calc(var(--spacing-base)*195);--spacing-212:calc(var(--spacing-base)*212);--spacing-380:calc(var(--spacing-base)*380);--type-body-base:400 var(--fontsize-base)/1.5 var(--fontfamily-sans);--type-body-sm:400 var(--fontsize-sm)/1.5 var(--fontfamily-sans);--type-body-lg:400 var(--fontsize-lg)/1.5 var(--fontfamily-sans);--type-body-xl:400 var(--fontsize-xl)/1.5 var(--fontfamily-sans);--type-body-2xl:400 var(--fontsize-2xl)/1.5 var(--fontfamily-sans);--type-heading-xl:600 var(--fontsize-6xl)/1.2 var(--fontfamily-sans);--type-heading-lg:600 var(--fontsize-5xl)/1.2 var(--fontfamily-sans);--type-heading-base:600 var(--fontsize-4xl)/1.2 var(--fontfamily-sans);--type-heading-sm:600 var(--fontsize-3xl)/1.2 var(--fontfamily-sans);--type-heading-xs:600 var(--fontsize-2xl)/1.2 var(--fontfamily-sans);--type-label-base:400 var(--fontsize-base)/1.2 var(--fontfamily-sans);--type-label-2xl:400 var(--fontsize-2xl)/1.2 var(--fontfamily-sans);--type-label-lg:400 var(--fontsize-lg)/1.2 var(--fontfamily-sans);--type-label-sm:400 var(--fontsize-sm)/1.2 var(--fontfamily-sans);--type-label-xl:400 var(--fontsize-xl)/1.2 var(--fontfamily-sans)}/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::before,::after{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,Ubuntu,Cantarell,Noto Sans, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
2
- "Apple Color Emoji", "Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}summary{display:list-item}.scout-type-body-base{font:400 16px/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-base)}.scout-type-body-sm{font:400 calc(16px*0.875)/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-sm)}.scout-type-body-lg{font:400 calc(16px*1.125)/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-lg)}.scout-type-body-xl{font:400 calc(16px*1.25)/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-xl)}.scout-type-body-2xl{font:400 calc(16px*1.5)/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-2xl)}.scout-type-heading-xl{font:600 calc(16px*3.75)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-xl)}.scout-type-heading-lg{font:600 calc(16px*3)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-lg)}.scout-type-heading-base{font:600 calc(16px*2.25)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-base)}.scout-type-heading-sm{font:600 calc(16px*1.875)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-sm)}.scout-type-heading-xs{font:600 calc(16px*1.5)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-xs)}.scout-type-label-base{font:400 16px/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-base)}.scout-type-label-2xl{font:400 calc(16px*1.5)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-2xl)}.scout-type-label-lg{font:400 calc(16px*1.125)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-lg)}.scout-type-label-sm{font:400 calc(16px*0.875)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-sm)}.scout-type-label-xl{font:400 calc(16px*1.25)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-xl)}:root{font-family:"Source Sans 3 Variable", sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal}
1
+ :root{--misc-color-annotations:#ff00ff;--color-blue-50:#e6eeff;--color-blue-100:#d0e0ff;--color-blue-200:#9cc3ff;--color-blue-300:#58a6ff;--color-blue-400:#0087e3;--color-blue-500:#006bb5;--color-blue-600:#00508a;--color-blue-700:#003660;--color-blue-800:#002748;--color-blue-900:#00162d;--color-blue-950:#000f21;--color-neutral-50:#ebf1f7;--color-neutral-100:#d7e4f0;--color-neutral-200:#b1cde3;--color-neutral-300:#87b3d4;--color-neutral-400:#749bb7;--color-neutral-500:#608199;--color-neutral-600:#4c667a;--color-neutral-700:#374b5a;--color-neutral-800:#25343f;--color-neutral-900:#131d24;--color-neutral-950:#0a1217;--color-white:#ffffff;--color-challengerpink-50:#fff0f2;--color-challengerpink-100:#ffdde3;--color-challengerpink-200:#ffbac7;--color-challengerpink-300:#ff93ab;--color-challengerpink-400:#ff668e;--color-challengerpink-500:#ff1271;--color-challengerpink-600:#da005e;--color-challengerpink-700:#a60046;--color-challengerpink-800:#72002e;--color-challengerpink-900:#470019;--color-challengerpink-950:#30000f;--color-orange-50:#fffbeb;--color-orange-100:#fef3c7;--color-orange-200:#fde68a;--color-orange-300:#fcd34d;--color-orange-400:#fbbf24;--color-orange-500:#f59e0b;--color-orange-600:#d97706;--color-orange-700:#b45309;--color-orange-800:#92400e;--color-orange-900:#78350f;--color-orange-950:#451a03;--color-gray-50:#f3f3f4;--color-gray-100:#e5e5e6;--color-gray-200:#cbccce;--color-gray-300:#b2b3b6;--color-gray-400:#9c9ea1;--color-gray-500:#85868a;--color-gray-600:#6e7073;--color-gray-700:#585a5c;--color-gray-800:#444547;--color-gray-900:#252627;--color-gray-950:#151616;--color-discovererblue-50:#eaf5ff;--color-discovererblue-100:#cde9ff;--color-discovererblue-200:#92d4ff;--color-discovererblue-300:#1ec0ff;--color-discovererblue-400:#00a8e1;--color-discovererblue-500:#008bbb;--color-discovererblue-600:#006d94;--color-discovererblue-700:#01516f;--color-discovererblue-800:#00394f;--color-discovererblue-900:#00202f;--color-discovererblue-950:#00131d;--color-trackergreen-50:#ccfec6;--color-trackergreen-100:#85fd72;--color-trackergreen-200:#5be23d;--color-trackergreen-300:#4ec333;--color-trackergreen-400:#41a629;--color-trackergreen-500:#348821;--color-trackergreen-600:#286c18;--color-trackergreen-700:#1c5110;--color-trackergreen-800:#113808;--color-trackergreen-900:#072103;--color-trackergreen-950:#031501;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#b9f8cf;--color-green-300:#7bf1a8;--color-green-400:#05df72;--color-green-500:#00c950;--color-green-600:#00a63e;--color-green-700:#008236;--color-green-800:#016630;--color-green-900:#0d542b;--color-green-950:#032e15;--color-red-50:#fef2f2;--color-red-100:#ffe2e2;--color-red-200:#ffc9c9;--color-red-300:#ffa2a2;--color-red-400:#ff6467;--color-red-500:#fb2c36;--color-red-600:#e7000b;--color-red-700:#c10007;--color-red-800:#9f0712;--color-red-900:#82181a;--color-red-950:#460809;--color-black:#000000;--color-roveryellow-50:#fffd62;--color-roveryellow-100:#f4f203;--color-roveryellow-200:#e2e000;--color-roveryellow-300:#c3c100;--color-roveryellow-400:#a4a300;--color-roveryellow-500:#878500;--color-roveryellow-600:#6a6900;--color-roveryellow-700:#515000;--color-roveryellow-800:#373700;--color-roveryellow-900:#1f1f00;--color-roveryellow-950:#121200;--color-adventurerorange-50:#fff1ee;--color-adventurerorange-100:#fee2dd;--color-adventurerorange-200:#fec0b4;--color-adventurerorange-300:#fda18b;--color-adventurerorange-400:#fd7a4c;--color-adventurerorange-500:#e95f13;--color-adventurerorange-600:#b94a0d;--color-adventurerorange-700:#8e3708;--color-adventurerorange-800:#622303;--color-adventurerorange-900:#3c1301;--color-adventurerorange-950:#280a01;--fontsize-base:1rem;--fontfamily-sans:"Source Sans 3 Variable", sans-serif;--spacing-base:0.25rem;--color-text-caution-base:var(--color-orange-700);--color-text-caution-bold-base:var(--color-orange-50);--color-text-brand-base:var(--color-blue-700);--color-text-brand-inverse:var(--color-white);--color-text-danger-base:var(--color-red-700);--color-text-danger-bold-base:var(--color-red-50);--color-text-positive-bold-base:var(--color-green-50);--color-text-positive-base:var(--color-green-700);--color-text-base:var(--color-neutral-800);--color-background-danger-base:var(--color-red-100);--color-background-danger-bold-base:var(--color-red-700);--color-background-danger-bold-hovered:var(--color-red-800);--color-background-danger-bold-pressed:var(--color-red-900);--color-background-brand-subtle-hovered:var(--color-blue-50);--color-background-brand-subtle-pressed:var(--color-blue-100);--color-background-brand-subtle-base:var(--color-blue-700);--color-background-brand-hovered:var(--color-blue-800);--color-background-brand-pressed:var(--color-blue-900);--color-background-brand-base:var(--color-blue-700);--color-background-positive-base:var(--color-green-100);--color-background-positive-bold-base:var(--color-green-700);--color-background-positive-bold-hovered:var(--color-green-800);--color-background-positive-bold-pressed:var(--color-green-900);--color-background-caution-base:var(--color-orange-100);--color-background-caution-bold-base:var(--color-orange-700);--color-background-caution-bold-hovered:var(--color-orange-800);--color-background-caution-bold-pressed:var(--color-orange-900);--fontsize-lg:calc(var(--fontsize-base)*1.125);--fontsize-sm:calc(var(--fontsize-base)*0.875);--fontsize-xs:calc(var(--fontsize-base)*0.75);--fontsize-3xl:calc(var(--fontsize-base)*1.875);--fontsize-4xl:calc(var(--fontsize-base)*2.25);--fontsize-2xl:calc(var(--fontsize-base)*1.5);--fontsize-xl:calc(var(--fontsize-base)*1.25);--fontsize-6xl:calc(var(--fontsize-base)*3.75);--fontsize-5xl:calc(var(--fontsize-base)*3);--spacing-1:calc(var(--spacing-base)*1);--spacing-2:calc(var(--spacing-base)*2);--spacing-3:calc(var(--spacing-base)*3);--spacing-4:calc(var(--spacing-base)*4);--spacing-5:calc(var(--spacing-base)*5);--spacing-6:calc(var(--spacing-base)*6);--spacing-7:calc(var(--spacing-base)*7);--spacing-8:calc(var(--spacing-base)*8);--spacing-10:calc(var(--spacing-base)*10);--spacing-11:calc(var(--spacing-base)*11);--spacing-12:calc(var(--spacing-base)*12);--spacing-14:calc(var(--spacing-base)*14);--spacing-16:calc(var(--spacing-base)*16);--spacing-17:calc(var(--spacing-base)*17);--spacing-18:calc(var(--spacing-base)*18);--spacing-20:calc(var(--spacing-base)*20);--spacing-24:calc(var(--spacing-base)*24);--spacing-28:calc(var(--spacing-base)*28);--spacing-32:calc(var(--spacing-base)*32);--spacing-36:calc(var(--spacing-base)*36);--spacing-40:calc(var(--spacing-base)*40);--spacing-48:calc(var(--spacing-base)*48);--spacing-52:calc(var(--spacing-base)*52);--spacing-56:calc(var(--spacing-base)*56);--spacing-60:calc(var(--spacing-base)*60);--spacing-64:calc(var(--spacing-base)*64);--spacing-72:calc(var(--spacing-base)*72);--spacing-80:calc(var(--spacing-base)*80);--spacing-96:calc(var(--spacing-base)*96);--spacing-180:calc(var(--spacing-base)*180);--spacing-195:calc(var(--spacing-base)*195);--spacing-212:calc(var(--spacing-base)*212);--spacing-380:calc(var(--spacing-base)*380);--type-body-base:400 var(--fontsize-base)/1.5 var(--fontfamily-sans);--type-body-sm:400 var(--fontsize-sm)/1.5 var(--fontfamily-sans);--type-body-lg:400 var(--fontsize-lg)/1.5 var(--fontfamily-sans);--type-body-xl:400 var(--fontsize-xl)/1.5 var(--fontfamily-sans);--type-body-2xl:400 var(--fontsize-2xl)/1.5 var(--fontfamily-sans);--type-heading-xl:600 var(--fontsize-6xl)/1.2 var(--fontfamily-sans);--type-heading-lg:600 var(--fontsize-5xl)/1.2 var(--fontfamily-sans);--type-heading-base:600 var(--fontsize-4xl)/1.2 var(--fontfamily-sans);--type-heading-sm:600 var(--fontsize-3xl)/1.2 var(--fontfamily-sans);--type-heading-xs:600 var(--fontsize-2xl)/1.2 var(--fontfamily-sans);--type-label-base:400 var(--fontsize-base)/1.2 var(--fontfamily-sans);--type-label-2xl:400 var(--fontsize-2xl)/1.2 var(--fontfamily-sans);--type-label-lg:400 var(--fontsize-lg)/1.2 var(--fontfamily-sans);--type-label-sm:400 var(--fontsize-sm)/1.2 var(--fontfamily-sans);--type-label-xl:400 var(--fontsize-xl)/1.2 var(--fontfamily-sans)}/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::before,::after{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,Ubuntu,Cantarell,Noto Sans, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
2
+ "Apple Color Emoji", "Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}summary{display:list-item}.scout-type-body-base{font:400 1rem/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-base)}.scout-type-body-sm{font:400 calc(1rem*0.875)/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-sm)}.scout-type-body-lg{font:400 calc(1rem*1.125)/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-lg)}.scout-type-body-xl{font:400 calc(1rem*1.25)/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-xl)}.scout-type-body-2xl{font:400 calc(1rem*1.5)/1.5 "Source Sans 3 Variable", sans-serif;font:var(--type-body-2xl)}.scout-type-heading-xl{font:600 calc(1rem*3.75)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-xl)}.scout-type-heading-lg{font:600 calc(1rem*3)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-lg)}.scout-type-heading-base{font:600 calc(1rem*2.25)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-base)}.scout-type-heading-sm{font:600 calc(1rem*1.875)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-sm)}.scout-type-heading-xs{font:600 calc(1rem*1.5)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-heading-xs)}.scout-type-label-base{font:400 1rem/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-base)}.scout-type-label-2xl{font:400 calc(1rem*1.5)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-2xl)}.scout-type-label-lg{font:400 calc(1rem*1.125)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-lg)}.scout-type-label-sm{font:400 calc(1rem*0.875)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-sm)}.scout-type-label-xl{font:400 calc(1rem*1.25)/1.2 "Source Sans 3 Variable", sans-serif;font:var(--type-label-xl)}:root{font-family:"Source Sans 3 Variable", sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal}
@@ -1,2 +1,2 @@
1
- import{p as e,g as a,b as t}from"./p-Cp4mWtfs.js";export{s as setNonce}from"./p-Cp4mWtfs.js";var l=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};l().then((async e=>{await a();return t([["p-85e7b20f",[[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]}]]],["p-b8715dc5",[[785,"scout-app-bar",{titleText:[1,"title-text"]}]]],["p-9f80fed6",[[273,"scout-bottom-bar"]]],["p-efab02f0",[[785,"scout-bottom-bar-item",{type:[1],href:[1],target:[1],rel:[1],icon:[1],label:[1],active:[4]}]]],["p-714363c8",[[785,"scout-button",{type:[1],href:[1],target:[1],rel:[1],variant:[1],icon:[1],iconOnly:[4,"icon-only"]}]]],["p-7f8dc0da",[[273,"scout-card"]]],["p-3e34c267",[[273,"scout-divider"]]],["p-4c70c251",[[774,"scout-field",{label:[1],helpText:[1,"help-text"],inputId:[32],errorText:[32],errorHidden:[32]},[[0,"_fieldId","catchFieldId"],[0,"scoutInputChange","handleInputChange"],[0,"scoutBlur","handleValidationBlur"]]]]],["p-6ef8c777",[[770,"scout-input",{type:[1],inputmode:[1],pattern:[1],value:[1],name:[1],disabled:[4],validate:[16],ariaId:[32]}]]],["p-5d73566e",[[785,"scout-link",{href:[1],label:[1],rel:[1],linkAriaLabel:[1,"link-aria-label"],type:[1],target:[1]}]]],["p-e4070682",[[273,"scout-list-view",null,[[0,"scoutChecked","onScoutChecked"]]]]],["p-93ee0d2c",[[785,"scout-list-view-subheader",{text:[1],headingLevel:[1,"heading-level"]}]]],["p-29689fe2",[[769,"scout-loader",{text:[1],size:[1]}]]],["p-afa38195",[[774,"scout-select",{value:[1],disabled:[4],name:[1],validate:[16],ariaId:[32]}]]],["p-33010b09",[[785,"scout-stack",{direction:[1],gapSize:[1,"gap-size"]}]]],["p-0b42e59f",[[785,"scout-switch",{toggled:[4],disabled:[4],ariaLabelledby:[1,"aria-labelledby"],label:[1],ariaId:[32]}]]],["p-3b426423",[[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]}]]]],e)}));
1
+ import{p as e,g as a,b as t}from"./p-ksA_9NPe.js";export{s as setNonce}from"./p-ksA_9NPe.js";var l=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};l().then((async e=>{await a();return t([["p-3018f46f",[[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]}]]],["p-e4f5dad7",[[785,"scout-app-bar",{titleText:[1,"title-text"]}]]],["p-50112773",[[273,"scout-bottom-bar"]]],["p-c2c5857d",[[785,"scout-bottom-bar-item",{type:[1],href:[1],target:[1],rel:[1],icon:[1],label:[1],active:[4]}]]],["p-3e750355",[[774,"scout-button",{type:[1],href:[1],target:[1],rel:[1],variant:[1],icon:[1],iconPosition:[1,"icon-position"],iconOnly:[4,"icon-only"]}]]],["p-97f9cf0a",[[273,"scout-card"]]],["p-ac65f104",[[273,"scout-divider"]]],["p-d999b8d6",[[774,"scout-field",{label:[1],helpText:[1,"help-text"],inputId:[32],errorText:[32],errorHidden:[32]},[[0,"_scoutFieldId","catchFieldId"],[0,"_scoutValidate","handleValidation"],[0,"scoutBlur","showError"],[0,"_scoutInvalid","showError"]]]]],["p-479ae616",[[770,"scout-input",{validate:[16],type:[1],inputmode:[1],pattern:[1],value:[1],name:[1],disabled:[4],ariaId:[32]}]]],["p-1efd7b9a",[[785,"scout-link",{href:[1],label:[1],rel:[1],linkAriaLabel:[1,"link-aria-label"],type:[1],target:[1]}]]],["p-e2288570",[[273,"scout-list-view",null,[[0,"scoutChecked","onScoutChecked"]]]]],["p-02c211ea",[[785,"scout-list-view-subheader",{text:[1],headingLevel:[1,"heading-level"]}]]],["p-97956c4f",[[769,"scout-loader",{text:[1],size:[1]}]]],["p-d8084e5c",[[774,"scout-select",{validate:[16],value:[1],disabled:[4],name:[1],ariaId:[32]}]]],["p-974e8415",[[785,"scout-stack",{direction:[1],gapSize:[1,"gap-size"]}]]],["p-1a701759",[[785,"scout-switch",{validate:[16],toggled:[4],disabled:[4],ariaLabelledby:[1,"aria-labelledby"],label:[1],ariaId:[32]}]]],["p-4616484e",[[770,"scout-checkbox",{validate:[16],checked:[4],disabled:[4],ariaLabelledby:[1,"aria-labelledby"],label:[1],value:[1],name:[1],ariaId:[32]}],[770,"scout-radio-button",{validate:[16],checked:[4],disabled:[4],ariaLabelledby:[1,"aria-labelledby"],label:[1],value:[1],name:[1],ariaId:[32]}]]]],e)}));
2
2
  //# sourceMappingURL=ui-webc.esm.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scouterna/ui-webc",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "type": "module",
5
5
  "description": "Scouterna Design System Web Components",
6
6
  "main": "dist/index.cjs.js",
@@ -46,7 +46,7 @@
46
46
  "clsx": "^2.1.1",
47
47
  "iconoir": "^7.11.0",
48
48
  "@tabler/icons": "^3.35.0",
49
- "@scouterna/design-tokens": "^0.0.2"
49
+ "@scouterna/design-tokens": "^0.0.4"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@stencil-community/postcss": "^2.2.0",