wcs-core 4.2.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/dist/cjs/{accessibility-e99b032d.js → accessibility-c0c4e648.js} +8 -2
  2. package/dist/cjs/accessibility-c0c4e648.js.map +1 -0
  3. package/dist/cjs/button-interface-044a8a8a.js +12 -0
  4. package/dist/cjs/button-interface-044a8a8a.js.map +1 -0
  5. package/dist/cjs/grid-pagination-3511fdfa.js +111 -0
  6. package/dist/cjs/grid-pagination-3511fdfa.js.map +1 -0
  7. package/dist/cjs/{helpers-4a14051a.js → helpers-6280db6e.js} +75 -2
  8. package/dist/cjs/helpers-6280db6e.js.map +1 -0
  9. package/dist/cjs/{index-ca67a6dc.js → index-749d999e.js} +4 -1
  10. package/dist/cjs/index-749d999e.js.map +1 -0
  11. package/dist/cjs/{isEqual-9ea7ee49.js → keyboard-event-1cad4036.js} +77 -1
  12. package/dist/cjs/keyboard-event-1cad4036.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +2 -2
  14. package/dist/cjs/{select-arrow-c9583ea9.js → select-arrow-8169c0cb.js} +2 -2
  15. package/dist/cjs/{select-arrow-c9583ea9.js.map → select-arrow-8169c0cb.js.map} +1 -1
  16. package/dist/cjs/wcs-accordion-content.cjs.entry.js +1 -1
  17. package/dist/cjs/wcs-accordion-header.cjs.entry.js +1 -1
  18. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +2 -2
  19. package/dist/cjs/wcs-accordion.cjs.entry.js +1 -1
  20. package/dist/cjs/wcs-action-bar.cjs.entry.js +1 -1
  21. package/dist/cjs/wcs-app.cjs.entry.js +1 -1
  22. package/dist/cjs/wcs-badge.cjs.entry.js +3 -2
  23. package/dist/cjs/wcs-badge.cjs.entry.js.map +1 -1
  24. package/dist/cjs/{wcs-button.cjs.entry.js → wcs-button_2.cjs.entry.js} +21 -12
  25. package/dist/cjs/wcs-button_2.cjs.entry.js.map +1 -0
  26. package/dist/cjs/wcs-card-body.cjs.entry.js +1 -1
  27. package/dist/cjs/wcs-card.cjs.entry.js +1 -1
  28. package/dist/cjs/wcs-checkbox.cjs.entry.js +5 -2
  29. package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +2 -2
  31. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +2 -2
  32. package/dist/cjs/wcs-com-nav.cjs.entry.js +2 -2
  33. package/dist/cjs/wcs-counter.cjs.entry.js +16 -6
  34. package/dist/cjs/wcs-counter.cjs.entry.js.map +1 -1
  35. package/dist/cjs/wcs-divider.cjs.entry.js +1 -1
  36. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +1 -1
  37. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wcs-dropdown-header.cjs.entry.js +1 -1
  39. package/dist/cjs/wcs-dropdown-header.cjs.entry.js.map +1 -1
  40. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +2 -2
  41. package/dist/cjs/wcs-dropdown-item.cjs.entry.js.map +1 -1
  42. package/dist/cjs/wcs-dropdown.cjs.entry.js +12 -6
  43. package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
  44. package/dist/cjs/wcs-editable-field.cjs.entry.js +18 -3
  45. package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
  46. package/dist/cjs/wcs-error_2.cjs.entry.js +36 -2
  47. package/dist/cjs/wcs-error_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/wcs-field-content.cjs.entry.js +1 -1
  49. package/dist/cjs/wcs-field-label.cjs.entry.js +1 -1
  50. package/dist/cjs/wcs-field.cjs.entry.js +1 -1
  51. package/dist/cjs/wcs-footer.cjs.entry.js +1 -1
  52. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +2 -2
  53. package/dist/cjs/wcs-galactic.cjs.entry.js +1 -1
  54. package/dist/cjs/wcs-grid-column.cjs.entry.js +25 -4
  55. package/dist/cjs/wcs-grid-column.cjs.entry.js.map +1 -1
  56. package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +1 -1
  57. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +2 -2
  58. package/dist/cjs/wcs-grid.cjs.entry.js +320 -65
  59. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  60. package/dist/cjs/wcs-header.cjs.entry.js +1 -1
  61. package/dist/cjs/wcs-hint.cjs.entry.js +1 -1
  62. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +1 -1
  63. package/dist/cjs/wcs-icon.cjs.entry.js +1 -1
  64. package/dist/cjs/wcs-input.cjs.entry.js +15 -15
  65. package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
  66. package/dist/cjs/wcs-label.cjs.entry.js +1 -1
  67. package/dist/cjs/wcs-label.cjs.entry.js.map +1 -1
  68. package/dist/cjs/wcs-list-item-properties.cjs.entry.js +1 -1
  69. package/dist/cjs/wcs-list-item-property.cjs.entry.js +1 -1
  70. package/dist/cjs/wcs-list-item.cjs.entry.js +1 -1
  71. package/dist/cjs/wcs-mat-icon.cjs.entry.js +2 -2
  72. package/dist/cjs/wcs-mat-icon.cjs.entry.js.map +1 -1
  73. package/dist/cjs/wcs-modal.cjs.entry.js +35 -5
  74. package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
  75. package/dist/cjs/wcs-native-select.cjs.entry.js +6 -3
  76. package/dist/cjs/wcs-native-select.cjs.entry.js.map +1 -1
  77. package/dist/cjs/wcs-nav-item.cjs.entry.js +2 -2
  78. package/dist/cjs/wcs-nav.cjs.entry.js +1 -1
  79. package/dist/cjs/wcs-progress-bar.cjs.entry.js +4 -6
  80. package/dist/cjs/wcs-progress-bar.cjs.entry.js.map +1 -1
  81. package/dist/cjs/wcs-progress-radial.cjs.entry.js +14 -6
  82. package/dist/cjs/wcs-progress-radial.cjs.entry.js.map +1 -1
  83. package/dist/cjs/wcs-radio-group.cjs.entry.js +22 -15
  84. package/dist/cjs/wcs-radio-group.cjs.entry.js.map +1 -1
  85. package/dist/cjs/wcs-radio.cjs.entry.js +14 -7
  86. package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
  87. package/dist/cjs/wcs-select_2.cjs.entry.js +603 -111
  88. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  89. package/dist/cjs/wcs-skeleton-circle.cjs.entry.js +1 -1
  90. package/dist/cjs/wcs-skeleton-rectangle.cjs.entry.js +1 -1
  91. package/dist/cjs/wcs-skeleton-text.cjs.entry.js +1 -1
  92. package/dist/cjs/wcs-switch.cjs.entry.js +5 -2
  93. package/dist/cjs/wcs-switch.cjs.entry.js.map +1 -1
  94. package/dist/cjs/wcs-tab.cjs.entry.js +4 -1
  95. package/dist/cjs/wcs-tab.cjs.entry.js.map +1 -1
  96. package/dist/cjs/wcs-tabs.cjs.entry.js +4 -4
  97. package/dist/cjs/wcs-tabs.cjs.entry.js.map +1 -1
  98. package/dist/cjs/wcs-textarea.cjs.entry.js +13 -11
  99. package/dist/cjs/wcs-textarea.cjs.entry.js.map +1 -1
  100. package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
  101. package/dist/cjs/wcs.cjs.js +2 -2
  102. package/dist/collection/components/badge/badge-interface.js.map +1 -1
  103. package/dist/collection/components/badge/badge.css +19 -1
  104. package/dist/collection/components/badge/badge.js +24 -0
  105. package/dist/collection/components/badge/badge.js.map +1 -1
  106. package/dist/collection/components/button/button.css +1 -1
  107. package/dist/collection/components/checkbox/checkbox.js +34 -1
  108. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  109. package/dist/collection/components/counter/counter.css +6 -1
  110. package/dist/collection/components/counter/counter.js +61 -3
  111. package/dist/collection/components/counter/counter.js.map +1 -1
  112. package/dist/collection/components/dropdown/dropdown.css +15 -4
  113. package/dist/collection/components/dropdown/dropdown.js +37 -1
  114. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  115. package/dist/collection/components/dropdown-divider/dropdown-divider.js +3 -0
  116. package/dist/collection/components/dropdown-divider/dropdown-divider.js.map +1 -1
  117. package/dist/collection/components/dropdown-header/dropdown-header.js +4 -0
  118. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  119. package/dist/collection/components/dropdown-item/dropdown-item.js +5 -1
  120. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  121. package/dist/collection/components/editable-field/editable-field.js +17 -2
  122. package/dist/collection/components/editable-field/editable-field.js.map +1 -1
  123. package/dist/collection/components/error/error.js +1 -1
  124. package/dist/collection/components/error/error.js.map +1 -1
  125. package/dist/collection/components/form-field/form-field.js +31 -0
  126. package/dist/collection/components/form-field/form-field.js.map +1 -1
  127. package/dist/collection/components/grid/grid-interface.js.map +1 -1
  128. package/dist/collection/components/grid/grid-keyboard-event.js +52 -0
  129. package/dist/collection/components/grid/grid-keyboard-event.js.map +1 -0
  130. package/dist/collection/components/grid/grid.css +5 -0
  131. package/dist/collection/components/grid/grid.js +265 -29
  132. package/dist/collection/components/grid/grid.js.map +1 -1
  133. package/dist/collection/components/grid-column/grid-column.css +5 -0
  134. package/dist/collection/components/grid-column/grid-column.js +60 -1
  135. package/dist/collection/components/grid-column/grid-column.js.map +1 -1
  136. package/dist/collection/components/grid-column/grid-sort-arrow.js +1 -1
  137. package/dist/collection/components/grid-column/grid-sort-arrow.js.map +1 -1
  138. package/dist/collection/components/grid-pagination/grid-pagination-arrow.js +32 -23
  139. package/dist/collection/components/grid-pagination/grid-pagination-arrow.js.map +1 -1
  140. package/dist/collection/components/grid-pagination/grid-pagination.css +17 -0
  141. package/dist/collection/components/grid-pagination/grid-pagination.js +1 -1
  142. package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
  143. package/dist/collection/components/input/input.js +64 -28
  144. package/dist/collection/components/input/input.js.map +1 -1
  145. package/dist/collection/components/label/label.js.map +1 -1
  146. package/dist/collection/components/mat-icon/mat-icon.js +1 -1
  147. package/dist/collection/components/mat-icon/mat-icon.js.map +1 -1
  148. package/dist/collection/components/modal/modal.css +2 -2
  149. package/dist/collection/components/modal/modal.js +73 -2
  150. package/dist/collection/components/modal/modal.js.map +1 -1
  151. package/dist/collection/components/native-select/native-select.css +6 -5
  152. package/dist/collection/components/native-select/native-select.js +29 -0
  153. package/dist/collection/components/native-select/native-select.js.map +1 -1
  154. package/dist/collection/components/progress-bar/progress-bar.css +12 -11
  155. package/dist/collection/components/progress-bar/progress-bar.js +22 -13
  156. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  157. package/dist/collection/components/progress-radial/progress-radial.css +5 -0
  158. package/dist/collection/components/progress-radial/progress-radial.js +18 -7
  159. package/dist/collection/components/progress-radial/progress-radial.js.map +1 -1
  160. package/dist/collection/components/radio/radio.css +8 -16
  161. package/dist/collection/components/radio/radio.js +12 -5
  162. package/dist/collection/components/radio/radio.js.map +1 -1
  163. package/dist/collection/components/radio-group/radio-group.js +50 -13
  164. package/dist/collection/components/radio-group/radio-group.js.map +1 -1
  165. package/dist/collection/components/select/select-interface.js +10 -0
  166. package/dist/collection/components/select/select-interface.js.map +1 -1
  167. package/dist/collection/components/select/select-keyboard-event.js +306 -0
  168. package/dist/collection/components/select/select-keyboard-event.js.map +1 -0
  169. package/dist/collection/components/select/select.css +59 -6
  170. package/dist/collection/components/select/select.js +435 -111
  171. package/dist/collection/components/select/select.js.map +1 -1
  172. package/dist/collection/components/select-option/select-option.css +15 -0
  173. package/dist/collection/components/select-option/select-option.js +30 -5
  174. package/dist/collection/components/select-option/select-option.js.map +1 -1
  175. package/dist/collection/components/switch/switch.js +34 -1
  176. package/dist/collection/components/switch/switch.js.map +1 -1
  177. package/dist/collection/components/tab/tab.css +7 -0
  178. package/dist/collection/components/tab/tab.js +11 -1
  179. package/dist/collection/components/tab/tab.js.map +1 -1
  180. package/dist/collection/components/tabs/tabs.js +7 -3
  181. package/dist/collection/components/tabs/tabs.js.map +1 -1
  182. package/dist/collection/components/textarea/textarea.css +8 -3
  183. package/dist/collection/components/textarea/textarea.js +41 -12
  184. package/dist/collection/components/textarea/textarea.js.map +1 -1
  185. package/dist/collection/utils/accessibility.js +7 -1
  186. package/dist/collection/utils/accessibility.js.map +1 -1
  187. package/dist/collection/utils/helpers.js +76 -1
  188. package/dist/collection/utils/helpers.js.map +1 -1
  189. package/dist/collection/utils/keyboard-event.js +74 -0
  190. package/dist/collection/utils/keyboard-event.js.map +1 -0
  191. package/dist/collection/utils/mutable-aria-attribute.js +4 -0
  192. package/dist/collection/utils/mutable-aria-attribute.js.map +1 -0
  193. package/dist/esm/{accessibility-ffa12842.js → accessibility-64feea8a.js} +8 -2
  194. package/dist/esm/accessibility-64feea8a.js.map +1 -0
  195. package/dist/esm/button-interface-c21c265f.js +9 -0
  196. package/dist/esm/button-interface-c21c265f.js.map +1 -0
  197. package/dist/esm/grid-pagination-f7b01e2e.js +109 -0
  198. package/dist/esm/grid-pagination-f7b01e2e.js.map +1 -0
  199. package/dist/esm/{helpers-1d55b67f.js → helpers-a21ae7d0.js} +75 -3
  200. package/dist/esm/helpers-a21ae7d0.js.map +1 -0
  201. package/dist/esm/{index-dc4d96d4.js → index-4f282598.js} +4 -1
  202. package/dist/esm/index-4f282598.js.map +1 -0
  203. package/dist/esm/{isEqual-20881bca.js → keyboard-event-ba3d20e7.js} +77 -2
  204. package/dist/esm/keyboard-event-ba3d20e7.js.map +1 -0
  205. package/dist/esm/loader.js +3 -3
  206. package/dist/esm/{select-arrow-81d069f7.js → select-arrow-28e8687b.js} +2 -2
  207. package/dist/esm/{select-arrow-81d069f7.js.map → select-arrow-28e8687b.js.map} +1 -1
  208. package/dist/esm/wcs-accordion-content.entry.js +1 -1
  209. package/dist/esm/wcs-accordion-header.entry.js +1 -1
  210. package/dist/esm/wcs-accordion-panel.entry.js +2 -2
  211. package/dist/esm/wcs-accordion.entry.js +1 -1
  212. package/dist/esm/wcs-action-bar.entry.js +1 -1
  213. package/dist/esm/wcs-app.entry.js +1 -1
  214. package/dist/esm/wcs-badge.entry.js +3 -2
  215. package/dist/esm/wcs-badge.entry.js.map +1 -1
  216. package/dist/esm/{wcs-button.entry.js → wcs-button_2.entry.js} +19 -11
  217. package/dist/esm/wcs-button_2.entry.js.map +1 -0
  218. package/dist/esm/wcs-card-body.entry.js +1 -1
  219. package/dist/esm/wcs-card.entry.js +1 -1
  220. package/dist/esm/wcs-checkbox.entry.js +5 -2
  221. package/dist/esm/wcs-checkbox.entry.js.map +1 -1
  222. package/dist/esm/wcs-com-nav-category.entry.js +2 -2
  223. package/dist/esm/wcs-com-nav-submenu.entry.js +2 -2
  224. package/dist/esm/wcs-com-nav.entry.js +2 -2
  225. package/dist/esm/wcs-counter.entry.js +16 -6
  226. package/dist/esm/wcs-counter.entry.js.map +1 -1
  227. package/dist/esm/wcs-divider.entry.js +1 -1
  228. package/dist/esm/wcs-dropdown-divider.entry.js +1 -1
  229. package/dist/esm/wcs-dropdown-divider.entry.js.map +1 -1
  230. package/dist/esm/wcs-dropdown-header.entry.js +1 -1
  231. package/dist/esm/wcs-dropdown-header.entry.js.map +1 -1
  232. package/dist/esm/wcs-dropdown-item.entry.js +2 -2
  233. package/dist/esm/wcs-dropdown-item.entry.js.map +1 -1
  234. package/dist/esm/wcs-dropdown.entry.js +12 -6
  235. package/dist/esm/wcs-dropdown.entry.js.map +1 -1
  236. package/dist/esm/wcs-editable-field.entry.js +18 -3
  237. package/dist/esm/wcs-editable-field.entry.js.map +1 -1
  238. package/dist/esm/wcs-error_2.entry.js +36 -2
  239. package/dist/esm/wcs-error_2.entry.js.map +1 -1
  240. package/dist/esm/wcs-field-content.entry.js +1 -1
  241. package/dist/esm/wcs-field-label.entry.js +1 -1
  242. package/dist/esm/wcs-field.entry.js +1 -1
  243. package/dist/esm/wcs-footer.entry.js +1 -1
  244. package/dist/esm/wcs-galactic-menu.entry.js +2 -2
  245. package/dist/esm/wcs-galactic.entry.js +1 -1
  246. package/dist/esm/wcs-grid-column.entry.js +25 -4
  247. package/dist/esm/wcs-grid-column.entry.js.map +1 -1
  248. package/dist/esm/wcs-grid-custom-cell.entry.js +1 -1
  249. package/dist/esm/wcs-grid-pagination.entry.js +2 -2
  250. package/dist/esm/wcs-grid.entry.js +282 -27
  251. package/dist/esm/wcs-grid.entry.js.map +1 -1
  252. package/dist/esm/wcs-header.entry.js +1 -1
  253. package/dist/esm/wcs-hint.entry.js +1 -1
  254. package/dist/esm/wcs-horizontal-stepper.entry.js +1 -1
  255. package/dist/esm/wcs-icon.entry.js +1 -1
  256. package/dist/esm/wcs-input.entry.js +15 -15
  257. package/dist/esm/wcs-input.entry.js.map +1 -1
  258. package/dist/esm/wcs-label.entry.js +1 -1
  259. package/dist/esm/wcs-label.entry.js.map +1 -1
  260. package/dist/esm/wcs-list-item-properties.entry.js +1 -1
  261. package/dist/esm/wcs-list-item-property.entry.js +1 -1
  262. package/dist/esm/wcs-list-item.entry.js +1 -1
  263. package/dist/esm/wcs-mat-icon.entry.js +2 -2
  264. package/dist/esm/wcs-mat-icon.entry.js.map +1 -1
  265. package/dist/esm/wcs-modal.entry.js +35 -5
  266. package/dist/esm/wcs-modal.entry.js.map +1 -1
  267. package/dist/esm/wcs-native-select.entry.js +6 -3
  268. package/dist/esm/wcs-native-select.entry.js.map +1 -1
  269. package/dist/esm/wcs-nav-item.entry.js +2 -2
  270. package/dist/esm/wcs-nav.entry.js +1 -1
  271. package/dist/esm/wcs-progress-bar.entry.js +4 -6
  272. package/dist/esm/wcs-progress-bar.entry.js.map +1 -1
  273. package/dist/esm/wcs-progress-radial.entry.js +14 -6
  274. package/dist/esm/wcs-progress-radial.entry.js.map +1 -1
  275. package/dist/esm/wcs-radio-group.entry.js +22 -15
  276. package/dist/esm/wcs-radio-group.entry.js.map +1 -1
  277. package/dist/esm/wcs-radio.entry.js +14 -7
  278. package/dist/esm/wcs-radio.entry.js.map +1 -1
  279. package/dist/esm/wcs-select_2.entry.js +602 -110
  280. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  281. package/dist/esm/wcs-skeleton-circle.entry.js +1 -1
  282. package/dist/esm/wcs-skeleton-rectangle.entry.js +1 -1
  283. package/dist/esm/wcs-skeleton-text.entry.js +1 -1
  284. package/dist/esm/wcs-switch.entry.js +5 -2
  285. package/dist/esm/wcs-switch.entry.js.map +1 -1
  286. package/dist/esm/wcs-tab.entry.js +4 -1
  287. package/dist/esm/wcs-tab.entry.js.map +1 -1
  288. package/dist/esm/wcs-tabs.entry.js +4 -4
  289. package/dist/esm/wcs-tabs.entry.js.map +1 -1
  290. package/dist/esm/wcs-textarea.entry.js +13 -11
  291. package/dist/esm/wcs-textarea.entry.js.map +1 -1
  292. package/dist/esm/wcs-tooltip.entry.js +1 -1
  293. package/dist/esm/wcs.js +3 -3
  294. package/dist/types/components/badge/badge-interface.d.ts +2 -0
  295. package/dist/types/components/badge/badge.d.ts +5 -1
  296. package/dist/types/components/checkbox/checkbox.d.ts +4 -1
  297. package/dist/types/components/counter/counter.d.ts +8 -1
  298. package/dist/types/components/dropdown/dropdown.d.ts +10 -1
  299. package/dist/types/components/dropdown-divider/dropdown-divider.d.ts +3 -0
  300. package/dist/types/components/dropdown-header/dropdown-header.d.ts +4 -0
  301. package/dist/types/components/dropdown-item/dropdown-item.d.ts +7 -0
  302. package/dist/types/components/editable-field/editable-field.d.ts +7 -0
  303. package/dist/types/components/form-field/form-field.d.ts +4 -0
  304. package/dist/types/components/grid/grid-interface.d.ts +14 -2
  305. package/dist/types/components/grid/grid-keyboard-event.d.ts +16 -0
  306. package/dist/types/components/grid/grid.d.ts +59 -4
  307. package/dist/types/components/grid-column/grid-column.d.ts +17 -0
  308. package/dist/types/components/input/input.d.ts +40 -17
  309. package/dist/types/components/modal/modal.d.ts +37 -1
  310. package/dist/types/components/native-select/native-select.d.ts +3 -1
  311. package/dist/types/components/progress-bar/progress-bar.d.ts +8 -3
  312. package/dist/types/components/progress-radial/progress-radial.d.ts +12 -0
  313. package/dist/types/components/radio/radio.d.ts +3 -0
  314. package/dist/types/components/radio-group/radio-group.d.ts +3 -1
  315. package/dist/types/components/select/select-interface.d.ts +12 -0
  316. package/dist/types/components/select/select-keyboard-event.d.ts +38 -0
  317. package/dist/types/components/select/select.d.ts +76 -15
  318. package/dist/types/components/select-option/select-option.d.ts +10 -4
  319. package/dist/types/components/switch/switch.d.ts +4 -1
  320. package/dist/types/components/tab/tab.d.ts +3 -0
  321. package/dist/types/components/tabs/tabs.d.ts +4 -0
  322. package/dist/types/components/textarea/textarea.d.ts +8 -4
  323. package/dist/types/components.d.ts +357 -55
  324. package/dist/types/utils/accessibility.d.ts +4 -0
  325. package/dist/types/utils/helpers.d.ts +12 -1
  326. package/dist/types/utils/keyboard-event.d.ts +13 -0
  327. package/dist/types/utils/mutable-aria-attribute.d.ts +5 -0
  328. package/dist/wcs/{p-7a3f70da.entry.js → p-00f6a79a.entry.js} +2 -2
  329. package/dist/wcs/{p-ee453b6e.entry.js → p-016e4dd9.entry.js} +2 -2
  330. package/dist/wcs/p-0ae177cf.js +2 -0
  331. package/dist/wcs/p-0ae177cf.js.map +1 -0
  332. package/dist/wcs/{p-f06f48f3.entry.js → p-0d02d9e4.entry.js} +2 -2
  333. package/dist/wcs/p-0d02d9e4.entry.js.map +1 -0
  334. package/dist/wcs/{p-30d8f9c3.entry.js → p-11ab4ffc.entry.js} +2 -2
  335. package/dist/wcs/p-13548191.entry.js +2 -0
  336. package/dist/wcs/p-13548191.entry.js.map +1 -0
  337. package/dist/wcs/p-13ffe5f3.entry.js +2 -0
  338. package/dist/wcs/p-13ffe5f3.entry.js.map +1 -0
  339. package/dist/wcs/{p-dfddec76.entry.js → p-17442a2f.entry.js} +2 -2
  340. package/dist/wcs/p-1d49a02e.entry.js +2 -0
  341. package/dist/wcs/p-1d49a02e.entry.js.map +1 -0
  342. package/dist/wcs/{p-d6c3e615.js → p-24611014.js} +2 -2
  343. package/dist/wcs/p-250b3794.entry.js +2 -0
  344. package/dist/wcs/{p-91b3e4b5.entry.js.map → p-250b3794.entry.js.map} +1 -1
  345. package/dist/wcs/{p-292ca644.entry.js → p-2d62b3dd.entry.js} +2 -2
  346. package/dist/wcs/{p-d6b3f742.entry.js → p-33a5594d.entry.js} +2 -2
  347. package/dist/wcs/p-33a570ee.js +2 -0
  348. package/dist/wcs/p-33a570ee.js.map +1 -0
  349. package/dist/wcs/{p-e86c6cbb.entry.js → p-34079054.entry.js} +2 -2
  350. package/dist/wcs/{p-e86c6cbb.entry.js.map → p-34079054.entry.js.map} +1 -1
  351. package/dist/wcs/{p-257b15b9.entry.js → p-36e83879.entry.js} +2 -2
  352. package/dist/wcs/p-44410e32.entry.js +2 -0
  353. package/dist/wcs/p-44410e32.entry.js.map +1 -0
  354. package/dist/wcs/{p-7269272f.entry.js → p-46184d47.entry.js} +2 -2
  355. package/dist/wcs/p-46975b1e.entry.js +2 -0
  356. package/dist/wcs/p-46975b1e.entry.js.map +1 -0
  357. package/dist/wcs/{p-4a9f8e94.entry.js → p-46d56c4e.entry.js} +3 -3
  358. package/dist/wcs/{p-fc3f5b53.entry.js → p-4820154c.entry.js} +2 -2
  359. package/dist/wcs/p-49b0de03.entry.js +2 -0
  360. package/dist/wcs/p-49b0de03.entry.js.map +1 -0
  361. package/dist/wcs/{p-ff9967eb.entry.js → p-4af68f13.entry.js} +2 -2
  362. package/dist/wcs/{p-1f8c73eb.entry.js → p-5f0ab1dc.entry.js} +2 -2
  363. package/dist/wcs/p-5f0ab1dc.entry.js.map +1 -0
  364. package/dist/wcs/p-5f3e6b0c.entry.js +2 -0
  365. package/dist/wcs/p-5f3e6b0c.entry.js.map +1 -0
  366. package/dist/wcs/{p-50dce764.entry.js → p-61b934a7.entry.js} +2 -2
  367. package/dist/wcs/p-64855188.js +2 -0
  368. package/dist/wcs/p-64855188.js.map +1 -0
  369. package/dist/wcs/p-680b107c.entry.js +2 -0
  370. package/dist/wcs/p-68d654da.js +2 -0
  371. package/dist/wcs/p-68d654da.js.map +1 -0
  372. package/dist/wcs/p-69d1223c.js +3 -0
  373. package/dist/wcs/p-69d1223c.js.map +1 -0
  374. package/dist/wcs/p-6f538b67.entry.js +2 -0
  375. package/dist/wcs/p-6f538b67.entry.js.map +1 -0
  376. package/dist/wcs/p-7c145ed0.entry.js +2 -0
  377. package/dist/wcs/p-7c145ed0.entry.js.map +1 -0
  378. package/dist/wcs/p-8724a296.entry.js +2 -0
  379. package/dist/wcs/p-8724a296.entry.js.map +1 -0
  380. package/dist/wcs/{p-d084dd61.entry.js → p-88b1cdfe.entry.js} +2 -2
  381. package/dist/wcs/{p-c7494651.entry.js → p-8ff7e463.entry.js} +2 -2
  382. package/dist/wcs/p-90a7fd68.entry.js +2 -0
  383. package/dist/wcs/p-90a7fd68.entry.js.map +1 -0
  384. package/dist/wcs/{p-cfcacc44.entry.js → p-914aa964.entry.js} +2 -2
  385. package/dist/wcs/p-93fcef08.entry.js +2 -0
  386. package/dist/wcs/p-93fcef08.entry.js.map +1 -0
  387. package/dist/wcs/{p-429bd9fb.entry.js → p-9b1c73b3.entry.js} +2 -2
  388. package/dist/wcs/p-9cc48d75.js +2 -0
  389. package/dist/wcs/p-9cc48d75.js.map +1 -0
  390. package/dist/wcs/p-a3518f66.entry.js +2 -0
  391. package/dist/wcs/p-a361d9f1.entry.js +2 -0
  392. package/dist/wcs/{p-31a8d23f.entry.js → p-a85208ca.entry.js} +2 -2
  393. package/dist/wcs/{p-d3f1cafe.entry.js → p-b91323fc.entry.js} +2 -2
  394. package/dist/wcs/{p-47d8ece5.entry.js → p-bd4029f8.entry.js} +2 -2
  395. package/dist/wcs/{p-e348058b.entry.js → p-bed4e3ce.entry.js} +2 -2
  396. package/dist/wcs/{p-f489793d.entry.js → p-c261353f.entry.js} +2 -2
  397. package/dist/wcs/p-c261353f.entry.js.map +1 -0
  398. package/dist/wcs/p-c3227f01.entry.js +2 -0
  399. package/dist/wcs/p-c3227f01.entry.js.map +1 -0
  400. package/dist/wcs/{p-810aff71.entry.js → p-c38adf4b.entry.js} +2 -2
  401. package/dist/wcs/{p-2185bf8b.entry.js → p-c6a8c6f9.entry.js} +2 -2
  402. package/dist/wcs/p-c9478849.entry.js +2 -0
  403. package/dist/wcs/p-c9478849.entry.js.map +1 -0
  404. package/dist/wcs/p-ce3ef5d0.entry.js +2 -0
  405. package/dist/wcs/p-ce3ef5d0.entry.js.map +1 -0
  406. package/dist/wcs/{p-54e29233.entry.js → p-ce40b012.entry.js} +2 -2
  407. package/dist/wcs/{p-54e29233.entry.js.map → p-ce40b012.entry.js.map} +1 -1
  408. package/dist/wcs/p-d6c482fc.entry.js +2 -0
  409. package/dist/wcs/p-d6c482fc.entry.js.map +1 -0
  410. package/dist/wcs/{p-1e43122f.entry.js → p-d84cee70.entry.js} +2 -2
  411. package/dist/wcs/p-d895b92c.entry.js +16 -0
  412. package/dist/wcs/p-d895b92c.entry.js.map +1 -0
  413. package/dist/wcs/p-dca2f42c.entry.js +2 -0
  414. package/dist/wcs/{p-7519a270.entry.js → p-e0d5908a.entry.js} +2 -2
  415. package/dist/wcs/{p-a5cd4c07.entry.js → p-e487ff2c.entry.js} +2 -2
  416. package/dist/wcs/p-e487ff2c.entry.js.map +1 -0
  417. package/dist/wcs/{p-3b1fc676.entry.js → p-e52c11e4.entry.js} +2 -2
  418. package/dist/wcs/{p-0ede0c37.entry.js → p-e7661047.entry.js} +2 -2
  419. package/dist/wcs/p-ea6e33ee.entry.js +2 -0
  420. package/dist/wcs/{p-cc03627c.entry.js → p-f7ce4e0d.entry.js} +2 -2
  421. package/dist/wcs/{p-b6160b7c.entry.js → p-faf04401.entry.js} +2 -2
  422. package/dist/wcs/p-fc1767ae.entry.js +2 -0
  423. package/dist/wcs/p-fc1767ae.entry.js.map +1 -0
  424. package/dist/wcs/p-feebc469.entry.js +2 -0
  425. package/dist/wcs/p-feebc469.entry.js.map +1 -0
  426. package/dist/wcs/wcs.css +1 -1
  427. package/dist/wcs/wcs.esm.js +1 -1
  428. package/dist/wcs/wcs.esm.js.map +1 -1
  429. package/package.json +1 -1
  430. package/dist/cjs/accessibility-e99b032d.js.map +0 -1
  431. package/dist/cjs/grid-pagination-4b55c908.js +0 -101
  432. package/dist/cjs/grid-pagination-4b55c908.js.map +0 -1
  433. package/dist/cjs/helpers-4a14051a.js.map +0 -1
  434. package/dist/cjs/index-ca67a6dc.js.map +0 -1
  435. package/dist/cjs/isEqual-9ea7ee49.js.map +0 -1
  436. package/dist/cjs/wcs-button.cjs.entry.js.map +0 -1
  437. package/dist/cjs/wcs-spinner.cjs.entry.js +0 -22
  438. package/dist/cjs/wcs-spinner.cjs.entry.js.map +0 -1
  439. package/dist/esm/accessibility-ffa12842.js.map +0 -1
  440. package/dist/esm/grid-pagination-41354861.js +0 -99
  441. package/dist/esm/grid-pagination-41354861.js.map +0 -1
  442. package/dist/esm/helpers-1d55b67f.js.map +0 -1
  443. package/dist/esm/index-dc4d96d4.js.map +0 -1
  444. package/dist/esm/isEqual-20881bca.js.map +0 -1
  445. package/dist/esm/wcs-button.entry.js.map +0 -1
  446. package/dist/esm/wcs-spinner.entry.js +0 -18
  447. package/dist/esm/wcs-spinner.entry.js.map +0 -1
  448. package/dist/wcs/p-02b95dbf.entry.js +0 -2
  449. package/dist/wcs/p-02b95dbf.entry.js.map +0 -1
  450. package/dist/wcs/p-0f8db386.js +0 -2
  451. package/dist/wcs/p-0f8db386.js.map +0 -1
  452. package/dist/wcs/p-17630eea.entry.js +0 -2
  453. package/dist/wcs/p-1f8c73eb.entry.js.map +0 -1
  454. package/dist/wcs/p-269d244c.entry.js +0 -2
  455. package/dist/wcs/p-269d244c.entry.js.map +0 -1
  456. package/dist/wcs/p-2f63d6c5.entry.js +0 -2
  457. package/dist/wcs/p-2f63d6c5.entry.js.map +0 -1
  458. package/dist/wcs/p-39821dd2.entry.js +0 -2
  459. package/dist/wcs/p-39821dd2.entry.js.map +0 -1
  460. package/dist/wcs/p-3dc6b507.js +0 -2
  461. package/dist/wcs/p-3dc6b507.js.map +0 -1
  462. package/dist/wcs/p-463667c9.entry.js +0 -2
  463. package/dist/wcs/p-475ac7c5.js +0 -2
  464. package/dist/wcs/p-475ac7c5.js.map +0 -1
  465. package/dist/wcs/p-4ffe4539.entry.js +0 -2
  466. package/dist/wcs/p-4ffe4539.entry.js.map +0 -1
  467. package/dist/wcs/p-57560d7d.entry.js +0 -2
  468. package/dist/wcs/p-57560d7d.entry.js.map +0 -1
  469. package/dist/wcs/p-61cab06f.entry.js +0 -2
  470. package/dist/wcs/p-61cab06f.entry.js.map +0 -1
  471. package/dist/wcs/p-627bbb6a.entry.js +0 -2
  472. package/dist/wcs/p-627bbb6a.entry.js.map +0 -1
  473. package/dist/wcs/p-6de70331.entry.js +0 -2
  474. package/dist/wcs/p-6de70331.entry.js.map +0 -1
  475. package/dist/wcs/p-747a5962.entry.js +0 -2
  476. package/dist/wcs/p-8181f8cd.js +0 -2
  477. package/dist/wcs/p-8181f8cd.js.map +0 -1
  478. package/dist/wcs/p-8c4ed883.entry.js +0 -2
  479. package/dist/wcs/p-8c4ed883.entry.js.map +0 -1
  480. package/dist/wcs/p-8d57835f.entry.js +0 -2
  481. package/dist/wcs/p-8fed8b1c.entry.js +0 -2
  482. package/dist/wcs/p-8fed8b1c.entry.js.map +0 -1
  483. package/dist/wcs/p-91b3e4b5.entry.js +0 -2
  484. package/dist/wcs/p-9910fedd.entry.js +0 -2
  485. package/dist/wcs/p-9910fedd.entry.js.map +0 -1
  486. package/dist/wcs/p-9d798de4.entry.js +0 -2
  487. package/dist/wcs/p-9d798de4.entry.js.map +0 -1
  488. package/dist/wcs/p-9ecdeaf9.entry.js +0 -2
  489. package/dist/wcs/p-9ecdeaf9.entry.js.map +0 -1
  490. package/dist/wcs/p-a2df3a49.js +0 -3
  491. package/dist/wcs/p-a2df3a49.js.map +0 -1
  492. package/dist/wcs/p-a5cd4c07.entry.js.map +0 -1
  493. package/dist/wcs/p-ac106663.entry.js +0 -2
  494. package/dist/wcs/p-ac106663.entry.js.map +0 -1
  495. package/dist/wcs/p-cb90bc3a.entry.js +0 -2
  496. package/dist/wcs/p-cb90bc3a.entry.js.map +0 -1
  497. package/dist/wcs/p-cdd172b4.entry.js +0 -2
  498. package/dist/wcs/p-d5a0e271.entry.js +0 -2
  499. package/dist/wcs/p-d5a0e271.entry.js.map +0 -1
  500. package/dist/wcs/p-ec84d6fd.entry.js +0 -16
  501. package/dist/wcs/p-ec84d6fd.entry.js.map +0 -1
  502. package/dist/wcs/p-ed3132be.entry.js +0 -2
  503. package/dist/wcs/p-ed3132be.entry.js.map +0 -1
  504. package/dist/wcs/p-f06f48f3.entry.js.map +0 -1
  505. package/dist/wcs/p-f20b9024.entry.js +0 -2
  506. package/dist/wcs/p-f20b9024.entry.js.map +0 -1
  507. package/dist/wcs/p-f489793d.entry.js.map +0 -1
  508. /package/dist/wcs/{p-7a3f70da.entry.js.map → p-00f6a79a.entry.js.map} +0 -0
  509. /package/dist/wcs/{p-ee453b6e.entry.js.map → p-016e4dd9.entry.js.map} +0 -0
  510. /package/dist/wcs/{p-30d8f9c3.entry.js.map → p-11ab4ffc.entry.js.map} +0 -0
  511. /package/dist/wcs/{p-dfddec76.entry.js.map → p-17442a2f.entry.js.map} +0 -0
  512. /package/dist/wcs/{p-d6c3e615.js.map → p-24611014.js.map} +0 -0
  513. /package/dist/wcs/{p-292ca644.entry.js.map → p-2d62b3dd.entry.js.map} +0 -0
  514. /package/dist/wcs/{p-d6b3f742.entry.js.map → p-33a5594d.entry.js.map} +0 -0
  515. /package/dist/wcs/{p-257b15b9.entry.js.map → p-36e83879.entry.js.map} +0 -0
  516. /package/dist/wcs/{p-7269272f.entry.js.map → p-46184d47.entry.js.map} +0 -0
  517. /package/dist/wcs/{p-4a9f8e94.entry.js.map → p-46d56c4e.entry.js.map} +0 -0
  518. /package/dist/wcs/{p-fc3f5b53.entry.js.map → p-4820154c.entry.js.map} +0 -0
  519. /package/dist/wcs/{p-ff9967eb.entry.js.map → p-4af68f13.entry.js.map} +0 -0
  520. /package/dist/wcs/{p-50dce764.entry.js.map → p-61b934a7.entry.js.map} +0 -0
  521. /package/dist/wcs/{p-17630eea.entry.js.map → p-680b107c.entry.js.map} +0 -0
  522. /package/dist/wcs/{p-d084dd61.entry.js.map → p-88b1cdfe.entry.js.map} +0 -0
  523. /package/dist/wcs/{p-c7494651.entry.js.map → p-8ff7e463.entry.js.map} +0 -0
  524. /package/dist/wcs/{p-cfcacc44.entry.js.map → p-914aa964.entry.js.map} +0 -0
  525. /package/dist/wcs/{p-429bd9fb.entry.js.map → p-9b1c73b3.entry.js.map} +0 -0
  526. /package/dist/wcs/{p-8d57835f.entry.js.map → p-a3518f66.entry.js.map} +0 -0
  527. /package/dist/wcs/{p-463667c9.entry.js.map → p-a361d9f1.entry.js.map} +0 -0
  528. /package/dist/wcs/{p-31a8d23f.entry.js.map → p-a85208ca.entry.js.map} +0 -0
  529. /package/dist/wcs/{p-d3f1cafe.entry.js.map → p-b91323fc.entry.js.map} +0 -0
  530. /package/dist/wcs/{p-47d8ece5.entry.js.map → p-bd4029f8.entry.js.map} +0 -0
  531. /package/dist/wcs/{p-e348058b.entry.js.map → p-bed4e3ce.entry.js.map} +0 -0
  532. /package/dist/wcs/{p-810aff71.entry.js.map → p-c38adf4b.entry.js.map} +0 -0
  533. /package/dist/wcs/{p-2185bf8b.entry.js.map → p-c6a8c6f9.entry.js.map} +0 -0
  534. /package/dist/wcs/{p-1e43122f.entry.js.map → p-d84cee70.entry.js.map} +0 -0
  535. /package/dist/wcs/{p-747a5962.entry.js.map → p-dca2f42c.entry.js.map} +0 -0
  536. /package/dist/wcs/{p-7519a270.entry.js.map → p-e0d5908a.entry.js.map} +0 -0
  537. /package/dist/wcs/{p-3b1fc676.entry.js.map → p-e52c11e4.entry.js.map} +0 -0
  538. /package/dist/wcs/{p-0ede0c37.entry.js.map → p-e7661047.entry.js.map} +0 -0
  539. /package/dist/wcs/{p-cdd172b4.entry.js.map → p-ea6e33ee.entry.js.map} +0 -0
  540. /package/dist/wcs/{p-cc03627c.entry.js.map → p-f7ce4e0d.entry.js.map} +0 -0
  541. /package/dist/wcs/{p-b6160b7c.entry.js.map → p-faf04401.entry.js.map} +0 -0
@@ -1,14 +1,9 @@
1
- import { r as registerInstance, h, g as getElement } from './index-dc4d96d4.js';
2
- import { w as hasShadowDom } from './helpers-1d55b67f.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-4f282598.js';
2
+ import { i as isWcsButtonSize, W as WcsButtonSizeValues } from './button-interface-c21c265f.js';
3
+ import { x as hasShadowDom } from './helpers-a21ae7d0.js';
3
4
  import { M as MDCRipple } from './component-5ce0752a.js';
4
5
 
5
- const WcsButtonSizeValues = ['s', 'm', 'l']; // as const keyword is used to infer and preserve the exact literal values of an array or object.
6
- function isWcsButtonSize(size) {
7
- // @ts-ignore : ignore size type, as it is checked with WcsButtonSizeValues
8
- return WcsButtonSizeValues.includes(size);
9
- }
10
-
11
- const buttonCss = "@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{display:inline-block;--wcs-button-color:var(--wcs-contrast, var(--wcs-white, white));--wcs-button-background-color:var(--wcs-base, var(--wcs-primary, #0088CE));--wcs-button-ripple-color:var(--wcs-contrast, var(--wcs-white, white));--wcs-button-border-radius:var(--wcs-border-radius);--wcs-button-border-color:var(--wcs-base)}.wcs-inner-button:focus-visible{outline:2px dashed var(--wcs-primary);outline-offset:4px;border-radius:var(--wcs-button-border-radius)}:host([mode=clear]){--wcs-button-border-color:transparent}:host([mode=clear]) .wcs-inner-button{box-shadow:none}:host([mode=clear]),:host([mode=stroked]){--wcs-button-color:var(--wcs-base);--wcs-button-background-color:transparent}:host([mode=clear]) .wcs-inner-button::before,:host([mode=clear]) .wcs-inner-button::after,:host([mode=stroked]) .wcs-inner-button::before,:host([mode=stroked]) .wcs-inner-button::after{--wcs-button-ripple-color:var(--wcs-base)}:host([size=l]){--wcs-button-padding:var(--wcs-padding-m) var(--wcs-padding);--wcs-button-min-height:var(--wcs-size-l);--wcs-button-min-width:var(--wcs-size-l);--wcs-button-font-size:1.0625rem}:host([size=m]){--wcs-button-padding:var(--wcs-padding-m) var(--wcs-padding);--wcs-button-min-height:var(--wcs-size-m);--wcs-button-min-width:var(--wcs-size-m);--wcs-button-font-size:1rem}:host([size=s]){--wcs-button-padding:var(--wcs-padding-s) var(--wcs-padding);--wcs-button-min-height:var(--wcs-size-s);--wcs-button-min-width:var(--wcs-size-s);--wcs-button-font-size:0.9375rem}:host([shape=round]){--wcs-button-border-radius:2rem}:host([shape=round]) ::slotted(wcs-mat-icon){margin:calc(-1 * var(--wcs-padding))}:host([shape=square]){--wcs-button-padding:0}:host([shape=square]) ::slotted(wcs-mat-icon){margin:calc(-1 * var(--wcs-padding))}:host([shape=normal]) .wcs-inner-button{min-width:var(--wcs-button-min-width, unset);min-height:var(--wcs-button-min-height, unset)}:host([mode=stroked]) .wcs-inner-button{box-shadow:inset 0 0 0 1px var(--wcs-button-border-color)}:host([loading]){position:relative}:host([loading]) .wcs-inner-button>*:not(wcs-spinner){visibility:hidden;opacity:0}:host([loading]) wcs-spinner{height:calc(var(--wcs-button-min-height) / 2);width:calc(var(--wcs-button-min-width) / 2);position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}:host([disabled]),:host([loading]){--wcs-button-color:var(--wcs-text-disabled);cursor:not-allowed}:host([disabled]) :host(not[loading]),:host([loading]) :host(not[loading]){--wcs-button-background-color:var(--wcs-light)}:host([disabled]) .wcs-inner-button,:host([loading]) .wcs-inner-button{--wcs-button-border-color:var(--wcs-light);opacity:1;cursor:default;pointer-events:none}:host([disabled]):host([mode=clear]),:host([disabled]):host([disabled]),:host([loading]):host([mode=clear]),:host([loading]):host([disabled]){--wcs-button-background-color:transparent}.wcs-inner-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--wcs-font-sans-serif);background-color:var(--wcs-button-background-color);color:var(--wcs-button-color);padding:var(--wcs-button-padding);border-radius:var(--wcs-button-border-radius);border:none;overflow:hidden;outline:0;text-transform:none;margin:0;cursor:pointer;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;font-size:var(--wcs-button-font-size);line-height:1.5;min-height:var(--wcs-button-min-height);min-width:var(--wcs-button-min-width);transition:color 175ms ease-in-out, background-color 175ms ease-in-out, box-shadow 175ms cubic-bezier(0.4, 0, 0.2, 1)}.wcs-inner-button::before,.wcs-inner-button::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.wcs-inner-button::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.wcs-inner-button::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.wcs-inner-button.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.wcs-inner-button.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.wcs-inner-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.wcs-inner-button.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.wcs-inner-button.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.wcs-inner-button::before,.wcs-inner-button::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.wcs-inner-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.wcs-inner-button:hover::before,.wcs-inner-button.mdc-ripple-surface--hover::before{opacity:0.1;opacity:var(--mdc-ripple-hover-opacity, 0.1)}.wcs-inner-button.mdc-ripple-upgraded--background-focused::before,.wcs-inner-button:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.wcs-inner-button:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.wcs-inner-button:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.3;opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-inner-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-inner-button::before,.wcs-inner-button::after{background-color:white;background-color:var(--mdc-ripple-color, white)}.wcs-inner-button::before,.wcs-inner-button::after{background-color:var(--wcs-button-ripple-color)}.wcs-inner-button:focus{box-shadow:0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12), 0 1px 3px 0 rgba(0, 0, 0, 0.2)}.wcs-inner-button:hover{box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2)}a{text-decoration:none;box-sizing:border-box}button::-moz-focus-inner,a::-moz-focus-inner{border:0}";
6
+ const buttonCss = "@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;position:relative;outline:none;overflow:hidden}.mdc-ripple-surface::before,.mdc-ripple-surface::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-ripple-surface::before,.mdc-ripple-surface::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-upgraded--unbounded::before,.mdc-ripple-upgraded--unbounded::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-ripple-surface::before,.mdc-ripple-surface::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-ripple-surface:hover::before,.mdc-ripple-surface.mdc-ripple-surface--hover::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{display:inline-block;--wcs-button-color:var(--wcs-contrast, var(--wcs-white, white));--wcs-button-background-color:var(--wcs-base, var(--wcs-primary, #0074AF));--wcs-button-ripple-color:var(--wcs-contrast, var(--wcs-white, white));--wcs-button-border-radius:var(--wcs-border-radius);--wcs-button-border-color:var(--wcs-base)}.wcs-inner-button:focus-visible{outline:2px dashed var(--wcs-primary);outline-offset:4px;border-radius:var(--wcs-button-border-radius)}:host([mode=clear]){--wcs-button-border-color:transparent}:host([mode=clear]) .wcs-inner-button{box-shadow:none}:host([mode=clear]),:host([mode=stroked]){--wcs-button-color:var(--wcs-base);--wcs-button-background-color:transparent}:host([mode=clear]) .wcs-inner-button::before,:host([mode=clear]) .wcs-inner-button::after,:host([mode=stroked]) .wcs-inner-button::before,:host([mode=stroked]) .wcs-inner-button::after{--wcs-button-ripple-color:var(--wcs-base)}:host([size=l]){--wcs-button-padding:var(--wcs-padding-m) var(--wcs-padding);--wcs-button-min-height:var(--wcs-size-l);--wcs-button-min-width:var(--wcs-size-l);--wcs-button-font-size:1.0625rem}:host([size=m]){--wcs-button-padding:var(--wcs-padding-m) var(--wcs-padding);--wcs-button-min-height:var(--wcs-size-m);--wcs-button-min-width:var(--wcs-size-m);--wcs-button-font-size:1rem}:host([size=s]){--wcs-button-padding:var(--wcs-padding-s) var(--wcs-padding);--wcs-button-min-height:var(--wcs-size-s);--wcs-button-min-width:var(--wcs-size-s);--wcs-button-font-size:0.9375rem}:host([shape=round]){--wcs-button-border-radius:2rem}:host([shape=round]) ::slotted(wcs-mat-icon){margin:calc(-1 * var(--wcs-padding))}:host([shape=square]){--wcs-button-padding:0}:host([shape=square]) ::slotted(wcs-mat-icon){margin:calc(-1 * var(--wcs-padding))}:host([shape=normal]) .wcs-inner-button{min-width:var(--wcs-button-min-width, unset);min-height:var(--wcs-button-min-height, unset)}:host([mode=stroked]) .wcs-inner-button{box-shadow:inset 0 0 0 1px var(--wcs-button-border-color)}:host([loading]){position:relative}:host([loading]) .wcs-inner-button>*:not(wcs-spinner){visibility:hidden;opacity:0}:host([loading]) wcs-spinner{height:calc(var(--wcs-button-min-height) / 2);width:calc(var(--wcs-button-min-width) / 2);position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}:host([disabled]),:host([loading]){--wcs-button-color:var(--wcs-text-disabled);cursor:not-allowed}:host([disabled]) :host(not[loading]),:host([loading]) :host(not[loading]){--wcs-button-background-color:var(--wcs-light)}:host([disabled]) .wcs-inner-button,:host([loading]) .wcs-inner-button{--wcs-button-border-color:var(--wcs-light);opacity:1;cursor:default;pointer-events:none}:host([disabled]):host([mode=clear]),:host([disabled]):host([disabled]),:host([loading]):host([mode=clear]),:host([loading]):host([disabled]){--wcs-button-background-color:transparent}.wcs-inner-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity;display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--wcs-font-sans-serif);background-color:var(--wcs-button-background-color);color:var(--wcs-button-color);padding:var(--wcs-button-padding);border-radius:var(--wcs-button-border-radius);border:none;overflow:hidden;outline:0;text-transform:none;margin:0;cursor:pointer;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;font-size:var(--wcs-button-font-size);line-height:1.5;min-height:var(--wcs-button-min-height);min-width:var(--wcs-button-min-width);transition:color 175ms ease-in-out, background-color 175ms ease-in-out, box-shadow 175ms cubic-bezier(0.4, 0, 0.2, 1)}.wcs-inner-button::before,.wcs-inner-button::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.wcs-inner-button::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.wcs-inner-button::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.wcs-inner-button.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.wcs-inner-button.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.wcs-inner-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.wcs-inner-button.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.wcs-inner-button.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.wcs-inner-button::before,.wcs-inner-button::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.wcs-inner-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.wcs-inner-button:hover::before,.wcs-inner-button.mdc-ripple-surface--hover::before{opacity:0.1;opacity:var(--mdc-ripple-hover-opacity, 0.1)}.wcs-inner-button.mdc-ripple-upgraded--background-focused::before,.wcs-inner-button:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms;opacity:0.2;opacity:var(--mdc-ripple-focus-opacity, 0.2)}.wcs-inner-button:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.wcs-inner-button:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:0.3;opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-inner-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.3)}.wcs-inner-button::before,.wcs-inner-button::after{background-color:white;background-color:var(--mdc-ripple-color, white)}.wcs-inner-button::before,.wcs-inner-button::after{background-color:var(--wcs-button-ripple-color)}.wcs-inner-button:focus{box-shadow:0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12), 0 1px 3px 0 rgba(0, 0, 0, 0.2)}.wcs-inner-button:hover{box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2)}a{text-decoration:none;box-sizing:border-box}button::-moz-focus-inner,a::-moz-focus-inner{border:0}";
12
7
 
13
8
  const Button = class {
14
9
  constructor(hostRef) {
@@ -88,6 +83,19 @@ const Button = class {
88
83
  };
89
84
  Button.style = buttonCss;
90
85
 
91
- export { Button as wcs_button };
86
+ const spinnerCss = "@keyframes wcs-spinner-grow{0%{opacity:0;transform:scale(0)}25%{opacity:1}75%{opacity:0;transform:scale(1)}}@keyframes wcs-spinner-rotate{0%{transform:rotate(0deg);transform-origin:center}100%{transform:rotate(360deg);transform-origin:center}}@keyframes wcs-spinner-dash{0%{stroke-dasharray:1, 150;stroke-dashoffset:0}50%{stroke-dasharray:90, 150;stroke-dashoffset:-35}100%{stroke-dasharray:90, 150;stroke-dashoffset:-131}}:host{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border-radius:50%}:host([mode=border]) svg .dashed-background-circle{stroke:#E4E3E2FF;stroke-width:7px;stroke-dasharray:3, 3;stroke-dashoffset:1;stroke-linecap:butt}:host([mode=border]) svg .infinite-rotation-container{animation:wcs-spinner-rotate 2s linear infinite}:host([mode=border]) svg .dash-rotating-circle{stroke:var(--wcs-base);stroke-width:8px;stroke-linecap:round;animation:wcs-spinner-dash 1.5s ease-in-out infinite}:host([mode=growing]){background-color:var(--wcs-base);opacity:0;animation:wcs-spinner-grow 1s ease-out infinite}";
87
+
88
+ const Spinner = class {
89
+ constructor(hostRef) {
90
+ registerInstance(this, hostRef);
91
+ this.mode = 'border';
92
+ }
93
+ render() {
94
+ return (h("svg", { viewBox: "0 0 50 50" }, h("circle", { class: "dashed-background-circle", cx: "25", cy: "25", r: "21", fill: "none" }), h("g", { class: "infinite-rotation-container" }, h("circle", { class: "dash-rotating-circle", cx: "25", cy: "25", r: "21", fill: "none" }))));
95
+ }
96
+ };
97
+ Spinner.style = spinnerCss;
98
+
99
+ export { Button as wcs_button, Spinner as wcs_spinner };
92
100
 
93
- //# sourceMappingURL=wcs-button.entry.js.map
101
+ //# sourceMappingURL=wcs-button_2.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"wcs-button.wcs-spinner.entry.js","mappings":"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","names":[],"sources":["./src/components/button/button.scss?tag=wcs-button&encapsulation=shadow","./src/components/button/button.tsx","./src/components/spinner/spinner.scss?tag=wcs-spinner&encapsulation=shadow","./src/components/spinner/spinner.tsx"],"sourcesContent":["@import '../../style/elevation.scss';\n// TODO: get rid of this.\n@import '~@material/ripple/mdc-ripple';\n@import '../../style/focus-outline.scss';\n\n:host {\n display: inline-block;\n // FIXME : remove those fallback values when design tokens are set\n --wcs-button-color: var(--wcs-contrast, var(--wcs-white, white));\n --wcs-button-background-color: var(--wcs-base, var(--wcs-primary, #0074AF));\n --wcs-button-ripple-color: var(--wcs-contrast, var(--wcs-white, white));\n --wcs-button-border-radius: var(--wcs-border-radius);\n --wcs-button-border-color: var(--wcs-base);\n}\n\n.wcs-inner-button:focus-visible {\n @include focus-outline($border-radius: var(--wcs-button-border-radius));\n}\n\n:host([mode=clear]) {\n --wcs-button-border-color: transparent;\n\n .wcs-inner-button {\n box-shadow: none;\n }\n}\n\n:host([mode=clear]),\n:host([mode=stroked]) {\n --wcs-button-color: var(--wcs-base);\n --wcs-button-background-color: transparent;\n\n .wcs-inner-button {\n &::before,\n &::after {\n --wcs-button-ripple-color: var(--wcs-base);\n }\n }\n}\n\n:host([size=l]) {\n --wcs-button-padding: var(--wcs-padding-m) var(--wcs-padding);\n --wcs-button-min-height: var(--wcs-size-l);\n --wcs-button-min-width: var(--wcs-size-l);\n --wcs-button-font-size: 1.0625rem;\n}\n\n:host([size=m]) { // Default\n --wcs-button-padding: var(--wcs-padding-m) var(--wcs-padding);\n --wcs-button-min-height: var(--wcs-size-m);\n --wcs-button-min-width: var(--wcs-size-m);\n --wcs-button-font-size: 1rem;\n}\n\n:host([size=s]) {\n --wcs-button-padding: var(--wcs-padding-s) var(--wcs-padding);\n --wcs-button-min-height: var(--wcs-size-s);\n --wcs-button-min-width: var(--wcs-size-s);\n --wcs-button-font-size: 0.9375rem;\n}\n\n:host([shape=round]) {\n --wcs-button-border-radius: 2rem;\n\n ::slotted(wcs-mat-icon) {\n margin: calc(-1 * var(--wcs-padding));\n }\n}\n\n:host([shape=square]) {\n --wcs-button-padding: 0;\n\n ::slotted(wcs-mat-icon) {\n margin: calc(-1 * var(--wcs-padding));\n }\n}\n\n:host([shape=normal]) {\n .wcs-inner-button {\n min-width: var(--wcs-button-min-width, unset);\n min-height: var(--wcs-button-min-height, unset);\n }\n}\n\n:host([mode=stroked]) {\n .wcs-inner-button {\n box-shadow: inset 0 0 0 1px var(--wcs-button-border-color);\n }\n}\n\n:host([loading]) {\n position: relative;\n\n .wcs-inner-button > *:not(wcs-spinner) {\n visibility: hidden;\n opacity: 0;\n }\n\n wcs-spinner {\n height: calc(var(--wcs-button-min-height) / 2);\n width: calc(var(--wcs-button-min-width) / 2);\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n }\n}\n\n:host([disabled]), :host([loading]) {\n :host(not[loading]) {\n --wcs-button-background-color: var(--wcs-light);\n }\n --wcs-button-color: var(--wcs-text-disabled);\n cursor: not-allowed;\n\n .wcs-inner-button {\n // Fix for stroked button\n --wcs-button-border-color: var(--wcs-light);\n opacity: 1;\n cursor: default;\n pointer-events: none;\n }\n\n &:host([mode=clear]),\n &:host([disabled]) {\n --wcs-button-background-color: transparent;\n }\n}\n\n.wcs-inner-button {\n @include mdc-ripple-surface;\n @include mdc-ripple-radius-bounded;\n @include mdc-states-hover-opacity(.1);\n @include mdc-states-focus-opacity(.2);\n @include mdc-states-press-opacity(.3);\n @include mdc-states-base-color(white);\n\n // This property is used to set the ripple color\n &::before,\n &::after {\n background-color: var(--wcs-button-ripple-color);\n }\n\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-family: var(--wcs-font-sans-serif);\n background-color: var(--wcs-button-background-color);\n color: var(--wcs-button-color);\n padding: var(--wcs-button-padding);\n border-radius: var(--wcs-button-border-radius);\n border: none;\n overflow: hidden;\n outline: 0;\n text-transform: none;\n margin: 0;\n cursor: pointer;\n font-weight: 500;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n font-size: var(--wcs-button-font-size);\n line-height: 1.5;\n min-height: var(--wcs-button-min-height);\n min-width: var(--wcs-button-min-width);\n\n transition: color 175ms ease-in-out, background-color 175ms ease-in-out, wcs-elevation-transition();\n\n &:focus {\n @include wcs-elevation(1);\n }\n\n &:hover {\n @include wcs-elevation(2);\n }\n}\n\na {\n text-decoration: none;\n box-sizing: border-box;\n}\n\n// Remove mozilla dotted outline on button and a\nbutton::-moz-focus-inner,\na::-moz-focus-inner {\n border: 0;\n}\n","import {Component, ComponentInterface, Element, h, Listen, Prop, Watch} from '@stencil/core';\n\nimport { MDCRipple } from '@material/ripple';\n\nimport {\n isWcsButtonSize,\n WcsButtonMode,\n WcsButtonShape,\n WcsButtonSize,\n WcsButtonSizeValues,\n WcsButtonType\n} from './button-interface';\nimport { hasShadowDom } from '../../utils/helpers';\n\n/**\n * Button component, can also be a link when specifying href.\n *\n * ## Click event\n *\n * The WCS button relies on the native click event to pass a user click to your app.\n * For now, it's not possible for us to prevent the click event to be fired when the button's disabled attribute is true.\n * This means you'll receive click events on a disabled wcs button.\n * If you're using the button with a library like Angular or React, they have internal mechanisms to prevent this behavior. Your callbacks will therefore not be called.\n * To fix this problem, we plan to provide a wcsClick event in addition to the native click for applications developed without frameworks.\n */\n@Component({\n tag: 'wcs-button',\n styleUrl: 'button.scss',\n shadow: {\n delegatesFocus: true\n }\n})\nexport class Button implements ComponentInterface {\n @Element() private el!: HTMLElement;\n\n /**\n * Specify the button type.\n */\n @Prop({ mutable: true }) type: WcsButtonType = 'button';\n\n /**\n * Set a URL to point to.<br/>\n * If specified use a `a` tag instead of `btn`.\n */\n @Prop() href?: string;\n\n /**\n * Specifies where to open the linked document when using href (see prop above)<br/>\n * Default '_self' will open the linked document in the same frame as it was clicked\n */\n @Prop() target?: '_blank' | '_self';\n\n /**\n * Specify whether the button is disabled or not.\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Specify whether the button should have a ripple effect or not.\n */\n @Prop() ripple = true;\n private mdcRipple: MDCRipple;\n\n /**\n * Specify the size of the button.\n */\n @Prop({ reflect: true }) size: WcsButtonSize = 'm';\n\n /**\n * Specify the shape of the button.\n */\n @Prop({ reflect: true }) shape: WcsButtonShape = 'normal';\n\n /**\n * This attribute specify the appearance of the button.\n */\n @Prop({ reflect: true }) mode: WcsButtonMode = 'plain';\n\n /**\n * Flag to display spinner until the end of action\n */\n @Prop({mutable: true}) loading: boolean = false;\n\n /**\n * Native event click is emit event if we decide to stop propagation of it\n * @param ev\n */\n @Listen('click') // TODO: define custom event click to be able to stop it's propagation when the custom button is disabled or is in loading state\n onClick(ev: Event) {\n if (this.disabled || this.loading) {\n ev.stopImmediatePropagation();\n }\n if (this.type !== 'button' && hasShadowDom(this.el)) {\n // this button wants to specifically submit a form\n // climb up the dom to see if we're in a <form>\n // and if so, then use JS to submit it\n const form = this.el.closest('form');\n if (form) {\n ev.preventDefault();\n\n const fakeButton = window.document.createElement('button');\n fakeButton.type = this.type;\n fakeButton.style.display = 'none';\n form.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n }\n }\n\n componentWillLoad(): Promise<void> | void {\n if (!isWcsButtonSize(this.size)) {\n console.error(`Invalid size value for wcs-button : \"${this.size}\". Must be one of \"${WcsButtonSizeValues.join(', ')}\"`);\n this.size = \"m\"; // Default fallback value\n }\n }\n\n componentDidLoad() {\n this.mdcRipple = new MDCRipple(this.el.shadowRoot.querySelector('.wcs-inner-button'));\n }\n\n private enabledRippleEffect() {\n this.mdcRipple.disabled = false;\n }\n\n private disabledRippleEffect() {\n this.mdcRipple.disabled = true;\n }\n\n private getTagName() {\n return this.href !== undefined ? 'a' : 'button';\n }\n\n @Watch('ripple')\n onRippleChange(): void {\n if (this.ripple) {\n this.enabledRippleEffect();\n } else {\n this.disabledRippleEffect();\n }\n }\n\n render() {\n const TagType = this.getTagName();\n const attrs = this.href !== undefined\n ? { href: this.href, role: 'button', target: this.target }\n : { type: this.type };\n return (\n <TagType\n {...attrs}\n class=\"wcs-inner-button\"\n disabled = {this.disabled || this.loading}\n >\n {\n this.loading && <wcs-spinner></wcs-spinner>\n }\n <slot/>\n </TagType>\n );\n }\n}\n","@keyframes wcs-spinner-grow {\n 0% {\n opacity: 0;\n transform: scale(0);\n }\n 25% {\n opacity: 1;\n }\n 75% {\n opacity: 0;\n transform: scale(1);\n }\n}\n\n@keyframes wcs-spinner-rotate {\n 0% {\n transform: rotate(0deg);\n transform-origin: center;\n }\n 100% {\n transform: rotate(360deg);\n transform-origin: center;\n }\n}\n\n@keyframes wcs-spinner-dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -131;\n }\n}\n\n:host {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border-radius: 50%;\n}\n\n:host([mode=\"border\"]) {\n svg {\n & .dashed-background-circle {\n stroke: #E4E3E2FF;\n stroke-width: 7px;\n stroke-dasharray: 3,3;\n stroke-dashoffset: 1;\n stroke-linecap: butt;\n }\n\n .infinite-rotation-container {\n animation: wcs-spinner-rotate 2s linear infinite;\n }\n\n & .dash-rotating-circle {\n stroke: var(--wcs-base);\n stroke-width: 8px;\n stroke-linecap: round;\n animation: wcs-spinner-dash 1.5s ease-in-out infinite;\n }\n }\n}\n\n:host([mode=growing]) {\n background-color: var(--wcs-base);\n opacity: 0;\n animation: wcs-spinner-grow 1s ease-out infinite;\n}\n","import { Component, ComponentInterface, Prop, h } from '@stencil/core';\nimport { WcsSpinnerMode } from './spinner-interface';\n\n@Component({\n tag: 'wcs-spinner',\n styleUrl: 'spinner.scss',\n shadow: true\n})\nexport class Spinner implements ComponentInterface {\n /**\n * Indicates the spinner display mode.\n * Accepted values: `border` or `growing`\n */\n @Prop({ reflect: true }) mode: WcsSpinnerMode = 'border';\n\n render() {\n return (\n <svg viewBox=\"0 0 50 50\">\n <circle class=\"dashed-background-circle\" cx=\"25\" cy=\"25\" r=\"21\" fill=\"none\"/>\n <g class=\"infinite-rotation-container\">\n <circle class=\"dash-rotating-circle\" cx=\"25\" cy=\"25\" r=\"21\" fill=\"none\" />\n </g>\n </svg>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-dc4d96d4.js';
1
+ import { r as registerInstance, h } from './index-4f282598.js';
2
2
 
3
3
  const cardBodyCss = ":host{flex:1 1 auto;padding:var(--wcs-padding)}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-dc4d96d4.js';
1
+ import { r as registerInstance, h } from './index-4f282598.js';
2
2
 
3
3
  const cardCss = ":host{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-clip:border-box;border-radius:var(--wcs-border-radius);background-color:var(--wcs-white)}:host([mode=raised]){box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2)}:host([mode=flat]){border:solid 1px var(--wcs-text-light)}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-dc4d96d4.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-4f282598.js';
2
2
 
3
3
  const checkboxCss = ":host{--wcs-checkbox-border-color:var(--wcs-text-medium);--wcs-checkbox-text-color:var(--wcs-text-medium);display:flex}:host([disabled]){--wcs-checkbox-border-color:var(--wcs-light);--wcs-checkbox-text-color:var(--wcs-text-disabled)}:host([disabled]) .wcs-container{cursor:not-allowed}.wcs-checkmark{transition:background-color 225ms cubic-bezier(0.17, 0.84, 0.44, 1), color 225ms cubic-bezier(0.17, 0.84, 0.44, 1)}.wcs-container{position:relative;font-size:1rem;user-select:none;font-weight:500;display:flex}.wcs-container:not([aria-disabled]){cursor:pointer}:host([label-alignment=top]) .wcs-container{align-items:start}:host([label-alignment=center]) .wcs-container{align-items:center}:host([label-alignment=bottom]) .wcs-container{align-items:flex-end}.wcs-container input{position:absolute;opacity:0;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.wcs-container:hover:not([aria-disabled]),input:focus{--wcs-checkbox-border-color:var(--wcs-primary);--wcs-checkbox-text-color:var(--wcs-primary)}.wcs-container:has(input:focus-visible){outline:2px dashed var(--wcs-primary);outline-offset:4px;border-radius:calc(var(--wcs-border-radius) / 2)}@supports not selector(.wcs-container:has(input:focus-visible)){.wcs-container:focus-within{outline:2px dashed var(--wcs-primary);outline-offset:4px;border-radius:calc(var(--wcs-border-radius) / 2)}}.wcs-checkmark{flex:0 0 1.125rem;width:1.125rem;height:1.125rem;border:2px solid var(--wcs-checkbox-border-color);border-radius:3px}:host([indeterminate]) .wcs-checkmark{--wcs-checkbox-border-color:var(--wcs-primary);background:var(--wcs-primary)}.wcs-container:not([aria-disabled]) input:checked~.wcs-checkmark{background-color:var(--wcs-primary);--wcs-checkbox-border-color:var(--wcs-primary)}.wcs-container[aria-disabled] input:checked~.wcs-checkmark{background-color:var(--wcs-light);--wcs-checkbox-border-color:var(--wcs-light)}.wcs-checkmark:after{content:\"\";position:absolute;display:none}.wcs-container input:checked~.wcs-checkmark:after{display:flex}.wcs-container .wcs-checkmark:after{left:7px;width:5px;height:10px;border:solid var(--wcs-white, white);border-width:0 3px 3px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.wcs-container:not([aria-disabled]) input:checked~.text{--wcs-checkbox-text-color:var(--wcs-primary)}.text{color:var(--wcs-checkbox-text-color);margin-left:6px;font-weight:500;line-height:1.375}";
4
4
 
@@ -13,6 +13,9 @@ const Checkbox = class {
13
13
  this.labelAlignment = 'center';
14
14
  this.disabled = false;
15
15
  }
16
+ async setAriaAttribute(attr, value) {
17
+ this.input.setAttribute(attr, value);
18
+ }
16
19
  handleChange(_event) {
17
20
  this.indeterminate = false;
18
21
  this.checked = !this.checked;
@@ -21,7 +24,7 @@ const Checkbox = class {
21
24
  });
22
25
  }
23
26
  render() {
24
- return (h(Host, null, h("label", { htmlFor: this.name, class: "wcs-container", "aria-disabled": this.disabled }, h("input", { onChange: (evt) => this.handleChange(evt), checked: this.checked, class: "wcs-checkbox", type: "checkbox", name: this.name, disabled: this.disabled, id: this.name }), h("span", { class: "wcs-checkmark" }), h("span", { class: "text" }, h("slot", null)))));
27
+ return (h(Host, null, h("label", { htmlFor: this.name, class: "wcs-container", "aria-disabled": this.disabled }, h("input", { onChange: (evt) => this.handleChange(evt), checked: this.checked, class: "wcs-checkbox", type: "checkbox", ref: (el) => this.input = el, name: this.name, disabled: this.disabled, id: this.name }), h("span", { class: "wcs-checkmark" }), h("span", { class: "text" }, h("slot", null)))));
25
28
  }
26
29
  static get delegatesFocus() { return true; }
27
30
  };
@@ -1 +1 @@
1
- {"file":"wcs-checkbox.entry.js","mappings":";;AAAA,MAAM,WAAW,GAAG,24EAA24E;;MCUl5E,QAAQ;;;;IACT,eAAU,GAAG,gBAAgB,WAAW,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,UAAU;yBAK0B,KAAK;mBAKX,KAAK;0BAK0B,QAAQ;oBAK7D,KAAK;;EAOjC,YAAY,CAAC,MAAa;IACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;MAChB,OAAO,EAAE,IAAI,CAAC,OAAO;KACxB,CAAC,CAAC;GACN;EAED,MAAM;IACF,QACI,EAAC,IAAI,QACD,aAAO,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,eAAe,mBAAgB,IAAI,CAAC,QAAQ,IACzE,aAAO,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,IAAI,GACZ,EACR,YAAM,KAAK,EAAC,eAAe,GAAQ,EACnC,YAAM,KAAK,EAAC,MAAM,IACd,eAAO,CACJ,CACH,CACL,EACT;GACL;;;AAGL,IAAI,WAAW,GAAG,CAAC,CAAC;;;;;","names":[],"sources":["./src/components/checkbox/checkbox.scss?tag=wcs-checkbox&encapsulation=shadow","./src/components/checkbox/checkbox.tsx"],"sourcesContent":["@import '../../style/focus-outline.scss';\n\n:host {\n --wcs-checkbox-border-color: var(--wcs-text-medium);\n --wcs-checkbox-text-color: var(--wcs-text-medium);\n display: flex;\n}\n\n:host([disabled]) {\n --wcs-checkbox-border-color: var(--wcs-light);\n --wcs-checkbox-text-color: var(--wcs-text-disabled);\n\n .wcs-container {\n cursor: not-allowed;\n }\n}\n\n.wcs-checkmark {\n transition: background-color 225ms cubic-bezier(.17, .84, .44, 1),\n color 225ms cubic-bezier(.17, .84, .44, 1);\n}\n\n/* Customize the label (the wcs-container) */\n.wcs-container {\n position: relative;\n font-size: 1rem;\n user-select: none;\n font-weight: 500;\n display: flex;\n}\n\n.wcs-container:not([aria-disabled]) {\n cursor: pointer;\n}\n\n/* Let the user choose the alignment of the checkbox with the label text */\n:host([label-alignment=\"top\"]){\n .wcs-container {\n align-items: start;\n }\n}\n\n:host([label-alignment=\"center\"]){\n .wcs-container {\n align-items: center;\n }\n}\n\n:host([label-alignment=\"bottom\"]){\n .wcs-container {\n align-items: flex-end;\n }\n}\n\n/* Hide the browser's default checkbox */\n.wcs-container input {\n position: absolute;\n opacity: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n.wcs-container:hover:not([aria-disabled]), input:focus {\n --wcs-checkbox-border-color: var(--wcs-primary);\n\n --wcs-checkbox-text-color: var(--wcs-primary);\n}\n\n.wcs-container:has(input:focus-visible) {\n @include focus-outline($border-radius: calc(var(--wcs-border-radius) / 2));\n}\n\n@supports not selector(.wcs-container:has(input:focus-visible)){\n .wcs-container:focus-within {\n @include focus-outline($border-radius: calc(var(--wcs-border-radius) /2));\n }\n}\n\n/* Create a custom checkbox */\n.wcs-checkmark {\n flex: 0 0 1.125rem;\n width: 1.125rem;\n height: 1.125rem;\n border: 2px solid var(--wcs-checkbox-border-color);\n border-radius: 3px;\n}\n\n:host([indeterminate]) {\n .wcs-checkmark {\n --wcs-checkbox-border-color: var(--wcs-primary);\n background: var(--wcs-primary);\n }\n}\n\n/* When the checkbox is checked, add a blue background */\n.wcs-container:not([aria-disabled]) input:checked~.wcs-checkmark {\n background-color: var(--wcs-primary);\n --wcs-checkbox-border-color: var(--wcs-primary);\n}\n.wcs-container[aria-disabled] input:checked~.wcs-checkmark {\n background-color: var(--wcs-light);\n --wcs-checkbox-border-color: var(--wcs-light);\n}\n\n/* Create the wcs-checkmark/indicator (hidden when not checked) */\n.wcs-checkmark:after {\n content: \"\";\n position: absolute;\n display: none;\n}\n\n/* Show the wcs-checkmark when checked */\n.wcs-container input:checked~.wcs-checkmark:after {\n display: flex;\n}\n\n\n\n/* Style the wcs-checkmark/indicator */\n.wcs-container .wcs-checkmark:after {\n left: 7px;\n width: 5px;\n height: 10px;\n border: solid var(--wcs-white, white);\n border-width: 0 3px 3px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n.wcs-container:not([aria-disabled]) input:checked~.text {\n --wcs-checkbox-text-color: var(--wcs-primary);\n}\n\n.text {\n color: var(--wcs-checkbox-text-color);\n margin-left: 6px;\n font-weight: 500;\n line-height: 1.375;\n}\n","import { Component, Prop, Event, EventEmitter, ComponentInterface, h, Host } from '@stencil/core';\nimport { CheckboxChangeEventDetail, CheckboxLabelAlignment } from './checkbox-interface';\n\n@Component({\n tag: 'wcs-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: {\n delegatesFocus: true\n }\n})\nexport class Checkbox implements ComponentInterface {\n private checkboxId = `wcs-checkbox-${checkboxIds++}`;\n @Prop() name = this.checkboxId;\n\n /**\n * If `true` the checkbox is in indeterminate state.\n */\n @Prop({ reflect: true, mutable: true }) indeterminate = false;\n\n /**\n * If `true`, the checkbox is selected.\n */\n @Prop({ reflect: true, mutable: true }) checked = false;\n\n /**\n * Specifie the alignment of the checkbox with the label content\n */\n @Prop({ mutable: true, reflect: true }) labelAlignment: CheckboxLabelAlignment = 'center';\n\n /**\n * Specify wether the checkbox is disabled or not.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Emitted when the checked property has changed.\n */\n @Event() wcsChange!: EventEmitter<CheckboxChangeEventDetail>;\n\n handleChange(_event: Event) {\n this.indeterminate = false;\n this.checked = !this.checked;\n this.wcsChange.emit({\n checked: this.checked\n });\n }\n\n render() {\n return (\n <Host>\n <label htmlFor={this.name} class=\"wcs-container\" aria-disabled={this.disabled}>\n <input onChange={(evt) => this.handleChange(evt)}\n checked={this.checked}\n class=\"wcs-checkbox\"\n type=\"checkbox\"\n name={this.name}\n disabled={this.disabled}\n id={this.name}>\n </input>\n <span class=\"wcs-checkmark\"></span>\n <span class=\"text\">\n <slot/>\n </span>\n </label>\n </Host>\n );\n }\n}\n\nlet checkboxIds = 0;\n"],"version":3}
1
+ {"file":"wcs-checkbox.entry.js","mappings":";;AAAA,MAAM,WAAW,GAAG,24EAA24E;;MCWl5E,QAAQ;;;;IACT,eAAU,GAAG,gBAAgB,WAAW,EAAE,EAAE,CAAC;gBAGtC,IAAI,CAAC,UAAU;yBAI0B,KAAK;mBAKX,KAAK;0BAK0B,QAAQ;oBAK7D,KAAK;;EAQjC,MAAM,gBAAgB,CAAC,IAAuB,EAAE,KAAa;IACzD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACxC;EAED,YAAY,CAAC,MAAa;IACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;MAChB,OAAO,EAAE,IAAI,CAAC,OAAO;KACxB,CAAC,CAAC;GACN;EAED,MAAM;IACF,QACI,EAAC,IAAI,QACD,aAAO,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,eAAe,mBAAgB,IAAI,CAAC,QAAQ,IACzE,aAAO,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,UAAU,EACf,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,EAAE,EAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,IAAI,GACZ,EACR,YAAM,KAAK,EAAC,eAAe,GAAQ,EACnC,YAAM,KAAK,EAAC,MAAM,IACd,eAAO,CACJ,CACH,CACL,EACT;GACL;;;AAGL,IAAI,WAAW,GAAG,CAAC,CAAC;;;;;","names":[],"sources":["./src/components/checkbox/checkbox.scss?tag=wcs-checkbox&encapsulation=shadow","./src/components/checkbox/checkbox.tsx"],"sourcesContent":["@import '../../style/focus-outline.scss';\n\n:host {\n --wcs-checkbox-border-color: var(--wcs-text-medium);\n --wcs-checkbox-text-color: var(--wcs-text-medium);\n display: flex;\n}\n\n:host([disabled]) {\n --wcs-checkbox-border-color: var(--wcs-light);\n --wcs-checkbox-text-color: var(--wcs-text-disabled);\n\n .wcs-container {\n cursor: not-allowed;\n }\n}\n\n.wcs-checkmark {\n transition: background-color 225ms cubic-bezier(.17, .84, .44, 1),\n color 225ms cubic-bezier(.17, .84, .44, 1);\n}\n\n/* Customize the label (the wcs-container) */\n.wcs-container {\n position: relative;\n font-size: 1rem;\n user-select: none;\n font-weight: 500;\n display: flex;\n}\n\n.wcs-container:not([aria-disabled]) {\n cursor: pointer;\n}\n\n/* Let the user choose the alignment of the checkbox with the label text */\n:host([label-alignment=\"top\"]){\n .wcs-container {\n align-items: start;\n }\n}\n\n:host([label-alignment=\"center\"]){\n .wcs-container {\n align-items: center;\n }\n}\n\n:host([label-alignment=\"bottom\"]){\n .wcs-container {\n align-items: flex-end;\n }\n}\n\n/* Hide the browser's default checkbox */\n.wcs-container input {\n position: absolute;\n opacity: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n.wcs-container:hover:not([aria-disabled]), input:focus {\n --wcs-checkbox-border-color: var(--wcs-primary);\n\n --wcs-checkbox-text-color: var(--wcs-primary);\n}\n\n.wcs-container:has(input:focus-visible) {\n @include focus-outline($border-radius: calc(var(--wcs-border-radius) / 2));\n}\n\n@supports not selector(.wcs-container:has(input:focus-visible)){\n .wcs-container:focus-within {\n @include focus-outline($border-radius: calc(var(--wcs-border-radius) /2));\n }\n}\n\n/* Create a custom checkbox */\n.wcs-checkmark {\n flex: 0 0 1.125rem;\n width: 1.125rem;\n height: 1.125rem;\n border: 2px solid var(--wcs-checkbox-border-color);\n border-radius: 3px;\n}\n\n:host([indeterminate]) {\n .wcs-checkmark {\n --wcs-checkbox-border-color: var(--wcs-primary);\n background: var(--wcs-primary);\n }\n}\n\n/* When the checkbox is checked, add a blue background */\n.wcs-container:not([aria-disabled]) input:checked~.wcs-checkmark {\n background-color: var(--wcs-primary);\n --wcs-checkbox-border-color: var(--wcs-primary);\n}\n.wcs-container[aria-disabled] input:checked~.wcs-checkmark {\n background-color: var(--wcs-light);\n --wcs-checkbox-border-color: var(--wcs-light);\n}\n\n/* Create the wcs-checkmark/indicator (hidden when not checked) */\n.wcs-checkmark:after {\n content: \"\";\n position: absolute;\n display: none;\n}\n\n/* Show the wcs-checkmark when checked */\n.wcs-container input:checked~.wcs-checkmark:after {\n display: flex;\n}\n\n\n\n/* Style the wcs-checkmark/indicator */\n.wcs-container .wcs-checkmark:after {\n left: 7px;\n width: 5px;\n height: 10px;\n border: solid var(--wcs-white, white);\n border-width: 0 3px 3px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n.wcs-container:not([aria-disabled]) input:checked~.text {\n --wcs-checkbox-text-color: var(--wcs-primary);\n}\n\n.text {\n color: var(--wcs-checkbox-text-color);\n margin-left: 6px;\n font-weight: 500;\n line-height: 1.375;\n}\n","import { Component, Prop, Event, EventEmitter, ComponentInterface, h, Host, Method } from '@stencil/core';\nimport { CheckboxChangeEventDetail, CheckboxLabelAlignment } from './checkbox-interface';\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\n@Component({\n tag: 'wcs-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: {\n delegatesFocus: true\n }\n})\nexport class Checkbox implements ComponentInterface, MutableAriaAttribute {\n private checkboxId = `wcs-checkbox-${checkboxIds++}`;\n private input!: HTMLInputElement;\n \n @Prop() name = this.checkboxId;\n /**\n * If `true` the checkbox is in indeterminate state.\n */\n @Prop({ reflect: true, mutable: true }) indeterminate = false;\n\n /**\n * If `true`, the checkbox is selected.\n */\n @Prop({ reflect: true, mutable: true }) checked = false;\n\n /**\n * Specifie the alignment of the checkbox with the label content\n */\n @Prop({ mutable: true, reflect: true }) labelAlignment: CheckboxLabelAlignment = 'center';\n\n /**\n * Specify wether the checkbox is disabled or not.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Emitted when the checked property has changed.\n */\n @Event() wcsChange!: EventEmitter<CheckboxChangeEventDetail>;\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string) {\n this.input.setAttribute(attr, value);\n }\n\n handleChange(_event: Event) {\n this.indeterminate = false;\n this.checked = !this.checked;\n this.wcsChange.emit({\n checked: this.checked\n });\n }\n\n render() {\n return (\n <Host>\n <label htmlFor={this.name} class=\"wcs-container\" aria-disabled={this.disabled}>\n <input onChange={(evt) => this.handleChange(evt)}\n checked={this.checked}\n class=\"wcs-checkbox\"\n type=\"checkbox\"\n ref={(el) => this.input = el}\n name={this.name}\n disabled={this.disabled}\n id={this.name}>\n </input>\n <span class=\"wcs-checkmark\"></span>\n <span class=\"text\">\n <slot/>\n </span>\n </label>\n </Host>\n );\n }\n}\n\nlet checkboxIds = 0;\n"],"version":3}
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-dc4d96d4.js';
2
- import { i as isSpaceKey, a as isEnterKey } from './helpers-1d55b67f.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f282598.js';
2
+ import { i as isSpaceKey, a as isEnterKey } from './helpers-a21ae7d0.js';
3
3
 
4
4
  const comNavCategoryCss = ":host{display:block;padding-bottom:var(--wcs-padding);}:host .label-container{display:block;padding-left:calc(9 * var(--wcs-base-margin));color:var(--wcs-gray)}:host ::slotted(a):after{font-family:icons;padding-left:var(--wcs-base-margin);font-size:0.6rem;content:\"\\f107\";line-height:1;box-sizing:border-box}:host ::slotted(a){display:block;cursor:pointer;text-decoration:none;font-size:16px;color:var(--wcs-gray);padding-left:calc(12 * var(--wcs-base-margin));padding-top:calc(1.5 * var(--wcs-base-margin));padding-bottom:calc(1.5 * var(--wcs-base-margin))}:host ::slotted(a:focus-visible){outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}@supports not selector(::slotted(a:focus-visible)){:host ::slotted(a:focus-within){outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}}@media screen and (min-width: 576px){:host{padding-bottom:unset}:host .item-container:not([data-open]){display:none}:host .label:after{font-family:icons;padding-left:var(--wcs-base-margin);font-size:0.6rem;content:\"\\f107\";line-height:1;box-sizing:border-box}:host .label-container{cursor:pointer;user-select:none;display:flex;align-items:center;padding-left:unset;color:var(--wcs-white)}:host .label-container:focus-visible{outline:2px dashed var(--wcs-white);outline-offset:0.1rem;border-radius:5px}@supports not selector(.label-container:focus-visible){:host .label-container:focus-within{outline:2px dashed var(--wcs-white);outline-offset:0.1rem;border-radius:5px}}:host .label-container[data-open]:after{position:absolute;left:calc(50% + var(--wcs-com-content-max-width) / 8 - 0.5625rem);z-index:2;display:block;width:1.125rem;height:1.125rem;content:\"\";background-color:var(--wcs-primary);transform:rotate(45deg)}:host .item-container[data-open]{position:absolute;left:calc(50% + var(--wcs-com-content-max-width) / 8);top:0;right:0;padding:50px 0 50px 50px;background-blend-mode:multiply;background-color:rgba(0, 0, 0, 0.15);box-sizing:border-box;height:100%;display:flex;flex-direction:column;align-items:start}:host .item-container[data-open] ::slotted(a:not(:first-child)){margin-top:24px}:host .item-container[data-open] ::slotted(a){display:unset;color:var(--wcs-white);padding-left:unset;padding-top:unset;padding-bottom:unset}:host .item-container[data-open] ::slotted(a:focus-visible){outline:2px dashed var(--wcs-white);outline-offset:0.1rem;border-radius:2px}@supports not selector(::slotted(a:focus-visible)){:host .item-container[data-open] ::slotted(a:focus-within){outline:2px dashed var(--wcs-white);outline-offset:0.1rem;border-radius:2px}}}";
5
5
 
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-dc4d96d4.js';
2
- import { b as isEscapeKey, i as isSpaceKey, a as isEnterKey } from './helpers-1d55b67f.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f282598.js';
2
+ import { b as isEscapeKey, i as isSpaceKey, a as isEnterKey } from './helpers-a21ae7d0.js';
3
3
  import { r as registerCloseHandlerForFocusOutEventOn } from './com-nav-utils-f26d3b2d.js';
4
4
 
5
5
  const comNavSubmenuCss = ":host{display:block;padding-bottom:var(--wcs-padding)}:host .menu-button{display:block;font-weight:500;padding-left:calc(3 * var(--wcs-base-margin))}:host .arrow-icon{display:none}:host .arrow-container{display:none}:host .label{text-transform:uppercase;font-size:16px;cursor:unset;font-weight:500;color:var(--wcs-gray);text-decoration:none}:host .drawer{display:contents}:host .drawer-container{display:contents}:host .drawer-description{display:none}:host .menu-items{}:host .menu-items ::slotted(a):after{font-family:icons;padding-left:var(--wcs-base-margin);font-size:0.6rem;content:\"\\f107\";line-height:1;box-sizing:border-box}:host .menu-items ::slotted(a){user-select:none;cursor:pointer;text-decoration:none;font-size:16px;color:var(--wcs-gray);font-weight:500;display:block;padding-top:calc(1.5 * var(--wcs-base-margin));padding-bottom:calc(1.5 * var(--wcs-base-margin));padding-left:calc(6 * var(--wcs-base-margin))}:host .menu-items ::slotted(a:focus-visible){outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}@supports not selector(::slotted(a:focus-visible)){:host .menu-items ::slotted(a:focus-within){outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}}@media screen and (min-width: 576px){:host{height:100%;padding-bottom:unset}:host .menu-button{display:flex;align-items:center;height:100%;cursor:pointer;user-select:none;font-weight:unset;padding-left:unset}:host .menu-button:focus-visible{outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}@supports not selector(.menu-button:focus-visible){:host{outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}}:host .label{text-transform:unset;cursor:pointer}:host .arrow-icon{display:inline-block;font-family:icons;font-size:0.6rem;line-height:1;box-sizing:border-box}:host .arrow-container{display:unset;margin-left:var(--wcs-base-margin)}:host .arrow-icon:not([data-open]){transform:rotate(90deg)}:host .arrow-icon[data-open]{transform:rotate(-90deg)}:host .drawer{display:none;position:absolute;top:75px;z-index:8888;left:0;width:100%;box-sizing:border-box;padding:50px;background-color:var(--wcs-primary);color:var(--wcs-white)}:host .drawer-content{display:flex;justify-content:space-between;max-width:62.5%;flex:1}:host .drawer-content div:first-child{flex:0.8}:host .drawer-content div{max-width:260px}:host .menu-items{padding:0 80px 0 50px;display:flex;flex-direction:column;align-items:flex-end}:host .menu-items ::slotted(*:not(:first-child)){margin-top:24px}:host .menu-items ::slotted(a){color:var(--wcs-white);font-weight:400;display:unset;padding-top:unset;padding-bottom:unset;padding-left:unset}:host .menu-items ::slotted(a:focus-visible){outline:2px dashed var(--wcs-white);outline-offset:0.1rem;border-radius:2px}@supports not selector(::slotted(a:focus-visible)){:host .menu-items ::slotted(a:focus-within){outline:2px dashed var(--wcs-white);outline-offset:0.1rem;border-radius:2px}}:host .drawer-container{display:flex;max-width:var(--wcs-com-content-max-width);margin:0 auto}:host .drawer-container h3{margin:0 0 24px 0;font-size:1.5rem;line-height:1.25;font-weight:400}:host .drawer-container p{margin-top:0;margin-bottom:1rem;font-weight:500;font-size:1rem;line-height:1.375}:host .drawer[data-open]{display:block}:host .drawer-description{display:block}}";
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-dc4d96d4.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-4f282598.js';
2
2
  import { r as registerCloseHandlerForFocusOutEventOn } from './com-nav-utils-f26d3b2d.js';
3
- import { i as isSpaceKey, a as isEnterKey, b as isEscapeKey } from './helpers-1d55b67f.js';
3
+ import { i as isSpaceKey, a as isEnterKey, b as isEscapeKey } from './helpers-a21ae7d0.js';
4
4
 
5
5
  const comNavCss = ":host{display:block;position:relative;height:75px;border-bottom:solid 1px var(--wcs-text-light)}:host .container{padding:0 var(--wcs-padding);height:100%;display:flex;align-items:center;flex-direction:row;justify-content:space-between}:host .container-left{display:flex;height:100%;align-items:center;flex-direction:row}:host .container-right{display:flex;align-items:center}:host .app-name{font-weight:400;font-size:1.5rem;line-height:1.25;color:var(--wcs-gray)}:host .menu-bar{display:none}:host ::slotted(a){padding-top:calc(1.5 * var(--wcs-base-margin));padding-bottom:calc(1.5 * var(--wcs-base-margin));padding-left:calc(3 * var(--wcs-base-margin));display:flex;align-items:center;height:100%;font-size:16px;cursor:pointer;font-weight:500;color:var(--wcs-gray);text-decoration:none}:host ::slotted(a):after{font-family:icons;padding-left:var(--wcs-base-margin);font-size:0.6rem;content:\"\\f107\";line-height:1;box-sizing:border-box}:host ::slotted(a:focus-visible){outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}@supports not selector(::slotted(a:focus-visible)){:host ::slotted(a:focus-within){outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}}:host #mobile-menu-icon{height:24px;padding-left:calc(2 * var(--wcs-base-margin));margin-left:var(--wcs-base-margin);border-left:solid 1px var(--wcs-text-light)}:host #mobile-menu-icon:focus{outline:none}:host #mobile-menu-icon:focus-visible::after{outline:2px dashed var(--wcs-primary);outline-offset:4px;border-radius:0.1rem}@supports not selector(#mobile-menu-icon:focus-visible::after){:host #mobile-menu-icon:focus::after{outline:2px dashed var(--wcs-primary);outline-offset:4px;border-radius:0.1rem}}:host #mobile-menu-icon:after{font-family:icons;font-size:24px;cursor:pointer;content:\"\\f198\";line-height:1;box-sizing:border-box}:host #mobile-menu-icon[data-mobile-open]:after{content:\"\\f129\"}:host .mobile-overlay{display:none}:host .mobile-overlay[data-mobile-open]{padding-top:calc(2 * var(--wcs-base-margin));padding-bottom:calc(2 * var(--wcs-base-margin));position:relative;top:0;left:0;right:0;display:block;z-index:9999;background-color:var(--wcs-white)}@media screen and (min-width: 576px){:host .container{margin:0 auto;max-width:var(--wcs-com-content-max-width)}:host .menu-bar{display:flex;align-items:center;height:100%;margin-left:50px}:host .menu-bar ::slotted(*:not(:first-child)){margin-left:40px}:host .menu-bar ::slotted(a:focus-visible){outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}@supports not selector(::slotted(a:focus-visible)){:host .menu-bar ::slotted(a:focus-within){outline:2px dashed var(--wcs-primary);outline-offset:0.1rem;border-radius:2px}}:host #mobile-menu-icon{display:none}:host .mobile-overlay{display:none !important}:host ::slotted(a){padding-top:unset;padding-bottom:unset;padding-left:unset}}";
6
6
 
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-dc4d96d4.js';
2
- import { c as isKeyup, d as isKeydown, e as isHomeKey, f as isEndKey } from './helpers-1d55b67f.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f282598.js';
2
+ import { c as isKeyup, d as isKeydown, e as isHomeKey, f as isEndKey } from './helpers-a21ae7d0.js';
3
3
 
4
4
  const WcsCounterSizeValues = ['m', 'l']; // as const keyword is used to infer and preserve the exact literal values of an array or object.
5
5
  function isWcsCounterSize(size) {
@@ -7,7 +7,7 @@ function isWcsCounterSize(size) {
7
7
  return WcsCounterSizeValues.includes(size);
8
8
  }
9
9
 
10
- const counterCss = "@keyframes spin-animation-up{0%{transform:translateY(0);transform-origin:center;opacity:1}50%{opacity:0.5}100%{transform:translateY(30px);transform-origin:center;opacity:1}}@keyframes spin-animation-down{0%{transform:translateY(0);transform-origin:center;opacity:1}50%{opacity:0.5}100%{transform:translateY(-30px);transform-origin:center;opacity:1}}:host{box-sizing:border-box;height:var(--wcs-counter-host-height);--wcs-input-icon-color:var(--wcs-text-medium);--wcs-internal-input-border-radius:calc(var(--wcs-border-radius) * 10);--wcs-internal-input-border-width:2px;font-family:var(--wcs-font-sans-serif);font-size:var(--wcs-counter-font-size);font-weight:bold;display:flex;align-items:center;padding:var(--wcs-counter-host-padding);width:fit-content;overflow:hidden;border-radius:var(--wcs-internal-input-border-radius);background-color:var(--wcs-light);border:var(--wcs-internal-input-border-width) solid var(--wcs-light);background-clip:padding-box}:host .counter-container{height:var(--wcs-counter-host-height);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 calc(2 * var(--wcs-base-margin));position:relative}:host .outliers{position:absolute}:host #outlier-down{top:calc(var(--wcs-counter-host-height) / 2 * -1)}:host #outlier-up{bottom:calc(var(--wcs-counter-host-height) / 2 * -1)}:host span.current-value:focus-visible{outline:2px dashed var(--wcs-primary);outline-offset:4px;border-radius:0.1rem}:host .animate-up{animation:spin-animation-up 0.175s ease-in-out}:host .animate-down{animation:spin-animation-down 0.175s ease-in-out}:host .hidden{opacity:0}:host([size=m]){--wcs-counter-host-padding:4px;--wcs-counter-host-height:var(--wcs-size-m);--wcs-counter-font-size:1rem}:host([size=l]){--wcs-counter-host-padding:8px;--wcs-counter-host-height:var(--wcs-size-l);--wcs-counter-font-size:1.0625rem}";
10
+ const counterCss = "@keyframes spin-animation-up{0%{transform:translateY(0);transform-origin:center;opacity:1}50%{opacity:0.5}100%{transform:translateY(30px);transform-origin:center;opacity:1}}@keyframes spin-animation-down{0%{transform:translateY(0);transform-origin:center;opacity:1}50%{opacity:0.5}100%{transform:translateY(-30px);transform-origin:center;opacity:1}}:host{box-sizing:border-box;height:var(--wcs-counter-host-height);--wcs-input-icon-color:var(--wcs-text-medium);--wcs-internal-input-border-radius:calc(var(--wcs-border-radius) * 10);--wcs-internal-input-border-width:2px;font-family:var(--wcs-font-sans-serif);font-size:var(--wcs-counter-font-size);font-weight:bold;display:flex;align-items:center;padding:var(--wcs-counter-host-padding);width:fit-content;overflow:hidden;border-radius:var(--wcs-internal-input-border-radius);background-color:var(--wcs-light);border:var(--wcs-internal-input-border-width) solid var(--wcs-light);background-clip:padding-box}:host .counter-container{height:var(--wcs-counter-host-height);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 calc(2 * var(--wcs-base-margin));position:relative}:host .outliers{position:absolute}:host #outlier-down{top:calc(var(--wcs-counter-host-height) / 2 * -1)}:host #outlier-up{bottom:calc(var(--wcs-counter-host-height) / 2 * -1)}:host span.current-value:focus-visible{outline:2px dashed var(--wcs-primary);outline-offset:4px;border-radius:0.1rem}:host .animate-up{animation:spin-animation-up 0.175s ease-in-out}:host .animate-down{animation:spin-animation-down 0.175s ease-in-out}:host [hidden]{opacity:0}:host([size=m]){--wcs-counter-host-padding:4px;--wcs-counter-host-height:var(--wcs-size-m);--wcs-counter-font-size:1rem}:host([size=l]){--wcs-counter-host-padding:8px;--wcs-counter-host-height:var(--wcs-size-l);--wcs-counter-font-size:1.0625rem}:host([disabled]){cursor:not-allowed;color:var(--wcs-text-medium)}";
11
11
 
12
12
  const ANIMATION_DURATION = 0.175; // seconds
13
13
  const Counter = class {
@@ -21,6 +21,8 @@ const Counter = class {
21
21
  .find(el => el.tagName === 'DIV');
22
22
  };
23
23
  this.handleDecrement = () => {
24
+ if (this.disabled)
25
+ return;
24
26
  if (this.min === undefined || this.value > this.min) {
25
27
  // we set animateRunning here to prevent the watch method on value prop from affecting the displayed value
26
28
  // before the animation runs.
@@ -31,6 +33,8 @@ const Counter = class {
31
33
  }
32
34
  };
33
35
  this.handleIncrement = () => {
36
+ if (this.disabled)
37
+ return;
34
38
  if (this.max === undefined || this.value < this.max) {
35
39
  // we set animateRunning here to prevent the watch method on value prop from affecting the displayed value
36
40
  // before the animation runs.
@@ -49,12 +53,12 @@ const Counter = class {
49
53
  .filter((span) => span.classList.contains('outliers'));
50
54
  counterContainer.classList.add('animate-' + direction);
51
55
  outliers.forEach((span) => {
52
- span.classList.remove('hidden');
56
+ span.hidden = false;
53
57
  });
54
58
  setTimeout(() => {
55
59
  counterContainer.classList.remove('animate-' + direction);
56
60
  outliers.forEach((span) => {
57
- span.classList.add('hidden');
61
+ span.hidden = true;
58
62
  });
59
63
  this.displayedValue = this.value;
60
64
  this.animateRunning = false;
@@ -62,6 +66,7 @@ const Counter = class {
62
66
  };
63
67
  this.size = 'm';
64
68
  this.label = undefined;
69
+ this.disabled = false;
65
70
  this.min = undefined;
66
71
  this.max = undefined;
67
72
  this.step = 1;
@@ -75,6 +80,9 @@ const Counter = class {
75
80
  this.size = "m"; // Default fallback value
76
81
  }
77
82
  }
83
+ async setAriaAttribute(attr, value) {
84
+ this.spinButton.setAttribute(attr, value);
85
+ }
78
86
  /**
79
87
  * Current value change => handle event and interval
80
88
  */
@@ -108,6 +116,8 @@ const Counter = class {
108
116
  }
109
117
  }
110
118
  onKeyDown(_event) {
119
+ if (this.disabled)
120
+ return;
111
121
  if (isKeyup(_event)) {
112
122
  _event.preventDefault();
113
123
  this.handleIncrement();
@@ -139,7 +149,7 @@ const Counter = class {
139
149
  });
140
150
  }
141
151
  render() {
142
- return (h(Host, null, h("wcs-button", { class: "wcs-primary", shape: "round", size: "s", tabindex: -1, onClick: () => this.handleDecrement(), onBlur: (event) => this.wcsBlur.emit(event), disabled: this.value === this.min }, h("wcs-mat-icon", { icon: "remove", size: "s" })), h("div", { class: "counter-container" }, h("span", { id: "outlier-down", class: "outliers hidden", "aria-hidden": "true" }, this.displayedValue - this.step), h("span", { tabindex: "0", role: "spinbutton", class: "current-value", onBlur: (event) => this.wcsBlur.emit(event), onKeyDown: (event) => this.onKeyDown(event), "aria-valuenow": this.value, "aria-valuetext": this.value, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-label": this.label }, this.displayedValue), h("span", { id: "outlier-up", class: "outliers hidden", "aria-hidden": "true" }, this.displayedValue + this.step)), h("wcs-button", { class: "wcs-primary", shape: "round", size: "s", tabindex: -1, onClick: () => this.handleIncrement(), onBlur: (event) => this.wcsBlur.emit(event), disabled: this.value === this.max }, h("wcs-mat-icon", { icon: "add", size: "s" }))));
152
+ return (h(Host, null, h("wcs-button", { class: "wcs-primary", shape: "round", size: "s", tabindex: -1, onClick: () => this.handleDecrement(), onBlur: (event) => this.wcsBlur.emit(event), disabled: this.disabled || this.value === this.min }, h("wcs-mat-icon", { icon: "remove", size: "s" })), h("div", { class: "counter-container" }, h("span", { id: "outlier-down", class: "outliers", hidden: true, "aria-hidden": "true" }, this.displayedValue - this.step), h("span", { tabindex: this.disabled ? -1 : 0, role: "spinbutton", ref: (el) => this.spinButton = el, class: "current-value", onBlur: (event) => this.wcsBlur.emit(event), onKeyDown: (event) => this.onKeyDown(event), "aria-disabled": this.disabled ? 'true' : null, "aria-valuenow": this.value, "aria-valuetext": this.value, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-label": this.label }, this.displayedValue), h("span", { id: "outlier-up", class: "outliers", hidden: true, "aria-hidden": "true" }, this.displayedValue + this.step)), h("wcs-button", { class: "wcs-primary", shape: "round", size: "s", tabindex: -1, onClick: () => this.handleIncrement(), onBlur: (event) => this.wcsBlur.emit(event), disabled: this.disabled || this.value === this.max }, h("wcs-mat-icon", { icon: "add", size: "s" }))));
143
153
  }
144
154
  static get delegatesFocus() { return true; }
145
155
  get el() { return getElement(this); }
@@ -1 +1 @@
1
- {"file":"wcs-counter.entry.js","mappings":"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","names":[],"sources":["./src/components/counter/counter-interface.ts","./src/components/counter/counter.scss?tag=wcs-counter&encapsulation=shadow","./src/components/counter/counter.tsx"],"sourcesContent":["import { WcsSize } from \"../../shared-types\";\n\nexport interface CounterChangeEventDetail {\n value: number;\n}\n\nexport const WcsCounterSizeValues = ['m', 'l'] as const; // as const keyword is used to infer and preserve the exact literal values of an array or object.\n\nexport type WcsCounterSize = Extract<WcsSize, typeof WcsCounterSizeValues[number]>;\n\nexport function isWcsCounterSize(size: string): size is WcsCounterSize {\n // @ts-ignore : ignore size type, as it is checked with WcsInputSizeValues\n return WcsCounterSizeValues.includes(size);\n}\n","@import '../../style/focus-outline.scss';\n\n@keyframes spin-animation-up {\n 0% {\n transform: translateY(0);\n transform-origin: center;\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n transform: translateY(30px);\n transform-origin: center;\n opacity: 1;\n }\n}\n\n@keyframes spin-animation-down {\n 0% {\n transform: translateY(0);\n transform-origin: center;\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n transform: translateY(-30px);\n transform-origin: center;\n opacity: 1;\n }\n}\n\n:host {\n box-sizing: border-box;\n height: var(--wcs-counter-host-height);\n --wcs-input-icon-color: var(--wcs-text-medium);\n --wcs-internal-input-border-radius: calc(var(--wcs-border-radius) * 10); // 80 px\n --wcs-internal-input-border-width: 2px;\n font-family: var(--wcs-font-sans-serif);\n font-size: var(--wcs-counter-font-size);\n font-weight: bold;\n display: flex;\n align-items: center;\n padding: var(--wcs-counter-host-padding);\n width: fit-content;\n overflow: hidden;\n border-radius: var(--wcs-internal-input-border-radius);\n background-color: var(--wcs-light);\n border: var(--wcs-internal-input-border-width) solid var(--wcs-light);\n background-clip: padding-box;\n\n .counter-container {\n height: var(--wcs-counter-host-height);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0 calc(2* var(--wcs-base-margin));\n position: relative;\n }\n\n .outliers {\n position: absolute;\n }\n\n #outlier-down {\n top: calc((var(--wcs-counter-host-height) / 2) * -1);\n }\n\n #outlier-up {\n bottom: calc((var(--wcs-counter-host-height) / 2) * -1);\n }\n\n span.current-value {\n &:focus-visible {\n @include focus-outline;\n }\n }\n\n .animate-up {\n animation: spin-animation-up 0.175s ease-in-out;\n }\n\n .animate-down {\n animation: spin-animation-down 0.175s ease-in-out;\n }\n\n .hidden {\n opacity: 0;\n }\n}\n\n:host([size='m']) { // Default\n --wcs-counter-host-padding: 4px;\n --wcs-counter-host-height: var(--wcs-size-m);\n --wcs-counter-font-size: 1rem;\n}\n\n:host([size='l']) {\n --wcs-counter-host-padding: 8px;\n --wcs-counter-host-height: var(--wcs-size-l);\n --wcs-counter-font-size: 1.0625rem;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport { isEndKey, isHomeKey, isKeydown, isKeyup } from '../../utils/helpers';\nimport { CounterChangeEventDetail, isWcsCounterSize, WcsCounterSize, WcsCounterSizeValues } from './counter-interface';\n\nconst ANIMATION_DURATION = 0.175 // seconds\n\n/**\n * Counter component, meant to be used for small range of values (e.g : 0 - 5).<br>\n * For larger or specific ranges, please use [wcs-input (type number)](.?path=/docs/components-input--documentation)\n */\n@Component({\n tag: 'wcs-counter',\n styleUrl: 'counter.scss',\n shadow: {\n delegatesFocus: true\n },\n})\nexport class Counter implements ComponentInterface {\n @Element() private el!: HTMLElement;\n\n /**\n * Specify the size (height) of the counter.\n */\n @Prop({reflect: true}) size: WcsCounterSize = 'm';\n\n /**\n * The label of the counter.<br/>\n * e.g. Number of passengers, train carriages, railroad tracks...\n */\n @Prop({mutable: false}) label!: string;\n\n /**\n * The minimum value of the counter.\n * If the value of the min attribute isn't set, then the element has no minimum value.\n */\n @Prop({mutable: true}) min?: number;\n\n /**\n * The maximum value of the counter.\n * If the value of the max attribute isn't set, then the element has no maximum value.\n */\n @Prop({mutable: true}) max?: number;\n\n /**\n * Defines by how much the counter will be incremented or decremented.\n */\n @Prop({mutable: true}) step: number = 1;\n\n /**\n * Emitted when the value of the counter has changed.\n */\n @Event() wcsChange!: EventEmitter<CounterChangeEventDetail>;\n\n /**\n * The current value of the counter.\n */\n @Prop({mutable: true}) value!: number;\n\n /**\n * Only for animation and display purpose\n */\n @State() private displayedValue: number;\n\n private animateRunning = false;\n\n /**\n * Emitted when the counter loses focus.\n */\n @Event() wcsBlur!: EventEmitter<FocusEvent>;\n\n componentWillLoad() {\n this.handleValueChange();\n\n if (!isWcsCounterSize(this.size)) {\n console.error(`Invalid size value for wcs-counter : \"${this.size}\". Must be one of \"${WcsCounterSizeValues.join(', ')}\"`);\n this.size = \"m\"; // Default fallback value\n }\n }\n\n /**\n * Current value change => handle event and interval\n */\n @Watch('value')\n valueChange(newVal: any, oldVal: any) {\n if(oldVal === newVal) return;\n\n this.handleValueChange();\n }\n\n private handleValueChange() {\n this.setMinimumIfValueIsUndefinedOrNull();\n this.ensureValueIsNotOutOfMinMax();\n this.updateDisplayValueIfNoAnimationRunning();\n }\n\n private updateDisplayValueIfNoAnimationRunning() {\n if (!this.animateRunning) {\n this.displayedValue = this.value;\n }\n }\n\n private ensureValueIsNotOutOfMinMax() {\n if (this.max !== undefined && this.value > this.max) {\n this.value = this.max;\n } else if (this.min !== undefined && this.value < this.min) {\n this.value = this.min;\n }\n }\n\n private setMinimumIfValueIsUndefinedOrNull() {\n if (this.value === undefined || this.value === null) {\n this.value = this.min ?? 0;\n }\n }\n\n onKeyDown(_event: KeyboardEvent) {\n if (isKeyup(_event)) {\n _event.preventDefault();\n this.handleIncrement()\n }\n if (isKeydown(_event)) {\n _event.preventDefault();\n this.handleDecrement()\n }\n if (isHomeKey(_event)) {\n _event.preventDefault();\n if (this.min != null) {\n this.value = this.min;\n this.displayedValue = this.value;\n this.notifyChange();\n }\n }\n if (isEndKey(_event)) {\n _event.preventDefault();\n if (this.max != null) {\n this.value = this.max;\n this.displayedValue = this.value;\n this.notifyChange();\n }\n }\n }\n\n private notifyChange() {\n this.wcsChange.emit({\n value: this.value\n });\n }\n \n private getCounterContainer = (): HTMLDivElement => {\n return Array.from(this.el.shadowRoot.children)\n .find(el => el.tagName === 'DIV') as HTMLDivElement;\n }\n\n private handleDecrement = () => {\n if (this.min === undefined || this.value > this.min) {\n // we set animateRunning here to prevent the watch method on value prop from affecting the displayed value\n // before the animation runs.\n this.animateRunning = true; \n this.value -= this.step;\n this.notifyChange();\n this.animate('up');\n }\n };\n\n private handleIncrement = () => {\n if (this.max === undefined || this.value < this.max) {\n // we set animateRunning here to prevent the watch method on value prop from affecting the displayed value\n // before the animation runs.\n this.animateRunning = true; \n this.value += this.step;\n this.notifyChange();\n this.animate('down');\n }\n };\n\n private animate = (direction: 'up' | 'down'): void => {\n // In case someone call animate function, we want ensured that animateRunning is set to true to prevent other \n // method to mutate the displayedValue.\n this.animateRunning = true; \n\n const counterContainer = this.getCounterContainer();\n const outliers = Array.from(counterContainer.children)\n .filter((span: HTMLSpanElement) => span.classList.contains('outliers'));\n\n counterContainer.classList.add('animate-' + direction);\n outliers.forEach((span: HTMLSpanElement) => {\n span.classList.remove('hidden')\n });\n setTimeout(() => {\n counterContainer.classList.remove('animate-' + direction);\n outliers.forEach((span: HTMLSpanElement) => {\n span.classList.add('hidden')\n });\n this.displayedValue = this.value;\n\n this.animateRunning = false;\n }, 1000 * ANIMATION_DURATION - 20);\n }\n\n render() {\n return (\n <Host>\n <wcs-button class=\"wcs-primary\"\n shape=\"round\"\n size=\"s\"\n tabindex={-1}\n onClick={() => this.handleDecrement()}\n onBlur={(event) => this.wcsBlur.emit(event)}\n disabled={this.value === this.min}>\n <wcs-mat-icon icon=\"remove\" size=\"s\"></wcs-mat-icon>\n </wcs-button>\n <div class=\"counter-container\">\n <span id=\"outlier-down\" class=\"outliers hidden\"\n aria-hidden=\"true\">{this.displayedValue - this.step}</span>\n <span tabindex=\"0\"\n role=\"spinbutton\"\n class=\"current-value\"\n onBlur={(event) => this.wcsBlur.emit(event)}\n onKeyDown={(event) => this.onKeyDown(event)}\n aria-valuenow={this.value}\n aria-valuetext={this.value}\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n aria-label={this.label}>{this.displayedValue}</span>\n <span id=\"outlier-up\" class=\"outliers hidden\"\n aria-hidden=\"true\">{this.displayedValue + this.step}</span>\n </div>\n <wcs-button class=\"wcs-primary\"\n shape=\"round\"\n size=\"s\"\n tabindex={-1}\n onClick={() => this.handleIncrement()}\n onBlur={(event) => this.wcsBlur.emit(event)}\n disabled={this.value === this.max}>\n <wcs-mat-icon icon=\"add\" size=\"s\"></wcs-mat-icon>\n </wcs-button>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"wcs-counter.entry.js","mappings":";;;AAMO,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAU,CAAC;SAIxC,gBAAgB,CAAC,IAAY;;EAEzC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/C;;ACbA,MAAM,UAAU,GAAG,g4DAAg4D;;ACgBn5D,MAAM,kBAAkB,GAAG,KAAK,CAAA;MAanB,OAAO;;;;;IAoDR,mBAAc,GAAG,KAAK,CAAC;IA4FvB,wBAAmB,GAAG;MAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;SACzC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,CAAmB,CAAC;KAC3D,CAAA;IAEO,oBAAe,GAAG;MACtB,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO;MAC1B,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;;;QAGjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;OACtB;KACJ,CAAC;IAEM,oBAAe,GAAG;MACtB,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO;MAC1B,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;;;QAGjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;OACxB;KACJ,CAAC;IAEM,YAAO,GAAG,CAAC,SAAwB;;;MAGvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;MAE3B,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;MACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACjD,MAAM,CAAC,CAAC,IAAqB,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;MAE5E,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;MACvD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAqB;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;OACvB,CAAC,CAAC;MACH,UAAU,CAAC;QACP,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;QAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAqB;UACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;OAC/B,EAAE,IAAI,GAAG,kBAAkB,GAAG,EAAE,CAAC,CAAC;KACtC,CAAA;gBA5L6C,GAAG;;oBAW9B,KAAK;;;gBAiBc,CAAC;;;;EAwBvC,iBAAiB;IACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAEzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;MAC9B,OAAO,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,IAAI,sBAAsB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;MAC1H,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;KACnB;GACJ;EAGD,MAAM,gBAAgB,CAAC,IAAuB,EAAE,KAAa;IACzD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC7C;;;;EAMD,WAAW,CAAC,MAAW,EAAE,MAAW;IAChC,IAAG,MAAM,KAAK,MAAM;MAAE,OAAO;IAE7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;GAC5B;EAEO,iBAAiB;IACrB,IAAI,CAAC,kCAAkC,EAAE,CAAC;IAC1C,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACnC,IAAI,CAAC,sCAAsC,EAAE,CAAC;GACjD;EAEO,sCAAsC;IAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;MACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;KACpC;GACJ;EAEO,2BAA2B;IAC/B,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;MACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;KACzB;SAAM,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;MACxD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;KACzB;GACJ;EAEO,kCAAkC;;IACtC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;MACjD,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,CAAC;KAC9B;GACJ;EAED,SAAS,CAAC,MAAqB;IAC3B,IAAI,IAAI,CAAC,QAAQ;MAAE,OAAO;IAE1B,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;MACjB,MAAM,CAAC,cAAc,EAAE,CAAC;MACxB,IAAI,CAAC,eAAe,EAAE,CAAA;KACzB;IACD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;MACnB,MAAM,CAAC,cAAc,EAAE,CAAC;MACxB,IAAI,CAAC,eAAe,EAAE,CAAA;KACzB;IACD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;MACnB,MAAM,CAAC,cAAc,EAAE,CAAC;MACxB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;OACvB;KACJ;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;MAClB,MAAM,CAAC,cAAc,EAAE,CAAC;MACxB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;OACvB;KACJ;GACJ;EAEO,YAAY;IAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;MAChB,KAAK,EAAE,IAAI,CAAC,KAAK;KACpB,CAAC,CAAC;GACN;EAuDD,MAAM;IACF,QACI,EAAC,IAAI,QACD,kBAAY,KAAK,EAAC,aAAa,EACnB,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,GAAG,EACR,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,EACrC,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,IAC1D,oBAAc,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,GAAG,GAAgB,CAC3C,EACb,WAAK,KAAK,EAAC,mBAAmB,IAC1B,YAAM,EAAE,EAAC,cAAc,EACjB,KAAK,EAAC,UAAU,EAChB,MAAM,uBACM,MAAM,IAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAQ,EACjE,YAAM,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,IAAI,EAAC,YAAY,EACjB,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,GAAG,EAAE,EACjC,KAAK,EAAC,eAAe,EACrB,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3C,SAAS,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mBAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,mBAC7B,IAAI,CAAC,KAAK,oBACT,IAAI,CAAC,KAAK,mBACX,IAAI,CAAC,GAAG,mBACR,IAAI,CAAC,GAAG,gBACX,IAAI,CAAC,KAAK,IAAG,IAAI,CAAC,cAAc,CAAQ,EAC1D,YAAM,EAAE,EAAC,YAAY,EACf,KAAK,EAAC,UAAU,EAChB,MAAM,uBACM,MAAM,IAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAQ,CAC/D,EACN,kBAAY,KAAK,EAAC,aAAa,EACnB,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,GAAG,EACR,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,EACrC,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,IAC1D,oBAAc,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,GAAgB,CACxC,CACV,EACT;GACL;;;;;;;;;;;","names":[],"sources":["./src/components/counter/counter-interface.ts","./src/components/counter/counter.scss?tag=wcs-counter&encapsulation=shadow","./src/components/counter/counter.tsx"],"sourcesContent":["import { WcsSize } from \"../../shared-types\";\n\nexport interface CounterChangeEventDetail {\n value: number;\n}\n\nexport const WcsCounterSizeValues = ['m', 'l'] as const; // as const keyword is used to infer and preserve the exact literal values of an array or object.\n\nexport type WcsCounterSize = Extract<WcsSize, typeof WcsCounterSizeValues[number]>;\n\nexport function isWcsCounterSize(size: string): size is WcsCounterSize {\n // @ts-ignore : ignore size type, as it is checked with WcsInputSizeValues\n return WcsCounterSizeValues.includes(size);\n}\n","@import '../../style/focus-outline.scss';\n\n@keyframes spin-animation-up {\n 0% {\n transform: translateY(0);\n transform-origin: center;\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n transform: translateY(30px);\n transform-origin: center;\n opacity: 1;\n }\n}\n\n@keyframes spin-animation-down {\n 0% {\n transform: translateY(0);\n transform-origin: center;\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n transform: translateY(-30px);\n transform-origin: center;\n opacity: 1;\n }\n}\n\n:host {\n box-sizing: border-box;\n height: var(--wcs-counter-host-height);\n --wcs-input-icon-color: var(--wcs-text-medium);\n --wcs-internal-input-border-radius: calc(var(--wcs-border-radius) * 10); // 80 px\n --wcs-internal-input-border-width: 2px;\n font-family: var(--wcs-font-sans-serif);\n font-size: var(--wcs-counter-font-size);\n font-weight: bold;\n display: flex;\n align-items: center;\n padding: var(--wcs-counter-host-padding);\n width: fit-content;\n overflow: hidden;\n border-radius: var(--wcs-internal-input-border-radius);\n background-color: var(--wcs-light);\n border: var(--wcs-internal-input-border-width) solid var(--wcs-light);\n background-clip: padding-box;\n\n .counter-container {\n height: var(--wcs-counter-host-height);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin: 0 calc(2* var(--wcs-base-margin));\n position: relative;\n }\n\n .outliers {\n position: absolute;\n }\n\n #outlier-down {\n top: calc((var(--wcs-counter-host-height) / 2) * -1);\n }\n\n #outlier-up {\n bottom: calc((var(--wcs-counter-host-height) / 2) * -1);\n }\n\n span.current-value {\n &:focus-visible {\n @include focus-outline;\n }\n }\n\n .animate-up {\n animation: spin-animation-up 0.175s ease-in-out;\n }\n\n .animate-down {\n animation: spin-animation-down 0.175s ease-in-out;\n }\n\n [hidden] {\n opacity: 0;\n }\n}\n\n:host([size='m']) { // Default\n --wcs-counter-host-padding: 4px;\n --wcs-counter-host-height: var(--wcs-size-m);\n --wcs-counter-font-size: 1rem;\n}\n\n:host([size='l']) {\n --wcs-counter-host-padding: 8px;\n --wcs-counter-host-height: var(--wcs-size-l);\n --wcs-counter-font-size: 1.0625rem;\n}\n\n:host([disabled]) {\n cursor: not-allowed;\n color: var(--wcs-text-medium);\n}","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host, Method,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport { isEndKey, isHomeKey, isKeydown, isKeyup } from '../../utils/helpers';\nimport { CounterChangeEventDetail, isWcsCounterSize, WcsCounterSize, WcsCounterSizeValues } from './counter-interface';\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst ANIMATION_DURATION = 0.175 // seconds\n\n/**\n * Counter component, meant to be used for small range of values (e.g : 0 - 5).<br>\n * For larger or specific ranges, please use [wcs-input (type number)](.?path=/docs/components-input--documentation)\n */\n@Component({\n tag: 'wcs-counter',\n styleUrl: 'counter.scss',\n shadow: {\n delegatesFocus: true\n },\n})\nexport class Counter implements ComponentInterface, MutableAriaAttribute {\n @Element() private el!: HTMLElement;\n private spinButton!: HTMLSpanElement;\n\n /**\n * Specify the size (height) of the counter.\n */\n @Prop({reflect: true}) size: WcsCounterSize = 'm';\n\n /**\n * The label of the counter.<br/>\n * e.g. Number of passengers, train carriages, railroad tracks...\n */\n @Prop({mutable: false}) label!: string;\n\n /**\n * Specify whether the counter is disabled or not.\n */\n @Prop() disabled = false;\n\n /**\n * The minimum value of the counter.\n * If the value of the min attribute isn't set, then the element has no minimum value.\n */\n @Prop({mutable: true}) min?: number;\n\n /**\n * The maximum value of the counter.\n * If the value of the max attribute isn't set, then the element has no maximum value.\n */\n @Prop({mutable: true}) max?: number;\n\n /**\n * Defines by how much the counter will be incremented or decremented.\n */\n @Prop({mutable: true}) step: number = 1;\n\n /**\n * Emitted when the value of the counter has changed.\n */\n @Event() wcsChange!: EventEmitter<CounterChangeEventDetail>;\n\n /**\n * The current value of the counter.\n */\n @Prop({mutable: true}) value!: number;\n\n /**\n * Only for animation and display purpose\n */\n @State() private displayedValue: number;\n\n private animateRunning = false;\n\n /**\n * Emitted when the counter loses focus.\n */\n @Event() wcsBlur!: EventEmitter<FocusEvent>;\n\n componentWillLoad() {\n this.handleValueChange();\n\n if (!isWcsCounterSize(this.size)) {\n console.error(`Invalid size value for wcs-counter : \"${this.size}\". Must be one of \"${WcsCounterSizeValues.join(', ')}\"`);\n this.size = \"m\"; // Default fallback value\n }\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string) {\n this.spinButton.setAttribute(attr, value);\n }\n \n /**\n * Current value change => handle event and interval\n */\n @Watch('value')\n valueChange(newVal: any, oldVal: any) {\n if(oldVal === newVal) return;\n\n this.handleValueChange();\n }\n\n private handleValueChange() {\n this.setMinimumIfValueIsUndefinedOrNull();\n this.ensureValueIsNotOutOfMinMax();\n this.updateDisplayValueIfNoAnimationRunning();\n }\n\n private updateDisplayValueIfNoAnimationRunning() {\n if (!this.animateRunning) {\n this.displayedValue = this.value;\n }\n }\n\n private ensureValueIsNotOutOfMinMax() {\n if (this.max !== undefined && this.value > this.max) {\n this.value = this.max;\n } else if (this.min !== undefined && this.value < this.min) {\n this.value = this.min;\n }\n }\n\n private setMinimumIfValueIsUndefinedOrNull() {\n if (this.value === undefined || this.value === null) {\n this.value = this.min ?? 0;\n }\n }\n\n onKeyDown(_event: KeyboardEvent) {\n if (this.disabled) return; \n \n if (isKeyup(_event)) {\n _event.preventDefault();\n this.handleIncrement()\n }\n if (isKeydown(_event)) {\n _event.preventDefault();\n this.handleDecrement()\n }\n if (isHomeKey(_event)) {\n _event.preventDefault();\n if (this.min != null) {\n this.value = this.min;\n this.displayedValue = this.value;\n this.notifyChange();\n }\n }\n if (isEndKey(_event)) {\n _event.preventDefault();\n if (this.max != null) {\n this.value = this.max;\n this.displayedValue = this.value;\n this.notifyChange();\n }\n }\n }\n\n private notifyChange() {\n this.wcsChange.emit({\n value: this.value\n });\n }\n \n private getCounterContainer = (): HTMLDivElement => {\n return Array.from(this.el.shadowRoot.children)\n .find(el => el.tagName === 'DIV') as HTMLDivElement;\n }\n\n private handleDecrement = () => {\n if (this.disabled) return;\n if (this.min === undefined || this.value > this.min) {\n // we set animateRunning here to prevent the watch method on value prop from affecting the displayed value\n // before the animation runs.\n this.animateRunning = true; \n this.value -= this.step;\n this.notifyChange();\n this.animate('up');\n }\n };\n\n private handleIncrement = () => {\n if (this.disabled) return;\n if (this.max === undefined || this.value < this.max) {\n // we set animateRunning here to prevent the watch method on value prop from affecting the displayed value\n // before the animation runs.\n this.animateRunning = true; \n this.value += this.step;\n this.notifyChange();\n this.animate('down');\n }\n };\n\n private animate = (direction: 'up' | 'down'): void => {\n // In case someone call animate function, we want ensured that animateRunning is set to true to prevent other \n // method to mutate the displayedValue.\n this.animateRunning = true; \n\n const counterContainer = this.getCounterContainer();\n const outliers = Array.from(counterContainer.children)\n .filter((span: HTMLSpanElement) => span.classList.contains('outliers'));\n\n counterContainer.classList.add('animate-' + direction);\n outliers.forEach((span: HTMLSpanElement) => {\n span.hidden = false;\n });\n setTimeout(() => {\n counterContainer.classList.remove('animate-' + direction);\n outliers.forEach((span: HTMLSpanElement) => {\n span.hidden = true;\n });\n this.displayedValue = this.value;\n\n this.animateRunning = false;\n }, 1000 * ANIMATION_DURATION - 20);\n }\n\n render() {\n return (\n <Host>\n <wcs-button class=\"wcs-primary\"\n shape=\"round\"\n size=\"s\"\n tabindex={-1}\n onClick={() => this.handleDecrement()}\n onBlur={(event) => this.wcsBlur.emit(event)}\n disabled={this.disabled || this.value === this.min}>\n <wcs-mat-icon icon=\"remove\" size=\"s\"></wcs-mat-icon>\n </wcs-button>\n <div class=\"counter-container\">\n <span id=\"outlier-down\"\n class=\"outliers\"\n hidden\n aria-hidden=\"true\">{this.displayedValue - this.step}</span>\n <span tabindex={this.disabled ? -1 : 0}\n role=\"spinbutton\"\n ref={(el) => this.spinButton = el}\n class=\"current-value\"\n onBlur={(event) => this.wcsBlur.emit(event)}\n onKeyDown={(event) => this.onKeyDown(event)}\n aria-disabled={this.disabled ? 'true' : null}\n aria-valuenow={this.value}\n aria-valuetext={this.value}\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n aria-label={this.label}>{this.displayedValue}</span>\n <span id=\"outlier-up\" \n class=\"outliers\"\n hidden\n aria-hidden=\"true\">{this.displayedValue + this.step}</span>\n </div>\n <wcs-button class=\"wcs-primary\"\n shape=\"round\"\n size=\"s\"\n tabindex={-1}\n onClick={() => this.handleIncrement()}\n onBlur={(event) => this.wcsBlur.emit(event)}\n disabled={this.disabled || this.value === this.max}>\n <wcs-mat-icon icon=\"add\" size=\"s\"></wcs-mat-icon>\n </wcs-button>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-dc4d96d4.js';
1
+ import { r as registerInstance, h, H as Host } from './index-4f282598.js';
2
2
 
3
3
  const dividerCss = ":host{display:block;border-bottom:solid 1px var(--wcs-text-light)}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-dc4d96d4.js';
1
+ import { r as registerInstance, h, H as Host } from './index-4f282598.js';
2
2
 
3
3
  const dropdownDividerCss = ":host{display:block;margin:var(--wcs-base-margin) calc(var(--wcs-base-margin) * 2);overflow:hidden;border-top:1px solid var(--wcs-text-light);width:calc(100% - var(--wcs-base-margin) * 4)}";
4
4
 
@@ -1 +1 @@
1
- {"file":"wcs-dropdown-divider.entry.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,8LAA8L;;MCO5M,eAAe;;;;EACxB,MAAM;IACF,QACI,EAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAQ,EAC3B;GACL;;;;;;","names":[],"sources":["./src/components/dropdown-divider/dropdown-divider.scss?tag=wcs-dropdown-divider&encapsulation=shadow","./src/components/dropdown-divider/dropdown-divider.tsx"],"sourcesContent":[":host {\n display: block;\n margin: var(--wcs-base-margin) calc(var(--wcs-base-margin) * 2);\n overflow: hidden;\n border-top: 1px solid var(--wcs-text-light);\n width: calc(100% - calc(var(--wcs-base-margin) * 4));\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'wcs-dropdown-divider',\n styleUrl: 'dropdown-divider.scss',\n shadow: true\n})\nexport class DropdownDivider {\n render() {\n return (\n <Host slot=\"item\"></Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"wcs-dropdown-divider.entry.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,8LAA8L;;MCU5M,eAAe;;;;EACxB,MAAM;IACF,QACI,EAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAQ,EAC3B;GACL;;;;;;","names":[],"sources":["./src/components/dropdown-divider/dropdown-divider.scss?tag=wcs-dropdown-divider&encapsulation=shadow","./src/components/dropdown-divider/dropdown-divider.tsx"],"sourcesContent":[":host {\n display: block;\n margin: var(--wcs-base-margin) calc(var(--wcs-base-margin) * 2);\n overflow: hidden;\n border-top: 1px solid var(--wcs-text-light);\n width: calc(100% - calc(var(--wcs-base-margin) * 4));\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * You can add a divider between groups of items\n */\n@Component({\n tag: 'wcs-dropdown-divider',\n styleUrl: 'dropdown-divider.scss',\n shadow: true\n})\nexport class DropdownDivider {\n render() {\n return (\n <Host slot=\"item\"></Host>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-dc4d96d4.js';
1
+ import { r as registerInstance, h, H as Host } from './index-4f282598.js';
2
2
 
3
3
  const dropdownHeaderCss = ":host{display:block;padding:calc(var(--wcs-padding) / 2) var(--wcs-padding);font-size:0.75rem;text-transform:uppercase;color:var(--wcs-text-medium);white-space:nowrap}";
4
4
 
@@ -1 +1 @@
1
- {"file":"wcs-dropdown-header.entry.js","mappings":";;AAAA,MAAM,iBAAiB,GAAG,yKAAyK;;MCOtL,cAAc;;;;EAEvB,MAAM;IACF,QACI,EAAC,IAAI,IAAC,IAAI,EAAC,MAAM,IACb,eAAO,CACJ,EACT;GACL;;;;;;","names":[],"sources":["./src/components/dropdown-header/dropdown-header.scss?tag=wcs-dropdown-header&encapsulation=shadow","./src/components/dropdown-header/dropdown-header.tsx"],"sourcesContent":[":host {\n display: block;\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n font-size: 0.75rem;\n text-transform: uppercase;\n color: var(--wcs-text-medium);\n white-space: nowrap;\n}\n\n\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'wcs-dropdown-header',\n styleUrl: 'dropdown-header.scss',\n shadow: true\n})\nexport class DropdownHeader {\n\n render() {\n return (\n <Host slot=\"item\">\n <slot/>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"wcs-dropdown-header.entry.js","mappings":";;AAAA,MAAM,iBAAiB,GAAG,yKAAyK;;MCYtL,cAAc;;;;EAEvB,MAAM;IACF,QACI,EAAC,IAAI,IAAC,IAAI,EAAC,MAAM,IACb,eAAO,CACJ,EACT;GACL;;;;;;","names":[],"sources":["./src/components/dropdown-header/dropdown-header.scss?tag=wcs-dropdown-header&encapsulation=shadow","./src/components/dropdown-header/dropdown-header.tsx"],"sourcesContent":[":host {\n display: block;\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n font-size: 0.75rem;\n text-transform: uppercase;\n color: var(--wcs-text-medium);\n white-space: nowrap;\n}\n\n\n","import { Component, h, Host } from '@stencil/core';\n\n\n/**\n * You can add `wcs-dropdown-header` before a group of items to describe it\n * @slot <no-name> the slot that contains the header's name\n */\n@Component({\n tag: 'wcs-dropdown-header',\n styleUrl: 'dropdown-header.scss',\n shadow: true\n})\nexport class DropdownHeader {\n\n render() {\n return (\n <Host slot=\"item\">\n <slot/>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-dc4d96d4.js';
2
- import { i as isSpaceKey, a as isEnterKey } from './helpers-1d55b67f.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-4f282598.js';
2
+ import { i as isSpaceKey, a as isEnterKey } from './helpers-a21ae7d0.js';
3
3
 
4
4
  const dropdownItemCss = "wcs-dropdown-item{display:block;padding:0 var(--wcs-padding);font-weight:500;cursor:pointer;height:42px;line-height:42px}wcs-dropdown-item:hover,wcs-dropdown-item:focus{color:var(--wcs-primary);background-color:var(--wcs-light)}";
5
5
 
@@ -1 +1 @@
1
- {"file":"wcs-dropdown-item.entry.js","mappings":";;;AAAA,MAAM,eAAe,GAAG,sOAAsO;;MCOjP,YAAY;;;;;EAQrB,WAAW,CAAC,CAAa;IACrB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;GACpC;EAGD,SAAS,CAAC,GAAkB;IACxB,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;MACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;KACpC;GACJ;EAED,MAAM;IACF,QACI,EAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,IAC1B,eAAO,CACJ,EACT;GACL;;;;;;","names":[],"sources":["./src/components/dropdown-item/dropdown-item.scss?tag=wcs-dropdown-item","./src/components/dropdown-item/dropdown-item.tsx"],"sourcesContent":["wcs-dropdown-item {\n display: block;\n padding: 0 var(--wcs-padding);\n font-weight: 500;\n cursor: pointer;\n height: 42px;\n line-height: 42px;\n}\n\nwcs-dropdown-item:hover, wcs-dropdown-item:focus {\n color: var(--wcs-primary);\n background-color: var(--wcs-light);\n}\n","import { Component, ComponentInterface, EventEmitter, h, Event, Listen, Host } from '@stencil/core';\nimport { isEnterKey, isSpaceKey } from \"../../utils/helpers\";\n\n@Component({\n tag: 'wcs-dropdown-item',\n styleUrl: 'dropdown-item.scss'\n})\nexport class DropdownItem implements ComponentInterface {\n @Event({\n eventName: 'wcsDropdownItemClick',\n })\n wcsDropdownItemClick: EventEmitter<void>;\n\n\n @Listen('mousedown')\n onMouseDown(_: MouseEvent): void {\n this.wcsDropdownItemClick.emit();\n }\n\n @Listen('keydown')\n onKeyDown(evt: KeyboardEvent): void {\n if (isSpaceKey(evt) || isEnterKey(evt)) {\n this.wcsDropdownItemClick.emit();\n }\n }\n\n render() {\n return (\n <Host slot=\"item\" tabindex=\"0\">\n <slot/>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"wcs-dropdown-item.entry.js","mappings":";;;AAAA,MAAM,eAAe,GAAG,sOAAsO;;MCWjP,YAAY;;;;;EAWrB,WAAW,CAAC,CAAa;IACrB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;GACpC;EAGD,SAAS,CAAC,GAAkB;IACxB,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;MACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;KACpC;GACJ;EAED,MAAM;IACF,QACI,EAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,GAAG,IAC1B,eAAO,CACJ,EACT;GACL;;;;;;","names":[],"sources":["./src/components/dropdown-item/dropdown-item.scss?tag=wcs-dropdown-item","./src/components/dropdown-item/dropdown-item.tsx"],"sourcesContent":["wcs-dropdown-item {\n display: block;\n padding: 0 var(--wcs-padding);\n font-weight: 500;\n cursor: pointer;\n height: 42px;\n line-height: 42px;\n}\n\nwcs-dropdown-item:hover, wcs-dropdown-item:focus {\n color: var(--wcs-primary);\n background-color: var(--wcs-light);\n}\n","import { Component, ComponentInterface, EventEmitter, h, Event, Listen, Host } from '@stencil/core';\nimport { isEnterKey, isSpaceKey } from \"../../utils/helpers\";\n\n/**\n * You must add `wcs-dropdown-item` to `wcs-dropdown`\n * @slot <no-name> the slot that contains the item's name\n */\n@Component({\n tag: 'wcs-dropdown-item',\n styleUrl: 'dropdown-item.scss'\n})\nexport class DropdownItem implements ComponentInterface {\n /**\n * Event emitted when the dropdown item is clicked\n */\n @Event({\n eventName: 'wcsDropdownItemClick',\n })\n wcsDropdownItemClick: EventEmitter<void>;\n\n\n @Listen('mousedown')\n onMouseDown(_: MouseEvent): void {\n this.wcsDropdownItemClick.emit();\n }\n\n @Listen('keydown')\n onKeyDown(evt: KeyboardEvent): void {\n if (isSpaceKey(evt) || isEnterKey(evt)) {\n this.wcsDropdownItemClick.emit();\n }\n }\n\n render() {\n return (\n <Host slot=\"item\" tabindex=\"0\">\n <slot/>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,10 +1,11 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-dc4d96d4.js';
2
- import { S as SelectArrow } from './select-arrow-81d069f7.js';
3
- import { g as clickTargetIsElementOrChildren, d as isKeydown, c as isKeyup, b as isEscapeKey } from './helpers-1d55b67f.js';
4
- import { i as isElementFocused } from './accessibility-ffa12842.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-4f282598.js';
2
+ import { S as SelectArrow } from './select-arrow-28e8687b.js';
3
+ import { i as isWcsButtonSize, W as WcsButtonSizeValues } from './button-interface-c21c265f.js';
4
+ import { g as clickTargetIsElementOrChildren, d as isKeydown, c as isKeyup, b as isEscapeKey } from './helpers-a21ae7d0.js';
5
+ import { i as isElementFocused } from './accessibility-64feea8a.js';
5
6
  import { c as createPopper } from './popper-c7cca1bc.js';
6
7
 
7
- const dropdownCss = ":host{display:flex}wcs-button{--wcs-button-padding:8px 10px 8px 16px !important}:host([no-arrow]) wcs-button{--wcs-button-padding:8px 16px 8px 16px !important}:host([shape=small]) wcs-button{--wcs-button-padding:2px 10px 2px 16px !important}:host([shape=small][no-arrow]) wcs-button{--wcs-button-padding:2px 16px 2px 16px !important}.wcs-button-content-wrapper{display:flex}.popover{display:none;border:1px solid #d7d7d7;border-radius:var(--wcs-border-radius);background-color:var(--wcs-white);z-index:9999}.show{display:block}.container{border-radius:inherit;overflow:hidden;padding:calc(var(--wcs-padding) / 2) 0;background-color:var(--wcs-white)}#arrow,#arrow::before{position:absolute;width:8px;height:8px;background:inherit;border:solid 1px #d7d7d7}#arrow{visibility:hidden;z-index:-1}#arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}.popover[data-popper-placement^=top]>#arrow{bottom:-5px}.popover[data-popper-placement^=bottom]>#arrow{top:-6px}.popover[data-popper-placement^=left]>#arrow{right:-4px}.popover[data-popper-placement^=right]>#arrow{left:-6px}";
8
+ const dropdownCss = ":host{display:flex}wcs-button{--wcs-button-padding:8px 10px 8px 16px !important;height:fit-content}:host([no-arrow]) wcs-button{--wcs-button-padding:8px 16px 8px 16px !important}:host([size=s][no-arrow]) wcs-button{--wcs-button-padding:var(--wcs-padding-s) var(--wcs-padding-m) !important}:host([size=s]) wcs-button{--wcs-button-padding:var(--wcs-padding-s) calc(6px - var(--wcs-padding-s)) var(--wcs-padding-s) var(--wcs-padding-m) !important}.wcs-button-content-wrapper{display:flex}.popover{display:none;border:1px solid #d7d7d7;border-radius:var(--wcs-border-radius);background-color:var(--wcs-white);z-index:9999}.show{display:block}.container{border-radius:inherit;overflow:hidden;padding:calc(var(--wcs-padding) / 2) 0;background-color:var(--wcs-white)}:host(:not([mode=plain])) svg g path:first-of-type{fill:var(--wcs-primary) !important}#arrow,#arrow::before{position:absolute;width:8px;height:8px;background:inherit;border:solid 1px #d7d7d7}#arrow{visibility:hidden;z-index:-1}#arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}#is-empty{display:block;width:20ch;padding:0 var(--wcs-padding)}.popover[data-popper-placement^=top]>#arrow{bottom:-5px}.popover[data-popper-placement^=bottom]>#arrow{top:-6px}.popover[data-popper-placement^=left]>#arrow{right:-4px}.popover[data-popper-placement^=right]>#arrow{left:-6px}";
8
9
 
9
10
  const Dropdown = class {
10
11
  constructor(hostRef) {
@@ -12,6 +13,7 @@ const Dropdown = class {
12
13
  this.noArrow = false;
13
14
  this.mode = 'stroked';
14
15
  this.shape = 'normal';
16
+ this.size = 'm';
15
17
  this.disabled = false;
16
18
  this.placement = 'bottom-end';
17
19
  this.expanded = false;
@@ -20,6 +22,10 @@ const Dropdown = class {
20
22
  this.popper.setOptions(Object.assign(Object.assign({}, this.popper.state.options), { placement: this.placement })).then(_ => this.popper.update());
21
23
  }
22
24
  componentDidLoad() {
25
+ if (!isWcsButtonSize(this.size)) {
26
+ console.error(`Invalid size value for wcs-dropdown : "${this.size}". Must be one of "${WcsButtonSizeValues.join(', ')}"`);
27
+ this.size = "m"; // Default fallback value
28
+ }
23
29
  const wcsButtonElement = this.el.shadowRoot.querySelector('wcs-button');
24
30
  const buttonWrapper = wcsButtonElement.shadowRoot.querySelector('button');
25
31
  this.buttonTextColor = window.getComputedStyle(buttonWrapper).color;
@@ -106,7 +112,7 @@ const Dropdown = class {
106
112
  }
107
113
  }
108
114
  render() {
109
- return (h(Host, null, h("wcs-button", { mode: this.mode, shape: this.shape, disabled: this.disabled, onClick: ($event) => this.onButtonClick($event) }, h("div", { class: "wcs-button-content-wrapper" }, h("slot", { name: "placeholder" }), this.noArrow ? null : (h(SelectArrow, { up: this.expanded })))), h("div", { class: (this.expanded ? 'show ' : '') + 'popover' }, h("div", { id: "arrow", "data-popper-arrow": true }), h("div", { class: "container" }, h("slot", { name: "item" })))));
115
+ return (h(Host, null, h("wcs-button", { mode: this.mode, shape: this.shape, disabled: this.disabled, size: this.size, onClick: ($event) => this.onButtonClick($event) }, h("div", { class: "wcs-button-content-wrapper" }, h("slot", { name: "placeholder" }), this.noArrow ? null : (h(SelectArrow, { up: this.expanded })))), h("div", { class: (this.expanded ? 'show ' : '') + 'popover' }, h("div", { id: "arrow", "data-popper-arrow": true }), h("div", { class: "container" }, h("slot", { name: "item" }, h("span", { id: "is-empty" }))))));
110
116
  }
111
117
  static get delegatesFocus() { return true; }
112
118
  get el() { return getElement(this); }