wcs-core 3.0.0 → 4.0.1

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 (334) hide show
  1. package/README.md +7 -0
  2. package/dist/cjs/{grid-pagination-ff65e0ff.js → grid-pagination-4b55c908.js} +1 -2
  3. package/dist/cjs/grid-pagination-4b55c908.js.map +1 -0
  4. package/dist/cjs/{helpers-11518d4f.js → helpers-4a14051a.js} +41 -1
  5. package/dist/cjs/helpers-4a14051a.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/wcs-action-bar.cjs.entry.js.map +1 -1
  8. package/dist/cjs/wcs-app.cjs.entry.js +0 -1
  9. package/dist/cjs/wcs-app.cjs.entry.js.map +1 -1
  10. package/dist/cjs/wcs-button.cjs.entry.js +17 -3
  11. package/dist/cjs/wcs-button.cjs.entry.js.map +1 -1
  12. package/dist/cjs/wcs-checkbox.cjs.entry.js +0 -1
  13. package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
  14. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +1 -1
  15. package/dist/cjs/wcs-com-nav-category.cjs.entry.js.map +1 -1
  16. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +1 -1
  17. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js.map +1 -1
  18. package/dist/cjs/wcs-com-nav.cjs.entry.js.map +1 -1
  19. package/dist/cjs/wcs-counter.cjs.entry.js +130 -0
  20. package/dist/cjs/wcs-counter.cjs.entry.js.map +1 -0
  21. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +1 -1
  22. package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
  23. package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/wcs-editable-field.cjs.entry.js +16 -3
  25. package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wcs-error_2.cjs.entry.js +1 -1
  27. package/dist/cjs/wcs-error_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wcs-field.cjs.entry.js.map +1 -1
  29. package/dist/cjs/wcs-footer.cjs.entry.js.map +1 -1
  30. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1 -1
  31. package/dist/cjs/wcs-galactic-menu.cjs.entry.js.map +1 -1
  32. package/dist/cjs/wcs-galactic.cjs.entry.js +0 -1
  33. package/dist/cjs/wcs-galactic.cjs.entry.js.map +1 -1
  34. package/dist/cjs/wcs-grid-column.cjs.entry.js.map +1 -1
  35. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +1 -1
  36. package/dist/cjs/wcs-grid.cjs.entry.js +1 -1
  37. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  38. package/dist/cjs/wcs-header.cjs.entry.js.map +1 -1
  39. package/dist/cjs/wcs-hint.cjs.entry.js +3 -3
  40. package/dist/cjs/wcs-hint.cjs.entry.js.map +1 -1
  41. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +0 -1
  42. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
  43. package/dist/cjs/wcs-input.cjs.entry.js +14 -4
  44. package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
  45. package/dist/cjs/wcs-native-select.cjs.entry.js +102 -0
  46. package/dist/cjs/wcs-native-select.cjs.entry.js.map +1 -0
  47. package/dist/cjs/wcs-nav-item.cjs.entry.js +1 -1
  48. package/dist/cjs/wcs-radio-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/wcs-radio.cjs.entry.js +3 -3
  50. package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
  51. package/dist/cjs/wcs-select_2.cjs.entry.js +229 -72
  52. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  53. package/dist/cjs/wcs-switch.cjs.entry.js +0 -1
  54. package/dist/cjs/wcs-switch.cjs.entry.js.map +1 -1
  55. package/dist/cjs/wcs-tab.cjs.entry.js.map +1 -1
  56. package/dist/cjs/wcs-tabs.cjs.entry.js.map +1 -1
  57. package/dist/cjs/wcs-textarea.cjs.entry.js +5 -3
  58. package/dist/cjs/wcs-textarea.cjs.entry.js.map +1 -1
  59. package/dist/cjs/wcs-tooltip.cjs.entry.js.map +1 -1
  60. package/dist/cjs/wcs.cjs.js +1 -1
  61. package/dist/collection/collection-manifest.json +2 -0
  62. package/dist/collection/components/action-bar/action-bar.js.map +1 -1
  63. package/dist/collection/components/app/app.js +0 -1
  64. package/dist/collection/components/app/app.js.map +1 -1
  65. package/dist/collection/components/button/button-interface.js +5 -1
  66. package/dist/collection/components/button/button-interface.js.map +1 -1
  67. package/dist/collection/components/button/button.css +28 -20
  68. package/dist/collection/components/button/button.js +54 -5
  69. package/dist/collection/components/button/button.js.map +1 -1
  70. package/dist/collection/components/checkbox/checkbox.js +0 -1
  71. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  72. package/dist/collection/components/com-nav/com-nav.js.map +1 -1
  73. package/dist/collection/components/com-nav-category/com-nav-category.js.map +1 -1
  74. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js.map +1 -1
  75. package/dist/collection/components/counter/counter-interface.js +6 -0
  76. package/dist/collection/components/counter/counter-interface.js.map +1 -0
  77. package/dist/collection/components/counter/counter.css +93 -0
  78. package/dist/collection/components/counter/counter.js +293 -0
  79. package/dist/collection/components/counter/counter.js.map +1 -0
  80. package/dist/collection/components/dropdown/dropdown.js +1 -1
  81. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  82. package/dist/collection/components/editable-field/editable-field-interface.js +5 -1
  83. package/dist/collection/components/editable-field/editable-field-interface.js.map +1 -1
  84. package/dist/collection/components/editable-field/editable-field.css +21 -6
  85. package/dist/collection/components/editable-field/editable-field.js +33 -2
  86. package/dist/collection/components/editable-field/editable-field.js.map +1 -1
  87. package/dist/collection/components/field/field.js +4 -0
  88. package/dist/collection/components/field/field.js.map +1 -1
  89. package/dist/collection/components/footer/footer.js +5 -0
  90. package/dist/collection/components/footer/footer.js.map +1 -1
  91. package/dist/collection/components/form-field/form-field.js +1 -1
  92. package/dist/collection/components/form-field/form-field.js.map +1 -1
  93. package/dist/collection/components/galactic/galactic.js +0 -1
  94. package/dist/collection/components/galactic/galactic.js.map +1 -1
  95. package/dist/collection/components/galactic-menu/galactic-menu.js.map +1 -1
  96. package/dist/collection/components/grid/grid.js.map +1 -1
  97. package/dist/collection/components/grid-column/grid-column.js.map +1 -1
  98. package/dist/collection/components/grid-pagination/grid-pagination.js +0 -1
  99. package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
  100. package/dist/collection/components/header/header.js +5 -0
  101. package/dist/collection/components/header/header.js.map +1 -1
  102. package/dist/collection/components/hint/hint.js +2 -2
  103. package/dist/collection/components/hint/hint.js.map +1 -1
  104. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +0 -2
  105. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
  106. package/dist/collection/components/input/input-interface.js +5 -1
  107. package/dist/collection/components/input/input-interface.js.map +1 -1
  108. package/dist/collection/components/input/input.css +21 -4
  109. package/dist/collection/components/input/input.js +30 -19
  110. package/dist/collection/components/input/input.js.map +1 -1
  111. package/dist/collection/components/native-select/native-select.component.js +153 -0
  112. package/dist/collection/components/native-select/native-select.component.js.map +1 -0
  113. package/dist/collection/components/native-select/native-select.css +78 -0
  114. package/dist/collection/components/radio/radio.component.js +1 -1
  115. package/dist/collection/components/radio/radio.component.js.map +1 -1
  116. package/dist/collection/components/radio/radio.css +15 -4
  117. package/dist/collection/components/radio-group/radio-group.js.map +1 -1
  118. package/dist/collection/components/select/select-interface.js +5 -1
  119. package/dist/collection/components/select/select-interface.js.map +1 -1
  120. package/dist/collection/components/select/select.css +41 -37
  121. package/dist/collection/components/select/select.js +233 -68
  122. package/dist/collection/components/select/select.js.map +1 -1
  123. package/dist/collection/components/select-option/select-option.css +3 -0
  124. package/dist/collection/components/select-option/select-option.js +25 -3
  125. package/dist/collection/components/select-option/select-option.js.map +1 -1
  126. package/dist/collection/components/switch/switch.js +0 -1
  127. package/dist/collection/components/switch/switch.js.map +1 -1
  128. package/dist/collection/components/tab/tab.js.map +1 -1
  129. package/dist/collection/components/tabs/tabs.js.map +1 -1
  130. package/dist/collection/components/textarea/textarea.css +3 -1
  131. package/dist/collection/components/textarea/textarea.js +23 -1
  132. package/dist/collection/components/textarea/textarea.js.map +1 -1
  133. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  134. package/dist/collection/index.js +3 -0
  135. package/dist/collection/index.js.map +1 -0
  136. package/dist/collection/shared-types.js +2 -0
  137. package/dist/collection/shared-types.js.map +1 -0
  138. package/dist/collection/utils/helpers.js +30 -0
  139. package/dist/collection/utils/helpers.js.map +1 -1
  140. package/dist/esm/{grid-pagination-62f9fbbc.js → grid-pagination-41354861.js} +2 -3
  141. package/dist/esm/grid-pagination-41354861.js.map +1 -0
  142. package/dist/esm/{helpers-e9b73aad.js → helpers-1f7170dd.js} +32 -2
  143. package/dist/esm/helpers-1f7170dd.js.map +1 -0
  144. package/dist/esm/loader.js +1 -1
  145. package/dist/esm/wcs-action-bar.entry.js.map +1 -1
  146. package/dist/esm/wcs-app.entry.js +1 -2
  147. package/dist/esm/wcs-app.entry.js.map +1 -1
  148. package/dist/esm/wcs-button.entry.js +17 -3
  149. package/dist/esm/wcs-button.entry.js.map +1 -1
  150. package/dist/esm/wcs-checkbox.entry.js +1 -2
  151. package/dist/esm/wcs-checkbox.entry.js.map +1 -1
  152. package/dist/esm/wcs-com-nav-category.entry.js +1 -1
  153. package/dist/esm/wcs-com-nav-category.entry.js.map +1 -1
  154. package/dist/esm/wcs-com-nav-submenu.entry.js +1 -1
  155. package/dist/esm/wcs-com-nav-submenu.entry.js.map +1 -1
  156. package/dist/esm/wcs-com-nav.entry.js.map +1 -1
  157. package/dist/esm/wcs-counter.entry.js +126 -0
  158. package/dist/esm/wcs-counter.entry.js.map +1 -0
  159. package/dist/esm/wcs-dropdown-item.entry.js +1 -1
  160. package/dist/esm/wcs-dropdown.entry.js +1 -1
  161. package/dist/esm/wcs-dropdown.entry.js.map +1 -1
  162. package/dist/esm/wcs-editable-field.entry.js +16 -3
  163. package/dist/esm/wcs-editable-field.entry.js.map +1 -1
  164. package/dist/esm/wcs-error_2.entry.js +1 -1
  165. package/dist/esm/wcs-error_2.entry.js.map +1 -1
  166. package/dist/esm/wcs-field.entry.js.map +1 -1
  167. package/dist/esm/wcs-footer.entry.js.map +1 -1
  168. package/dist/esm/wcs-galactic-menu.entry.js +1 -1
  169. package/dist/esm/wcs-galactic-menu.entry.js.map +1 -1
  170. package/dist/esm/wcs-galactic.entry.js +1 -2
  171. package/dist/esm/wcs-galactic.entry.js.map +1 -1
  172. package/dist/esm/wcs-grid-column.entry.js.map +1 -1
  173. package/dist/esm/wcs-grid-pagination.entry.js +1 -1
  174. package/dist/esm/wcs-grid.entry.js +1 -1
  175. package/dist/esm/wcs-grid.entry.js.map +1 -1
  176. package/dist/esm/wcs-header.entry.js.map +1 -1
  177. package/dist/esm/wcs-hint.entry.js +3 -3
  178. package/dist/esm/wcs-hint.entry.js.map +1 -1
  179. package/dist/esm/wcs-horizontal-stepper.entry.js +0 -1
  180. package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
  181. package/dist/esm/wcs-input.entry.js +14 -4
  182. package/dist/esm/wcs-input.entry.js.map +1 -1
  183. package/dist/esm/wcs-native-select.entry.js +98 -0
  184. package/dist/esm/wcs-native-select.entry.js.map +1 -0
  185. package/dist/esm/wcs-nav-item.entry.js +1 -1
  186. package/dist/esm/wcs-radio-group.entry.js.map +1 -1
  187. package/dist/esm/wcs-radio.entry.js +3 -3
  188. package/dist/esm/wcs-radio.entry.js.map +1 -1
  189. package/dist/esm/wcs-select_2.entry.js +229 -72
  190. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  191. package/dist/esm/wcs-switch.entry.js +1 -2
  192. package/dist/esm/wcs-switch.entry.js.map +1 -1
  193. package/dist/esm/wcs-tab.entry.js.map +1 -1
  194. package/dist/esm/wcs-tabs.entry.js.map +1 -1
  195. package/dist/esm/wcs-textarea.entry.js +5 -3
  196. package/dist/esm/wcs-textarea.entry.js.map +1 -1
  197. package/dist/esm/wcs-tooltip.entry.js.map +1 -1
  198. package/dist/esm/wcs.js +1 -1
  199. package/dist/types/components/action-bar/action-bar.d.ts +2 -2
  200. package/dist/types/components/app/app.d.ts +0 -1
  201. package/dist/types/components/button/button-interface.d.ts +5 -1
  202. package/dist/types/components/button/button.d.ts +16 -7
  203. package/dist/types/components/checkbox/checkbox.d.ts +0 -1
  204. package/dist/types/components/com-nav/com-nav.d.ts +4 -4
  205. package/dist/types/components/com-nav-category/com-nav-category.d.ts +2 -2
  206. package/dist/types/components/com-nav-submenu/com-nav-submenu.d.ts +2 -2
  207. package/dist/types/components/counter/counter-interface.d.ts +7 -0
  208. package/dist/types/components/counter/counter.d.ts +67 -0
  209. package/dist/types/components/dropdown/dropdown.d.ts +2 -2
  210. package/dist/types/components/editable-field/editable-field-interface.d.ts +4 -0
  211. package/dist/types/components/editable-field/editable-field.d.ts +10 -13
  212. package/dist/types/components/field/field.d.ts +4 -0
  213. package/dist/types/components/footer/footer.d.ts +5 -0
  214. package/dist/types/components/form-field/form-field.d.ts +4 -4
  215. package/dist/types/components/galactic/galactic.d.ts +0 -1
  216. package/dist/types/components/galactic-menu/galactic-menu.d.ts +2 -2
  217. package/dist/types/components/grid/grid.d.ts +4 -4
  218. package/dist/types/components/grid-column/grid-column.d.ts +1 -1
  219. package/dist/types/components/grid-pagination/grid-pagination.d.ts +0 -1
  220. package/dist/types/components/header/header.d.ts +5 -0
  221. package/dist/types/components/hint/hint.d.ts +4 -1
  222. package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +2 -4
  223. package/dist/types/components/input/input-interface.d.ts +4 -0
  224. package/dist/types/components/input/input.d.ts +8 -8
  225. package/dist/types/components/native-select/native-select.component.d.ts +56 -0
  226. package/dist/types/components/radio/radio.component.d.ts +1 -1
  227. package/dist/types/components/radio-group/radio-group.d.ts +1 -1
  228. package/dist/types/components/select/select-interface.d.ts +4 -0
  229. package/dist/types/components/select/select.d.ts +32 -20
  230. package/dist/types/components/select-option/select-option.d.ts +9 -3
  231. package/dist/types/components/switch/switch.d.ts +0 -1
  232. package/dist/types/components/tabs/tabs.d.ts +3 -3
  233. package/dist/types/components/textarea/textarea.d.ts +10 -2
  234. package/dist/types/components/tooltip/tooltip.d.ts +1 -2
  235. package/dist/types/components.d.ts +242 -22
  236. package/dist/types/index.d.ts +2 -0
  237. package/dist/types/shared-types.d.ts +10 -0
  238. package/dist/types/utils/helpers.d.ts +10 -0
  239. package/dist/wcs/p-029eb12a.entry.js +2 -0
  240. package/dist/wcs/p-029eb12a.entry.js.map +1 -0
  241. package/dist/wcs/p-069555a1.entry.js.map +1 -1
  242. package/dist/wcs/p-07b8cd36.entry.js.map +1 -1
  243. package/dist/wcs/p-12ac2547.js +2 -0
  244. package/dist/wcs/p-12ac2547.js.map +1 -0
  245. package/dist/wcs/p-1e43122f.entry.js.map +1 -1
  246. package/dist/wcs/p-26c4c983.entry.js +2 -0
  247. package/dist/wcs/p-26c4c983.entry.js.map +1 -0
  248. package/dist/wcs/p-26e7de5c.entry.js +16 -0
  249. package/dist/wcs/p-26e7de5c.entry.js.map +1 -0
  250. package/dist/wcs/p-31a8d23f.entry.js +2 -0
  251. package/dist/wcs/{p-d11c66d4.entry.js.map → p-31a8d23f.entry.js.map} +1 -1
  252. package/dist/wcs/p-463667c9.entry.js +2 -0
  253. package/dist/wcs/p-475ac7c5.js +2 -0
  254. package/dist/wcs/p-475ac7c5.js.map +1 -0
  255. package/dist/wcs/p-47d8ece5.entry.js.map +1 -1
  256. package/dist/wcs/p-4a9f8e94.entry.js.map +1 -1
  257. package/dist/wcs/p-4b2d8a6d.entry.js +2 -0
  258. package/dist/wcs/p-4b2d8a6d.entry.js.map +1 -0
  259. package/dist/wcs/{p-c7b42bae.entry.js → p-4b4d53e2.entry.js} +2 -2
  260. package/dist/wcs/p-50dce764.entry.js.map +1 -1
  261. package/dist/wcs/{p-8762cf93.entry.js → p-554ca93c.entry.js} +2 -2
  262. package/dist/wcs/p-627bbb6a.entry.js.map +1 -1
  263. package/dist/wcs/p-64dd7356.entry.js.map +1 -1
  264. package/dist/wcs/p-6acbf38a.entry.js +2 -0
  265. package/dist/wcs/{p-7d7472e2.entry.js.map → p-6acbf38a.entry.js.map} +1 -1
  266. package/dist/wcs/{p-6f921d57.entry.js → p-732b2faa.entry.js} +2 -2
  267. package/dist/wcs/p-732b2faa.entry.js.map +1 -0
  268. package/dist/wcs/{p-587fea23.entry.js → p-966a241e.entry.js} +2 -2
  269. package/dist/wcs/p-966a241e.entry.js.map +1 -0
  270. package/dist/wcs/p-9ecdeaf9.entry.js +2 -0
  271. package/dist/wcs/p-9ecdeaf9.entry.js.map +1 -0
  272. package/dist/wcs/p-a24fa4f4.entry.js +2 -0
  273. package/dist/wcs/p-a24fa4f4.entry.js.map +1 -0
  274. package/dist/wcs/p-a5cd4c07.entry.js +2 -0
  275. package/dist/wcs/{p-8bb19e58.entry.js.map → p-a5cd4c07.entry.js.map} +1 -1
  276. package/dist/wcs/p-b229a91c.entry.js +2 -0
  277. package/dist/wcs/p-b229a91c.entry.js.map +1 -0
  278. package/dist/wcs/{p-d998e112.entry.js → p-b6cd196d.entry.js} +2 -2
  279. package/dist/wcs/{p-d998e112.entry.js.map → p-b6cd196d.entry.js.map} +1 -1
  280. package/dist/wcs/p-b856f2f6.entry.js +2 -0
  281. package/dist/wcs/p-b856f2f6.entry.js.map +1 -0
  282. package/dist/wcs/{p-274232e6.entry.js → p-bcb8b731.entry.js} +2 -2
  283. package/dist/wcs/p-bcb8b731.entry.js.map +1 -0
  284. package/dist/wcs/p-d2da0c9f.entry.js +2 -0
  285. package/dist/wcs/p-d2da0c9f.entry.js.map +1 -0
  286. package/dist/wcs/p-d3f1cafe.entry.js.map +1 -1
  287. package/dist/wcs/p-d6b3f742.entry.js +2 -0
  288. package/dist/wcs/p-d6b3f742.entry.js.map +1 -0
  289. package/dist/wcs/p-ee453b6e.entry.js +2 -0
  290. package/dist/wcs/p-ee453b6e.entry.js.map +1 -0
  291. package/dist/wcs/p-f386bb8b.entry.js.map +1 -1
  292. package/dist/wcs/{p-e4dcd310.entry.js → p-f82e7a61.entry.js} +2 -2
  293. package/dist/wcs/{p-e4dcd310.entry.js.map → p-f82e7a61.entry.js.map} +1 -1
  294. package/dist/wcs/p-fc3f5b53.entry.js.map +1 -1
  295. package/dist/wcs/wcs.css +1 -1
  296. package/dist/wcs/wcs.esm.js +1 -1
  297. package/dist/wcs/wcs.esm.js.map +1 -1
  298. package/package.json +17 -12
  299. package/dist/cjs/grid-pagination-ff65e0ff.js.map +0 -1
  300. package/dist/cjs/helpers-11518d4f.js.map +0 -1
  301. package/dist/esm/grid-pagination-62f9fbbc.js.map +0 -1
  302. package/dist/esm/helpers-e9b73aad.js.map +0 -1
  303. package/dist/wcs/p-111ae1af.entry.js +0 -2
  304. package/dist/wcs/p-111ae1af.entry.js.map +0 -1
  305. package/dist/wcs/p-14e04d5e.entry.js +0 -2
  306. package/dist/wcs/p-14e04d5e.entry.js.map +0 -1
  307. package/dist/wcs/p-274232e6.entry.js.map +0 -1
  308. package/dist/wcs/p-2920b759.entry.js +0 -16
  309. package/dist/wcs/p-2920b759.entry.js.map +0 -1
  310. package/dist/wcs/p-3e370f48.entry.js +0 -2
  311. package/dist/wcs/p-49e66081.entry.js +0 -2
  312. package/dist/wcs/p-49e66081.entry.js.map +0 -1
  313. package/dist/wcs/p-504fb24e.entry.js +0 -2
  314. package/dist/wcs/p-504fb24e.entry.js.map +0 -1
  315. package/dist/wcs/p-5140269d.entry.js +0 -2
  316. package/dist/wcs/p-5140269d.entry.js.map +0 -1
  317. package/dist/wcs/p-587fea23.entry.js.map +0 -1
  318. package/dist/wcs/p-62db1219.js +0 -2
  319. package/dist/wcs/p-62db1219.js.map +0 -1
  320. package/dist/wcs/p-6f921d57.entry.js.map +0 -1
  321. package/dist/wcs/p-7d7472e2.entry.js +0 -2
  322. package/dist/wcs/p-89b3550b.entry.js +0 -2
  323. package/dist/wcs/p-89b3550b.entry.js.map +0 -1
  324. package/dist/wcs/p-8bb19e58.entry.js +0 -2
  325. package/dist/wcs/p-9157466f.entry.js +0 -2
  326. package/dist/wcs/p-9157466f.entry.js.map +0 -1
  327. package/dist/wcs/p-d11c66d4.entry.js +0 -2
  328. package/dist/wcs/p-d218509e.entry.js +0 -2
  329. package/dist/wcs/p-d218509e.entry.js.map +0 -1
  330. package/dist/wcs/p-dc57a5f7.js +0 -2
  331. package/dist/wcs/p-dc57a5f7.js.map +0 -1
  332. /package/dist/wcs/{p-3e370f48.entry.js.map → p-463667c9.entry.js.map} +0 -0
  333. /package/dist/wcs/{p-c7b42bae.entry.js.map → p-4b4d53e2.entry.js.map} +0 -0
  334. /package/dist/wcs/{p-8762cf93.entry.js.map → p-554ca93c.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"wcs-error.wcs-form-field.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["./src/components/error/error.scss?tag=wcs-error&encapsulation=shadow","./src/components/error/error.tsx","./src/components/form-field/form-field.scss?tag=wcs-form-field&encapsulation=shadow","./src/components/form-field/form-field.tsx"],"sourcesContent":[":host {\n margin-top: 0.25rem;\n color: var(--wcs-red);\n}","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'wcs-error',\n styleUrl: 'error.scss',\n shadow: true,\n})\nexport class Label implements ComponentInterface {\n render() {\n return (\n <Host slot=\"error\">\n <slot />\n </Host>\n );\n }\n}\n",":host {\n --wcs-form-field-border-radius-left: var(--wcs-border-radius);\n --wcs-form-field-border-radius-right: var(--wcs-border-radius);\n\n display: flex;\n flex-direction: column;\n}\n\n.input-container {\n display: flex;\n}\n\n::slotted(wcs-radio-group) {\n margin-left: var(--wcs-base-margin);\n}\n\n::slotted(wcs-radio-group[mode=option]) {\n margin-left: 0;\n}\n\n::slotted(wcs-select:not([slot=prefix])) {\n width: 100%;\n}\n\n// Label style\n::slotted(label) {\n font-weight: 500;\n margin-bottom: 8px;\n}\n\n// Make input square on left side if there is a prefix\n:host(.has-prefix) {\n --wcs-input-border-radius-left: 0;\n}\n\n// Make input square on right side if there is a suffix\n:host(.has-suffix) {\n --wcs-input-border-radius-right: 0;\n}\n\n// Prefixed select\n::slotted([slot=prefix]) {\n --wcs-select-border-radius: var(--wcs-border-radius) 0 0 var(--wcs-border-radius);\n --wcs-select-background-color: var(--wcs-gray-light);\n --wcs-select-value-color: var(--wcs-white);\n --wcs-select-placeholder-color: var(--wcs-white);\n --wcs-select-border-color: var(--wcs-gray-light);\n}\n\n::slotted([slot=suffix]) {\n // Make button square on left side\n --wcs-button-border-radius: 0 var(--wcs-border-radius) var(--wcs-border-radius) 0;\n\n // Make select square on left side\n --wcs-select-border-radius: 0 var(--wcs-border-radius) var(--wcs-border-radius) 0 ;\n}\n","import { Component, ComponentInterface, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\n/**\n * TODO:\n * - [ ] Suffix button style\n */\n@Component({\n tag: 'wcs-form-field',\n styleUrl: 'form-field.scss',\n shadow: true,\n})\nexport class FormField implements ComponentInterface {\n @Element() el!: HTMLWcsFormFieldElement;\n\n /**\n * Specifies whether the form field is in an error state. Displays the field border in red and the message contained in the wcs-error component\n */\n @Prop({mutable: true, reflect: true}) isError = false;\n\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() spiedElement: Element;\n\n private observer: MutationObserver;\n\n componentWillLoad() {\n this.hasSuffix = this.el.querySelector('wcs-button') !== null;\n this.hasPrefix = this.el.querySelector('wcs-select') !== null;\n }\n\n componentDidLoad() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n\n\n @Watch('isError')\n // @ts-ignore\n private isErrorChange(newValue: boolean) {\n this.updateErrorStateOnInput(newValue);\n }\n\n private updateErrorStateOnInput(newValue: boolean) {\n if (this.spiedElementIsOfType('wcs-input', 'wcs-textarea')) {\n if (newValue) {\n this.spiedElement.setAttribute('state', 'error');\n } else {\n this.spiedElement.setAttribute('state', 'initial');\n }\n }\n }\n\n /**\n * This function return true if the form field contains an element with tagName matches a value of the types param\n * @param types\n * @private\n */\n private spiedElementIsOfType(...types: string[]): boolean {\n for (const type of types) {\n if (this.spiedElement?.tagName === type.toUpperCase()) return true;\n }\n return false\n }\n\n\n private addRequiredMarkerToLabel() {\n // TODO: deprecate this in favor of the 'required' component attribute\n const label = this.el.querySelector('wcs-label');\n this.observer = new MutationObserver(mutations => {\n const requiredAttMutation = mutations.filter(m => m.attributeName === 'required')[0];\n if (requiredAttMutation) {\n this.updateLabelRequiredFlag(this.spiedElement?.hasAttribute('required'), label);\n }\n });\n if (this.spiedElement) {\n this.observer.observe(this.spiedElement, {attributes: true});\n }\n\n const isRequired = this.spiedElement?.hasAttribute('required');\n this.updateLabelRequiredFlag(isRequired, label);\n }\n\n\n private initSpiedElement() {\n const SUPPORTED_COMPONENTS = ['wcs-input', 'wcs-select', 'wcs-textarea', 'wcs-radio-group', 'wcs-switch', 'wcs-checkbox'];\n\n this.spiedElement = (this.el.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement)\n ?.assignedElements()\n .filter(n => [...SUPPORTED_COMPONENTS, 'SLOT'].map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0];\n\n // If the component is used in another web component\n if (this.spiedElement?.tagName === 'SLOT') {\n this.spiedElement = ((this.spiedElement as HTMLSlotElement)\n .assignedElements()\n .filter(n => SUPPORTED_COMPONENTS.map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0]) as HTMLElement;\n }\n\n if (!this.spiedElement) {\n // tslint:disable-next-line:no-console\n console.warn('Form-field component support only ' + SUPPORTED_COMPONENTS.toString() + '. Some features may not work with the provided component.');\n return;\n }\n }\n\n private updateLabelRequiredFlag(isRequired: boolean, label: Element) {\n if (isRequired && label) {\n label.setAttribute('required', 'true');\n } else if (!isRequired && label) {\n label.removeAttribute('required');\n }\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n render() {\n let classes = '';\n const isError = this.isError;\n\n if (this.hasSuffix) {\n classes += ' has-suffix';\n }\n if (this.hasPrefix) {\n classes += ' has-prefix';\n }\n return (\n <Host class={classes}>\n <slot name=\"label\"/>\n <div class=\"input-container\">\n <slot name=\"prefix\"/>\n <slot onSlotchange={() => this.onFormInputSlotChange()}/>\n <slot name=\"suffix\"/>\n </div>\n {\n isError ? (<slot name=\"error\"/>) : ''\n }\n <slot name=\"messages\"/>\n </Host>\n );\n }\n\n private onFormInputSlotChange() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n}\n"],"version":3}
1
+ {"file":"wcs-error.wcs-form-field.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["./src/components/error/error.scss?tag=wcs-error&encapsulation=shadow","./src/components/error/error.tsx","./src/components/form-field/form-field.scss?tag=wcs-form-field&encapsulation=shadow","./src/components/form-field/form-field.tsx"],"sourcesContent":[":host {\n margin-top: 0.25rem;\n color: var(--wcs-red);\n}","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'wcs-error',\n styleUrl: 'error.scss',\n shadow: true,\n})\nexport class Label implements ComponentInterface {\n render() {\n return (\n <Host slot=\"error\">\n <slot />\n </Host>\n );\n }\n}\n",":host {\n --wcs-form-field-border-radius-left: var(--wcs-border-radius);\n --wcs-form-field-border-radius-right: var(--wcs-border-radius);\n\n display: flex;\n flex-direction: column;\n}\n\n.input-container {\n display: flex;\n}\n\n::slotted(wcs-radio-group) {\n margin-left: var(--wcs-base-margin);\n}\n\n::slotted(wcs-radio-group[mode=option]) {\n margin-left: 0;\n}\n\n::slotted(wcs-select:not([slot=prefix])) {\n width: 100%;\n}\n\n// Label style\n::slotted(label) {\n font-weight: 500;\n margin-bottom: 8px;\n}\n\n// Make input square on left side if there is a prefix\n:host(.has-prefix) {\n --wcs-input-border-radius-left: 0;\n}\n\n// Make input square on right side if there is a suffix\n:host(.has-suffix) {\n --wcs-input-border-radius-right: 0;\n}\n\n// Prefixed select\n::slotted([slot=prefix]) {\n --wcs-select-border-radius: var(--wcs-border-radius) 0 0 var(--wcs-border-radius);\n --wcs-select-background-color: var(--wcs-gray-light);\n --wcs-select-value-color: var(--wcs-white);\n --wcs-select-placeholder-color: var(--wcs-white);\n --wcs-select-border-color: var(--wcs-gray-light);\n}\n\n::slotted([slot=suffix]) {\n // Make button square on left side\n --wcs-button-border-radius: 0 var(--wcs-border-radius) var(--wcs-border-radius) 0;\n\n // Make select square on left side\n --wcs-select-border-radius: 0 var(--wcs-border-radius) var(--wcs-border-radius) 0 ;\n}\n","import { Component, ComponentInterface, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\n/**\n * TODO:\n * - [ ] Suffix button style\n */\n@Component({\n tag: 'wcs-form-field',\n styleUrl: 'form-field.scss',\n shadow: true,\n})\nexport class FormField implements ComponentInterface {\n @Element() private el!: HTMLWcsFormFieldElement;\n\n /**\n * Specifies whether the form field is in an error state. Displays the field border in red and the message contained in the wcs-error component\n */\n @Prop({mutable: true, reflect: true}) isError = false;\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n @State() private spiedElement: Element;\n\n private observer: MutationObserver;\n\n componentWillLoad() {\n this.hasSuffix = this.el.querySelector('wcs-button') !== null;\n this.hasPrefix = this.el.querySelector('wcs-select') !== null;\n }\n\n componentDidLoad() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n\n\n @Watch('isError')\n // @ts-ignore\n private isErrorChange(newValue: boolean) {\n this.updateErrorStateOnInput(newValue);\n }\n\n private updateErrorStateOnInput(newValue: boolean) {\n if (this.spiedElementIsOfType('wcs-input', 'wcs-textarea')) {\n if (newValue) {\n this.spiedElement.setAttribute('state', 'error');\n } else {\n this.spiedElement.setAttribute('state', 'initial');\n }\n }\n }\n\n /**\n * This function return true if the form field contains an element with tagName matches a value of the types param\n * @param types\n * @private\n */\n private spiedElementIsOfType(...types: string[]): boolean {\n for (const type of types) {\n if (this.spiedElement?.tagName === type.toUpperCase()) return true;\n }\n return false\n }\n\n\n private addRequiredMarkerToLabel() {\n // TODO: deprecate this in favor of the 'required' component attribute\n const label = this.el.querySelector('wcs-label');\n this.observer = new MutationObserver(mutations => {\n const requiredAttMutation = mutations.filter(m => m.attributeName === 'required')[0];\n if (requiredAttMutation) {\n this.updateLabelRequiredFlag(this.spiedElement?.hasAttribute('required'), label);\n }\n });\n if (this.spiedElement) {\n this.observer.observe(this.spiedElement, {attributes: true});\n }\n\n const isRequired = this.spiedElement?.hasAttribute('required');\n this.updateLabelRequiredFlag(isRequired, label);\n }\n\n\n private initSpiedElement() {\n const SUPPORTED_COMPONENTS = ['wcs-input', 'wcs-select', 'wcs-textarea', 'wcs-radio-group', 'wcs-switch', 'wcs-checkbox', 'wcs-native-select'];\n\n this.spiedElement = (this.el.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement)\n ?.assignedElements()\n .filter(n => [...SUPPORTED_COMPONENTS, 'SLOT'].map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0];\n\n // If the component is used in another web component\n if (this.spiedElement?.tagName === 'SLOT') {\n this.spiedElement = ((this.spiedElement as HTMLSlotElement)\n .assignedElements()\n .filter(n => SUPPORTED_COMPONENTS.map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0]) as HTMLElement;\n }\n\n if (!this.spiedElement) {\n // tslint:disable-next-line:no-console\n console.warn('Form-field component support only ' + SUPPORTED_COMPONENTS.toString() + '. Some features may not work with the provided component.');\n return;\n }\n }\n\n private updateLabelRequiredFlag(isRequired: boolean, label: Element) {\n if (isRequired && label) {\n label.setAttribute('required', 'true');\n } else if (!isRequired && label) {\n label.removeAttribute('required');\n }\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n render() {\n let classes = '';\n const isError = this.isError;\n\n if (this.hasSuffix) {\n classes += ' has-suffix';\n }\n if (this.hasPrefix) {\n classes += ' has-prefix';\n }\n return (\n <Host class={classes}>\n <slot name=\"label\"/>\n <div class=\"input-container\">\n <slot name=\"prefix\"/>\n <slot onSlotchange={() => this.onFormInputSlotChange()}/>\n <slot name=\"suffix\"/>\n </div>\n {\n isError ? (<slot name=\"error\"/>) : ''\n }\n <slot name=\"messages\"/>\n </Host>\n );\n }\n\n private onFormInputSlotChange() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"wcs-field.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,QAAQ,GAAG,qWAAqW;;MCOzW,KAAK;;;;EACd,MAAM;IACF,QACIA,QAACC,UAAI,QACDD,kBAAM,IAAI,EAAC,OAAO,GAAE,EACpBA,kBAAM,IAAI,EAAC,SAAS,GAAE,CACnB,EACT;GACL;;;;;;","names":["h","Host"],"sources":["./src/components/field/field.scss?tag=wcs-field&encapsulation=shadow","./src/components/field/field.tsx"],"sourcesContent":[":host{\n display: flex;\n flex-direction: column;\n margin-top: var(--wcs-base-margin);\n margin-bottom: calc(var(--wcs-base-margin) * 2);\n}\n::slotted([slot=label]) {\n font-size: 1rem;\n line-height: 1.375;\n font-weight: 500;\n margin-bottom: calc(var(--wcs-base-margin) / 2);\n color: var(--wcs-gray-light);\n}\n\n::slotted([slot=content]) {\n font-size: 1rem;\n font-weight: 400;\n color: var(--wcs-gray-light);\n}\n","import { Component, ComponentInterface, h, Host, } from '@stencil/core';\n\n@Component({\n tag: 'wcs-field',\n styleUrl: 'field.scss',\n shadow: true\n})\nexport class Field implements ComponentInterface {\n render() {\n return (\n <Host>\n <slot name=\"label\"/>\n <slot name=\"content\"/>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"wcs-field.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,QAAQ,GAAG,qWAAqW;;MCWzW,KAAK;;;;EACd,MAAM;IACF,QACIA,QAACC,UAAI,QACDD,kBAAM,IAAI,EAAC,OAAO,GAAE,EACpBA,kBAAM,IAAI,EAAC,SAAS,GAAE,CACnB,EACT;GACL;;;;;;","names":["h","Host"],"sources":["./src/components/field/field.scss?tag=wcs-field&encapsulation=shadow","./src/components/field/field.tsx"],"sourcesContent":[":host{\n display: flex;\n flex-direction: column;\n margin-top: var(--wcs-base-margin);\n margin-bottom: calc(var(--wcs-base-margin) * 2);\n}\n::slotted([slot=label]) {\n font-size: 1rem;\n line-height: 1.375;\n font-weight: 500;\n margin-bottom: calc(var(--wcs-base-margin) / 2);\n color: var(--wcs-gray-light);\n}\n\n::slotted([slot=content]) {\n font-size: 1rem;\n font-weight: 400;\n color: var(--wcs-gray-light);\n}\n","import { Component, ComponentInterface, h, Host, } from '@stencil/core';\n\n/**\n * @slot label Label of the field\n * @slot content Content of the field\n */\n@Component({\n tag: 'wcs-field',\n styleUrl: 'field.scss',\n shadow: true\n})\nexport class Field implements ComponentInterface {\n render() {\n return (\n <Host>\n <slot name=\"label\"/>\n <slot name=\"content\"/>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"wcs-footer.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,gwBAAgwB;;MCOrwB,MAAM;;;;EACf,MAAM;IACF,QACIA,QAACC,UAAI,QACDD,iBAAK,KAAK,EAAC,WAAW,IAClBA,qBACIA,qBAAQ,CACN,EACNA,iBAAK,KAAK,EAAC,KAAK,IACZA,iBAAK,KAAK,EAAC,UAAU,IACjBA,kBAAM,IAAI,EAAC,UAAU,GAAE,CACrB,EACNA,iBAAK,KAAK,EAAC,WAAW,IAClBA,kBAAM,IAAI,EAAC,WAAW,GAAE,CACtB,CACJ,CACJ,CACH,EACV;GACJ;;;;;;","names":["h","Host"],"sources":["./src/components/footer/footer.scss?tag=wcs-footer&encapsulation=shadow","./src/components/footer/footer.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n background-color: var(--wcs-gray);\n color: white;\n\n .end {\n margin-top: calc(2*var(--wcs-base-margin));\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: baseline;\n gap: var(--wcs-base-margin);\n\n .end-left, .end-right {\n display: flex;\n flex-wrap: wrap;\n }\n\n @media only screen and (max-width:1024px) {\n .end-left, .end-right {\n flex-direction: column;\n }\n }\n\n slot[name=end-left]::slotted(a) {\n color: var(--wcs-text-disabled);\n text-decoration: none;\n font-size: 14px;\n font-weight: 500;\n margin-right: 35px;\n }\n\n slot[name=end-left]::slotted(a:hover) {\n color: var(--wcs-white);\n }\n\n }\n\n .container {\n margin: 0 auto;\n max-width: var(--wcs-com-content-max-width);\n display: flex;\n flex-direction: column;\n padding: 20px;\n }\n\n}\n","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'wcs-footer',\n styleUrl: 'footer.scss',\n shadow: true,\n})\nexport class Footer implements ComponentInterface {\n render(): any {\n return (\n <Host>\n <div class=\"container\">\n <div>\n <slot />\n </div>\n <div class=\"end\">\n <div class=\"end-left\">\n <slot name=\"end-left\"/>\n </div>\n <div class=\"end-right\">\n <slot name=\"end-right\"/>\n </div>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
1
+ {"file":"wcs-footer.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,gwBAAgwB;;MCYrwB,MAAM;;;;EACf,MAAM;IACF,QACIA,QAACC,UAAI,QACDD,iBAAK,KAAK,EAAC,WAAW,IAClBA,qBACIA,qBAAQ,CACN,EACNA,iBAAK,KAAK,EAAC,KAAK,IACZA,iBAAK,KAAK,EAAC,UAAU,IACjBA,kBAAM,IAAI,EAAC,UAAU,GAAE,CACrB,EACNA,iBAAK,KAAK,EAAC,WAAW,IAClBA,kBAAM,IAAI,EAAC,WAAW,GAAE,CACtB,CACJ,CACJ,CACH,EACV;GACJ;;;;;;","names":["h","Host"],"sources":["./src/components/footer/footer.scss?tag=wcs-footer&encapsulation=shadow","./src/components/footer/footer.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n background-color: var(--wcs-gray);\n color: white;\n\n .end {\n margin-top: calc(2*var(--wcs-base-margin));\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: baseline;\n gap: var(--wcs-base-margin);\n\n .end-left, .end-right {\n display: flex;\n flex-wrap: wrap;\n }\n\n @media only screen and (max-width:1024px) {\n .end-left, .end-right {\n flex-direction: column;\n }\n }\n\n slot[name=end-left]::slotted(a) {\n color: var(--wcs-text-disabled);\n text-decoration: none;\n font-size: 14px;\n font-weight: 500;\n margin-right: 35px;\n }\n\n slot[name=end-left]::slotted(a:hover) {\n color: var(--wcs-white);\n }\n\n }\n\n .container {\n margin: 0 auto;\n max-width: var(--wcs-com-content-max-width);\n display: flex;\n flex-direction: column;\n padding: 20px;\n }\n\n}\n","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n/**\n * @slot <no-name> Main container slot\n * @slot end-left Bottom-left part of the footer\n * @slot end-right Bottom-right part of the footer\n */\n@Component({\n tag: 'wcs-footer',\n styleUrl: 'footer.scss',\n shadow: true,\n})\nexport class Footer implements ComponentInterface {\n render(): any {\n return (\n <Host>\n <div class=\"container\">\n <div>\n <slot />\n </div>\n <div class=\"end\">\n <div class=\"end-left\">\n <slot name=\"end-left\"/>\n </div>\n <div class=\"end-right\">\n <slot name=\"end-right\"/>\n </div>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ca67a6dc.js');
6
- const helpers = require('./helpers-11518d4f.js');
6
+ const helpers = require('./helpers-4a14051a.js');
7
7
  const popper = require('./popper-e3b74571.js');
8
8
 
9
9
  const galacticMenuCss = "#menu{background-color:var(--wcs-gray);color:white;display:none;padding:var(--wcs-padding)}#menu[data-show]{display:block;z-index:9999}#menu[data-popper-placement^=top]>#arrow{bottom:-4px}#menu[data-popper-placement^=bottom]>#arrow{top:-4px}#menu[data-popper-placement^=left]>#arrow{right:-4px}#menu[data-popper-placement^=right]>#arrow{left:-4px}:host{display:flex;align-items:center;height:32px;padding-left:var(--wcs-padding);background-color:var(--wcs-gray-light)}#toggle-menu-icon{cursor:pointer;padding:0 var(--wcs-padding);user-select:none}#arrow,#arrow::before{position:absolute;width:8px;height:8px;background:inherit}#arrow{visibility:hidden}#arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}";
@@ -1 +1 @@
1
- {"file":"wcs-galactic-menu.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,eAAe,GAAG,qtBAAqtB;;MCShuB,QAAQ;;;2BAEmB,KAAK;;;EASzC,gBAAgB;IACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,GAAGA,mBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;MAChD,SAAS,EAAE,YAAY;MACvB,SAAS,EAAE;QACP;UACI,IAAI,EAAE,QAAQ;UACd,OAAO,EAAE;YACL,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;WACjB;SACJ;OACJ;KACJ,CAAC,CAAC;GACN;EAGD,kBAAkB,CAAC,KAAiB;IAChC,IAAIC,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAIA,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;MACjF,OAAO;KACV;SAAM;MACH,IAAI,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;OACrB;KACJ;GACJ;EAGO,UAAU;IACd,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;GAChD;EAED,kBAAkB;IACd,IAAI,IAAI,CAAC,MAAM,EAAE;MACb,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;KACxB;GACJ;EAED,MAAM;IACF,QACIC,QAACC,UAAI,QACDD,sBAAO,IAAI,CAAC,IAAI,CAAQ,EACxBA,0BAAc,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;OACrB,GAAiB,EAClBA,kBAAM,EAAE,EAAC,MAAM,eAAY,IAAI,CAAC,eAAe,IAC3CA,iBAAK,EAAE,EAAC,OAAO,8BAAqB,EACpCA,qBAAO,CACJ,CACJ,EACT;GACL;;;;;;;","names":["createPopper","clickInsideElement","h","Host"],"sources":["./src/components/galactic-menu/galactic-menu.scss?tag=wcs-galactic-menu&encapsulation=shadow","./src/components/galactic-menu/galactic-menu.tsx"],"sourcesContent":["#menu {\n background-color: var(--wcs-gray);\n color: white;\n display: none;\n padding: var(--wcs-padding);\n}\n#menu[data-show] {\n display: block;\n z-index: 9999;\n}\n#menu[data-popper-placement^='top'] > #arrow {\n bottom: -4px;\n}\n\n#menu[data-popper-placement^='bottom'] > #arrow {\n top: -4px;\n}\n\n#menu[data-popper-placement^='left'] > #arrow {\n right: -4px;\n}\n\n#menu[data-popper-placement^='right'] > #arrow {\n left: -4px;\n}\n:host {\n display: flex;\n align-items: center;\n height: 32px;\n padding-left: var(--wcs-padding);\n background-color: var(--wcs-gray-light);\n}\n#toggle-menu-icon{\n cursor: pointer;\n padding: 0 var(--wcs-padding);\n user-select: none;\n}\n#arrow,\n#arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n}\n\n#arrow {\n visibility: hidden;\n}\n\n#arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n}\n","import { Component, ComponentInterface, Element, h, Host, Listen, Prop, State } from '@stencil/core';\nimport { Instance, createPopper } from '@popperjs/core';\nimport { clickInsideElement } from '../../utils/helpers';\n\n@Component({\n tag: 'wcs-galactic-menu',\n styleUrl: 'galactic-menu.scss',\n shadow: true\n})\nexport class Galactic implements ComponentInterface {\n @Element() el: HTMLWcsGalacticMenuElement;\n @State() showPopoverMenu: boolean = false;\n private popper: Instance;\n /**\n * Text to be displayed in the galactic bar\n */\n @Prop() text: string;\n private menu;\n private tooltip;\n\n componentDidLoad() {\n this.menu = this.el.shadowRoot.getElementById('toggle-menu-icon');\n this.tooltip = this.el.shadowRoot.getElementById('menu');\n this.popper = createPopper(this.menu, this.tooltip, {\n placement: 'bottom-end',\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8]\n }\n }\n ]\n });\n }\n\n @Listen('click', {target: 'window'})\n onWindowClickEvent(event: MouseEvent) {\n if (clickInsideElement(event, this.tooltip) || clickInsideElement(event, this.menu)) {\n return;\n } else {\n if (this.showPopoverMenu) {\n this.toogleMenu();\n }\n }\n }\n\n\n private toogleMenu() {\n this.showPopoverMenu = !this.showPopoverMenu;\n }\n\n componentDidRender() {\n if (this.popper) {\n this.popper.update();\n }\n }\n\n render(): any {\n return (\n <Host>\n <span>{this.text}</span>\n <wcs-mat-icon id=\"toggle-menu-icon\" icon=\"more_horiz\" size=\"m\" onClick={_ => {\n this.toogleMenu();\n }}></wcs-mat-icon>\n <span id=\"menu\" data-show={this.showPopoverMenu}>\n <div id=\"arrow\" data-popper-arrow />\n <slot/>\n </span>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"wcs-galactic-menu.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,eAAe,GAAG,qtBAAqtB;;MCShuB,QAAQ;;;2BAE2B,KAAK;;;EASjD,gBAAgB;IACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,GAAGA,mBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;MAChD,SAAS,EAAE,YAAY;MACvB,SAAS,EAAE;QACP;UACI,IAAI,EAAE,QAAQ;UACd,OAAO,EAAE;YACL,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;WACjB;SACJ;OACJ;KACJ,CAAC,CAAC;GACN;EAGD,kBAAkB,CAAC,KAAiB;IAChC,IAAIC,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAIA,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;MACjF,OAAO;KACV;SAAM;MACH,IAAI,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;OACrB;KACJ;GACJ;EAGO,UAAU;IACd,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;GAChD;EAED,kBAAkB;IACd,IAAI,IAAI,CAAC,MAAM,EAAE;MACb,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;KACxB;GACJ;EAED,MAAM;IACF,QACIC,QAACC,UAAI,QACDD,sBAAO,IAAI,CAAC,IAAI,CAAQ,EACxBA,0BAAc,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;OACrB,GAAiB,EAClBA,kBAAM,EAAE,EAAC,MAAM,eAAY,IAAI,CAAC,eAAe,IAC3CA,iBAAK,EAAE,EAAC,OAAO,8BAAqB,EACpCA,qBAAO,CACJ,CACJ,EACT;GACL;;;;;;;","names":["createPopper","clickInsideElement","h","Host"],"sources":["./src/components/galactic-menu/galactic-menu.scss?tag=wcs-galactic-menu&encapsulation=shadow","./src/components/galactic-menu/galactic-menu.tsx"],"sourcesContent":["#menu {\n background-color: var(--wcs-gray);\n color: white;\n display: none;\n padding: var(--wcs-padding);\n}\n#menu[data-show] {\n display: block;\n z-index: 9999;\n}\n#menu[data-popper-placement^='top'] > #arrow {\n bottom: -4px;\n}\n\n#menu[data-popper-placement^='bottom'] > #arrow {\n top: -4px;\n}\n\n#menu[data-popper-placement^='left'] > #arrow {\n right: -4px;\n}\n\n#menu[data-popper-placement^='right'] > #arrow {\n left: -4px;\n}\n:host {\n display: flex;\n align-items: center;\n height: 32px;\n padding-left: var(--wcs-padding);\n background-color: var(--wcs-gray-light);\n}\n#toggle-menu-icon{\n cursor: pointer;\n padding: 0 var(--wcs-padding);\n user-select: none;\n}\n#arrow,\n#arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n}\n\n#arrow {\n visibility: hidden;\n}\n\n#arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n}\n","import { Component, ComponentInterface, Element, h, Host, Listen, Prop, State } from '@stencil/core';\nimport { Instance, createPopper } from '@popperjs/core';\nimport { clickInsideElement } from '../../utils/helpers';\n\n@Component({\n tag: 'wcs-galactic-menu',\n styleUrl: 'galactic-menu.scss',\n shadow: true\n})\nexport class Galactic implements ComponentInterface {\n @Element() private el: HTMLWcsGalacticMenuElement;\n @State() private showPopoverMenu: boolean = false;\n private popper: Instance;\n /**\n * Text to be displayed in the galactic bar\n */\n @Prop() text: string;\n private menu;\n private tooltip;\n\n componentDidLoad() {\n this.menu = this.el.shadowRoot.getElementById('toggle-menu-icon');\n this.tooltip = this.el.shadowRoot.getElementById('menu');\n this.popper = createPopper(this.menu, this.tooltip, {\n placement: 'bottom-end',\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8]\n }\n }\n ]\n });\n }\n\n @Listen('click', {target: 'window'})\n onWindowClickEvent(event: MouseEvent) {\n if (clickInsideElement(event, this.tooltip) || clickInsideElement(event, this.menu)) {\n return;\n } else {\n if (this.showPopoverMenu) {\n this.toogleMenu();\n }\n }\n }\n\n\n private toogleMenu() {\n this.showPopoverMenu = !this.showPopoverMenu;\n }\n\n componentDidRender() {\n if (this.popper) {\n this.popper.update();\n }\n }\n\n render(): any {\n return (\n <Host>\n <span>{this.text}</span>\n <wcs-mat-icon id=\"toggle-menu-icon\" icon=\"more_horiz\" size=\"m\" onClick={_ => {\n this.toogleMenu();\n }}></wcs-mat-icon>\n <span id=\"menu\" data-show={this.showPopoverMenu}>\n <div id=\"arrow\" data-popper-arrow />\n <slot/>\n </span>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -15,7 +15,6 @@ const Galactic = class {
15
15
  render() {
16
16
  return (index.h(index.Host, null, index.h("div", { class: "container" }, index.h("div", { class: "container-left" }, index.h("img", { src: SNCF_BASE64_SVG_LOGO, id: "sncf-logo", alt: "Logo SNCF" }), index.h("span", null, this.text)), index.h("div", { class: "menu" }, index.h("slot", null)))));
17
17
  }
18
- get el() { return index.getElement(this); }
19
18
  };
20
19
  const SNCF_BASE64_SVG_LOGO = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVy' +
21
20
  'c2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5' +
@@ -1 +1 @@
1
- {"file":"wcs-galactic.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,WAAW,GAAG,0VAA0V;;MCOjW,QAAQ;;;;gBAIQ,KAAK;;EAG9B,MAAM;IACF,QAAQA,QAACC,UAAI,QACLD,iBAAK,KAAK,EAAC,WAAW,IAClBA,iBAAK,KAAK,EAAC,gBAAgB,IACvBA,iBACI,GAAG,EAAE,oBAAoB,EACzB,EAAE,EAAC,WAAW,EACd,GAAG,EAAC,WAAW,GAAE,EACrBA,sBAAO,IAAI,CAAC,IAAI,CAAQ,CACtB,EACNA,iBAAK,KAAK,EAAC,MAAM,IACbA,qBAAO,CACL,CACJ,CACH,EACT;GACL;;;AAIL,MAAM,oBAAoB,GAAG,4FAA4F;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,oCAAoC,CAAC;;;;;","names":["h","Host"],"sources":["./src/components/galactic/galactic.scss?tag=wcs-galactic&encapsulation=shadow","./src/components/galactic/galactic.tsx"],"sourcesContent":["\n:host {\n display: block;\n background-color: var(--wcs-gray);\n}\n\n.container {\n height: 32px;\n align-items: center;\n justify-content: space-between;\n color: var(--wcs-white);\n font-size: 14px;\n display: flex;\n max-width: var(--wcs-com-content-max-width);\n margin: 0 auto;\n\n #sncf-logo {\n height: 32px;\n margin-right: 20px;\n }\n\n .container-left {\n display: flex;\n align-items: center;\n }\n}\n\n","import { Component, ComponentInterface, Host, h, Prop, Element, State } from '@stencil/core';\n\n@Component({\n tag: 'wcs-galactic',\n styleUrl: 'galactic.scss',\n shadow: true\n})\nexport class Galactic implements ComponentInterface {\n @Element() el: HTMLWcsGalacticElement;\n /** Text to display in the bar */\n @Prop() text: string;\n @State() show: boolean = false;\n\n\n render(): any {\n return (<Host>\n <div class=\"container\">\n <div class=\"container-left\">\n <img\n src={SNCF_BASE64_SVG_LOGO}\n id=\"sncf-logo\"\n alt=\"Logo SNCF\"/>\n <span>{this.text}</span>\n </div>\n <div class=\"menu\">\n <slot/>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n\nconst SNCF_BASE64_SVG_LOGO = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVy' +\n 'c2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5' +\n 'rIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHX0dSQURJRU5UIiBncmFkaW' +\n 'VudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIxNiIgeDI9IjMxLjk1OTMiIHkyPSIxNiI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0e' +\n 'WxlPSJzdG9wLWNvbG9yOiM4MzJGNzAiLz4NCgkJPHN0b3AgIG9mZnNldD0iMC4yNDcyIiBzdHlsZT0ic3RvcC1jb2xvcjojQUMyODdDIi8+DQoJCTxz' +\n 'dG9wICBvZmZzZXQ9IjAuODE0NiIgc3R5bGU9InN0b3AtY29sb3I6I0RGMjUzMCIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2x' +\n 'vcjojREYyNTMwIi8+DQoJPC9saW5lYXJHcmFkaWVudD4NCgk8cGF0aCBmaWxsPSJ1cmwoI1NWR19HUkFESUVOVCkiIGQ9Ik0wLjYsNy43QzAuMiw3Lj' +\n 'csMCw3LjgsMCw4LjJ2MTUuN2MwLDAuMywwLjIsMC41LDAuNSwwLjVoMjhjMC4zLDAsMC41LDAsMC42LTAuNGMwLDAsMi44LTguOSwyLjktOSBjMC4xL' +\n 'TAuMywwLTAuNS0wLjMtMC43QzIyLjYsOC41LDguOSw3LjYsMi44LDcuNkMxLjksNy42LDEuMSw3LjYsMC42LDcuN3oiLz4NCgk8cGF0aCBmaWxsPSIj' +\n 'RkZGRkZGIiBkPSJNNi40LDE3LjdjLTEtMC41LTEuNy0wLjgtMS42LTEuM0M1LDE1LjgsNi4xLDE1LjYsNywxNS42YzAuNSwwLDAuOCwwLjEsMS4yLDA' +\n 'uMmwwLjMtMS4xIGMtMC41LTAuMS0wLjgtMC4xLTEuNC0wLjFjLTEuOSwwLTMuNiwwLjUtNCwxLjZjLTAuNSwxLjMsMC45LDIsMi4yLDIuNmMxLDAuNS' +\n 'wxLjgsMC45LDEuNSwxLjVjLTAuMiwwLjUtMC45LDAuNy0yLDAuNyBjLTAuOSwwLTItMC4zLTIuOS0wLjdsLTAuNSwxLjFjMC42LDAuMywyLDAuNywzL' +\n 'jEsMC43YzIuMSwwLDMuNS0wLjUsNC4xLTEuN0M5LjMsMTkuMSw3LjcsMTguMyw2LjQsMTcuN3oiLz4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJN' +\n 'OS4zLDE5LjZDOS4zLDE5LjcsOS4zLDE5LjcsOS4zLDE5LjZjMC4xLDAsMC4xLDAsMC4xLDBjMCwwLDEtMy4yLDEtMy4yYzEuMSwxLjUsMi4xLDMuNSw' +\n 'yLjcsNS42aDEuNyBsMC45LTIuN2MwLDAsMCwwLDAuMSwwYzAsMCwwLDAsMC4xLDBjMC4zLDEuNywxLjksMi44LDQuMywyLjhjMS41LDAsMi45LTAuNC' +\n 'wzLjItMC42bDAuOS0yLjhoMy40bDAuMy0xLjFoLTMuNGwwLjYtMS44aDQuMSBsMC40LTEuMWgtNS43bC0xLjksNi4xYy0wLjQsMC4xLTAuOSwwLjItM' +\n 'S41LDAuMmMtMS4xLDAtMi4xLTAuMy0yLjYtMC45Yy0wLjQtMC41LTAuNS0xLTAuNC0xLjdjMC4yLTEuNiwxLjgtMi42LDMuOC0yLjYgYzAuNCwwLDAu' +\n 'OSwwLDEuMywwLjFsMC40LTEuMmMtMC41LTAuMS0xLjEtMC4xLTEuNy0wLjFjLTEuOCwwLTMuNCwwLjYtNC40LDEuN2MwLDAtMC4xLDAtMC4xLDBjMCw' +\n 'wLTAuMSwwLDAsMGwwLjUtMS42aC0xLjUgTDE0LDE5LjhjLTAuNS0xLjUtMS42LTMuNS0yLjktNS4xSDkuNWwtMS4yLDMuN0M4LjksMTguOCw5LjEsMT' +\n 'kuMiw5LjMsMTkuNnoiLz4NCjwvc3ZnPg0K';\n"],"version":3}
1
+ {"file":"wcs-galactic.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,WAAW,GAAG,0VAA0V;;MCOjW,QAAQ;;;;gBAGQ,KAAK;;EAG9B,MAAM;IACF,QAAQA,QAACC,UAAI,QACLD,iBAAK,KAAK,EAAC,WAAW,IAClBA,iBAAK,KAAK,EAAC,gBAAgB,IACvBA,iBACI,GAAG,EAAE,oBAAoB,EACzB,EAAE,EAAC,WAAW,EACd,GAAG,EAAC,WAAW,GAAE,EACrBA,sBAAO,IAAI,CAAC,IAAI,CAAQ,CACtB,EACNA,iBAAK,KAAK,EAAC,MAAM,IACbA,qBAAO,CACL,CACJ,CACH,EACT;GACL;;AAIL,MAAM,oBAAoB,GAAG,4FAA4F;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,oCAAoC,CAAC;;;;;","names":["h","Host"],"sources":["./src/components/galactic/galactic.scss?tag=wcs-galactic&encapsulation=shadow","./src/components/galactic/galactic.tsx"],"sourcesContent":["\n:host {\n display: block;\n background-color: var(--wcs-gray);\n}\n\n.container {\n height: 32px;\n align-items: center;\n justify-content: space-between;\n color: var(--wcs-white);\n font-size: 14px;\n display: flex;\n max-width: var(--wcs-com-content-max-width);\n margin: 0 auto;\n\n #sncf-logo {\n height: 32px;\n margin-right: 20px;\n }\n\n .container-left {\n display: flex;\n align-items: center;\n }\n}\n\n","import { Component, ComponentInterface, Host, h, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'wcs-galactic',\n styleUrl: 'galactic.scss',\n shadow: true\n})\nexport class Galactic implements ComponentInterface {\n /** Text to display in the bar */\n @Prop() text: string;\n @State() show: boolean = false;\n\n\n render(): any {\n return (<Host>\n <div class=\"container\">\n <div class=\"container-left\">\n <img\n src={SNCF_BASE64_SVG_LOGO}\n id=\"sncf-logo\"\n alt=\"Logo SNCF\"/>\n <span>{this.text}</span>\n </div>\n <div class=\"menu\">\n <slot/>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n\nconst SNCF_BASE64_SVG_LOGO = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVy' +\n 'c2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5' +\n 'rIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHX0dSQURJRU5UIiBncmFkaW' +\n 'VudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIxNiIgeDI9IjMxLjk1OTMiIHkyPSIxNiI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0e' +\n 'WxlPSJzdG9wLWNvbG9yOiM4MzJGNzAiLz4NCgkJPHN0b3AgIG9mZnNldD0iMC4yNDcyIiBzdHlsZT0ic3RvcC1jb2xvcjojQUMyODdDIi8+DQoJCTxz' +\n 'dG9wICBvZmZzZXQ9IjAuODE0NiIgc3R5bGU9InN0b3AtY29sb3I6I0RGMjUzMCIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2x' +\n 'vcjojREYyNTMwIi8+DQoJPC9saW5lYXJHcmFkaWVudD4NCgk8cGF0aCBmaWxsPSJ1cmwoI1NWR19HUkFESUVOVCkiIGQ9Ik0wLjYsNy43QzAuMiw3Lj' +\n 'csMCw3LjgsMCw4LjJ2MTUuN2MwLDAuMywwLjIsMC41LDAuNSwwLjVoMjhjMC4zLDAsMC41LDAsMC42LTAuNGMwLDAsMi44LTguOSwyLjktOSBjMC4xL' +\n 'TAuMywwLTAuNS0wLjMtMC43QzIyLjYsOC41LDguOSw3LjYsMi44LDcuNkMxLjksNy42LDEuMSw3LjYsMC42LDcuN3oiLz4NCgk8cGF0aCBmaWxsPSIj' +\n 'RkZGRkZGIiBkPSJNNi40LDE3LjdjLTEtMC41LTEuNy0wLjgtMS42LTEuM0M1LDE1LjgsNi4xLDE1LjYsNywxNS42YzAuNSwwLDAuOCwwLjEsMS4yLDA' +\n 'uMmwwLjMtMS4xIGMtMC41LTAuMS0wLjgtMC4xLTEuNC0wLjFjLTEuOSwwLTMuNiwwLjUtNCwxLjZjLTAuNSwxLjMsMC45LDIsMi4yLDIuNmMxLDAuNS' +\n 'wxLjgsMC45LDEuNSwxLjVjLTAuMiwwLjUtMC45LDAuNy0yLDAuNyBjLTAuOSwwLTItMC4zLTIuOS0wLjdsLTAuNSwxLjFjMC42LDAuMywyLDAuNywzL' +\n 'jEsMC43YzIuMSwwLDMuNS0wLjUsNC4xLTEuN0M5LjMsMTkuMSw3LjcsMTguMyw2LjQsMTcuN3oiLz4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJN' +\n 'OS4zLDE5LjZDOS4zLDE5LjcsOS4zLDE5LjcsOS4zLDE5LjZjMC4xLDAsMC4xLDAsMC4xLDBjMCwwLDEtMy4yLDEtMy4yYzEuMSwxLjUsMi4xLDMuNSw' +\n 'yLjcsNS42aDEuNyBsMC45LTIuN2MwLDAsMCwwLDAuMSwwYzAsMCwwLDAsMC4xLDBjMC4zLDEuNywxLjksMi44LDQuMywyLjhjMS41LDAsMi45LTAuNC' +\n 'wzLjItMC42bDAuOS0yLjhoMy40bDAuMy0xLjFoLTMuNGwwLjYtMS44aDQuMSBsMC40LTEuMWgtNS43bC0xLjksNi4xYy0wLjQsMC4xLTAuOSwwLjItM' +\n 'S41LDAuMmMtMS4xLDAtMi4xLTAuMy0yLjYtMC45Yy0wLjQtMC41LTAuNS0xLTAuNC0xLjdjMC4yLTEuNiwxLjgtMi42LDMuOC0yLjYgYzAuNCwwLDAu' +\n 'OSwwLDEuMywwLjFsMC40LTEuMmMtMC41LTAuMS0xLjEtMC4xLTEuNy0wLjFjLTEuOCwwLTMuNCwwLjYtNC40LDEuN2MwLDAtMC4xLDAtMC4xLDBjMCw' +\n 'wLTAuMSwwLDAsMGwwLjUtMS42aC0xLjUgTDE0LDE5LjhjLTAuNS0xLjUtMS42LTMuNS0yLjktNS4xSDkuNWwtMS4yLDMuN0M4LjksMTguOCw5LjEsMT' +\n 'kuMiw5LjMsMTkuNnoiLz4NCjwvc3ZnPg0K';\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"wcs-grid-column.entry.cjs.js","mappings":";;;;;;AAOO,MAAM,aAAa,GAA4C,CAAC,EAAE,KAAK,EAAE,MAC5EA,iBAAK,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW;EAC7GA,mBAAO,IAAI,EAAC,UAAU,IAAE;;;;;;;;;;;;;;;;;;;SAmBvB,CAAS;EACVA,eAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,iBAAiB;IAClCA,kBAAM,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAC,gDAAgD,GAAG;IAChHA,kBAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC;EACJA,eAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,kBAAkB;IACnCA,kBAAM,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAC,gDAAgD,GAAG;IACjHA,kBAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC,CACF,CACT;;ACtCD,MAAM,aAAa,GAAG,gqBAAgqB;;MCSzqB,UAAU;;;;;;;gBAIK,KAAK;;;qBAGoB,MAAM;;uBAKxB,KAAK;kBACV,KAAK;;EAK/B,iBAAiB,CAAC,QAAiB;IAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;GACvC;EAGD,eAAe,CAAC,CAAe;IAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;GACzB;EAED,cAAc;IACV,IAAI,CAAC,IAAI,CAAC,IAAI;MAAE,OAAO;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;MACpB,MAAM,EAAE,IAAI,CAAC,EAAE;MACf,KAAK,EAAE,IAAI,CAAC,SAAS;MACrB,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;GACN;EAED,MAAM;IACF,QAAQA,QAACC,UAAI,IAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,aAAa,IAClED,gBAAI,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,IAC7DA,iBAAK,KAAK,EAAC,wBAAwB,IAC/BA,sBAAO,IAAI,CAAC,IAAI,CAAQ,EAEpB,IAAI,CAAC,IAAI,GAAGA,QAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAE1D,CACL,CACF,EAAC;GACX;EAEO,WAAW;;IAEf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;GAC5F;;;;;;;;;;;","names":["h","Host"],"sources":["./src/components/grid-column/grid-sort-arrow.tsx","./src/components/grid-column/grid-column.scss?tag=wcs-grid-column&encapsulation=shadow","./src/components/grid-column/grid-column.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { WcsSortOrder } from '../grid/grid-interface';\n\ninterface GridSortArrowProps {\n state: WcsSortOrder;\n}\n\nexport const GridSortArrow: FunctionalComponent<GridSortArrowProps> = ({ state }) => (\n <svg style={{ marginLeft: 'auto' }} xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 24 20\">\n <style type=\"text/css\">{`\n .arrow-group {\n transform-origin: 50% 51%;\n transition: transform 175ms ease-in-out;\n }\n .arrow{\n transition: fill 175ms ease-in-out;\n fill: var(--wcs-text-light);\n }\n .asc {\n transform: scaleY(1) translateY(-6px);\n }\n .desc {\n transform: scaleY(-1) translateY(-6px);\n }\n .active {\n fill: var(--wcs-primary);\n }\n\n `}</style>\n <g fill=\"none\" class='asc arrow-group'>\n <path class={(state === 'asc' ? 'active' : '') + ' arrow'} d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </g>\n <g fill=\"none\" class='desc arrow-group'>\n <path class={(state === 'desc' ? 'active' : '') + ' arrow'} d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </g>\n </svg>\n);\n",":host {\n --wcs-grid-column-border-left: solid 1px var(--wcs-text-light);\n\n display: contents;\n\n th {\n color: var(--wcs-gray-dark);\n background-color: var(--wcs-light);\n border-left: var(--wcs-grid-column-border-left);\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n text-align: left;\n\n .grid-column-th-content {\n display: inline-flex;\n flex-direction: row;\n\n span {\n user-select: none;\n }\n }\n }\n\n .pointer {\n cursor: pointer;\n }\n}\n\n:host([sort-order=\"asc\"]) {\n img {\n transform: scaleY(1);\n }\n}\n\n:host([sort-order=\"desc\"]) {\n img {\n transform: scaleY(-1);\n }\n}\n\n:host([sort-order=\"none\"]) {\n img {\n display: none;\n }\n\n th:hover {\n img {\n display: inline-block;\n }\n }\n}\n\n:host([hidden]) {\n display: none !important;\n}\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Prop, Watch } from '@stencil/core';\nimport { WcsCellFormatter, WcsGridColumnSortChangeEventDetails, WcsSortFn, WcsSortOrder } from '../grid/grid-interface';\nimport { GridSortArrow } from './grid-sort-arrow';\n\n@Component({\n tag: 'wcs-grid-column',\n styleUrl: 'grid-column.scss',\n shadow: true\n})\nexport class GridColumn implements ComponentInterface {\n @Element() el: HTMLWcsGridColumnElement;\n @Prop() path: string;\n @Prop() name: string;\n @Prop() sort: boolean = false;\n @Prop() sortFn: WcsSortFn;\n @Prop() formatter: WcsCellFormatter;\n @Prop({mutable: true}) sortOrder: WcsSortOrder = 'none';\n /**\n * Set the column <th> element width\n */\n @Prop() width: string;\n @Prop() customCells: boolean = false;\n @Prop() hidden: boolean = false;\n @Event() wcsSortChange!: EventEmitter<WcsGridColumnSortChangeEventDetails>;\n @Event() wcsHiddenChange!: EventEmitter<boolean>;\n\n @Watch('hidden')\n parseMyObjectProp(newValue: boolean) {\n this.wcsHiddenChange.emit(newValue);\n }\n\n @Watch('sortOrder')\n sortOrderChange(_: WcsSortOrder) {\n this.emitSortConfig();\n }\n\n emitSortConfig() {\n if (!this.sort) return;\n this.wcsSortChange.emit({\n column: this.el,\n order: this.sortOrder,\n sortFn: this.sortFn\n });\n }\n\n render(): any {\n return (<Host onClick={this.onSortClick.bind(this)} slot=\"grid-column\">\n <th style={{width: this.width}} class={this.sort ? 'pointer' : ''}>\n <div class=\"grid-column-th-content\">\n <span>{this.name}</span>\n {\n this.sort ? <GridSortArrow state={this.sortOrder}/> : ''\n }\n </div>\n </th>\n </Host>)\n }\n\n private onSortClick() {\n // @Watch on sortOrder property will trigger wcsSortChange event\n this.sortOrder = this.sortOrder === 'none' || this.sortOrder === 'desc' ? 'asc' : 'desc';\n }\n}\n"],"version":3}
1
+ {"file":"wcs-grid-column.entry.cjs.js","mappings":";;;;;;AAOO,MAAM,aAAa,GAA4C,CAAC,EAAE,KAAK,EAAE,MAC5EA,iBAAK,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW;EAC7GA,mBAAO,IAAI,EAAC,UAAU,IAAE;;;;;;;;;;;;;;;;;;;SAmBvB,CAAS;EACVA,eAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,iBAAiB;IAClCA,kBAAM,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAC,gDAAgD,GAAG;IAChHA,kBAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC;EACJA,eAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,kBAAkB;IACnCA,kBAAM,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAC,gDAAgD,GAAG;IACjHA,kBAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC,CACF,CACT;;ACtCD,MAAM,aAAa,GAAG,gqBAAgqB;;MCSzqB,UAAU;;;;;;;gBAIK,KAAK;;;qBAGoB,MAAM;;uBAKxB,KAAK;kBACV,KAAK;;EAK/B,iBAAiB,CAAC,QAAiB;IAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;GACvC;EAGD,eAAe,CAAC,CAAe;IAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;GACzB;EAED,cAAc;IACV,IAAI,CAAC,IAAI,CAAC,IAAI;MAAE,OAAO;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;MACpB,MAAM,EAAE,IAAI,CAAC,EAAE;MACf,KAAK,EAAE,IAAI,CAAC,SAAS;MACrB,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;GACN;EAED,MAAM;IACF,QAAQA,QAACC,UAAI,IAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,aAAa,IAClED,gBAAI,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,IAC7DA,iBAAK,KAAK,EAAC,wBAAwB,IAC/BA,sBAAO,IAAI,CAAC,IAAI,CAAQ,EAEpB,IAAI,CAAC,IAAI,GAAGA,QAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAE1D,CACL,CACF,EAAC;GACX;EAEO,WAAW;;IAEf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;GAC5F;;;;;;;;;;;","names":["h","Host"],"sources":["./src/components/grid-column/grid-sort-arrow.tsx","./src/components/grid-column/grid-column.scss?tag=wcs-grid-column&encapsulation=shadow","./src/components/grid-column/grid-column.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { WcsSortOrder } from '../grid/grid-interface';\n\ninterface GridSortArrowProps {\n state: WcsSortOrder;\n}\n\nexport const GridSortArrow: FunctionalComponent<GridSortArrowProps> = ({ state }) => (\n <svg style={{ marginLeft: 'auto' }} xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 24 20\">\n <style type=\"text/css\">{`\n .arrow-group {\n transform-origin: 50% 51%;\n transition: transform 175ms ease-in-out;\n }\n .arrow{\n transition: fill 175ms ease-in-out;\n fill: var(--wcs-text-light);\n }\n .asc {\n transform: scaleY(1) translateY(-6px);\n }\n .desc {\n transform: scaleY(-1) translateY(-6px);\n }\n .active {\n fill: var(--wcs-primary);\n }\n\n `}</style>\n <g fill=\"none\" class='asc arrow-group'>\n <path class={(state === 'asc' ? 'active' : '') + ' arrow'} d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </g>\n <g fill=\"none\" class='desc arrow-group'>\n <path class={(state === 'desc' ? 'active' : '') + ' arrow'} d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </g>\n </svg>\n);\n",":host {\n --wcs-grid-column-border-left: solid 1px var(--wcs-text-light);\n\n display: contents;\n\n th {\n color: var(--wcs-gray-dark);\n background-color: var(--wcs-light);\n border-left: var(--wcs-grid-column-border-left);\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n text-align: left;\n\n .grid-column-th-content {\n display: inline-flex;\n flex-direction: row;\n\n span {\n user-select: none;\n }\n }\n }\n\n .pointer {\n cursor: pointer;\n }\n}\n\n:host([sort-order=\"asc\"]) {\n img {\n transform: scaleY(1);\n }\n}\n\n:host([sort-order=\"desc\"]) {\n img {\n transform: scaleY(-1);\n }\n}\n\n:host([sort-order=\"none\"]) {\n img {\n display: none;\n }\n\n th:hover {\n img {\n display: inline-block;\n }\n }\n}\n\n:host([hidden]) {\n display: none !important;\n}\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Prop, Watch } from '@stencil/core';\nimport { WcsCellFormatter, WcsGridColumnSortChangeEventDetails, WcsSortFn, WcsSortOrder } from '../grid/grid-interface';\nimport { GridSortArrow } from './grid-sort-arrow';\n\n@Component({\n tag: 'wcs-grid-column',\n styleUrl: 'grid-column.scss',\n shadow: true\n})\nexport class GridColumn implements ComponentInterface {\n @Element() private el: HTMLWcsGridColumnElement;\n @Prop() path: string;\n @Prop() name: string;\n @Prop() sort: boolean = false;\n @Prop() sortFn: WcsSortFn;\n @Prop() formatter: WcsCellFormatter;\n @Prop({mutable: true}) sortOrder: WcsSortOrder = 'none';\n /**\n * Set the column <th> element width\n */\n @Prop() width: string;\n @Prop() customCells: boolean = false;\n @Prop() hidden: boolean = false;\n @Event() wcsSortChange!: EventEmitter<WcsGridColumnSortChangeEventDetails>;\n @Event() wcsHiddenChange!: EventEmitter<boolean>;\n\n @Watch('hidden')\n parseMyObjectProp(newValue: boolean) {\n this.wcsHiddenChange.emit(newValue);\n }\n\n @Watch('sortOrder')\n sortOrderChange(_: WcsSortOrder) {\n this.emitSortConfig();\n }\n\n emitSortConfig() {\n if (!this.sort) return;\n this.wcsSortChange.emit({\n column: this.el,\n order: this.sortOrder,\n sortFn: this.sortFn\n });\n }\n\n render(): any {\n return (<Host onClick={this.onSortClick.bind(this)} slot=\"grid-column\">\n <th style={{width: this.width}} class={this.sort ? 'pointer' : ''}>\n <div class=\"grid-column-th-content\">\n <span>{this.name}</span>\n {\n this.sort ? <GridSortArrow state={this.sortOrder}/> : ''\n }\n </div>\n </th>\n </Host>)\n }\n\n private onSortClick() {\n // @Watch on sortOrder property will trigger wcsSortChange event\n this.sortOrder = this.sortOrder === 'none' || this.sortOrder === 'desc' ? 'asc' : 'desc';\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const gridPagination = require('./grid-pagination-ff65e0ff.js');
5
+ const gridPagination = require('./grid-pagination-4b55c908.js');
6
6
  require('./index-ca67a6dc.js');
7
7
 
8
8
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ca67a6dc.js');
6
6
  const lodash = require('./lodash-776d6f03.js');
7
- const gridPagination = require('./grid-pagination-ff65e0ff.js');
7
+ const gridPagination = require('./grid-pagination-4b55c908.js');
8
8
 
9
9
  function getSortOrderInteger(sortOrder) {
10
10
  switch (sortOrder) {
@@ -1 +1 @@
1
- {"file":"wcs-grid.entry.cjs.js","mappings":"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","names":["forceUpdate","_","uuid","GridPagination","h","Host"],"sources":["./src/components/grid/grid-interface.ts","./node_modules/uuid/dist/esm-browser/rng.js","./node_modules/uuid/dist/esm-browser/regex.js","./node_modules/uuid/dist/esm-browser/validate.js","./node_modules/uuid/dist/esm-browser/stringify.js","./node_modules/uuid/dist/esm-browser/v4.js","./src/components/grid/grid.scss?tag=wcs-grid&encapsulation=shadow","./src/components/grid/grid.tsx"],"sourcesContent":["import { VNode } from '@stencil/core';\n\nexport type WcsGridSelectionConfig = 'none' | 'single' | 'multiple';\n\nexport type WcsSortFn = (a: any, b: any, column: HTMLWcsGridColumnElement) => -1 | 0 | 1;\n\nexport type WcsCellFormatter = (_h: HyperFunc<VNode>, column: HTMLWcsGridColumnElement, rowData: WcsGridRowData) => HTMLElement | HTMLElement[];\n\nexport interface WcsGridColumnSortChangeEventDetails {\n sortFn: WcsSortFn;\n order: WcsSortOrder;\n column: HTMLWcsGridColumnElement;\n}\n\nexport interface WcsGridRowSelectedEventDetails {\n row: WcsGridRowData;\n}\n\nexport interface WcsGridAllRowSelectedEventDetails {\n rows: WcsGridRowData[];\n}\n\nexport type WcsGridPaginationConfig = {\n currentPage: number;\n pageSize: number;\n itemsCount: number;\n pageCount: number;\n};\n\nexport interface WcsGridPaginationChangeEventDetails {\n pagination: WcsGridPaginationConfig;\n}\n\nexport type WcsSortOrder = 'asc' | 'desc' | 'none';\n\nexport function getSortOrderInteger(sortOrder: WcsSortOrder) {\n switch (sortOrder) {\n case 'asc':\n return 1;\n case 'desc':\n return -1;\n case 'none':\n break;\n }\n}\n\nexport interface WcsGridRow {\n uuid: string;\n page?: number;\n selected?: boolean;\n data?: any;\n cells?: WcsGridCell[];\n}\n\nexport interface WcsGridCell {\n content: string | void;\n column: HTMLWcsGridColumnElement;\n formatter: (_h: HyperFunc<VNode>, column: HTMLWcsGridColumnElement, rowData: WcsGridRowData) => HTMLElement | HTMLElement[];\n}\n\nexport interface WcsGridRowData {\n page: number;\n selected: boolean;\n data: any;\n}\n\nexport interface HyperFunc<T> {\n (tag: any): T;\n}\n\nexport interface HyperFunc<T> {\n (tag: any, data: any): T;\n}\n\nexport interface HyperFunc<T> {\n (tag: any, text: string): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, children: (T | undefined | null)[]): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, text: string): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, children: (T | undefined | null)[]): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, children: T): T;\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;",":host {\n display: block;\n --wcs-grid-highlight-color: var(--wcs-light);\n\n th {\n background-color: var(--wcs-light);\n }\n\n th:not(:first-child) {\n border-left: solid 1px var(--wcs-text-light);\n }\n\n // Remove the border for the first column\n ::slotted([slot=grid-column]:first-child) {\n --wcs-grid-column-border-left: none;\n }\n\n table {\n width: 100%;\n border-spacing: 0;\n }\n\n td {\n color: var(--wcs-gray-light);\n margin: 0;\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n }\n\n tr:not(:last-child) td {\n border-bottom: solid 1px var(--wcs-text-light);\n }\n\n .wcs-grid-selection-column {\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n width: 40px;\n }\n\n tr.selected {\n background-color: var(--wcs-grid-highlight-color);\n }\n\n .loading {\n text-align: center;\n }\n}\n\n// If the grid displays a selection column, we set the border on the\n// first data column (which has been disabled in :host)\n:host([selection]) {\n ::slotted([slot=grid-column]:first-child) {\n --wcs-grid-column-border-left: solid 1px var(--wcs-text-light) !important;\n }\n}\n","import {\n Component,\n ComponentDidLoad,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n VNode,\n Watch\n} from '@stencil/core';\nimport {\n getSortOrderInteger,\n HyperFunc,\n WcsGridAllRowSelectedEventDetails,\n WcsGridCell,\n WcsGridColumnSortChangeEventDetails,\n WcsGridPaginationChangeEventDetails,\n WcsGridRow,\n WcsGridRowData,\n WcsGridRowSelectedEventDetails,\n WcsGridSelectionConfig\n} from './grid-interface';\nimport _ from 'lodash';\nimport { v4 as uuid } from 'uuid';\nimport { GridPagination } from '../grid-pagination/grid-pagination';\n\n@Component({\n tag: 'wcs-grid',\n styleUrl: 'grid.scss',\n shadow: true\n})\nexport class Grid implements ComponentInterface, ComponentDidLoad {\n @Element() el!: HTMLWcsGridElement;\n /**\n * True to manage sort and pagination with a backend server, default: false\n */\n @Prop() serverMode: boolean;\n @Prop() data: any[];\n /**\n * Flag to display spinner during data loading\n */\n @Prop() loading: boolean;\n /**\n * Used to manage grid's row selection\n */\n @Prop() selectionConfig: WcsGridSelectionConfig = 'none';\n /**\n * Set the selected items\n */\n @Prop() selectedItems: any | any[] = [];\n @Prop() wcsGridPaginationId: string;\n /**\n * Name of the object's key that will be used to display the cells whose keyValue attribute matches to the\n * object's value for this key.\n */\n @Prop() rowIdPath: string;\n @State() columns: HTMLWcsGridColumnElement[];\n @State() paginationEl: HTMLWcsGridPaginationElement;\n /**\n * Rows to display, contains user data and meta data\n */\n @State() rows: WcsGridRow[] = [];\n /**\n * Event emitted when a row is selected or unselected\n */\n @Event() wcsGridSelectionChange!: EventEmitter<WcsGridRowSelectedEventDetails>;\n /**\n * Event emitted when all rows are selected or unselected\n */\n @Event() wcsGridAllSelectionChange!: EventEmitter<WcsGridAllRowSelectedEventDetails>;\n\n @Watch('data')\n onDataChange(newValue: any[]): void {\n this.updateGridRows(newValue);\n this.refreshSort(false);\n }\n\n @Watch('selectedItems')\n onSelectedItemsPropertyChange(newValue: any | any[]) {\n this.updateSelectionWithValues(newValue);\n }\n\n @Listen('wcsHiddenChange')\n onHiddenColumnChange(): void {\n // We use forceUpdate because the fact of hiding a column or not does not modify the internal structure of the grid (WcsGridRow).\n // Hide a column only impacts the way it is rendered but the grid-column remains in the dom and in our internal model.\n forceUpdate(this);\n }\n\n private updateSelectionWithValues(values: any | any[]) {\n if (this.selectionConfig === 'single') {\n this.rows.map(r => r.selected = false);\n for (const row of this.rows) {\n if (_.isEqual(row.data, values)) {\n row.selected = true;\n break; // only one line can be selected\n }\n }\n } else if (this.selectionConfig === 'multiple') {\n this.rows.map(r => r.selected = false);\n for (const row of this.rows) {\n if (values.find(x => _.isEqual(x, row.data))) {\n row.selected = true;\n }\n }\n }\n this.rows = _.cloneDeep(this.rows);\n }\n\n private wcsGridRowToWcsGridRowData(row: WcsGridRow): WcsGridRowData {\n return {selected: row.selected, page: row.page, data: row.data};\n }\n\n private updateGridRows(data: any[]): void {\n const rows: WcsGridRow[] = [];\n if (data && this.columns) {\n for (let i = 0; i < data.length; i++) {\n const row: WcsGridRow = {\n uuid: uuid(),\n data: data[i],\n selected: false,\n cells: []\n };\n for (const column of this.columns) {\n row.cells.push({\n content: _.get(data[i], column.path),\n column,\n formatter: column.formatter\n })\n }\n rows.push(row);\n }\n this.rows = rows;\n this.updatePageIndex();\n }\n }\n\n componentDidLoad(): void {\n this.columns = this.getGridColumnsFromTemplate();\n this.paginationEl = this.wcsGridPaginationId\n ? document.getElementById(this.wcsGridPaginationId) as HTMLWcsGridPaginationElement\n : this.getGridPaginationsFromTemplate()[0];\n this.updateGridRows(this.data);\n if (this.selectedItems) {\n this.updateSelectionWithValues(this.selectedItems);\n }\n this.refreshSort(true);\n }\n\n /**\n * Handle existing column's filters (defined before the grid is instantiated)\n * @private\n */\n private refreshSort(refreshOthersColmumnsSortOrderState: boolean) {\n //fixme: why the column property can be null or undefined?\n if (this.columns) {\n const [first, ...other] = this.columns.filter(c => c.sortOrder !== 'none');\n if (first && !this.serverMode) {\n this.sortBy(first);\n }\n refreshOthersColmumnsSortOrderState && this.disableSortOrderForColumns(other);\n }\n }\n\n private disableSortOrderForColumns(columns: HTMLWcsGridColumnElement[] | null | undefined): void {\n columns?.forEach(c => c.sortOrder = 'none');\n }\n\n private getGridColumnsFromTemplate(): HTMLWcsGridColumnElement[] {\n const slotted = this.el.shadowRoot.querySelector('slot[name=\"grid-column\"]') as HTMLSlotElement;\n return slotted.assignedElements() as any as HTMLWcsGridColumnElement[];\n }\n\n private getGridPaginationsFromTemplate(): HTMLWcsGridPaginationElement[] {\n const slotted = this.el.shadowRoot.querySelector('slot[name=\"grid-pagination\"]') as HTMLSlotElement;\n return slotted.assignedElements() as any as HTMLWcsGridPaginationElement[];\n }\n\n @Listen('wcsSortChange')\n sortChangeEventHandler(event: CustomEvent<WcsGridColumnSortChangeEventDetails>): void {\n if (event.detail.order === 'none') return;\n // We keep only one active sort column\n this.disableSortOrderForColumns(this.columns.filter(c => c !== event.detail.column));\n if (this.serverMode) return;\n this.sortBy(event.detail.column);\n this.updatePageIndex();\n }\n\n /**\n * Sorts the grid rows according to the given column's configuration\n * @param colmun Column from which to extract the sorting configuration\n * @private\n */\n private sortBy(colmun: HTMLWcsGridColumnElement) {\n if (colmun.sortFn) {\n this.rows = _.cloneDeep(this.rows)\n .sort((a: any, b: any) => colmun.sortFn(a.data, b.data, colmun) * getSortOrderInteger(colmun.sortOrder));\n } else {\n this.rows = _.cloneDeep(this.rows)\n .sort((a: any, b: any) => {\n const path = colmun.path;\n return ((_.get(a.data, path) < _.get(b.data, path)) ? -1 : (_.get(a.data, path) > _.get(b.data, path)) ? 1 : 0) * getSortOrderInteger(colmun.sortOrder);\n });\n }\n }\n\n /**\n * Update the page's number of all rows\n */\n private updatePageIndex(): void {\n if (!this.serverMode && this.paginationEl) {\n this.paginationEl.itemsCount = this.data.length;\n this.paginationEl.pageCount = Math.ceil(this.data.length / this.paginationEl.pageSize);\n\n if (this.paginationEl.pageCount <= 1) {\n this.paginationEl.currentPage = GridPagination.INDEX_FIRST_PAGE;\n } else if (this.paginationEl.pageCount > 0 && this.paginationEl.currentPage + 1 > this.paginationEl.pageCount) {\n this.paginationEl.currentPage = this.paginationEl.pageCount - 1;\n }\n\n const rows = _.cloneDeep(this.rows);\n rows.forEach((row: WcsGridRow, index: number) =>\n row.page = Math.floor(index / this.paginationEl.pageSize)\n );\n this.rows = [...rows];\n }\n }\n\n @Listen('wcsGridPaginationChange')\n paginationChangeEventHandler(): void {\n this.onPaginationChange();\n }\n\n @Listen('wcsGridPaginationChange', {target: 'window'})\n paginationChangeEventHandlerOutside(event: CustomEvent<WcsGridPaginationChangeEventDetails>): void {\n if (this.wcsGridPaginationId && this.wcsGridPaginationId === (event.target as HTMLElement).id) {\n this.onPaginationChange();\n }\n }\n\n private onPaginationChange(): void {\n if (this.serverMode) return;\n this.updatePageIndex();\n }\n\n private onRowSelection(row: WcsGridRow): void {\n if (this.selectionConfig === 'single') {\n this.rows.filter(r => r.uuid !== row.uuid).map(r => r.selected = false);\n }\n row.selected = !row.selected;\n if (this.selectionConfig !== 'single' || row.selected) {\n this.wcsGridSelectionChange.emit({row: this.wcsGridRowToWcsGridRowData(row)});\n }\n this.rows = _.cloneDeep(this.rows);\n }\n\n private selectAllRows(): void {\n const rows = this.getRowsForCurrentPage();\n const selected = !this.allRowsAreSelected();\n rows.map(r => r.selected = selected);\n this.wcsGridAllSelectionChange.emit({rows: selected ? rows.map(row => this.wcsGridRowToWcsGridRowData(row)) : []});\n this.rows = _.cloneDeep(this.rows);\n }\n\n private allRowsAreSelected(): boolean {\n const rows = this.getRowsForCurrentPage();\n return rows.length > 0 && rows.filter(row => row.selected).length === rows.length;\n }\n\n private getRowsForCurrentPage(): WcsGridRow[] {\n if (this.paginationEl) {\n return this.rows.filter(row => row.page === this.paginationEl.currentPage);\n }\n return this.rows;\n }\n\n renderSelectionColumn(row: WcsGridRow): any {\n switch (this.selectionConfig) {\n case 'none':\n return;\n case 'single':\n return <td>\n <wcs-radio checked={row.selected} onClick={this.onRowSelection.bind(this, row)}/>\n </td>;\n case 'multiple':\n return <td>\n <wcs-checkbox checked={row.selected} onWcsChange={this.onRowSelection.bind(this, row)}/>\n </td>;\n }\n }\n\n private getCellContent(row: WcsGridRow, cell: WcsGridCell): HTMLElement | HTMLElement[] | string | void {\n if (cell.formatter) {\n return cell.formatter(\n (h as unknown) as HyperFunc<VNode>,\n cell.column,\n this.wcsGridRowToWcsGridRowData(row)\n );\n }\n return cell.content;\n }\n\n private totalColumnCount() {\n if (!this.columns) {\n return 0;\n }\n return this.columns.length + (this.selectionConfig === 'none' ? 0 : 1);\n }\n\n render(): any {\n return (\n <Host>\n {\n <table>\n <thead>\n {\n this.selectionConfig === 'none' ? ''\n : <th class=\"wcs-grid-selection-column\">\n {\n this.selectionConfig === 'single' ? '' :\n <wcs-checkbox checked={this.allRowsAreSelected()}\n onWcsChange={this.selectAllRows.bind(this)}/>\n }\n </th>\n }\n <slot name=\"grid-column\"></slot>\n </thead>\n <tbody>\n {\n this.loading\n ? <tr>\n <td colSpan={this.totalColumnCount()} class=\"loading\">\n <wcs-spinner></wcs-spinner>\n </td>\n </tr>\n : this.rows\n ?.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage)\n .map(row =>\n this.renderRow(row)\n )\n }\n </tbody>\n </table>\n }\n <slot name=\"grid-pagination\"></slot>\n </Host>\n );\n }\n\n private renderRow(row: WcsGridRow) {\n return <tr class={row.selected ? 'selected' : ''}>\n {this.renderSelectionColumn(row)}\n {row.cells?.map(cell => {\n if (cell.column.hidden) {\n return;\n }\n return cell.column.customCells\n ? (<td>\n <slot name={cell.column.id + '-' + row.data[this.rowIdPath]}/>\n </td>)\n : (<td part={cell.column.path + '-column'}>{this.getCellContent(row, cell)}</td>)\n }\n )}\n </tr>;\n }\n}\n\n/**\n * Pour resize le tableau\n * https://www.brainbell.com/javascript/making-resizable-table-js.htmls\n *\n */\n"],"version":3}
1
+ {"file":"wcs-grid.entry.cjs.js","mappings":"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","names":["forceUpdate","_","uuid","GridPagination","h","Host"],"sources":["./src/components/grid/grid-interface.ts","./node_modules/uuid/dist/esm-browser/rng.js","./node_modules/uuid/dist/esm-browser/regex.js","./node_modules/uuid/dist/esm-browser/validate.js","./node_modules/uuid/dist/esm-browser/stringify.js","./node_modules/uuid/dist/esm-browser/v4.js","./src/components/grid/grid.scss?tag=wcs-grid&encapsulation=shadow","./src/components/grid/grid.tsx"],"sourcesContent":["import { VNode } from '@stencil/core';\n\nexport type WcsGridSelectionConfig = 'none' | 'single' | 'multiple';\n\nexport type WcsSortFn = (a: any, b: any, column: HTMLWcsGridColumnElement) => -1 | 0 | 1;\n\nexport type WcsCellFormatter = (_h: HyperFunc<VNode>, column: HTMLWcsGridColumnElement, rowData: WcsGridRowData) => HTMLElement | HTMLElement[];\n\nexport interface WcsGridColumnSortChangeEventDetails {\n sortFn: WcsSortFn;\n order: WcsSortOrder;\n column: HTMLWcsGridColumnElement;\n}\n\nexport interface WcsGridRowSelectedEventDetails {\n row: WcsGridRowData;\n}\n\nexport interface WcsGridAllRowSelectedEventDetails {\n rows: WcsGridRowData[];\n}\n\nexport type WcsGridPaginationConfig = {\n currentPage: number;\n pageSize: number;\n itemsCount: number;\n pageCount: number;\n};\n\nexport interface WcsGridPaginationChangeEventDetails {\n pagination: WcsGridPaginationConfig;\n}\n\nexport type WcsSortOrder = 'asc' | 'desc' | 'none';\n\nexport function getSortOrderInteger(sortOrder: WcsSortOrder) {\n switch (sortOrder) {\n case 'asc':\n return 1;\n case 'desc':\n return -1;\n case 'none':\n break;\n }\n}\n\nexport interface WcsGridRow {\n uuid: string;\n page?: number;\n selected?: boolean;\n data?: any;\n cells?: WcsGridCell[];\n}\n\nexport interface WcsGridCell {\n content: string | void;\n column: HTMLWcsGridColumnElement;\n formatter: (_h: HyperFunc<VNode>, column: HTMLWcsGridColumnElement, rowData: WcsGridRowData) => HTMLElement | HTMLElement[];\n}\n\nexport interface WcsGridRowData {\n page: number;\n selected: boolean;\n data: any;\n}\n\nexport interface HyperFunc<T> {\n (tag: any): T;\n}\n\nexport interface HyperFunc<T> {\n (tag: any, data: any): T;\n}\n\nexport interface HyperFunc<T> {\n (tag: any, text: string): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, children: (T | undefined | null)[]): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, text: string): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, children: (T | undefined | null)[]): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, children: T): T;\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;",":host {\n display: block;\n --wcs-grid-highlight-color: var(--wcs-light);\n\n th {\n background-color: var(--wcs-light);\n }\n\n th:not(:first-child) {\n border-left: solid 1px var(--wcs-text-light);\n }\n\n // Remove the border for the first column\n ::slotted([slot=grid-column]:first-child) {\n --wcs-grid-column-border-left: none;\n }\n\n table {\n width: 100%;\n border-spacing: 0;\n }\n\n td {\n color: var(--wcs-gray-light);\n margin: 0;\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n }\n\n tr:not(:last-child) td {\n border-bottom: solid 1px var(--wcs-text-light);\n }\n\n .wcs-grid-selection-column {\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n width: 40px;\n }\n\n tr.selected {\n background-color: var(--wcs-grid-highlight-color);\n }\n\n .loading {\n text-align: center;\n }\n}\n\n// If the grid displays a selection column, we set the border on the\n// first data column (which has been disabled in :host)\n:host([selection]) {\n ::slotted([slot=grid-column]:first-child) {\n --wcs-grid-column-border-left: solid 1px var(--wcs-text-light) !important;\n }\n}\n","import {\n Component,\n ComponentDidLoad,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n VNode,\n Watch\n} from '@stencil/core';\nimport {\n getSortOrderInteger,\n HyperFunc,\n WcsGridAllRowSelectedEventDetails,\n WcsGridCell,\n WcsGridColumnSortChangeEventDetails,\n WcsGridPaginationChangeEventDetails,\n WcsGridRow,\n WcsGridRowData,\n WcsGridRowSelectedEventDetails,\n WcsGridSelectionConfig\n} from './grid-interface';\nimport _ from 'lodash';\nimport { v4 as uuid } from 'uuid';\nimport { GridPagination } from '../grid-pagination/grid-pagination';\n\n@Component({\n tag: 'wcs-grid',\n styleUrl: 'grid.scss',\n shadow: true\n})\nexport class Grid implements ComponentInterface, ComponentDidLoad {\n @Element() private el!: HTMLWcsGridElement;\n /**\n * True to manage sort and pagination with a backend server, default: false\n */\n @Prop() serverMode: boolean;\n @Prop() data: any[];\n /**\n * Flag to display spinner during data loading\n */\n @Prop() loading: boolean;\n /**\n * Used to manage grid's row selection\n */\n @Prop() selectionConfig: WcsGridSelectionConfig = 'none';\n /**\n * Set the selected items\n */\n @Prop() selectedItems: any | any[] = [];\n @Prop() wcsGridPaginationId: string;\n /**\n * Name of the object's key that will be used to display the cells whose keyValue attribute matches to the\n * object's value for this key.\n */\n @Prop() rowIdPath: string;\n @State() private columns: HTMLWcsGridColumnElement[];\n @State() private paginationEl: HTMLWcsGridPaginationElement;\n /**\n * Rows to display, contains user data and meta data\n */\n @State() private rows: WcsGridRow[] = [];\n /**\n * Event emitted when a row is selected or unselected\n */\n @Event() wcsGridSelectionChange!: EventEmitter<WcsGridRowSelectedEventDetails>;\n /**\n * Event emitted when all rows are selected or unselected\n */\n @Event() wcsGridAllSelectionChange!: EventEmitter<WcsGridAllRowSelectedEventDetails>;\n\n @Watch('data')\n onDataChange(newValue: any[]): void {\n this.updateGridRows(newValue);\n this.refreshSort(false);\n }\n\n @Watch('selectedItems')\n onSelectedItemsPropertyChange(newValue: any | any[]) {\n this.updateSelectionWithValues(newValue);\n }\n\n @Listen('wcsHiddenChange')\n onHiddenColumnChange(): void {\n // We use forceUpdate because the fact of hiding a column or not does not modify the internal structure of the grid (WcsGridRow).\n // Hide a column only impacts the way it is rendered but the grid-column remains in the dom and in our internal model.\n forceUpdate(this);\n }\n\n private updateSelectionWithValues(values: any | any[]) {\n if (this.selectionConfig === 'single') {\n this.rows.map(r => r.selected = false);\n for (const row of this.rows) {\n if (_.isEqual(row.data, values)) {\n row.selected = true;\n break; // only one line can be selected\n }\n }\n } else if (this.selectionConfig === 'multiple') {\n this.rows.map(r => r.selected = false);\n for (const row of this.rows) {\n if (values.find(x => _.isEqual(x, row.data))) {\n row.selected = true;\n }\n }\n }\n this.rows = _.cloneDeep(this.rows);\n }\n\n private wcsGridRowToWcsGridRowData(row: WcsGridRow): WcsGridRowData {\n return {selected: row.selected, page: row.page, data: row.data};\n }\n\n private updateGridRows(data: any[]): void {\n const rows: WcsGridRow[] = [];\n if (data && this.columns) {\n for (let i = 0; i < data.length; i++) {\n const row: WcsGridRow = {\n uuid: uuid(),\n data: data[i],\n selected: false,\n cells: []\n };\n for (const column of this.columns) {\n row.cells.push({\n content: _.get(data[i], column.path),\n column,\n formatter: column.formatter\n })\n }\n rows.push(row);\n }\n this.rows = rows;\n this.updatePageIndex();\n }\n }\n\n componentDidLoad(): void {\n this.columns = this.getGridColumnsFromTemplate();\n this.paginationEl = this.wcsGridPaginationId\n ? document.getElementById(this.wcsGridPaginationId) as HTMLWcsGridPaginationElement\n : this.getGridPaginationsFromTemplate()[0];\n this.updateGridRows(this.data);\n if (this.selectedItems) {\n this.updateSelectionWithValues(this.selectedItems);\n }\n this.refreshSort(true);\n }\n\n /**\n * Handle existing column's filters (defined before the grid is instantiated)\n * @private\n */\n private refreshSort(refreshOthersColmumnsSortOrderState: boolean) {\n //fixme: why the column property can be null or undefined?\n if (this.columns) {\n const [first, ...other] = this.columns.filter(c => c.sortOrder !== 'none');\n if (first && !this.serverMode) {\n this.sortBy(first);\n }\n refreshOthersColmumnsSortOrderState && this.disableSortOrderForColumns(other);\n }\n }\n\n private disableSortOrderForColumns(columns: HTMLWcsGridColumnElement[] | null | undefined): void {\n columns?.forEach(c => c.sortOrder = 'none');\n }\n\n private getGridColumnsFromTemplate(): HTMLWcsGridColumnElement[] {\n const slotted = this.el.shadowRoot.querySelector('slot[name=\"grid-column\"]') as HTMLSlotElement;\n return slotted.assignedElements() as any as HTMLWcsGridColumnElement[];\n }\n\n private getGridPaginationsFromTemplate(): HTMLWcsGridPaginationElement[] {\n const slotted = this.el.shadowRoot.querySelector('slot[name=\"grid-pagination\"]') as HTMLSlotElement;\n return slotted.assignedElements() as any as HTMLWcsGridPaginationElement[];\n }\n\n @Listen('wcsSortChange')\n sortChangeEventHandler(event: CustomEvent<WcsGridColumnSortChangeEventDetails>): void {\n if (event.detail.order === 'none') return;\n // We keep only one active sort column\n this.disableSortOrderForColumns(this.columns.filter(c => c !== event.detail.column));\n if (this.serverMode) return;\n this.sortBy(event.detail.column);\n this.updatePageIndex();\n }\n\n /**\n * Sorts the grid rows according to the given column's configuration\n * @param colmun Column from which to extract the sorting configuration\n * @private\n */\n private sortBy(colmun: HTMLWcsGridColumnElement) {\n if (colmun.sortFn) {\n this.rows = _.cloneDeep(this.rows)\n .sort((a: any, b: any) => colmun.sortFn(a.data, b.data, colmun) * getSortOrderInteger(colmun.sortOrder));\n } else {\n this.rows = _.cloneDeep(this.rows)\n .sort((a: any, b: any) => {\n const path = colmun.path;\n return ((_.get(a.data, path) < _.get(b.data, path)) ? -1 : (_.get(a.data, path) > _.get(b.data, path)) ? 1 : 0) * getSortOrderInteger(colmun.sortOrder);\n });\n }\n }\n\n /**\n * Update the page's number of all rows\n */\n private updatePageIndex(): void {\n if (!this.serverMode && this.paginationEl) {\n this.paginationEl.itemsCount = this.data.length;\n this.paginationEl.pageCount = Math.ceil(this.data.length / this.paginationEl.pageSize);\n\n if (this.paginationEl.pageCount <= 1) {\n this.paginationEl.currentPage = GridPagination.INDEX_FIRST_PAGE;\n } else if (this.paginationEl.pageCount > 0 && this.paginationEl.currentPage + 1 > this.paginationEl.pageCount) {\n this.paginationEl.currentPage = this.paginationEl.pageCount - 1;\n }\n\n const rows = _.cloneDeep(this.rows);\n rows.forEach((row: WcsGridRow, index: number) =>\n row.page = Math.floor(index / this.paginationEl.pageSize)\n );\n this.rows = [...rows];\n }\n }\n\n @Listen('wcsGridPaginationChange')\n paginationChangeEventHandler(): void {\n this.onPaginationChange();\n }\n\n @Listen('wcsGridPaginationChange', {target: 'window'})\n paginationChangeEventHandlerOutside(event: CustomEvent<WcsGridPaginationChangeEventDetails>): void {\n if (this.wcsGridPaginationId && this.wcsGridPaginationId === (event.target as HTMLElement).id) {\n this.onPaginationChange();\n }\n }\n\n private onPaginationChange(): void {\n if (this.serverMode) return;\n this.updatePageIndex();\n }\n\n private onRowSelection(row: WcsGridRow): void {\n if (this.selectionConfig === 'single') {\n this.rows.filter(r => r.uuid !== row.uuid).map(r => r.selected = false);\n }\n row.selected = !row.selected;\n if (this.selectionConfig !== 'single' || row.selected) {\n this.wcsGridSelectionChange.emit({row: this.wcsGridRowToWcsGridRowData(row)});\n }\n this.rows = _.cloneDeep(this.rows);\n }\n\n private selectAllRows(): void {\n const rows = this.getRowsForCurrentPage();\n const selected = !this.allRowsAreSelected();\n rows.map(r => r.selected = selected);\n this.wcsGridAllSelectionChange.emit({rows: selected ? rows.map(row => this.wcsGridRowToWcsGridRowData(row)) : []});\n this.rows = _.cloneDeep(this.rows);\n }\n\n private allRowsAreSelected(): boolean {\n const rows = this.getRowsForCurrentPage();\n return rows.length > 0 && rows.filter(row => row.selected).length === rows.length;\n }\n\n private getRowsForCurrentPage(): WcsGridRow[] {\n if (this.paginationEl) {\n return this.rows.filter(row => row.page === this.paginationEl.currentPage);\n }\n return this.rows;\n }\n\n renderSelectionColumn(row: WcsGridRow): any {\n switch (this.selectionConfig) {\n case 'none':\n return;\n case 'single':\n return <td>\n <wcs-radio checked={row.selected} onClick={this.onRowSelection.bind(this, row)}/>\n </td>;\n case 'multiple':\n return <td>\n <wcs-checkbox checked={row.selected} onWcsChange={this.onRowSelection.bind(this, row)}/>\n </td>;\n }\n }\n\n private getCellContent(row: WcsGridRow, cell: WcsGridCell): HTMLElement | HTMLElement[] | string | void {\n if (cell.formatter) {\n return cell.formatter(\n (h as unknown) as HyperFunc<VNode>,\n cell.column,\n this.wcsGridRowToWcsGridRowData(row)\n );\n }\n return cell.content;\n }\n\n private totalColumnCount() {\n if (!this.columns) {\n return 0;\n }\n return this.columns.length + (this.selectionConfig === 'none' ? 0 : 1);\n }\n\n render(): any {\n return (\n <Host>\n {\n <table>\n <thead>\n {\n this.selectionConfig === 'none' ? ''\n : <th class=\"wcs-grid-selection-column\">\n {\n this.selectionConfig === 'single' ? '' :\n <wcs-checkbox checked={this.allRowsAreSelected()}\n onWcsChange={this.selectAllRows.bind(this)}/>\n }\n </th>\n }\n <slot name=\"grid-column\"></slot>\n </thead>\n <tbody>\n {\n this.loading\n ? <tr>\n <td colSpan={this.totalColumnCount()} class=\"loading\">\n <wcs-spinner></wcs-spinner>\n </td>\n </tr>\n : this.rows\n ?.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage)\n .map(row =>\n this.renderRow(row)\n )\n }\n </tbody>\n </table>\n }\n <slot name=\"grid-pagination\"></slot>\n </Host>\n );\n }\n\n private renderRow(row: WcsGridRow) {\n return <tr class={row.selected ? 'selected' : ''}>\n {this.renderSelectionColumn(row)}\n {row.cells?.map(cell => {\n if (cell.column.hidden) {\n return;\n }\n return cell.column.customCells\n ? (<td>\n <slot name={cell.column.id + '-' + row.data[this.rowIdPath]}/>\n </td>)\n : (<td part={cell.column.path + '-column'}>{this.getCellContent(row, cell)}</td>)\n }\n )}\n </tr>;\n }\n}\n\n/**\n * Pour resize le tableau\n * https://www.brainbell.com/javascript/making-resizable-table-js.htmls\n *\n */\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"wcs-header.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,uZAAuZ;;MCQ5Z,MAAM;;;;EACf,QAAQ;IACJ,OAAO;MACH,MAAM,EAAE,QAAQ;KACnB,CAAC;GACL;EAED;IACI,QACIA,wBACIA,kBAAM,IAAI,EAAC,MAAM,GAAE,EACnBA,kBAAM,IAAI,EAAC,OAAO,GAAE,EACpBA,kBAAM,IAAI,EAAC,SAAS,GAAE,CACjB,EACX;GACL;;;;;;;","names":["h"],"sources":["./src/components/header/header.scss?tag=wcs-header&encapsulation=shadow","./src/components/header/header.tsx"],"sourcesContent":["@import '../../style/elevation.scss';\n\nheader {\n @include wcs-elevation(4);\n display: flex;\n align-items: center;\n background: var(--wcs-gray);\n padding: 8px 8px 8px 16px;\n height: calc(64px - 16px);\n z-index: 1;\n}\n\n::slotted(img) {\n width: 70px;\n height: 36.8px;\n margin-right: 16px;\n}\n\n::slotted(h1) {\n color: var(--wcs-white);\n margin: 0;\n font-weight: 500;\n font-size: 1.5rem;\n}\n\n::slotted([slot=actions]) {\n margin-left: auto;\n}\n","import { Component, ComponentInterface, h } from '@stencil/core';\n\n\n@Component({\n tag: 'wcs-header',\n styleUrl: 'header.scss',\n shadow: true\n})\nexport class Header implements ComponentInterface {\n hostData() {\n return {\n 'slot': 'header'\n };\n }\n\n render() {\n return (\n <header>\n <slot name=\"logo\"/>\n <slot name=\"title\"/>\n <slot name=\"actions\"/>\n </header>\n );\n }\n}\n"],"version":3}
1
+ {"file":"wcs-header.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,uZAAuZ;;MCa5Z,MAAM;;;;EACf,QAAQ;IACJ,OAAO;MACH,MAAM,EAAE,QAAQ;KACnB,CAAC;GACL;EAED;IACI,QACIA,wBACIA,kBAAM,IAAI,EAAC,MAAM,GAAE,EACnBA,kBAAM,IAAI,EAAC,OAAO,GAAE,EACpBA,kBAAM,IAAI,EAAC,SAAS,GAAE,CACjB,EACX;GACL;;;;;;;","names":["h"],"sources":["./src/components/header/header.scss?tag=wcs-header&encapsulation=shadow","./src/components/header/header.tsx"],"sourcesContent":["@import '../../style/elevation.scss';\n\nheader {\n @include wcs-elevation(4);\n display: flex;\n align-items: center;\n background: var(--wcs-gray);\n padding: 8px 8px 8px 16px;\n height: calc(64px - 16px);\n z-index: 1;\n}\n\n::slotted(img) {\n width: 70px;\n height: 36.8px;\n margin-right: 16px;\n}\n\n::slotted(h1) {\n color: var(--wcs-white);\n margin: 0;\n font-weight: 500;\n font-size: 1.5rem;\n}\n\n::slotted([slot=actions]) {\n margin-left: auto;\n}\n","import { Component, ComponentInterface, h } from '@stencil/core';\n\n\n/**\n * @slot logo SNCF Logo\n * @slot title Title of your application\n * @slot actions Actions such as buttons, dropdown or any useful information to always display on your application\n */\n@Component({\n tag: 'wcs-header',\n styleUrl: 'header.scss',\n shadow: true\n})\nexport class Header implements ComponentInterface {\n hostData() {\n return {\n 'slot': 'header'\n };\n }\n\n render() {\n return (\n <header>\n <slot name=\"logo\"/>\n <slot name=\"title\"/>\n <slot name=\"actions\"/>\n </header>\n );\n }\n}\n"],"version":3}
@@ -6,7 +6,7 @@ const index = require('./index-ca67a6dc.js');
6
6
 
7
7
  const hintCss = ":host{margin-top:0.25rem}:host([small]){font-size:0.75rem;font-weight:400;color:var(--wcs-text-medium)}";
8
8
 
9
- const Label = class {
9
+ const Hint = class {
10
10
  constructor(hostRef) {
11
11
  index.registerInstance(this, hostRef);
12
12
  this.small = false;
@@ -15,8 +15,8 @@ const Label = class {
15
15
  return (index.h(index.Host, { slot: "messages" }, index.h("slot", null)));
16
16
  }
17
17
  };
18
- Label.style = hintCss;
18
+ Hint.style = hintCss;
19
19
 
20
- exports.wcs_hint = Label;
20
+ exports.wcs_hint = Hint;
21
21
 
22
22
  //# sourceMappingURL=wcs-hint.cjs.entry.js.map
@@ -1 +1 @@
1
- {"file":"wcs-hint.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,OAAO,GAAG,yGAAyG;;MCO5G,KAAK;;;iBAEN,KAAK;;EAEb,MAAM;IACF,QACIA,QAACC,UAAI,IAAC,IAAI,EAAC,UAAU,IACjBD,qBAAQ,CACL,EACT;GACL;;;;;;","names":["h","Host"],"sources":["./src/components/hint/hint.scss?tag=wcs-hint&encapsulation=shadow","./src/components/hint/hint.tsx"],"sourcesContent":[":host {\n margin-top: 0.25rem;\n}\n\n:host([small]) {\n font-size: 0.75rem;\n font-weight: 400;\n color: var(--wcs-text-medium)\n}","import { Component, ComponentInterface, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'wcs-hint',\n styleUrl: 'hint.scss',\n shadow: true,\n})\nexport class Label implements ComponentInterface {\n @Prop({ reflect: true, mutable: true })\n small = false;\n\n render() {\n return (\n <Host slot=\"messages\">\n <slot />\n </Host>\n );\n }\n}"],"version":3}
1
+ {"file":"wcs-hint.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,OAAO,GAAG,yGAAyG;;MCO5G,IAAI;;;iBAKI,KAAK;;EAEtB,MAAM;IACF,QACIA,QAACC,UAAI,IAAC,IAAI,EAAC,UAAU,IACjBD,qBAAQ,CACL,EACT;GACL;;;;;;","names":["h","Host"],"sources":["./src/components/hint/hint.scss?tag=wcs-hint&encapsulation=shadow","./src/components/hint/hint.tsx"],"sourcesContent":[":host {\n margin-top: 0.25rem;\n}\n\n:host([small]) {\n font-size: 0.75rem;\n font-weight: 400;\n color: var(--wcs-text-medium)\n}","import { Component, ComponentInterface, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'wcs-hint',\n styleUrl: 'hint.scss',\n shadow: true,\n})\nexport class Hint implements ComponentInterface {\n /**\n * Whether the component should display the small version of the hint\n */\n @Prop({ reflect: true, mutable: true })\n small: boolean = false;\n\n render() {\n return (\n <Host slot=\"messages\">\n <slot />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -31,7 +31,6 @@ const HorizontalStepper = class {
31
31
  this.steps = undefined;
32
32
  this.mode = 'nonLinear';
33
33
  this.checkOnComplete = undefined;
34
- this.buttonMode = 'stroked';
35
34
  this.internalCurrentStep = undefined;
36
35
  }
37
36
  componentWillLoad() {
@@ -1 +1 @@
1
- {"file":"wcs-horizontal-stepper.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["./src/components/horizontal-stepper/horizontal-step.tsx","./src/components/horizontal-stepper/horizontal-stepper.scss?tag=wcs-horizontal-stepper&encapsulation=shadow","./src/components/horizontal-stepper/horizontal-stepper.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { HorizontalStepConfig, StepButton } from './horizontal-stepper-interface';\n\ninterface HorizontalStepProps {\n step: HorizontalStepConfig;\n checkOnComplete: boolean;\n complete: boolean;\n passed: boolean;\n active: boolean;\n first: boolean;\n disable: boolean;\n onClick: (step: HorizontalStepConfig) => void;\n}\n\nexport const HorizontalStep: FunctionalComponent<HorizontalStepProps> = (\n {\n step,\n checkOnComplete,\n complete,\n passed,\n active,\n first,\n disable,\n onClick\n }) => {\n return (\n <div class=\"graphic-step\" data-first={first}>\n {first ? null : (<wcs-progress-bar value={passed ? 100 : 0}></wcs-progress-bar>)}\n <wcs-button style={{'backgroundColor': 'white'}}\n shape=\"round\"\n onClick={_ => onClick(step)}\n mode={(active || complete) && !step.disable ? 'plain' : 'stroked'}\n disabled={disable}>{getButtonContent(step.button, checkOnComplete, complete, active)}</wcs-button>\n </div>\n );\n}\n\nconst getButtonContent = (stepButton: StepButton, checkOnComplete: boolean, complete: boolean, active: boolean) => {\n if (checkOnComplete && complete && !active) {\n return (<wcs-mat-icon size=\"m\" icon=\"done\" family=\"outlined\"></wcs-mat-icon>);\n }\n switch (stepButton.kind) {\n case 'Icon':\n return (<wcs-mat-icon size=\"m\" icon={stepButton.iconName}\n family={stepButton.family ? stepButton.family : 'outlined'}></wcs-mat-icon>);\n case 'Text':\n return (stepButton.text);\n }\n}\n\n",":host {\n display: block;\n\n .steps {\n display: flex;\n flex-direction: row;\n flex: 1;\n }\n\n .graphic-step {\n display: flex;\n flex-direction: row;\n flex: 1;\n align-items: center;\n }\n\n .graphic-step[data-first] {\n flex: 0;\n }\n\n wcs-progress-bar {\n --wcs-internal-progress-bar-border-radius: 0;\n flex: 1;\n margin: 0 -1px;\n }\n\n .label-container {\n justify-content: space-between;\n display: flex;\n flex-direction: row;\n margin-top: var(--wcs-base-margin);\n }\n\n .label-container > * {\n width: 100%;\n text-align: center;\n flex: 1;\n color: var(--wcs-text-medium);\n font-weight: 500;\n\n }\n\n .label-container > *[data-disable] {\n color: var(--wcs-text-light);\n }\n\n .label-container > *[data-current] {\n color: var(--wcs-primary);\n }\n\n .label-container > div[data-first] {\n margin-left: 20px;\n text-align: left;\n flex: 0.5;\n }\n\n .label-container > div[data-first] > span {\n margin-left: -20px;\n }\n\n .label-container > div[data-last] {\n margin-right: 20px;\n text-align: right;\n flex: 0.5;\n }\n\n .label-container > div[data-last] > span {\n margin-right: -20px;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport { WcsButtonMode } from '../button/button-interface';\nimport { HorizontalStepClickEvent, HorizontalStepConfig, HorizontalStepperMode } from './horizontal-stepper-interface';\nimport { HorizontalStep } from './horizontal-step';\n\n@Component({\n tag: 'wcs-horizontal-stepper',\n styleUrl: 'horizontal-stepper.scss',\n shadow: true,\n})\nexport class HorizontalStepper implements ComponentInterface {\n @Element() el!: HTMLWcsHorizontalStepperElement;\n /**\n * index of the active step. The index corresponds to the index of the step in the 'steps' list\n */\n @Prop({mutable: true}) currentStep: number = 0;\n /**\n * steps to display\n */\n @Prop() steps: HorizontalStepConfig[];\n /**\n * Specifies if the stepper is in linear mode (the user can only click on the next step)\n * or non-linear (the user can click on any step)\n */\n @Prop() mode: HorizontalStepperMode = 'nonLinear';\n /**\n * Specifies whether a check should be displayed when a step is passed.\n */\n @Prop() checkOnComplete: boolean;\n /**\n * Emits when the user selects a new step.\n */\n @Event() wcsHorizontalStepClick!: EventEmitter<HorizontalStepClickEvent>\n @State() buttonMode: WcsButtonMode = 'stroked';\n @State() internalCurrentStep;\n\n componentWillLoad(): Promise<void> | void {\n this.internalCurrentStep = this.currentStep;\n if (this.steps.length < 1) {\n throw new Error('You must add at least one step');\n }\n }\n\n @Watch('currentStep')\n // @ts-ignore\n private onCurrentStepChange(newValue: number, oldValue: number) {\n //Check if the function is called before the component has finished its initialization in which case we do nothing\n if (this.internalCurrentStep !== undefined) {\n const stepInterval = Math.abs(oldValue - newValue);\n this.el.style.setProperty('--wcs-progress-bar-animation-duration', 375 / stepInterval + 'ms');\n if (newValue !== oldValue) {\n for (let i = 0; i < stepInterval; i++) {\n setTimeout(() => {\n this.internalCurrentStep -= (oldValue - newValue) > 0 ? 1 : -1;\n if (i === stepInterval - 1) {\n this.el.style.removeProperty('--wcs-progress-bar-animation-duration');\n }\n }, (i * (375 / stepInterval)));\n }\n }\n }\n }\n\n @Method()\n async previous() {\n this.navigateToIndex(this.internalCurrentStep - 1, 'backward');\n }\n\n @Method()\n async next() {\n this.navigateToIndex(this.internalCurrentStep + 1, 'forward');\n }\n\n private navigateToIndex(index: number, direction: 'backward' | 'forward'): void {\n if (index >= 0 && index <= this.steps.length - 1) {\n if (this.steps[index]?.complete || this.steps[index]?.disable) {\n this.navigateToIndex(index + (direction === 'forward' ? 1 : -1), direction)\n } else {\n this.currentStep = index;\n }\n }\n }\n\n render(): any {\n return (\n <Host>\n <div class=\"steps\">\n {this.steps.map((step, index) =>\n (<HorizontalStep step={step}\n passed={index <= this.internalCurrentStep}\n checkOnComplete={this.checkOnComplete}\n complete={this.isComplete(step, index)}\n active={index === this.internalCurrentStep}\n first={index === 0}\n disable={this.isDisable(step, index)}\n onClick={step => this.wcsHorizontalStepClick.emit({step, index})}\n />\n )\n )}\n </div>\n {this.renderLabels()}\n </Host>\n );\n }\n\n private isComplete(step: HorizontalStepConfig, index: number) {\n return index <= this.internalCurrentStep || step.complete;\n }\n\n private renderLabels() {\n if (this.steps.map(s => s.text).every(s => !s)) {\n return null;\n } else {\n return <div class=\"label-container\">\n {this.steps.map((step, index) =>\n (<div data-first={index === 0} data-current={index === this.internalCurrentStep && !step.disable}\n data-disable={this.isDisable(step, index)} data-last={index === this.steps.length - 1}>\n <span>{step.text}</span></div>)\n )}\n </div>;\n }\n }\n\n private isDisable(step, index) {\n return step.disable || (this.mode === 'linear' && (!this.isNextPossibleStep(index) && this.internalCurrentStep < index));\n }\n\n private isNextPossibleStep(index) {\n if (index === 0) return true;\n if (this.steps[index - 1]?.disable || this.previousStepIsCompleteAndNotActive(index)) return this.isNextPossibleStep(index - 1);\n return this.internalCurrentStep === index - 1;\n }\n\n private previousStepIsCompleteAndNotActive(index) {\n return this.steps[index - 1]?.complete && index - 1 !== this.internalCurrentStep;\n }\n}\n"],"version":3}
1
+ {"file":"wcs-horizontal-stepper.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["./src/components/horizontal-stepper/horizontal-step.tsx","./src/components/horizontal-stepper/horizontal-stepper.scss?tag=wcs-horizontal-stepper&encapsulation=shadow","./src/components/horizontal-stepper/horizontal-stepper.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { HorizontalStepConfig, StepButton } from './horizontal-stepper-interface';\n\ninterface HorizontalStepProps {\n step: HorizontalStepConfig;\n checkOnComplete: boolean;\n complete: boolean;\n passed: boolean;\n active: boolean;\n first: boolean;\n disable: boolean;\n onClick: (step: HorizontalStepConfig) => void;\n}\n\nexport const HorizontalStep: FunctionalComponent<HorizontalStepProps> = (\n {\n step,\n checkOnComplete,\n complete,\n passed,\n active,\n first,\n disable,\n onClick\n }) => {\n return (\n <div class=\"graphic-step\" data-first={first}>\n {first ? null : (<wcs-progress-bar value={passed ? 100 : 0}></wcs-progress-bar>)}\n <wcs-button style={{'backgroundColor': 'white'}}\n shape=\"round\"\n onClick={_ => onClick(step)}\n mode={(active || complete) && !step.disable ? 'plain' : 'stroked'}\n disabled={disable}>{getButtonContent(step.button, checkOnComplete, complete, active)}</wcs-button>\n </div>\n );\n}\n\nconst getButtonContent = (stepButton: StepButton, checkOnComplete: boolean, complete: boolean, active: boolean) => {\n if (checkOnComplete && complete && !active) {\n return (<wcs-mat-icon size=\"m\" icon=\"done\" family=\"outlined\"></wcs-mat-icon>);\n }\n switch (stepButton.kind) {\n case 'Icon':\n return (<wcs-mat-icon size=\"m\" icon={stepButton.iconName}\n family={stepButton.family ? stepButton.family : 'outlined'}></wcs-mat-icon>);\n case 'Text':\n return (stepButton.text);\n }\n}\n\n",":host {\n display: block;\n\n .steps {\n display: flex;\n flex-direction: row;\n flex: 1;\n }\n\n .graphic-step {\n display: flex;\n flex-direction: row;\n flex: 1;\n align-items: center;\n }\n\n .graphic-step[data-first] {\n flex: 0;\n }\n\n wcs-progress-bar {\n --wcs-internal-progress-bar-border-radius: 0;\n flex: 1;\n margin: 0 -1px;\n }\n\n .label-container {\n justify-content: space-between;\n display: flex;\n flex-direction: row;\n margin-top: var(--wcs-base-margin);\n }\n\n .label-container > * {\n width: 100%;\n text-align: center;\n flex: 1;\n color: var(--wcs-text-medium);\n font-weight: 500;\n\n }\n\n .label-container > *[data-disable] {\n color: var(--wcs-text-light);\n }\n\n .label-container > *[data-current] {\n color: var(--wcs-primary);\n }\n\n .label-container > div[data-first] {\n margin-left: 20px;\n text-align: left;\n flex: 0.5;\n }\n\n .label-container > div[data-first] > span {\n margin-left: -20px;\n }\n\n .label-container > div[data-last] {\n margin-right: 20px;\n text-align: right;\n flex: 0.5;\n }\n\n .label-container > div[data-last] > span {\n margin-right: -20px;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport { HorizontalStepClickEvent, HorizontalStepConfig, HorizontalStepperMode } from './horizontal-stepper-interface';\nimport { HorizontalStep } from './horizontal-step';\n\n@Component({\n tag: 'wcs-horizontal-stepper',\n styleUrl: 'horizontal-stepper.scss',\n shadow: true,\n})\nexport class HorizontalStepper implements ComponentInterface {\n @Element() private el!: HTMLWcsHorizontalStepperElement;\n /**\n * index of the active step. The index corresponds to the index of the step in the 'steps' list\n */\n @Prop({mutable: true}) currentStep: number = 0;\n /**\n * steps to display\n */\n @Prop() steps: HorizontalStepConfig[];\n /**\n * Specifies if the stepper is in linear mode (the user can only click on the next step)\n * or non-linear (the user can click on any step)\n */\n @Prop() mode: HorizontalStepperMode = 'nonLinear';\n /**\n * Specifies whether a check should be displayed when a step is passed.\n */\n @Prop() checkOnComplete: boolean;\n /**\n * Emits when the user selects a new step.\n */\n @Event() wcsHorizontalStepClick!: EventEmitter<HorizontalStepClickEvent>\n @State() private internalCurrentStep;\n\n componentWillLoad(): Promise<void> | void {\n this.internalCurrentStep = this.currentStep;\n if (this.steps.length < 1) {\n throw new Error('You must add at least one step');\n }\n }\n\n @Watch('currentStep')\n // @ts-ignore\n private onCurrentStepChange(newValue: number, oldValue: number) {\n //Check if the function is called before the component has finished its initialization in which case we do nothing\n if (this.internalCurrentStep !== undefined) {\n const stepInterval = Math.abs(oldValue - newValue);\n this.el.style.setProperty('--wcs-progress-bar-animation-duration', 375 / stepInterval + 'ms');\n if (newValue !== oldValue) {\n for (let i = 0; i < stepInterval; i++) {\n setTimeout(() => {\n this.internalCurrentStep -= (oldValue - newValue) > 0 ? 1 : -1;\n if (i === stepInterval - 1) {\n this.el.style.removeProperty('--wcs-progress-bar-animation-duration');\n }\n }, (i * (375 / stepInterval)));\n }\n }\n }\n }\n\n @Method()\n async previous() {\n this.navigateToIndex(this.internalCurrentStep - 1, 'backward');\n }\n\n @Method()\n async next() {\n this.navigateToIndex(this.internalCurrentStep + 1, 'forward');\n }\n\n private navigateToIndex(index: number, direction: 'backward' | 'forward'): void {\n if (index >= 0 && index <= this.steps.length - 1) {\n if (this.steps[index]?.complete || this.steps[index]?.disable) {\n this.navigateToIndex(index + (direction === 'forward' ? 1 : -1), direction)\n } else {\n this.currentStep = index;\n }\n }\n }\n\n render(): any {\n return (\n <Host>\n <div class=\"steps\">\n {this.steps.map((step, index) =>\n (<HorizontalStep step={step}\n passed={index <= this.internalCurrentStep}\n checkOnComplete={this.checkOnComplete}\n complete={this.isComplete(step, index)}\n active={index === this.internalCurrentStep}\n first={index === 0}\n disable={this.isDisable(step, index)}\n onClick={step => this.wcsHorizontalStepClick.emit({step, index})}\n />\n )\n )}\n </div>\n {this.renderLabels()}\n </Host>\n );\n }\n\n private isComplete(step: HorizontalStepConfig, index: number) {\n return index <= this.internalCurrentStep || step.complete;\n }\n\n private renderLabels() {\n if (this.steps.map(s => s.text).every(s => !s)) {\n return null;\n } else {\n return <div class=\"label-container\">\n {this.steps.map((step, index) =>\n (<div data-first={index === 0} data-current={index === this.internalCurrentStep && !step.disable}\n data-disable={this.isDisable(step, index)} data-last={index === this.steps.length - 1}>\n <span>{step.text}</span></div>)\n )}\n </div>;\n }\n }\n\n private isDisable(step, index) {\n return step.disable || (this.mode === 'linear' && (!this.isNextPossibleStep(index) && this.internalCurrentStep < index));\n }\n\n private isNextPossibleStep(index) {\n if (index === 0) return true;\n if (this.steps[index - 1]?.disable || this.previousStepIsCompleteAndNotActive(index)) return this.isNextPossibleStep(index - 1);\n return this.internalCurrentStep === index - 1;\n }\n\n private previousStepIsCompleteAndNotActive(index) {\n return this.steps[index - 1]?.complete && index - 1 !== this.internalCurrentStep;\n }\n}\n"],"version":3}
@@ -3,9 +3,15 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-ca67a6dc.js');
6
- const helpers = require('./helpers-11518d4f.js');
6
+ const helpers = require('./helpers-4a14051a.js');
7
7
 
8
- const inputCss = ":host{--wcs-input-icon-color:var(--wcs-text-medium);--wcs-internal-input-border-radius-left:var(--wcs-input-border-radius-left, var(--wcs-border-radius));--wcs-internal-input-border-radius-right:var(--wcs-input-border-radius-right, var(--wcs-border-radius));--wcs-internal-input-border-width:2px;display:flex;width:100%;border-radius:var(--wcs-internal-input-border-radius-left) var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-left);background-color:var(--wcs-light);border:var(--wcs-internal-input-border-width) solid var(--wcs-light);background-clip:padding-box}:host ::placeholder{font-weight:400;font-style:italic}:host input{overflow:hidden;box-sizing:border-box;min-height:24px;width:100%;background-color:transparent;font-family:var(--wcs-font-sans-serif);color:var(--wcs-primary);font-weight:var(--wcs-font-weight-form-value) !important;border:none;padding:calc(var(--wcs-padding) / 2 - var(--wcs-internal-input-border-width) / 2) calc(var(--wcs-padding) - var(--wcs-internal-input-border-width));font-size:1rem;line-height:1.5}:host input:focus{box-shadow:none;outline:0}:host wcs-mat-icon{position:relative;margin-left:8px;margin-right:-8px}:host .toggle_password{cursor:pointer;margin-left:-8px;margin-right:8px}:host .prefix,:host .suffix{color:var(--wcs-white);display:flex;white-space:nowrap;align-items:center;padding:0 calc(var(--wcs-padding) / 2);font-weight:var(--wcs-font-weight-form-value) !important;background-color:var(--wcs-text-disabled)}:host .prefix{border-radius:var(--wcs-internal-input-border-radius-left) 0 0 var(--wcs-internal-input-border-radius-left);margin:calc(-1 * var(--wcs-internal-input-border-width)) 0 calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width));border-left:solid var(--wcs-internal-input-border-width) transparent;border-top:solid var(--wcs-internal-input-border-width) transparent;border-bottom:solid var(--wcs-internal-input-border-width) transparent}:host .suffix{border-radius:0 var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-right) 0;margin:calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width)) 0px;border-right:solid var(--wcs-internal-input-border-width) transparent;border-top:solid var(--wcs-internal-input-border-width) transparent;border-bottom:solid var(--wcs-internal-input-border-width) transparent}:host([state=error]){border-color:var(--wcs-red) !important}:host([data-has-prefix]) input{padding-left:calc(var(--wcs-padding) / 2)}:host([data-has-suffix]) input{padding-left:calc(var(--wcs-padding) / 2)}:host([disabled]) input{color:var(--wcs-text-disabled);cursor:not-allowed}:host([disabled]) .prefix,:host([disabled]) .suffix{color:var(--wcs-light)}:host(:focus-within){border:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) .prefix{border-left:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-top:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-bottom:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) .suffix{border-right:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-top:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-bottom:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) wcs-mat-icon{color:var(--wcs-primary)}";
8
+ const WcsInputSizeValues = ['s', 'm', 'l']; // as const keyword is used to infer and preserve the exact literal values of an array or object.
9
+ function isWcsInputSize(size) {
10
+ // @ts-ignore : ignore size type, as it is checked with WcsInputSizeValues
11
+ return WcsInputSizeValues.includes(size);
12
+ }
13
+
14
+ const inputCss = ":host{--wcs-input-icon-color:var(--wcs-text-medium);--wcs-internal-input-border-radius-left:var(--wcs-input-border-radius-left, var(--wcs-border-radius));--wcs-internal-input-border-radius-right:var(--wcs-input-border-radius-right, var(--wcs-border-radius));--wcs-internal-input-border-width:2px;display:flex;width:100%;height:var(--wcs-input-host-height);box-sizing:border-box;border-radius:var(--wcs-internal-input-border-radius-left) var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-left);background-color:var(--wcs-light);border:var(--wcs-internal-input-border-width) solid var(--wcs-light);background-clip:padding-box}:host ::placeholder{font-weight:400;font-style:italic}:host input{overflow:hidden;min-height:var(--wcs-size-xs);width:100%;background-color:transparent;font-family:var(--wcs-font-sans-serif);color:var(--wcs-primary);font-weight:var(--wcs-font-weight-form-value) !important;border:none;padding:0 calc(var(--wcs-padding) - var(--wcs-internal-input-border-width));font-size:var(--wcs-input-font-size, 1rem);line-height:1.5}:host input:focus{box-shadow:none;outline:0}:host wcs-mat-icon{position:relative;margin-left:8px;margin-right:-8px}:host .toggle_password{cursor:pointer;margin-left:-8px;margin-right:8px}:host .prefix,:host .suffix{color:var(--wcs-white);display:flex;white-space:nowrap;align-items:center;font-size:var(--wcs-input-font-size, 1rem);padding:0 calc(var(--wcs-padding) / 2);font-weight:var(--wcs-font-weight-form-value) !important;background-color:var(--wcs-text-disabled)}:host .prefix{border-radius:var(--wcs-internal-input-border-radius-left) 0 0 var(--wcs-internal-input-border-radius-left);margin:calc(-1 * var(--wcs-internal-input-border-width)) 0 calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width));border-left:solid var(--wcs-internal-input-border-width) transparent;border-top:solid var(--wcs-internal-input-border-width) transparent;border-bottom:solid var(--wcs-internal-input-border-width) transparent}:host .suffix{border-radius:0 var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-right) 0;margin:calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width)) 0px;border-right:solid var(--wcs-internal-input-border-width) transparent;border-top:solid var(--wcs-internal-input-border-width) transparent;border-bottom:solid var(--wcs-internal-input-border-width) transparent}:host([size=l]){--wcs-input-host-height:var(--wcs-size-l);--wcs-input-font-size:1.0625rem}:host([size=m]){--wcs-input-host-height:var(--wcs-size-m);--wcs-input-font-size:1rem}:host([size=s]){--wcs-input-host-height:var(--wcs-size-s);--wcs-input-font-size:0.9375rem}:host([state=error]){border-color:var(--wcs-red) !important}:host([data-has-prefix]) input{padding-left:calc(var(--wcs-padding) / 2)}:host([data-has-suffix]) input{padding-left:calc(var(--wcs-padding) / 2)}:host([disabled]) input{color:var(--wcs-text-disabled);cursor:not-allowed}:host([disabled]) .prefix,:host([disabled]) .suffix{color:var(--wcs-light)}:host(:focus-within){border:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) .prefix{border-left:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-top:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-bottom:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) .suffix{border-right:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-top:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-bottom:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) wcs-mat-icon{color:var(--wcs-primary)}";
9
15
 
10
16
  const Input = class {
11
17
  constructor(hostRef) {
@@ -83,6 +89,7 @@ const Input = class {
83
89
  this.suffixLabel = undefined;
84
90
  this.disabled = false;
85
91
  this.enterkeyhint = undefined;
92
+ this.size = 'm';
86
93
  this.icon = undefined;
87
94
  this.inputmode = undefined;
88
95
  this.max = undefined;
@@ -98,7 +105,6 @@ const Input = class {
98
105
  this.spellcheck = false;
99
106
  this.state = 'initial';
100
107
  this.step = undefined;
101
- this.size = undefined;
102
108
  this.type = 'text';
103
109
  this.value = '';
104
110
  }
@@ -114,6 +120,10 @@ const Input = class {
114
120
  }
115
121
  componentWillLoad() {
116
122
  this.inheritedAttributes = helpers.inheritAttributes(this.el, ['aria-label', 'tabindex', 'title']);
123
+ if (!isWcsInputSize(this.size)) {
124
+ console.error(`Invalid size value for wcs-input : "${this.size}". Must be one of "${WcsInputSizeValues.join(', ')}"`);
125
+ this.size = "m"; // Default fallback value
126
+ }
117
127
  }
118
128
  connectedCallback() {
119
129
  this.debounceChanged();
@@ -189,7 +199,7 @@ const Input = class {
189
199
  if (label) {
190
200
  label.id = labelId;
191
201
  }
192
- return (index.h(index.Host, { "aria-disabled": this.disabled ? 'true' : null, "data-has-prefix": !!this.prefixLabel, "data-has-suffix": !!this.suffixLabel }, this.prefixLabel ? (index.h("span", { class: "prefix", part: "prefix" }, this.prefixLabel)) : null, this.icon ? (index.h("wcs-mat-icon", { icon: this.icon, size: "m" })) : null, index.h("input", Object.assign({ class: "native-input", ref: input => this.nativeInput = input, "aria-labelledby": label ? labelId : null, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.passwordReveal ? 'text' : this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)), this.type === "password" ? (index.h("wcs-mat-icon", { class: "toggle_password", icon: this.iconPassword, size: "m", onClick: () => this.passwordRevealIconClick() })) : null, this.suffixLabel ? (index.h("span", { class: "suffix", part: "suffix" }, this.suffixLabel)) : null));
202
+ return (index.h(index.Host, { "aria-disabled": this.disabled ? 'true' : null, "data-has-prefix": !!this.prefixLabel, "data-has-suffix": !!this.suffixLabel }, this.prefixLabel ? (index.h("span", { class: "prefix", part: "prefix" }, this.prefixLabel)) : null, this.icon ? (index.h("wcs-mat-icon", { icon: this.icon, size: "m" })) : null, index.h("input", Object.assign({ class: "native-input", ref: input => this.nativeInput = input, "aria-labelledby": label ? labelId : null, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.passwordReveal ? 'text' : this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)), this.type === "password" ? (index.h("wcs-mat-icon", { class: "toggle_password", icon: this.iconPassword, size: "m", onClick: () => this.passwordRevealIconClick() })) : null, this.suffixLabel ? (index.h("span", { class: "suffix", part: "suffix" }, this.suffixLabel)) : null));
193
203
  }
194
204
  static get delegatesFocus() { return true; }
195
205
  get el() { return index.getElement(this); }