@scouterna/ui-webc 2.2.4 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/dist/cjs/{inputMixin-CkYXihTB.js → inputMixin-D1D-VFiT.js} +6 -2
  2. package/dist/cjs/inputMixin-D1D-VFiT.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/scout-app-bar.cjs.entry.js +1 -1
  5. package/dist/cjs/scout-app-bar.entry.cjs.js.map +1 -1
  6. package/dist/cjs/scout-button.cjs.entry.js +3 -3
  7. package/dist/cjs/scout-button.entry.cjs.js.map +1 -1
  8. package/dist/cjs/scout-card.cjs.entry.js +1 -1
  9. package/dist/cjs/scout-checkbox_2.cjs.entry.js +3 -3
  10. package/dist/cjs/scout-divider.cjs.entry.js +1 -1
  11. package/dist/cjs/scout-field.cjs.entry.js +1 -1
  12. package/dist/cjs/scout-input.cjs.entry.js +22 -3
  13. package/dist/cjs/scout-input.entry.cjs.js.map +1 -1
  14. package/dist/cjs/scout-list-view-item.cjs.entry.js +4 -3
  15. package/dist/cjs/scout-list-view-item.entry.cjs.js.map +1 -1
  16. package/dist/cjs/scout-list-view-subheader.cjs.entry.js +2 -2
  17. package/dist/cjs/scout-list-view-subheader.entry.cjs.js.map +1 -1
  18. package/dist/cjs/scout-list-view.cjs.entry.js +1 -1
  19. package/dist/cjs/scout-loader.cjs.entry.js +1 -1
  20. package/dist/cjs/scout-select.cjs.entry.js +2 -2
  21. package/dist/cjs/scout-stack.cjs.entry.js +2 -2
  22. package/dist/cjs/scout-switch.cjs.entry.js +2 -2
  23. package/dist/cjs/ui-webc.cjs.js +1 -1
  24. package/dist/collection/components/app-bar/app-bar.css +2 -1
  25. package/dist/collection/components/button/button.css +86 -105
  26. package/dist/collection/components/button/button.js +3 -4
  27. package/dist/collection/components/button/button.js.map +1 -1
  28. package/dist/collection/components/card/card.js +1 -1
  29. package/dist/collection/components/checkbox/checkbox.js +1 -1
  30. package/dist/collection/components/divider/divider.js +1 -1
  31. package/dist/collection/components/field/field.js +1 -1
  32. package/dist/collection/components/input/input.css +26 -4
  33. package/dist/collection/components/input/input.js +80 -2
  34. package/dist/collection/components/input/input.js.map +1 -1
  35. package/dist/collection/components/list-view/list-view.js +1 -1
  36. package/dist/collection/components/list-view-item/list-view-item.js +23 -3
  37. package/dist/collection/components/list-view-item/list-view-item.js.map +1 -1
  38. package/dist/collection/components/list-view-subheader/list-view-subheader.css +3 -2
  39. package/dist/collection/components/list-view-subheader/list-view-subheader.js +1 -1
  40. package/dist/collection/components/loader/loader.js +1 -1
  41. package/dist/collection/components/radio-button/radio-button.js +1 -1
  42. package/dist/collection/components/select/select.js +1 -1
  43. package/dist/collection/components/stack/stack.js +2 -2
  44. package/dist/collection/components/switch/switch.js +1 -1
  45. package/dist/collection/mixins/inputMixin.js +4 -0
  46. package/dist/collection/mixins/inputMixin.js.map +1 -1
  47. package/dist/components/{p-B_lll43e.js → p-4RT-nIeK.js} +4 -4
  48. package/dist/components/{p-B_lll43e.js.map → p-4RT-nIeK.js.map} +1 -1
  49. package/dist/components/{p-DaGMxK4K.js → p-B-kEl-ny.js} +8 -2
  50. package/dist/components/p-B-kEl-ny.js.map +1 -0
  51. package/dist/components/{p-CwrP_ZZM.js → p-CLzh39Ll.js} +4 -4
  52. package/dist/components/{p-CwrP_ZZM.js.map → p-CLzh39Ll.js.map} +1 -1
  53. package/dist/components/scout-app-bar.js +1 -1
  54. package/dist/components/scout-app-bar.js.map +1 -1
  55. package/dist/components/scout-button.js +5 -5
  56. package/dist/components/scout-button.js.map +1 -1
  57. package/dist/components/scout-card.js +1 -1
  58. package/dist/components/scout-checkbox.js +1 -1
  59. package/dist/components/scout-divider.js +1 -1
  60. package/dist/components/scout-field.js +1 -1
  61. package/dist/components/scout-input.js +26 -4
  62. package/dist/components/scout-input.js.map +1 -1
  63. package/dist/components/scout-list-view-item.js +8 -6
  64. package/dist/components/scout-list-view-item.js.map +1 -1
  65. package/dist/components/scout-list-view-subheader.js +2 -2
  66. package/dist/components/scout-list-view-subheader.js.map +1 -1
  67. package/dist/components/scout-list-view.js +1 -1
  68. package/dist/components/scout-loader.js +1 -1
  69. package/dist/components/scout-radio-button.js +1 -1
  70. package/dist/components/scout-select.js +2 -2
  71. package/dist/components/scout-stack.js +2 -2
  72. package/dist/components/scout-switch.js +2 -2
  73. package/dist/custom-elements.json +116 -2
  74. package/dist/esm/{inputMixin-mAf9ZFOg.js → inputMixin-C9OB0DNj.js} +6 -2
  75. package/dist/esm/inputMixin-C9OB0DNj.js.map +1 -0
  76. package/dist/esm/loader.js +1 -1
  77. package/dist/esm/scout-app-bar.entry.js +1 -1
  78. package/dist/esm/scout-app-bar.entry.js.map +1 -1
  79. package/dist/esm/scout-button.entry.js +4 -4
  80. package/dist/esm/scout-button.entry.js.map +1 -1
  81. package/dist/esm/scout-card.entry.js +1 -1
  82. package/dist/esm/scout-checkbox_2.entry.js +3 -3
  83. package/dist/esm/scout-divider.entry.js +1 -1
  84. package/dist/esm/scout-field.entry.js +1 -1
  85. package/dist/esm/scout-input.entry.js +23 -4
  86. package/dist/esm/scout-input.entry.js.map +1 -1
  87. package/dist/esm/scout-list-view-item.entry.js +4 -3
  88. package/dist/esm/scout-list-view-item.entry.js.map +1 -1
  89. package/dist/esm/scout-list-view-subheader.entry.js +2 -2
  90. package/dist/esm/scout-list-view-subheader.entry.js.map +1 -1
  91. package/dist/esm/scout-list-view.entry.js +1 -1
  92. package/dist/esm/scout-loader.entry.js +1 -1
  93. package/dist/esm/scout-select.entry.js +2 -2
  94. package/dist/esm/scout-stack.entry.js +2 -2
  95. package/dist/esm/scout-switch.entry.js +2 -2
  96. package/dist/esm/ui-webc.js +1 -1
  97. package/dist/types/components/list-view-item/list-view-item.d.ts +1 -0
  98. package/dist/types/components.d.ts +30 -0
  99. package/dist/ui-webc/p-08499152.entry.js +2 -0
  100. package/dist/ui-webc/{p-97f9cf0a.entry.js.map → p-08499152.entry.js.map} +1 -1
  101. package/dist/ui-webc/{p-ee497882.entry.js → p-0b8a7cc9.entry.js} +2 -2
  102. package/dist/ui-webc/p-2a842a24.entry.js +2 -0
  103. package/dist/ui-webc/p-2a842a24.entry.js.map +1 -0
  104. package/dist/ui-webc/{p-3018f46f.entry.js → p-30b75968.entry.js} +2 -2
  105. package/dist/ui-webc/p-30b75968.entry.js.map +1 -0
  106. package/dist/ui-webc/p-3ac00412.entry.js +2 -0
  107. package/dist/ui-webc/p-3ac00412.entry.js.map +1 -0
  108. package/dist/ui-webc/p-4f28520e.entry.js +2 -0
  109. package/dist/ui-webc/{p-97956c4f.entry.js → p-6de2edd1.entry.js} +2 -2
  110. package/dist/ui-webc/p-6e9afb25.entry.js +2 -0
  111. package/dist/ui-webc/p-8a942414.entry.js +2 -0
  112. package/dist/ui-webc/{p-531dc32a.entry.js.map → p-8a942414.entry.js.map} +1 -1
  113. package/dist/ui-webc/p-8f3e4290.entry.js +2 -0
  114. package/dist/ui-webc/p-BsG0XL4c.js +2 -0
  115. package/dist/ui-webc/p-BsG0XL4c.js.map +1 -0
  116. package/dist/ui-webc/{p-e4ba9bd7.entry.js → p-b0a70cb6.entry.js} +2 -2
  117. package/dist/ui-webc/p-cbf489b1.entry.js +2 -0
  118. package/dist/ui-webc/{p-45b65a28.entry.js.map → p-cbf489b1.entry.js.map} +1 -1
  119. package/dist/ui-webc/p-d68b8b37.entry.js +2 -0
  120. package/dist/ui-webc/{p-02c211ea.entry.js.map → p-d68b8b37.entry.js.map} +1 -1
  121. package/dist/ui-webc/{p-ac65f104.entry.js → p-dcc4dafa.entry.js} +2 -2
  122. package/dist/ui-webc/scout-app-bar.entry.esm.js.map +1 -1
  123. package/dist/ui-webc/scout-button.entry.esm.js.map +1 -1
  124. package/dist/ui-webc/scout-input.entry.esm.js.map +1 -1
  125. package/dist/ui-webc/scout-list-view-item.entry.esm.js.map +1 -1
  126. package/dist/ui-webc/scout-list-view-subheader.entry.esm.js.map +1 -1
  127. package/dist/ui-webc/ui-webc.esm.js +1 -1
  128. package/package.json +1 -1
  129. package/dist/cjs/inputMixin-CkYXihTB.js.map +0 -1
  130. package/dist/components/p-DaGMxK4K.js.map +0 -1
  131. package/dist/esm/inputMixin-mAf9ZFOg.js.map +0 -1
  132. package/dist/ui-webc/p-02c211ea.entry.js +0 -2
  133. package/dist/ui-webc/p-3018f46f.entry.js.map +0 -1
  134. package/dist/ui-webc/p-45b65a28.entry.js +0 -2
  135. package/dist/ui-webc/p-531dc32a.entry.js +0 -2
  136. package/dist/ui-webc/p-78b6c86b.entry.js +0 -2
  137. package/dist/ui-webc/p-78b6c86b.entry.js.map +0 -1
  138. package/dist/ui-webc/p-974e8415.entry.js +0 -2
  139. package/dist/ui-webc/p-97f9cf0a.entry.js +0 -2
  140. package/dist/ui-webc/p-BzgciO7w.js +0 -2
  141. package/dist/ui-webc/p-BzgciO7w.js.map +0 -1
  142. package/dist/ui-webc/p-e2288570.entry.js +0 -2
  143. package/dist/ui-webc/p-f01605ca.entry.js +0 -2
  144. package/dist/ui-webc/p-f01605ca.entry.js.map +0 -1
  145. package/dist/ui-webc/p-faaf9da5.entry.js +0 -2
  146. /package/dist/ui-webc/{p-ee497882.entry.js.map → p-0b8a7cc9.entry.js.map} +0 -0
  147. /package/dist/ui-webc/{p-e2288570.entry.js.map → p-4f28520e.entry.js.map} +0 -0
  148. /package/dist/ui-webc/{p-97956c4f.entry.js.map → p-6de2edd1.entry.js.map} +0 -0
  149. /package/dist/ui-webc/{p-faaf9da5.entry.js.map → p-6e9afb25.entry.js.map} +0 -0
  150. /package/dist/ui-webc/{p-974e8415.entry.js.map → p-8f3e4290.entry.js.map} +0 -0
  151. /package/dist/ui-webc/{p-e4ba9bd7.entry.js.map → p-b0a70cb6.entry.js.map} +0 -0
  152. /package/dist/ui-webc/{p-ac65f104.entry.js.map → p-dcc4dafa.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r,h as s,H as t}from"./p-ksA_9NPe.js";const e=":host{display:block;height:1px;background-color:var(--color-gray-200)}";const o=class{constructor(s){r(this,s)}render(){return s(t,{key:"78c9366fcd393e53b579481d31feafa643b63690"})}static get delegatesFocus(){return true}};o.style=e;export{o as scout_divider};
2
- //# sourceMappingURL=p-ac65f104.entry.js.map
1
+ import{r,h as s,H as t}from"./p-ksA_9NPe.js";const e=":host{display:block;height:1px;background-color:var(--color-gray-200)}";const o=class{constructor(s){r(this,s)}render(){return s(t,{key:"6a4d3d0bed1689875ec867b16f0c77f391662fc8"})}static get delegatesFocus(){return true}};o.style=e;export{o as scout_divider};
2
+ //# sourceMappingURL=p-dcc4dafa.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scout-app-bar.entry.esm.js","sources":["src/components/app-bar/app-bar.css?tag=scout-app-bar&encapsulation=shadow","src/components/app-bar/app-bar.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n}\n\n::slotted(scout-button) {\n height: 100%;\n}\n\n.container {\n display: flex;\n flex: 1;\n height: var(--spacing-14);\n background-color: var(--color-white);\n border-bottom: 1px solid var(--color-neutral-100);\n color: var(--color-text-brand-base);\n padding: var(--spacing-1);\n}\n\n.title {\n flex: 1;\n display: flex;\n align-items: center;\n font: var(--type-body-lg);\n font-weight: 500;\n padding: 0 var(--spacing-2);\n}\n","import { Component, h, Prop } from \"@stencil/core\";\n\n/**\n * The App Bar component is used at the top of a page to display a title and\n * optional prefix and suffix actions. It's typically used to provide a\n * native-like navigation experience.\n */\n@Component({\n tag: \"scout-app-bar\",\n styleUrl: \"app-bar.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutAppBar {\n @Prop() titleText?: string;\n\n render() {\n return (\n <header class=\"container\">\n <slot name=\"prefix\" />\n <div class=\"title\">{this.titleText}</div>\n <slot name=\"suffix\" />\n </header>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,+XAA+X;;MCcpY,WAAW,GAAA,MAAA;;;;AACd,IAAA,SAAS;IAEjB,MAAM,GAAA;AACJ,QAAA,QACE,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,KAAK,EAAC,WAAW,EAAA,EACvB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAG,CAAA,EACtB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,SAAS,CAAO,EACzC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAG,CAAA,CACf;;;;;;;;"}
1
+ {"version":3,"file":"scout-app-bar.entry.esm.js","sources":["src/components/app-bar/app-bar.css?tag=scout-app-bar&encapsulation=shadow","src/components/app-bar/app-bar.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n}\n\n::slotted(scout-button) {\n /* biome-ignore lint/complexity/noImportantStyles: This is a cheeky override, so we're good with it */\n height: 100% !important;\n}\n\n.container {\n display: flex;\n flex: 1;\n height: var(--spacing-14);\n background-color: var(--color-white);\n border-bottom: 1px solid var(--color-neutral-100);\n color: var(--color-text-brand-base);\n padding: var(--spacing-1);\n}\n\n.title {\n flex: 1;\n display: flex;\n align-items: center;\n font: var(--type-body-lg);\n font-weight: 500;\n padding: 0 var(--spacing-2);\n}\n","import { Component, h, Prop } from \"@stencil/core\";\n\n/**\n * The App Bar component is used at the top of a page to display a title and\n * optional prefix and suffix actions. It's typically used to provide a\n * native-like navigation experience.\n */\n@Component({\n tag: \"scout-app-bar\",\n styleUrl: \"app-bar.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutAppBar {\n @Prop() titleText?: string;\n\n render() {\n return (\n <header class=\"container\">\n <slot name=\"prefix\" />\n <div class=\"title\">{this.titleText}</div>\n <slot name=\"suffix\" />\n </header>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,0YAA0Y;;MCc/Y,WAAW,GAAA,MAAA;;;;AACd,IAAA,SAAS;IAEjB,MAAM,GAAA;AACJ,QAAA,QACE,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,KAAK,EAAC,WAAW,EAAA,EACvB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAG,CAAA,EACtB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,SAAS,CAAO,EACzC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAG,CAAA,CACf;;;;;;;;"}
@@ -1 +1 @@
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":[":host {\n display: inline-block;\n}\n\n.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 button component that can be used either as a normal button or as a link.\n * Will render a `<button>` element when the `type` is set to \"button\",\n * \"submit\", or \"reset\", and an `<a>` element when the `type` is set to \"link\".\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,67EAA67E;;MCcl8E,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
+ {"version":3,"file":"scout-button.entry.esm.js","sources":["src/components/button/button.css?tag=scout-button","src/components/button/button.tsx"],"sourcesContent":["scout-button {\n display: inline-block;\n height: var(--spacing-10);\n\n .button {\n flex: 1;\n display: inline-flex;\n height: 100%;\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 box-sizing: border-box;\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 &.icon-only .button {\n aspect-ratio: 1 / 1;\n justify-content: center;\n padding: 0;\n }\n\n &.icon-only .icon {\n margin: 0;\n }\n\n &.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}\n","import {\n Component,\n Event,\n type EventEmitter,\n h,\n Host,\n Prop,\n} from \"@stencil/core\";\n\nexport type Variant = \"primary\" | \"outlined\" | \"text\" | \"caution\" | \"danger\";\n\n/**\n * A button component that can be used either as a normal button or as a link.\n * Will render a `<button>` element when the `type` is set to \"button\",\n * \"submit\", or \"reset\", and an `<a>` element when the `type` is set to \"link\".\n */\n@Component({\n tag: \"scout-button\",\n styleUrl: \"button.css\",\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 <Host class={this.iconOnly ? \"icon-only\" : \"\"}>\n <Tag\n class={`button ${this.variant}`}\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 </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,01EAA01E;;MCoB/1E,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;QAErE,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,EAAE,EAAA,EAC3C,CAAC,CAAA,GAAG,qDACF,KAAK,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,OAAO,CAAE,CAAA,EAC/B,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAA,GACjC,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,CACD;;;;;;;"}
@@ -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 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/**\n * The input component is a basic text input field that can be used to capture\n * user input. It supports various types and input modes for different use\n * cases. When used in a form, make sure to wrap it in a Field component to\n * display a label, help text, and error messages.\n */\n@Component({\n tag: \"scout-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;;AC0CrW,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
+ {"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":[":host {\n display: flex;\n height: var(--spacing-10);\n --scout-input-padding: var(--spacing-2);\n --scout-input-border-radius: var(--spacing-2);\n --scout-input-type: var(--type-body-base);\n}\n\n:host(.large) {\n height: var(--spacing-14);\n --scout-input-padding: var(--spacing-3);\n --scout-input-border-radius: var(--spacing-3);\n --scout-input-type: var(--type-body-lg);\n}\n\n.input {\n flex: 1;\n padding: var(--scout-input-padding);\n font: var(--scout-input-type);\n border: 1px solid var(--color-gray-300);\n border-radius: var(--scout-input-border-radius);\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\n:host(.elevated) .input {\n box-shadow:\n 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n border-color: transparent;\n}\n","import {\n Component,\n type ComponentInterface,\n Host,\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/**\n * The input component is a basic text input field that can be used to capture\n * user input. It supports various types and input modes for different use\n * cases. When used in a form, make sure to wrap it in a Field component to\n * display a label, help text, and error messages.\n */\n@Component({\n tag: \"scout-input\",\n styleUrl: \"input.css\",\n scoped: true,\n})\nexport class ScoutInput\n extends Mixin(inputMixin)\n implements ComponentInterface\n{\n /**\n * Size of the input element. Large fields are typically used for prominent\n * inputs, such as a top search field on a page, while medium fields are used\n * for regular form inputs.\n */\n @Prop() size: \"medium\" | \"large\" = \"medium\";\n\n /**\n * Visual variant of the input element. Elevated inputs have a shadow to help\n * them stand out from the background and should only be used when absolutely\n * positioned above other content.\n */\n @Prop() variant: \"default\" | \"elevated\" = \"default\";\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 /**\n * Placeholder text should rarely be used as it poses a lot of accessibility\n * issues.\n */\n @Prop() placeholder?: string;\n\n render() {\n const sizeClass = this.size === \"large\" ? \"large\" : \"\";\n const variantClass = this.variant === \"elevated\" ? \"elevated\" : \"\";\n\n return (\n <Host class={`${sizeClass} ${variantClass}`}>\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 placeholder={this.placeholder}\n onInput={() => this.onInput()}\n onBlur={() => this.onBlur()}\n onInvalid={() => this.onInvalid()}\n />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,22BAA22B;;AC2C/2B,MAAA,UACX,GAAA,cAAQ,KAAK,CAAC,UAAU,CAAC,CAAA;;;;;;;;;;AAGzB;;;;AAIG;IACK,IAAI,GAAuB,QAAQ;AAE3C;;;;AAIG;IACK,OAAO,GAA2B,SAAS;AAEnD;;;;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;;;AAGG;AACK,IAAA,WAAW;IAEnB,MAAM,GAAA;AACJ,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,EAAE;AACtD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU,GAAG,UAAU,GAAG,EAAE;AAElE,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,CAAG,EAAA,SAAS,CAAI,CAAA,EAAA,YAAY,CAAE,CAAA,EAAA,EACzC,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,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,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,EAC7B,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EAAA,CACjC,CACG;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scout-list-view-item.entry.esm.js","sources":["src/components/list-view-item/list-view-item.css?tag=scout-list-view-item&encapsulation=shadow","src/components/list-view-item/list-view-item.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n\n.button {\n flex: 1;\n display: flex;\n align-items: center;\n text-align: unset;\n min-height: var(--spacing-12);\n color: var(--color-text-base);\n padding: var(--spacing-2) var(--spacing-4);\n cursor: pointer;\n border: none;\n background-color: transparent;\n text-decoration: none;\n}\n\n.button:hover {\n background-color: var(--color-background-brand-subtle-hovered);\n}\n\n.prefix-icon,\n.suffix-icon {\n display: flex;\n align-items: center;\n height: var(--spacing-6);\n color: var(--color-neutral-700);\n\n svg,\n .icon {\n width: var(--spacing-6);\n height: var(--spacing-6);\n }\n}\n\n.prefix-icon {\n justify-content: flex-start;\n width: var(--spacing-14);\n}\n\n.suffix-icon {\n justify-content: flex-end;\n width: var(--spacing-8);\n\n .icon {\n background-color: currentColor;\n mask-image: var(--icon);\n mask-repeat: no-repeat;\n mask-size: 100% 100%;\n }\n}\n\n.content {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.primary {\n font: var(--type-body-base);\n}\n\n.secondary {\n font: var(--type-body-sm);\n color: var(--color-neutral-700);\n}\n","import {\n Component,\n Event,\n type EventEmitter,\n Host,\n h,\n Prop,\n} from \"@stencil/core\";\n\nexport type ItemType = \"button\" | \"link\" | \"radio\" | \"checkbox\";\n\n@Component({\n tag: \"scout-list-view-item\",\n styleUrl: \"list-view-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutListViewItem {\n @Prop() icon?: string;\n @Prop() primary?: string;\n @Prop() secondary?: string;\n @Prop() type: ItemType = \"button\";\n\n @Prop() href?: string;\n @Prop() target?: string;\n @Prop() rel?: string;\n\n @Prop() name?: string;\n @Prop() value?: string;\n @Prop() checked?: boolean;\n\n @Event() scoutClick: EventEmitter<void>;\n\n render() {\n const Tag =\n this.type === \"link\"\n ? \"a\"\n : this.type === \"radio\" || this.type === \"checkbox\"\n ? \"label\"\n : \"button\";\n\n const linkProps =\n this.type === \"link\"\n ? {\n href: this.href,\n target: this.target,\n // This might not be our job, but better safe than sorry.\n rel:\n this.rel ??\n (this.target === \"_blank\" ? \"noopener noreferrer\" : undefined),\n }\n : {};\n\n return (\n <Host role=\"listitem\">\n <Tag\n class=\"button\"\n {...linkProps}\n onClick={() => this.scoutClick.emit()}\n >\n {this.getPrefix()}\n {this.getContent()}\n {this.getSuffix()}\n </Tag>\n </Host>\n );\n }\n\n private getPrefix() {\n if (!this.icon) {\n return null;\n }\n\n return <div class=\"prefix-icon\" innerHTML={this.icon} />;\n }\n\n private getContent() {\n return (\n <div class=\"content\">\n {this.primary && <div class=\"primary\">{this.primary}</div>}\n {this.secondary && <div class=\"secondary\">{this.secondary}</div>}\n </div>\n );\n }\n\n private getSuffix() {\n if (this.type === \"radio\") {\n return (\n <scout-radio-button\n name={this.name}\n value={this.value}\n checked={this.checked}\n />\n );\n }\n\n if (this.type === \"checkbox\") {\n return (\n <scout-checkbox\n name={this.name}\n value={this.value}\n checked={this.checked}\n />\n );\n }\n\n return null;\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,klCAAklC;;MCkB7lC,iBAAiB,GAAA,MAAA;;;;;AACpB,IAAA,IAAI;AACJ,IAAA,OAAO;AACP,IAAA,SAAS;IACT,IAAI,GAAa,QAAQ;AAEzB,IAAA,IAAI;AACJ,IAAA,MAAM;AACN,IAAA,GAAG;AAEH,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,OAAO;AAEN,IAAA,UAAU;IAEnB,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;cACA,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK;AACvC,kBAAE;kBACA,QAAQ;AAEhB,QAAA,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;;gBAEnB,GAAG,EACD,IAAI,CAAC,GAAG;AACR,qBAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG,SAAS,CAAC;AACjE;cACD,EAAE;AAER,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EAAA,EACnB,CAAA,CAAC,GAAG,EACF,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,GACV,SAAS,EACb,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAA,EAEpC,IAAI,CAAC,SAAS,EAAE,EAChB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,SAAS,EAAE,CACb,CACD;;IAIH,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,OAAO,IAAI;;AAGb,QAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,aAAa,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAA,CAAI;;IAGlD,UAAU,GAAA;QAChB,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,SAAS,EAAA,EACjB,IAAI,CAAC,OAAO,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAE,EAAA,IAAI,CAAC,OAAO,CAAO,EACzD,IAAI,CAAC,SAAS,IAAI,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,WAAW,EAAE,EAAA,IAAI,CAAC,SAAS,CAAO,CAC5D;;IAIF,SAAS,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,QACE,0BACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,CAAA;;AAIN,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,QACE,sBACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,CAAA;;AAIN,QAAA,OAAO,IAAI;;;;;;;;"}
1
+ {"version":3,"file":"scout-list-view-item.entry.esm.js","sources":["src/components/list-view-item/list-view-item.css?tag=scout-list-view-item&encapsulation=shadow","src/components/list-view-item/list-view-item.tsx"],"sourcesContent":[":host {\n display: flex;\n}\n\n.button {\n flex: 1;\n display: flex;\n align-items: center;\n text-align: unset;\n min-height: var(--spacing-12);\n color: var(--color-text-base);\n padding: var(--spacing-2) var(--spacing-4);\n cursor: pointer;\n border: none;\n background-color: transparent;\n text-decoration: none;\n}\n\n.button:hover {\n background-color: var(--color-background-brand-subtle-hovered);\n}\n\n.prefix-icon,\n.suffix-icon {\n display: flex;\n align-items: center;\n height: var(--spacing-6);\n color: var(--color-neutral-700);\n\n svg,\n .icon {\n width: var(--spacing-6);\n height: var(--spacing-6);\n }\n}\n\n.prefix-icon {\n justify-content: flex-start;\n width: var(--spacing-14);\n}\n\n.suffix-icon {\n justify-content: flex-end;\n width: var(--spacing-8);\n\n .icon {\n background-color: currentColor;\n mask-image: var(--icon);\n mask-repeat: no-repeat;\n mask-size: 100% 100%;\n }\n}\n\n.content {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.primary {\n font: var(--type-body-base);\n}\n\n.secondary {\n font: var(--type-body-sm);\n color: var(--color-neutral-700);\n}\n","import {\n Component,\n Event,\n type EventEmitter,\n Host,\n h,\n Prop,\n} from \"@stencil/core\";\n\nexport type ItemType = \"button\" | \"link\" | \"radio\" | \"checkbox\";\n\n@Component({\n tag: \"scout-list-view-item\",\n styleUrl: \"list-view-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutListViewItem {\n @Prop() icon?: string;\n @Prop() primary?: string;\n @Prop() secondary?: string;\n @Prop() type: ItemType = \"button\";\n\n @Prop() href?: string;\n @Prop() target?: string;\n @Prop() rel?: string;\n\n @Prop() name?: string;\n @Prop() value?: string;\n @Prop() checked?: boolean;\n\n @Prop() disabled?: boolean;\n\n @Event() scoutClick: EventEmitter<void>;\n\n render() {\n const Tag =\n this.type === \"link\"\n ? \"a\"\n : this.type === \"radio\" || this.type === \"checkbox\"\n ? \"label\"\n : \"button\";\n\n const linkProps =\n this.type === \"link\"\n ? {\n href: this.href,\n target: this.target,\n // This might not be our job, but better safe than sorry.\n rel:\n this.rel ??\n (this.target === \"_blank\" ? \"noopener noreferrer\" : undefined),\n }\n : {};\n\n return (\n <Host role=\"listitem\">\n <Tag\n class=\"button\"\n {...linkProps}\n onClick={() => this.scoutClick.emit()}\n >\n {this.getPrefix()}\n {this.getContent()}\n {this.getSuffix()}\n </Tag>\n </Host>\n );\n }\n\n private getPrefix() {\n if (!this.icon) {\n return null;\n }\n\n return <div class=\"prefix-icon\" innerHTML={this.icon} />;\n }\n\n private getContent() {\n return (\n <div class=\"content\">\n {this.primary && <div class=\"primary\">{this.primary}</div>}\n {this.secondary && <div class=\"secondary\">{this.secondary}</div>}\n </div>\n );\n }\n\n private getSuffix() {\n if (this.type === \"radio\") {\n return (\n <scout-radio-button\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n />\n );\n }\n\n if (this.type === \"checkbox\") {\n return (\n <scout-checkbox\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n />\n );\n }\n\n return null;\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,klCAAklC;;MCkB7lC,iBAAiB,GAAA,MAAA;;;;;AACpB,IAAA,IAAI;AACJ,IAAA,OAAO;AACP,IAAA,SAAS;IACT,IAAI,GAAa,QAAQ;AAEzB,IAAA,IAAI;AACJ,IAAA,MAAM;AACN,IAAA,GAAG;AAEH,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,OAAO;AAEP,IAAA,QAAQ;AAEP,IAAA,UAAU;IAEnB,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;cACA,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK;AACvC,kBAAE;kBACA,QAAQ;AAEhB,QAAA,MAAM,SAAS,GACb,IAAI,CAAC,IAAI,KAAK;AACZ,cAAE;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;;gBAEnB,GAAG,EACD,IAAI,CAAC,GAAG;AACR,qBAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG,SAAS,CAAC;AACjE;cACD,EAAE;AAER,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EAAA,EACnB,CAAA,CAAC,GAAG,EACF,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,GACV,SAAS,EACb,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAA,EAEpC,IAAI,CAAC,SAAS,EAAE,EAChB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,SAAS,EAAE,CACb,CACD;;IAIH,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,OAAO,IAAI;;AAGb,QAAA,OAAO,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,aAAa,EAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAA,CAAI;;IAGlD,UAAU,GAAA;QAChB,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,SAAS,EAAA,EACjB,IAAI,CAAC,OAAO,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAE,EAAA,IAAI,CAAC,OAAO,CAAO,EACzD,IAAI,CAAC,SAAS,IAAI,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,WAAW,EAAE,EAAA,IAAI,CAAC,SAAS,CAAO,CAC5D;;IAIF,SAAS,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACzB,YAAA,QACE,CACE,CAAA,oBAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,CAAA;;AAIN,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AAC5B,YAAA,QACE,CACE,CAAA,gBAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,CAAA;;AAIN,QAAA,OAAO,IAAI;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scout-list-view-subheader.entry.esm.js","sources":["src/components/list-view-subheader/list-view-subheader.css?tag=scout-list-view-subheader&encapsulation=shadow","src/components/list-view-subheader/list-view-subheader.tsx"],"sourcesContent":["/** biome-ignore-all lint/complexity/noImportantStyles: https://github.com/tailwindlabs/tailwindcss/discussions/18628#discussioncomment-13915195 */\n\n:host {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: var(--spacing-2) var(--spacing-4) var(--spacing-1) !important;\n border: none !important;\n background-color: transparent;\n}\n\n.heading {\n margin: 0;\n padding: 0;\n font: var(--type-body-sm);\n color: var(--color-text-base);\n font-weight: 500;\n}\n","import { Component, Host, h, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"scout-list-view-subheader\",\n styleUrl: \"list-view-subheader.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutListViewSubheader {\n @Prop() text: string;\n @Prop() headingLevel: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" = \"h2\";\n\n render() {\n return (\n <Host role=\"listitem\">\n <this.headingLevel class=\"heading\">{this.text}</this.headingLevel>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,oBAAoB,GAAG,+RAA+R;;MCS/S,sBAAsB,GAAA,MAAA;;;;AACzB,IAAA,IAAI;IACJ,YAAY,GAA4C,IAAI;IAEpE,MAAM,GAAA;AACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EAAA,EACnB,CAAA,CAAC,IAAI,CAAC,YAAY,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAC,SAAS,EAAE,EAAA,IAAI,CAAC,IAAI,CAAqB,CAC7D;;;;;;;;"}
1
+ {"version":3,"file":"scout-list-view-subheader.entry.esm.js","sources":["src/components/list-view-subheader/list-view-subheader.css?tag=scout-list-view-subheader&encapsulation=shadow","src/components/list-view-subheader/list-view-subheader.tsx"],"sourcesContent":["/** biome-ignore-all lint/complexity/noImportantStyles: https://github.com/tailwindlabs/tailwindcss/discussions/18628#discussioncomment-13915195 */\n\n:host {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0 var(--spacing-4) !important;\n height: var(--spacing-12);\n border: none !important;\n background-color: transparent;\n}\n\n.heading {\n margin: 0;\n padding: 0;\n font: var(--type-body-sm);\n color: var(--color-gray-800);\n font-weight: 500;\n}\n","import { Component, Host, h, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"scout-list-view-subheader\",\n styleUrl: \"list-view-subheader.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ScoutListViewSubheader {\n @Prop() text: string;\n @Prop() headingLevel: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" = \"h2\";\n\n render() {\n return (\n <Host role=\"listitem\">\n <this.headingLevel class=\"heading\">{this.text}</this.headingLevel>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,oBAAoB,GAAG,uRAAuR;;MCSvS,sBAAsB,GAAA,MAAA;;;;AACzB,IAAA,IAAI;IACJ,YAAY,GAA4C,IAAI;IAEpE,MAAM,GAAA;AACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EAAA,EACnB,CAAA,CAAC,IAAI,CAAC,YAAY,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAC,SAAS,EAAE,EAAA,IAAI,CAAC,IAAI,CAAqB,CAC7D;;;;;;;;"}
@@ -1,2 +1,2 @@
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-531dc32a",[[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-f01605ca",[[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-faaf9da5",[[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-78b6c86b",[[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-ee497882",[[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-45b65a28",[[785,"scout-switch",{validate:[16],toggled:[4],disabled:[4],ariaLabelledby:[1,"aria-labelledby"],label:[1],ariaId:[32]}]]],["p-e4ba9bd7",[[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)}));
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-30b75968",[[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],disabled:[4]}]]],["p-8a942414",[[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-3ac00412",[[772,"scout-button",{type:[1],href:[1],target:[1],rel:[1],variant:[1],icon:[1],iconPosition:[1,"icon-position"],iconOnly:[4,"icon-only"]}]]],["p-08499152",[[273,"scout-card"]]],["p-dcc4dafa",[[273,"scout-divider"]]],["p-6e9afb25",[[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-2a842a24",[[770,"scout-input",{validate:[16],size:[1],variant:[1],type:[1],inputmode:[1],pattern:[1],value:[1],name:[1],disabled:[4],placeholder:[1],ariaId:[32]}]]],["p-1efd7b9a",[[785,"scout-link",{href:[1],label:[1],rel:[1],linkAriaLabel:[1,"link-aria-label"],type:[1],target:[1]}]]],["p-4f28520e",[[273,"scout-list-view",null,[[0,"scoutChecked","onScoutChecked"]]]]],["p-d68b8b37",[[785,"scout-list-view-subheader",{text:[1],headingLevel:[1,"heading-level"]}]]],["p-6de2edd1",[[769,"scout-loader",{text:[1],size:[1]}]]],["p-0b8a7cc9",[[774,"scout-select",{validate:[16],value:[1],disabled:[4],name:[1],ariaId:[32]}]]],["p-8f3e4290",[[785,"scout-stack",{direction:[1],gapSize:[1,"gap-size"]}]]],["p-cbf489b1",[[785,"scout-switch",{validate:[16],toggled:[4],disabled:[4],ariaLabelledby:[1,"aria-labelledby"],label:[1],ariaId:[32]}]]],["p-b0a70cb6",[[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.4",
3
+ "version": "2.2.5",
4
4
  "type": "module",
5
5
  "description": "Scouterna Design System Web Components",
6
6
  "main": "dist/index.cjs.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"inputMixin-CkYXihTB.js","sources":["src/mixins/inputMixin.ts"],"sourcesContent":["import {\n Event,\n type EventEmitter,\n type MixedInCtor,\n Prop,\n State,\n} from \"@stencil/core\";\n\nexport const inputMixin = <B extends MixedInCtor>(Base: B) => {\n class InputMixin extends Base {\n /**\n * Custom validation function run on top of the implicit validation performed\n * by the browser. Return a string with the validation message to mark the\n * input as invalid, or null to mark it as valid.\n */\n @Prop() validate?: (value: string) => string | null;\n\n @Event() scoutInputChange: EventEmitter<{\n value: string;\n element: HTMLElement;\n }>;\n @Event() scoutBlur: EventEmitter<void>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutValidate: EventEmitter<{ element: HTMLElement }>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutInvalid: EventEmitter<void>;\n\n /**\n * Internal event used for form field association.\n */\n @Event() _scoutFieldId: EventEmitter<string>;\n\n @State() ariaId: string;\n\n private inputElement:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n\n componentWillLoad() {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._scoutFieldId.emit(this.ariaId);\n }\n\n componentDidLoad() {\n this.runValidation();\n }\n\n onInput() {\n this.runValidation();\n }\n\n onBlur() {\n this.scoutBlur.emit();\n }\n\n onInvalid() {\n this._scoutInvalid.emit();\n }\n\n runValidation() {\n if (!this.validate) {\n return;\n }\n\n const validationMessage = this.validate(this.inputElement.value);\n this.inputElement.setCustomValidity(validationMessage ?? \"\");\n\n this._scoutValidate.emit({ element: this.inputElement });\n }\n\n setInputRef(\n el:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement,\n ) {\n this.inputElement = el;\n }\n }\n return InputMixin;\n};\n"],"names":[],"mappings":";;;;AAQa,MAAA,UAAU,GAAG,CAAwB,IAAO,KAAI;UACrD,UAAW,GAAA,cAAQ,IAAI,CAAA;;;;;AAC3B;;;;AAIG;AACK,QAAA,QAAQ;AAEP,QAAA,gBAAgB;AAIhB,QAAA,SAAS;AAElB;;AAEG;AACM,QAAA,cAAc;AAEvB;;AAEG;AACM,QAAA,aAAa;AAEtB;;AAEG;AACM,QAAA,aAAa;AAEb,QAAA,MAAM;AAEP,QAAA,YAAY;QAOpB,iBAAiB,GAAA;YACf,IAAI,CAAC,MAAM,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;YAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;QAGtC,gBAAgB,GAAA;YACd,IAAI,CAAC,aAAa,EAAE;;QAGtB,OAAO,GAAA;YACL,IAAI,CAAC,aAAa,EAAE;;QAGtB,MAAM,GAAA;AACJ,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;QAGvB,SAAS,GAAA;AACP,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;QAG3B,aAAa,GAAA;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB;;AAGF,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAE5D,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;;AAG1D,QAAA,WAAW,CACT,EAKuB,EAAA;AAEvB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;;AAG1B,IAAA,OAAO,UAAU;AACnB;;;;"}
@@ -1 +0,0 @@
1
- {"file":"p-DaGMxK4K.js","mappings":"AAQa,MAAA,UAAU,GAAG,CAAwB,IAAO,KAAI;UACrD,UAAW,GAAA,cAAQ,IAAI,CAAA;;;;AAC3B;;;;AAIG;AACK,QAAA,QAAQ;AAEP,QAAA,gBAAgB;AAIhB,QAAA,SAAS;AAElB;;AAEG;AACM,QAAA,cAAc;AAEvB;;AAEG;AACM,QAAA,aAAa;AAEtB;;AAEG;AACM,QAAA,aAAa;AAEb,QAAA,MAAM;AAEP,QAAA,YAAY;QAOpB,iBAAiB,GAAA;YACf,IAAI,CAAC,MAAM,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;YAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;QAGtC,gBAAgB,GAAA;YACd,IAAI,CAAC,aAAa,EAAE;;QAGtB,OAAO,GAAA;YACL,IAAI,CAAC,aAAa,EAAE;;QAGtB,MAAM,GAAA;AACJ,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;QAGvB,SAAS,GAAA;AACP,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;QAG3B,aAAa,GAAA;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB;;AAGF,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAE5D,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;;AAG1D,QAAA,WAAW,CACT,EAKuB,EAAA;AAEvB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;;AAG1B,IAAA,OAAO,UAAU;AACnB;;;;","names":[],"sources":["src/mixins/inputMixin.ts"],"sourcesContent":["import {\n Event,\n type EventEmitter,\n type MixedInCtor,\n Prop,\n State,\n} from \"@stencil/core\";\n\nexport const inputMixin = <B extends MixedInCtor>(Base: B) => {\n class InputMixin extends Base {\n /**\n * Custom validation function run on top of the implicit validation performed\n * by the browser. Return a string with the validation message to mark the\n * input as invalid, or null to mark it as valid.\n */\n @Prop() validate?: (value: string) => string | null;\n\n @Event() scoutInputChange: EventEmitter<{\n value: string;\n element: HTMLElement;\n }>;\n @Event() scoutBlur: EventEmitter<void>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutValidate: EventEmitter<{ element: HTMLElement }>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutInvalid: EventEmitter<void>;\n\n /**\n * Internal event used for form field association.\n */\n @Event() _scoutFieldId: EventEmitter<string>;\n\n @State() ariaId: string;\n\n private inputElement:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n\n componentWillLoad() {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._scoutFieldId.emit(this.ariaId);\n }\n\n componentDidLoad() {\n this.runValidation();\n }\n\n onInput() {\n this.runValidation();\n }\n\n onBlur() {\n this.scoutBlur.emit();\n }\n\n onInvalid() {\n this._scoutInvalid.emit();\n }\n\n runValidation() {\n if (!this.validate) {\n return;\n }\n\n const validationMessage = this.validate(this.inputElement.value);\n this.inputElement.setCustomValidity(validationMessage ?? \"\");\n\n this._scoutValidate.emit({ element: this.inputElement });\n }\n\n setInputRef(\n el:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement,\n ) {\n this.inputElement = el;\n }\n }\n return InputMixin;\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inputMixin-mAf9ZFOg.js","sources":["src/mixins/inputMixin.ts"],"sourcesContent":["import {\n Event,\n type EventEmitter,\n type MixedInCtor,\n Prop,\n State,\n} from \"@stencil/core\";\n\nexport const inputMixin = <B extends MixedInCtor>(Base: B) => {\n class InputMixin extends Base {\n /**\n * Custom validation function run on top of the implicit validation performed\n * by the browser. Return a string with the validation message to mark the\n * input as invalid, or null to mark it as valid.\n */\n @Prop() validate?: (value: string) => string | null;\n\n @Event() scoutInputChange: EventEmitter<{\n value: string;\n element: HTMLElement;\n }>;\n @Event() scoutBlur: EventEmitter<void>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutValidate: EventEmitter<{ element: HTMLElement }>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutInvalid: EventEmitter<void>;\n\n /**\n * Internal event used for form field association.\n */\n @Event() _scoutFieldId: EventEmitter<string>;\n\n @State() ariaId: string;\n\n private inputElement:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n\n componentWillLoad() {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._scoutFieldId.emit(this.ariaId);\n }\n\n componentDidLoad() {\n this.runValidation();\n }\n\n onInput() {\n this.runValidation();\n }\n\n onBlur() {\n this.scoutBlur.emit();\n }\n\n onInvalid() {\n this._scoutInvalid.emit();\n }\n\n runValidation() {\n if (!this.validate) {\n return;\n }\n\n const validationMessage = this.validate(this.inputElement.value);\n this.inputElement.setCustomValidity(validationMessage ?? \"\");\n\n this._scoutValidate.emit({ element: this.inputElement });\n }\n\n setInputRef(\n el:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement,\n ) {\n this.inputElement = el;\n }\n }\n return InputMixin;\n};\n"],"names":[],"mappings":";;AAQa,MAAA,UAAU,GAAG,CAAwB,IAAO,KAAI;UACrD,UAAW,GAAA,cAAQ,IAAI,CAAA;;;;;AAC3B;;;;AAIG;AACK,QAAA,QAAQ;AAEP,QAAA,gBAAgB;AAIhB,QAAA,SAAS;AAElB;;AAEG;AACM,QAAA,cAAc;AAEvB;;AAEG;AACM,QAAA,aAAa;AAEtB;;AAEG;AACM,QAAA,aAAa;AAEb,QAAA,MAAM;AAEP,QAAA,YAAY;QAOpB,iBAAiB,GAAA;YACf,IAAI,CAAC,MAAM,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;YAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;QAGtC,gBAAgB,GAAA;YACd,IAAI,CAAC,aAAa,EAAE;;QAGtB,OAAO,GAAA;YACL,IAAI,CAAC,aAAa,EAAE;;QAGtB,MAAM,GAAA;AACJ,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;QAGvB,SAAS,GAAA;AACP,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;QAG3B,aAAa,GAAA;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB;;AAGF,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAE5D,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;;AAG1D,QAAA,WAAW,CACT,EAKuB,EAAA;AAEvB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;;AAG1B,IAAA,OAAO,UAAU;AACnB;;;;"}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t,H as a}from"./p-ksA_9NPe.js";const r=":host{display:flex;align-items:center;justify-content:flex-start;padding:var(--spacing-2) var(--spacing-4) var(--spacing-1) !important;border:none !important;background-color:transparent}.heading{margin:0;padding:0;font:var(--type-body-sm);color:var(--color-text-base);font-weight:500}";const s=class{constructor(t){e(this,t)}text;headingLevel="h2";render(){return t(a,{key:"5ff0f60b511992241c5dacc25bd2ede127180da5",role:"listitem"},t(this.headingLevel,{key:"e857ca6fd07f98e379ade3efab9b7638a69ef184",class:"heading"},this.text))}static get delegatesFocus(){return true}};s.style=r;export{s as scout_list_view_subheader};
2
- //# sourceMappingURL=p-02c211ea.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["registerInstance","createEvent","h","Host","listViewItemCss","ScoutListViewItem","constructor","hostRef","this","scoutClick","icon","primary","secondary","type","href","target","rel","name","value","checked","render","Tag","linkProps","undefined","key","role","class","onClick","emit","getPrefix","getContent","getSuffix","innerHTML","delegatesFocus","style"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,OAAQC,MAAY,kBAEtE,MAAMC,EAAkB,mlCAExB,MAAMC,EAAoB,MACtB,WAAAC,CAAYC,GACRP,EAAiBQ,KAAMD,GACvBC,KAAKC,WAAaR,EAAYO,KAAM,aACxC,CACAE,KACAC,QACAC,UACAC,KAAO,SACPC,KACAC,OACAC,IACAC,KACAC,MACAC,QACAV,WACA,MAAAW,GACI,MAAMC,EAAMb,KAAKK,OAAS,OACpB,IACAL,KAAKK,OAAS,SAAWL,KAAKK,OAAS,WACnC,QACA,SACV,MAAMS,EAAYd,KAAKK,OAAS,OAC1B,CACEC,KAAMN,KAAKM,KACXC,OAAQP,KAAKO,OAEbC,IAAKR,KAAKQ,MACLR,KAAKO,SAAW,SAAW,sBAAwBQ,YAE1D,CAAC,EACP,OAAQrB,EAAEC,EAAM,CAAEqB,IAAK,2CAA4CC,KAAM,YAAcvB,EAAEmB,EAAK,CAAEG,IAAK,2CAA4CE,MAAO,YAAaJ,EAAWK,QAAS,IAAMnB,KAAKC,WAAWmB,QAAUpB,KAAKqB,YAAarB,KAAKsB,aAActB,KAAKuB,aACvQ,CACA,SAAAF,GACI,IAAKrB,KAAKE,KAAM,CACZ,OAAO,IACX,CACA,OAAOR,EAAE,MAAO,CAAEwB,MAAO,cAAeM,UAAWxB,KAAKE,MAC5D,CACA,UAAAoB,GACI,OAAQ5B,EAAE,MAAO,CAAEwB,MAAO,WAAalB,KAAKG,SAAWT,EAAE,MAAO,CAAEwB,MAAO,WAAalB,KAAKG,SAAUH,KAAKI,WAAaV,EAAE,MAAO,CAAEwB,MAAO,aAAelB,KAAKI,WACjK,CACA,SAAAmB,GACI,GAAIvB,KAAKK,OAAS,QAAS,CACvB,OAAQX,EAAE,qBAAsB,CAAEe,KAAMT,KAAKS,KAAMC,MAAOV,KAAKU,MAAOC,QAASX,KAAKW,SACxF,CACA,GAAIX,KAAKK,OAAS,WAAY,CAC1B,OAAQX,EAAE,iBAAkB,CAAEe,KAAMT,KAAKS,KAAMC,MAAOV,KAAKU,MAAOC,QAASX,KAAKW,SACpF,CACA,OAAO,IACX,CACA,yBAAWc,GAAmB,OAAO,IAAM,GAE/C5B,EAAkB6B,MAAQ9B,SAEjBC","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{M as r,r as e,c as a,h as t}from"./p-ksA_9NPe.js";import{i as o}from"./p-BzgciO7w.js";const i='.switch{width:var(--spacing-10);height:var(--spacing-6);-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:var(--spacing-8);background-color:var(--color-text-brand-inverse);border:2px solid var(--color-gray-300);position:relative;display:flex;align-content:center;justify-content:center;transition-property:border-color;transition-duration:0.3s;transition-timing-function:ease-in-out;cursor:pointer;--switch-ball-padding:calc(var(--spacing-1) / 4);--switch-ball-size:calc(var(--spacing-5) - var(--switch-ball-padding) * 2)}.switch:hover{transition-property:none;border-color:var(--color-gray-400);background-color:var(--color-background-brand-subtle-hovered)}.switch:active{background-color:var(--color-background-brand-subtle-pressed)}.switch:checked{border-color:var(--color-background-brand-base)}.switch:hover::before{background-color:var(--color-gray-400)}.switch::before{content:"";background-color:var(--color-gray-300);width:var(--switch-ball-size);height:var(--switch-ball-size);border-radius:50%;position:absolute;top:var(--switch-ball-padding);left:var(--switch-ball-padding);transition-duration:0.3s;transition-property:left, right}.switch:checked::before{content:"";background-color:var(--color-background-brand-base);left:calc(100% - (var(--switch-ball-size) + var(--switch-ball-padding)));left:calc(100% - calc(var(--switch-ball-size) + var(--switch-ball-padding)))}.switch:disabled{pointer-events:none;background-color:var(--color-gray-100);border-color:var(--color-gray-100)}.switch:disabled::before{background-color:var(--color-gray-300)}label{display:flex;flex-direction:row-reverse;align-items:center;font:var(--type-label-base);color:var(--color-text-base)}.inlineDivider{width:var(--spacing-2)}';const c=class extends(r(o)){constructor(r){super();e(this,r);this.scoutInputChange=a(this,"scoutInputChange");this.scoutBlur=a(this,"scoutBlur");this._scoutValidate=a(this,"_scoutValidate");this._scoutInvalid=a(this,"_scoutInvalid");this._scoutFieldId=a(this,"_scoutFieldId");this.scoutChecked=a(this,"scoutChecked")}toggled=false;disabled=false;ariaLabelledby;label;scoutChecked;onChange(r){const e=r.target;this.scoutChecked.emit({checked:e.checked,element:e})}render(){const r=this.label?.length?"label":"div";return t(r,{key:"22aee29982e7bb00cf76c2a096c4cf40b53e51c4"},this.label,t("span",{key:"5ce6c501344e3da675d371e4a62794104ec1e6f1",class:"inlineDivider"}),t("input",{key:"81c07b77cd2ccdc66b93067da4eb15b62c87d5fd",ref:r=>this.setInputRef(r),id:this.ariaId,type:"checkbox",class:"switch","aria-labelledby":this.ariaLabelledby,"aria-disabled":this.disabled,disabled:this.disabled,checked:this.toggled,onChange:r=>{this.onInput();this.onChange(r)},onBlur:()=>this.onBlur(),onInvalid:()=>this.onInvalid()}))}static get delegatesFocus(){return true}};c.style=i;export{c as scout_switch};
2
- //# sourceMappingURL=p-45b65a28.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,h as t}from"./p-ksA_9NPe.js";const a=":host{display:flex;width:100%}::slotted(scout-button){height:100%}.container{display:flex;flex:1;height:var(--spacing-14);background-color:var(--color-white);border-bottom:1px solid var(--color-neutral-100);color:var(--color-text-brand-base);padding:var(--spacing-1)}.title{flex:1;display:flex;align-items:center;font:var(--type-body-lg);font-weight:500;padding:0 var(--spacing-2)}";const r=class{constructor(t){e(this,t)}titleText;render(){return t("header",{key:"32779c0aa2d189ea43d2ad14dd920e6b7c4b3e17",class:"container"},t("slot",{key:"0e6b6e66c1f129cb9833335e87298b7c99a6f35c",name:"prefix"}),t("div",{key:"9f1e2ac9696717a2defe268dd85eb35b641918f9",class:"title"},this.titleText),t("slot",{key:"b6b0405705921bfd0bdd17ca76bfee97f9bc6105",name:"suffix"}))}static get delegatesFocus(){return true}};r.style=a;export{r as scout_app_bar};
2
- //# sourceMappingURL=p-531dc32a.entry.js.map
@@ -1,2 +0,0 @@
1
- import{M as t,r as s,c as i,h as o}from"./p-ksA_9NPe.js";import{i as r}from"./p-BzgciO7w.js";const a=".input.sc-scout-input{height:var(--spacing-10);padding:var(--spacing-2);font:var(--type-body-base);border:1px solid var(--color-gray-300);border-radius:var(--spacing-2);background-color:var(--color-white);color:var(--color-text-base)}.input.sc-scout-input:disabled{background-color:var(--color-gray-100);color:var(--color-gray-700);cursor:not-allowed}";const e=class extends(t(r)){constructor(t){super();s(this,t);this.scoutInputChange=i(this,"scoutInputChange");this.scoutBlur=i(this,"scoutBlur");this._scoutValidate=i(this,"_scoutValidate");this._scoutInvalid=i(this,"_scoutInvalid");this._scoutFieldId=i(this,"_scoutFieldId")}type="text";inputmode;pattern;value="";name;disabled=false;render(){return o("input",{key:"91a90ed63063ef5533308ff1cb61840aec0bb1d3",ref:t=>this.setInputRef(t),id:this.ariaId,type:this.type,name:this.name,inputMode:this.inputmode,pattern:this.pattern,class:"input",value:this.value,disabled:this.disabled,onInput:()=>this.onInput(),onBlur:()=>this.onBlur(),onInvalid:()=>this.onInvalid()})}};e.style=a;export{e as scout_input};
2
- //# sourceMappingURL=p-78b6c86b.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Mixin","registerInstance","createEvent","h","inputMixin","inputCss","ScoutInput","constructor","hostRef","super","this","scoutInputChange","scoutBlur","_scoutValidate","_scoutInvalid","_scoutFieldId","type","inputmode","pattern","value","name","disabled","render","key","ref","el","setInputRef","id","ariaId","inputMode","class","onInput","onBlur","onInvalid","style"],"sources":["0"],"mappings":"YAAcA,OAAYC,OAAuBC,OAAaC,MAAS,8BACzDC,MAAkB,kBAEhC,MAAMC,EAAW,kWAEjB,MAAMC,EAAa,cAAcN,EAAMI,IACnC,WAAAG,CAAYC,GACRC,QACAR,EAAiBS,KAAMF,GACvBE,KAAKC,iBAAmBT,EAAYQ,KAAM,oBAC1CA,KAAKE,UAAYV,EAAYQ,KAAM,aACnCA,KAAKG,eAAiBX,EAAYQ,KAAM,kBACxCA,KAAKI,cAAgBZ,EAAYQ,KAAM,iBACvCA,KAAKK,cAAgBb,EAAYQ,KAAM,gBAC3C,CAMAM,KAAO,OAIPC,UAIAC,QAIAC,MAAQ,GACRC,KAKAC,SAAW,MACX,MAAAC,GACI,OAAQnB,EAAE,QAAS,CAAEoB,IAAK,2CAA4CC,IAAMC,GAAOf,KAAKgB,YAAYD,GAAKE,GAAIjB,KAAKkB,OAAQZ,KAAMN,KAAKM,KAAMI,KAAMV,KAAKU,KAAMS,UAAWnB,KAAKO,UAAWC,QAASR,KAAKQ,QAASY,MAAO,QAASX,MAAOT,KAAKS,MAAOE,SAAUX,KAAKW,SAAUU,QAAS,IAAMrB,KAAKqB,UAAWC,OAAQ,IAAMtB,KAAKsB,SAAUC,UAAW,IAAMvB,KAAKuB,aAChW,GAEJ3B,EAAW4B,MAAQ7B,SAEVC","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as a,H as s}from"./p-ksA_9NPe.js";const e=":host{display:flex;width:100%;flex-direction:var(--stack-flex-direction);gap:var(--stack-gap-spacing)}";var c;(function(t){t["xs"]="2";t["s"]="4";t["m"]="8";t["l"]="12";t["xl"]="16";t["xxl"]="20"})(c||(c={}));const r=class{constructor(a){t(this,a)}direction="row";gapSize="m";render(){return a(s,{key:"46f8dfbf3721fe377297d936ea07595e85b933a3",style:{"--stack-flex-direction":`${this.direction}`,"--stack-gap-spacing":`var(--spacing-${c[this.gapSize]})`}},a("slot",{key:"9d0a64fbc02da0960e96293696e77a7688af7132"}))}static get delegatesFocus(){return true}};r.style=e;export{r as scout_stack};
2
- //# sourceMappingURL=p-974e8415.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r,h as s}from"./p-ksA_9NPe.js";const a=":host{display:contents}.card{display:block;border-radius:var(--spacing-2);border:1px solid var(--color-gray-100);padding:var(--spacing-2);box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),\n 0 1px 2px -1px rgba(0, 0, 0, 0.1)}";const e=class{constructor(s){r(this,s)}render(){return s("div",{key:"ffeed5909a251bf61e750ebb575b278e90490945",class:"card"},s("slot",{key:"a8d457f36995146e722c2d53ddfb03f36848f6d1"}))}static get delegatesFocus(){return true}};e.style=a;export{e as scout_card};
2
- //# sourceMappingURL=p-97f9cf0a.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t}from"./p-ksA_9NPe.js";const s=s=>{const i=class extends s{constructor(s){super();t(this,s)}validate;scoutInputChange;scoutBlur;_scoutValidate;_scoutInvalid;_scoutFieldId;ariaId;inputElement;componentWillLoad(){this.ariaId=`_${Math.random().toString(36).substring(2,9)}`;this._scoutFieldId.emit(this.ariaId)}componentDidLoad(){this.runValidation()}onInput(){this.runValidation()}onBlur(){this.scoutBlur.emit()}onInvalid(){this._scoutInvalid.emit()}runValidation(){if(!this.validate){return}const t=this.validate(this.inputElement.value);this.inputElement.setCustomValidity(t??"");this._scoutValidate.emit({element:this.inputElement})}setInputRef(t){this.inputElement=t}};return i};export{s as i};
2
- //# sourceMappingURL=p-BzgciO7w.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-BzgciO7w.js","sources":["src/mixins/inputMixin.ts"],"sourcesContent":["import {\n Event,\n type EventEmitter,\n type MixedInCtor,\n Prop,\n State,\n} from \"@stencil/core\";\n\nexport const inputMixin = <B extends MixedInCtor>(Base: B) => {\n class InputMixin extends Base {\n /**\n * Custom validation function run on top of the implicit validation performed\n * by the browser. Return a string with the validation message to mark the\n * input as invalid, or null to mark it as valid.\n */\n @Prop() validate?: (value: string) => string | null;\n\n @Event() scoutInputChange: EventEmitter<{\n value: string;\n element: HTMLElement;\n }>;\n @Event() scoutBlur: EventEmitter<void>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutValidate: EventEmitter<{ element: HTMLElement }>;\n\n /**\n * Internal event used for form field validation.\n */\n @Event() _scoutInvalid: EventEmitter<void>;\n\n /**\n * Internal event used for form field association.\n */\n @Event() _scoutFieldId: EventEmitter<string>;\n\n @State() ariaId: string;\n\n private inputElement:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n\n componentWillLoad() {\n this.ariaId = `_${Math.random().toString(36).substring(2, 9)}`;\n this._scoutFieldId.emit(this.ariaId);\n }\n\n componentDidLoad() {\n this.runValidation();\n }\n\n onInput() {\n this.runValidation();\n }\n\n onBlur() {\n this.scoutBlur.emit();\n }\n\n onInvalid() {\n this._scoutInvalid.emit();\n }\n\n runValidation() {\n if (!this.validate) {\n return;\n }\n\n const validationMessage = this.validate(this.inputElement.value);\n this.inputElement.setCustomValidity(validationMessage ?? \"\");\n\n this._scoutValidate.emit({ element: this.inputElement });\n }\n\n setInputRef(\n el:\n | HTMLButtonElement\n | HTMLInputElement\n | HTMLOutputElement\n | HTMLSelectElement\n | HTMLTextAreaElement,\n ) {\n this.inputElement = el;\n }\n }\n return InputMixin;\n};\n"],"names":[],"mappings":";;AAQa,MAAA,UAAU,GAAG,CAAwB,IAAO,KAAI;UACrD,UAAW,GAAA,cAAQ,IAAI,CAAA;;;;;AAC3B;;;;AAIG;AACK,QAAA,QAAQ;AAEP,QAAA,gBAAgB;AAIhB,QAAA,SAAS;AAElB;;AAEG;AACM,QAAA,cAAc;AAEvB;;AAEG;AACM,QAAA,aAAa;AAEtB;;AAEG;AACM,QAAA,aAAa;AAEb,QAAA,MAAM;AAEP,QAAA,YAAY;QAOpB,iBAAiB,GAAA;YACf,IAAI,CAAC,MAAM,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;YAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;QAGtC,gBAAgB,GAAA;YACd,IAAI,CAAC,aAAa,EAAE;;QAGtB,OAAO,GAAA;YACL,IAAI,CAAC,aAAa,EAAE;;QAGtB,MAAM,GAAA;AACJ,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;QAGvB,SAAS,GAAA;AACP,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;QAG3B,aAAa,GAAA;AACX,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB;;AAGF,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,CAAC;AAE5D,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;;AAG1D,QAAA,WAAW,CACT,EAKuB,EAAA;AAEvB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;;AAG1B,IAAA,OAAO,UAAU;AACnB;;;;"}
@@ -1,2 +0,0 @@
1
- import{r as e,a as t,h as s,H as o}from"./p-ksA_9NPe.js";const c=":host{display:flex;flex-direction:column;padding:var(--spacing-2) 0}";const r=class{constructor(t){e(this,t)}get el(){return t(this)}onScoutChecked(e){const{checked:t,element:s}=e.detail;if(s.type!=="radio"||!s.name||!t){return}const o=this.el.querySelectorAll("scout-list-view-item");const c=[];o.forEach((e=>{const t=e.shadowRoot.querySelectorAll(`input[type="radio"][name="${CSS.escape(s.name)}"]`);t.forEach((e=>{if(e!==s){c.push(e)}}))}));for(const e of c){e.checked=false}}render(){return s(o,{key:"4364bb39e10f23da20440461fea6a8d7a3274bcc",role:"list"},s("slot",{key:"34f7de708ef874254477b8b82e54cad78db0da6c"}))}static get delegatesFocus(){return true}};r.style=c;export{r as scout_list_view};
2
- //# sourceMappingURL=p-e2288570.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as o,c as t,h as c}from"./p-ksA_9NPe.js";const r=".sc-scout-button-h{display:inline-block}.button.sc-scout-button{flex:1;display:inline-flex;height:var(--spacing-10);align-items:center;justify-content:center;gap:var(--spacing-3);padding:0 var(--spacing-4);font:var(--type-body-base);border-radius:var(--spacing-2);border:1px solid transparent;cursor:pointer;-webkit-text-decoration:none;text-decoration:none}.icon.sc-scout-button{width:var(--spacing-5);height:var(--spacing-5);margin:0 calc(var(--spacing-1) * -1)}.icon.sc-scout-button svg.sc-scout-button{width:100%;height:100%}.button.icon-only.sc-scout-button{aspect-ratio:1 / 1;justify-content:center;padding:0}.button.icon-only.sc-scout-button .icon.sc-scout-button{margin:0}.button.icon-only.sc-scout-button .content.sc-scout-button{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.button.primary.sc-scout-button{background-color:var(--color-background-brand-base);color:var(--color-text-brand-inverse)}.button.primary.sc-scout-button:hover{background-color:var(--color-background-brand-hovered)}.button.primary.sc-scout-button:active{background-color:var(--color-background-brand-pressed)}.button.outlined.sc-scout-button{background-color:transparent;border-color:var(--color-background-brand-subtle-base);color:var(--color-text-brand-base)}.button.outlined.sc-scout-button:hover{background-color:var(--color-background-brand-subtle-hovered)}.button.outlined.sc-scout-button:active{background-color:var(--color-background-brand-subtle-pressed)}.button.text.sc-scout-button{background-color:transparent;border-color:transparent;color:var(--color-text-brand-base)}.button.text.sc-scout-button:hover{background-color:var(--color-background-brand-subtle-hovered)}.button.text.sc-scout-button:active{background-color:var(--color-background-brand-subtle-pressed)}.button.caution.sc-scout-button{background-color:var(--color-background-caution-bold-base);color:var(--color-text-caution-bold-base)}.button.caution.sc-scout-button:hover{background-color:var(--color-background-caution-bold-hovered)}.button.caution.sc-scout-button:active{background-color:var(--color-background-caution-bold-pressed)}.button.danger.sc-scout-button{background-color:var(--color-background-danger-bold-base);color:var(--color-text-danger-bold-base)}.button.danger.sc-scout-button:hover{background-color:var(--color-background-danger-bold-hovered)}.button.danger.sc-scout-button:active{background-color:var(--color-background-danger-bold-pressed)}";const n=class{constructor(c){o(this,c);this.scoutClick=t(this,"scoutClick")}type="button";href;target;rel;variant="outlined";icon;iconPosition="after";iconOnly=false;scoutClick;render(){const o=this.type==="link"?"a":"button";const t=this.type==="link"?{href:this.href,target:this.target,rel:this.rel??(this.target==="_blank"?"noopener noreferrer":undefined)}:{type:this.type};const r=this.icon&&c("span",{key:"8f27b9e6a50427afef8d323212742f031f70db94",class:"icon",innerHTML:this.icon});return c(o,{key:"8f59580f38d9eafc86ac2ce9a0243cf94e1e87e0",class:`button ${this.variant} ${this.iconOnly?"icon-only":""}`,onClick:()=>this.scoutClick.emit(),...t},this.iconPosition==="before"&&r,c("span",{key:"c6a68e20086b2da562324d4a15a973ba24fca90d",class:"content"},c("slot",{key:"4d52b30c5addf5389494c994d91ab7f35a51d734"})),this.iconPosition==="after"&&r)}};n.style=r;export{n as scout_button};
2
- //# sourceMappingURL=p-f01605ca.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["registerInstance","createEvent","h","buttonCss","ScoutButton","constructor","hostRef","this","scoutClick","type","href","target","rel","variant","icon","iconPosition","iconOnly","render","Tag","props","undefined","key","class","innerHTML","onClick","emit","style"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,MAAS,kBAE3D,MAAMC,EAAY,87EAElB,MAAMC,EAAc,MAChB,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,GACvBC,KAAKC,WAAaP,EAAYM,KAAM,aACxC,CACAE,KAAO,SACPC,KACAC,OACAC,IAIAC,QAAU,WAIVC,KACAC,aAAe,QACfC,SAAW,MACXR,WACA,MAAAS,GACI,MAAMC,EAAMX,KAAKE,OAAS,OAAS,IAAM,SACzC,MAAMU,EAAQZ,KAAKE,OAAS,OACtB,CACEC,KAAMH,KAAKG,KACXC,OAAQJ,KAAKI,OAEbC,IAAKL,KAAKK,MACLL,KAAKI,SAAW,SAAW,sBAAwBS,YAE1D,CACEX,KAAMF,KAAKE,MAEnB,MAAMK,EAAOP,KAAKO,MAAQZ,EAAE,OAAQ,CAAEmB,IAAK,2CAA4CC,MAAO,OAAQC,UAAWhB,KAAKO,OACtH,OAAQZ,EAAEgB,EAAK,CAAEG,IAAK,2CAA4CC,MAAO,UAAUf,KAAKM,WAAWN,KAAKS,SAAW,YAAc,KAAMQ,QAAS,IAAMjB,KAAKC,WAAWiB,UAAWN,GAASZ,KAAKQ,eAAiB,UAAYD,EAAMZ,EAAE,OAAQ,CAAEmB,IAAK,2CAA4CC,MAAO,WAAapB,EAAE,OAAQ,CAAEmB,IAAK,8CAAgDd,KAAKQ,eAAiB,SAAWD,EACzZ,GAEJV,EAAYsB,MAAQvB,SAEXC","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,a as t,h as s}from"./p-ksA_9NPe.js";const l=".field.sc-scout-field{display:flex;flex-direction:column}.label.sc-scout-field{font:var(--type-label-sm);font-weight:600;color:var(--color-text-base)}.error-text.sc-scout-field{font:var(--type-label-sm);color:var(--color-text-danger-base);margin:var(--spacing-1) 0 0 0}.error-text.sc-scout-field:empty{margin:0}.help-text.sc-scout-field{font:var(--type-label-sm);color:var(--color-gray-600);margin:var(--spacing-1) 0 0 0}";const a=class{constructor(t){e(this,t)}label;helpText;inputId;errorText=null;errorHidden=false;get hostElement(){return t(this)}catchFieldId(e){e.stopPropagation();this.inputId=e.detail}handleValidation(e){const{element:t}=e.detail;this.errorHidden=true;if(t.validity.valid){this.errorText=null}else{this.errorText=t.validationMessage}}showError(){this.errorHidden=false}render(){return s("div",{key:"9205b4607dc3805cb2df4434abf6fa3adc5ce63a",class:"field"},s("label",{key:"ac4a5e25d0e7742244a2e50c9627b77cedaf456a",htmlFor:this.inputId,class:"label"},this.label),s("slot",{key:"f1ec47e560f3ed6e528cefef95a21d3ca28232bb"}),s("p",{key:"2b6de5c916264287019f1cbd5c73966eff4a9bbd",class:"error-text","aria-live":"polite"},!this.errorHidden&&this.errorText),this.helpText&&s("p",{key:"7cb1582085194921f8dde1ecc138fa048cc6fd75",class:"help-text"},this.helpText))}};a.style=l;export{a as scout_field};
2
- //# sourceMappingURL=p-faaf9da5.entry.js.map