wcs-core 7.4.0 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/bundle/index.d.ts +45 -0
  2. package/bundle/index.js +2 -0
  3. package/bundle/index.js.map +1 -0
  4. package/bundle/p-010cf905.js +2 -0
  5. package/bundle/p-010cf905.js.map +1 -0
  6. package/bundle/p-2751ddc1.js +2 -0
  7. package/bundle/p-2751ddc1.js.map +1 -0
  8. package/bundle/p-2bef72c7.js +2 -0
  9. package/bundle/p-2bef72c7.js.map +1 -0
  10. package/bundle/p-2e9b9605.js +2 -0
  11. package/bundle/p-2e9b9605.js.map +1 -0
  12. package/bundle/p-30d83d3d.js +2 -0
  13. package/bundle/p-30d83d3d.js.map +1 -0
  14. package/bundle/p-35d7af48.js +2 -0
  15. package/bundle/p-35d7af48.js.map +1 -0
  16. package/bundle/p-3abf8a42.js +2 -0
  17. package/bundle/p-3abf8a42.js.map +1 -0
  18. package/bundle/p-44a3b0b9.js +2 -0
  19. package/bundle/p-44a3b0b9.js.map +1 -0
  20. package/bundle/p-60193ef5.js +2 -0
  21. package/bundle/p-60193ef5.js.map +1 -0
  22. package/bundle/p-763371a0.js +16 -0
  23. package/bundle/p-763371a0.js.map +1 -0
  24. package/bundle/p-97e70e10.js +2 -0
  25. package/bundle/p-97e70e10.js.map +1 -0
  26. package/bundle/p-98bd8a96.js +2 -0
  27. package/bundle/p-98bd8a96.js.map +1 -0
  28. package/bundle/p-9c2aa87a.js +2 -0
  29. package/bundle/p-9c2aa87a.js.map +1 -0
  30. package/bundle/p-a0f32ead.js +2 -0
  31. package/bundle/p-a0f32ead.js.map +1 -0
  32. package/bundle/p-a7468a3a.js +2 -0
  33. package/bundle/p-a7468a3a.js.map +1 -0
  34. package/bundle/p-c8b73e93.js +2 -0
  35. package/bundle/p-c8b73e93.js.map +1 -0
  36. package/{dist/wcs/p-204f2722.entry.js → bundle/p-cdc6f6c2.js} +9 -9
  37. package/bundle/p-cdc6f6c2.js.map +1 -0
  38. package/bundle/p-d23d7658.js +2 -0
  39. package/bundle/p-d23d7658.js.map +1 -0
  40. package/bundle/p-d3404c52.js +2 -0
  41. package/bundle/p-d3404c52.js.map +1 -0
  42. package/bundle/p-e1fb3625.js +2 -0
  43. package/bundle/p-e1fb3625.js.map +1 -0
  44. package/bundle/p-f0dda0b8.js +2 -0
  45. package/bundle/p-f0dda0b8.js.map +1 -0
  46. package/bundle/p-fb2751c2.js +2 -0
  47. package/bundle/p-fb2751c2.js.map +1 -0
  48. package/bundle/p-fc9ba34d.js +2 -0
  49. package/bundle/p-fc9ba34d.js.map +1 -0
  50. package/bundle/package.json +8 -0
  51. package/bundle/wcs-accordion-content.d.ts +11 -0
  52. package/bundle/wcs-accordion-content.js +2 -0
  53. package/bundle/wcs-accordion-content.js.map +1 -0
  54. package/bundle/wcs-accordion-header.d.ts +11 -0
  55. package/bundle/wcs-accordion-header.js +2 -0
  56. package/bundle/wcs-accordion-header.js.map +1 -0
  57. package/bundle/wcs-accordion-panel.d.ts +11 -0
  58. package/bundle/wcs-accordion-panel.js +2 -0
  59. package/bundle/wcs-accordion-panel.js.map +1 -0
  60. package/bundle/wcs-accordion.d.ts +11 -0
  61. package/bundle/wcs-accordion.js +2 -0
  62. package/bundle/wcs-accordion.js.map +1 -0
  63. package/bundle/wcs-action-bar.d.ts +11 -0
  64. package/bundle/wcs-action-bar.js +2 -0
  65. package/bundle/wcs-action-bar.js.map +1 -0
  66. package/bundle/wcs-alert-drawer.d.ts +11 -0
  67. package/bundle/wcs-alert-drawer.js +2 -0
  68. package/bundle/wcs-alert-drawer.js.map +1 -0
  69. package/bundle/wcs-alert.d.ts +11 -0
  70. package/bundle/wcs-alert.js +2 -0
  71. package/bundle/wcs-alert.js.map +1 -0
  72. package/bundle/wcs-app.d.ts +11 -0
  73. package/bundle/wcs-app.js +2 -0
  74. package/bundle/wcs-app.js.map +1 -0
  75. package/bundle/wcs-badge.d.ts +11 -0
  76. package/bundle/wcs-badge.js +2 -0
  77. package/bundle/wcs-badge.js.map +1 -0
  78. package/bundle/wcs-breadcrumb-item.d.ts +11 -0
  79. package/bundle/wcs-breadcrumb-item.js +2 -0
  80. package/bundle/wcs-breadcrumb-item.js.map +1 -0
  81. package/bundle/wcs-breadcrumb.d.ts +11 -0
  82. package/bundle/wcs-breadcrumb.js +2 -0
  83. package/bundle/wcs-breadcrumb.js.map +1 -0
  84. package/bundle/wcs-button.d.ts +11 -0
  85. package/bundle/wcs-button.js +2 -0
  86. package/bundle/wcs-button.js.map +1 -0
  87. package/bundle/wcs-card-body.d.ts +11 -0
  88. package/bundle/wcs-card-body.js +2 -0
  89. package/bundle/wcs-card-body.js.map +1 -0
  90. package/bundle/wcs-card-content.d.ts +11 -0
  91. package/bundle/wcs-card-content.js +2 -0
  92. package/bundle/wcs-card-content.js.map +1 -0
  93. package/bundle/wcs-card-footer.d.ts +11 -0
  94. package/bundle/wcs-card-footer.js +2 -0
  95. package/bundle/wcs-card-footer.js.map +1 -0
  96. package/bundle/wcs-card-header.d.ts +11 -0
  97. package/bundle/wcs-card-header.js +2 -0
  98. package/bundle/wcs-card-header.js.map +1 -0
  99. package/bundle/wcs-card-media.d.ts +11 -0
  100. package/bundle/wcs-card-media.js +2 -0
  101. package/bundle/wcs-card-media.js.map +1 -0
  102. package/bundle/wcs-card.d.ts +11 -0
  103. package/bundle/wcs-card.js +2 -0
  104. package/bundle/wcs-card.js.map +1 -0
  105. package/bundle/wcs-checkbox.d.ts +11 -0
  106. package/bundle/wcs-checkbox.js +2 -0
  107. package/bundle/wcs-checkbox.js.map +1 -0
  108. package/bundle/wcs-chip.d.ts +11 -0
  109. package/bundle/wcs-chip.js +2 -0
  110. package/bundle/wcs-chip.js.map +1 -0
  111. package/bundle/wcs-com-nav-category.d.ts +11 -0
  112. package/bundle/wcs-com-nav-category.js +2 -0
  113. package/bundle/wcs-com-nav-category.js.map +1 -0
  114. package/bundle/wcs-com-nav-item.d.ts +11 -0
  115. package/bundle/wcs-com-nav-item.js +2 -0
  116. package/bundle/wcs-com-nav-item.js.map +1 -0
  117. package/bundle/wcs-com-nav-submenu.d.ts +11 -0
  118. package/bundle/wcs-com-nav-submenu.js +2 -0
  119. package/bundle/wcs-com-nav-submenu.js.map +1 -0
  120. package/bundle/wcs-com-nav.d.ts +11 -0
  121. package/bundle/wcs-com-nav.js +2 -0
  122. package/bundle/wcs-com-nav.js.map +1 -0
  123. package/bundle/wcs-counter.d.ts +11 -0
  124. package/bundle/wcs-counter.js +2 -0
  125. package/bundle/wcs-counter.js.map +1 -0
  126. package/bundle/wcs-divider.d.ts +11 -0
  127. package/bundle/wcs-divider.js +2 -0
  128. package/bundle/wcs-divider.js.map +1 -0
  129. package/bundle/wcs-dropdown-divider.d.ts +11 -0
  130. package/bundle/wcs-dropdown-divider.js +2 -0
  131. package/bundle/wcs-dropdown-divider.js.map +1 -0
  132. package/bundle/wcs-dropdown-header.d.ts +11 -0
  133. package/bundle/wcs-dropdown-header.js +2 -0
  134. package/bundle/wcs-dropdown-header.js.map +1 -0
  135. package/bundle/wcs-dropdown-item.d.ts +11 -0
  136. package/bundle/wcs-dropdown-item.js +2 -0
  137. package/bundle/wcs-dropdown-item.js.map +1 -0
  138. package/bundle/wcs-dropdown.d.ts +11 -0
  139. package/bundle/wcs-dropdown.js +2 -0
  140. package/bundle/wcs-dropdown.js.map +1 -0
  141. package/bundle/wcs-editable-field.d.ts +11 -0
  142. package/bundle/wcs-editable-field.js +2 -0
  143. package/bundle/wcs-editable-field.js.map +1 -0
  144. package/bundle/wcs-error.d.ts +11 -0
  145. package/bundle/wcs-error.js +2 -0
  146. package/bundle/wcs-error.js.map +1 -0
  147. package/bundle/wcs-field-content.d.ts +11 -0
  148. package/bundle/wcs-field-content.js +2 -0
  149. package/bundle/wcs-field-content.js.map +1 -0
  150. package/bundle/wcs-field-label.d.ts +11 -0
  151. package/bundle/wcs-field-label.js +2 -0
  152. package/bundle/wcs-field-label.js.map +1 -0
  153. package/bundle/wcs-field.d.ts +11 -0
  154. package/bundle/wcs-field.js +2 -0
  155. package/bundle/wcs-field.js.map +1 -0
  156. package/bundle/wcs-footer.d.ts +11 -0
  157. package/bundle/wcs-footer.js +2 -0
  158. package/bundle/wcs-footer.js.map +1 -0
  159. package/bundle/wcs-form-field.d.ts +11 -0
  160. package/bundle/wcs-form-field.js +2 -0
  161. package/bundle/wcs-form-field.js.map +1 -0
  162. package/bundle/wcs-galactic-menu.d.ts +11 -0
  163. package/bundle/wcs-galactic-menu.js +2 -0
  164. package/bundle/wcs-galactic-menu.js.map +1 -0
  165. package/bundle/wcs-galactic.d.ts +11 -0
  166. package/bundle/wcs-galactic.js +2 -0
  167. package/bundle/wcs-galactic.js.map +1 -0
  168. package/bundle/wcs-grid-column.d.ts +11 -0
  169. package/bundle/wcs-grid-column.js +2 -0
  170. package/bundle/wcs-grid-column.js.map +1 -0
  171. package/bundle/wcs-grid-custom-cell.d.ts +11 -0
  172. package/bundle/wcs-grid-custom-cell.js +2 -0
  173. package/bundle/wcs-grid-custom-cell.js.map +1 -0
  174. package/bundle/wcs-grid-pagination.d.ts +11 -0
  175. package/bundle/wcs-grid-pagination.js +2 -0
  176. package/bundle/wcs-grid-pagination.js.map +1 -0
  177. package/bundle/wcs-grid.d.ts +11 -0
  178. package/bundle/wcs-grid.js +2 -0
  179. package/bundle/wcs-grid.js.map +1 -0
  180. package/bundle/wcs-header.d.ts +11 -0
  181. package/bundle/wcs-header.js +2 -0
  182. package/bundle/wcs-header.js.map +1 -0
  183. package/bundle/wcs-hint.d.ts +11 -0
  184. package/bundle/wcs-hint.js +2 -0
  185. package/bundle/wcs-hint.js.map +1 -0
  186. package/bundle/wcs-horizontal-stepper.d.ts +11 -0
  187. package/bundle/wcs-horizontal-stepper.js +2 -0
  188. package/bundle/wcs-horizontal-stepper.js.map +1 -0
  189. package/bundle/wcs-icon.d.ts +11 -0
  190. package/bundle/wcs-icon.js +2 -0
  191. package/bundle/wcs-icon.js.map +1 -0
  192. package/bundle/wcs-input.d.ts +11 -0
  193. package/bundle/wcs-input.js +2 -0
  194. package/bundle/wcs-input.js.map +1 -0
  195. package/bundle/wcs-label.d.ts +11 -0
  196. package/bundle/wcs-label.js +2 -0
  197. package/bundle/wcs-label.js.map +1 -0
  198. package/bundle/wcs-list-item-properties.d.ts +11 -0
  199. package/bundle/wcs-list-item-properties.js +2 -0
  200. package/bundle/wcs-list-item-properties.js.map +1 -0
  201. package/bundle/wcs-list-item-property.d.ts +11 -0
  202. package/bundle/wcs-list-item-property.js +2 -0
  203. package/bundle/wcs-list-item-property.js.map +1 -0
  204. package/bundle/wcs-list-item.d.ts +11 -0
  205. package/bundle/wcs-list-item.js +2 -0
  206. package/bundle/wcs-list-item.js.map +1 -0
  207. package/bundle/wcs-mat-icon.d.ts +11 -0
  208. package/bundle/wcs-mat-icon.js +2 -0
  209. package/bundle/wcs-mat-icon.js.map +1 -0
  210. package/bundle/wcs-modal.d.ts +11 -0
  211. package/bundle/wcs-modal.js +2 -0
  212. package/bundle/wcs-modal.js.map +1 -0
  213. package/bundle/wcs-native-select.d.ts +11 -0
  214. package/bundle/wcs-native-select.js +2 -0
  215. package/bundle/wcs-native-select.js.map +1 -0
  216. package/bundle/wcs-nav-item.d.ts +11 -0
  217. package/bundle/wcs-nav-item.js +2 -0
  218. package/bundle/wcs-nav-item.js.map +1 -0
  219. package/bundle/wcs-nav.d.ts +11 -0
  220. package/bundle/wcs-nav.js +2 -0
  221. package/bundle/wcs-nav.js.map +1 -0
  222. package/bundle/wcs-progress-bar.d.ts +11 -0
  223. package/bundle/wcs-progress-bar.js +2 -0
  224. package/bundle/wcs-progress-bar.js.map +1 -0
  225. package/bundle/wcs-progress-radial.d.ts +11 -0
  226. package/bundle/wcs-progress-radial.js +2 -0
  227. package/bundle/wcs-progress-radial.js.map +1 -0
  228. package/bundle/wcs-radio-group.d.ts +11 -0
  229. package/bundle/wcs-radio-group.js +2 -0
  230. package/bundle/wcs-radio-group.js.map +1 -0
  231. package/bundle/wcs-radio.d.ts +11 -0
  232. package/bundle/wcs-radio.js +2 -0
  233. package/bundle/wcs-radio.js.map +1 -0
  234. package/bundle/wcs-select-option.d.ts +11 -0
  235. package/bundle/wcs-select-option.js +2 -0
  236. package/bundle/wcs-select-option.js.map +1 -0
  237. package/bundle/wcs-select.d.ts +11 -0
  238. package/bundle/wcs-select.js +2 -0
  239. package/bundle/wcs-select.js.map +1 -0
  240. package/bundle/wcs-skeleton-circle.d.ts +11 -0
  241. package/bundle/wcs-skeleton-circle.js +2 -0
  242. package/bundle/wcs-skeleton-circle.js.map +1 -0
  243. package/bundle/wcs-skeleton-rectangle.d.ts +11 -0
  244. package/bundle/wcs-skeleton-rectangle.js +2 -0
  245. package/bundle/wcs-skeleton-rectangle.js.map +1 -0
  246. package/bundle/wcs-skeleton-text.d.ts +11 -0
  247. package/bundle/wcs-skeleton-text.js +2 -0
  248. package/bundle/wcs-skeleton-text.js.map +1 -0
  249. package/bundle/wcs-spinner.d.ts +11 -0
  250. package/bundle/wcs-spinner.js +2 -0
  251. package/bundle/wcs-spinner.js.map +1 -0
  252. package/bundle/wcs-switch.d.ts +11 -0
  253. package/bundle/wcs-switch.js +2 -0
  254. package/bundle/wcs-switch.js.map +1 -0
  255. package/bundle/wcs-tab.d.ts +11 -0
  256. package/bundle/wcs-tab.js +2 -0
  257. package/bundle/wcs-tab.js.map +1 -0
  258. package/bundle/wcs-tabs.d.ts +11 -0
  259. package/bundle/wcs-tabs.js +2 -0
  260. package/bundle/wcs-tabs.js.map +1 -0
  261. package/bundle/wcs-textarea.d.ts +11 -0
  262. package/bundle/wcs-textarea.js +2 -0
  263. package/bundle/wcs-textarea.js.map +1 -0
  264. package/bundle/wcs-tooltip.d.ts +11 -0
  265. package/bundle/wcs-tooltip.js +7 -0
  266. package/bundle/wcs-tooltip.js.map +1 -0
  267. package/composite-elements/index.d.ts +33 -0
  268. package/composite-elements/index.js +2 -0
  269. package/composite-elements/index.js.map +1 -0
  270. package/composite-elements/p-04663560.js +2 -0
  271. package/composite-elements/p-04663560.js.map +1 -0
  272. package/composite-elements/p-0c306f8c.js +2 -0
  273. package/composite-elements/p-0c306f8c.js.map +1 -0
  274. package/composite-elements/p-2454bcae.js +2 -0
  275. package/composite-elements/p-2454bcae.js.map +1 -0
  276. package/composite-elements/p-2a51c239.js +2 -0
  277. package/composite-elements/p-2a51c239.js.map +1 -0
  278. package/composite-elements/p-2bef72c7.js +2 -0
  279. package/composite-elements/p-2bef72c7.js.map +1 -0
  280. package/composite-elements/p-35d7af48.js +2 -0
  281. package/composite-elements/p-35d7af48.js.map +1 -0
  282. package/composite-elements/p-3abf8a42.js +2 -0
  283. package/composite-elements/p-3abf8a42.js.map +1 -0
  284. package/composite-elements/p-46f752d5.js +2 -0
  285. package/composite-elements/p-46f752d5.js.map +1 -0
  286. package/composite-elements/p-51517fda.js +156 -0
  287. package/composite-elements/p-51517fda.js.map +1 -0
  288. package/composite-elements/p-55668982.js +2 -0
  289. package/composite-elements/p-55668982.js.map +1 -0
  290. package/composite-elements/p-5a3d7fec.js +2 -0
  291. package/composite-elements/p-5a3d7fec.js.map +1 -0
  292. package/composite-elements/p-a0f32ead.js +2 -0
  293. package/composite-elements/p-a0f32ead.js.map +1 -0
  294. package/composite-elements/p-a7468a3a.js +2 -0
  295. package/composite-elements/p-a7468a3a.js.map +1 -0
  296. package/composite-elements/p-a90bb01e.js +2 -0
  297. package/composite-elements/p-a90bb01e.js.map +1 -0
  298. package/composite-elements/p-af24fb0d.js +16 -0
  299. package/composite-elements/p-af24fb0d.js.map +1 -0
  300. package/composite-elements/p-b83afff9.js +2 -0
  301. package/composite-elements/p-b83afff9.js.map +1 -0
  302. package/composite-elements/p-b92e818b.js +2 -0
  303. package/composite-elements/p-b92e818b.js.map +1 -0
  304. package/composite-elements/p-bc4c736d.js +2 -0
  305. package/composite-elements/p-bc4c736d.js.map +1 -0
  306. package/composite-elements/p-d3404c52.js +2 -0
  307. package/composite-elements/p-d3404c52.js.map +1 -0
  308. package/composite-elements/p-e1fb3625.js +2 -0
  309. package/composite-elements/p-e1fb3625.js.map +1 -0
  310. package/composite-elements/p-e803bb26.js +2 -0
  311. package/composite-elements/p-e803bb26.js.map +1 -0
  312. package/composite-elements/p-ef26b4d8.js +2 -0
  313. package/composite-elements/p-ef26b4d8.js.map +1 -0
  314. package/composite-elements/p-fb2751c2.js +2 -0
  315. package/composite-elements/p-fb2751c2.js.map +1 -0
  316. package/composite-elements/package.json +12 -0
  317. package/composite-elements/wcs-accordion-content.d.ts +11 -0
  318. package/composite-elements/wcs-accordion-content.js +2 -0
  319. package/composite-elements/wcs-accordion-content.js.map +1 -0
  320. package/composite-elements/wcs-accordion-header.d.ts +11 -0
  321. package/composite-elements/wcs-accordion-header.js +2 -0
  322. package/composite-elements/wcs-accordion-header.js.map +1 -0
  323. package/composite-elements/wcs-accordion-panel.d.ts +11 -0
  324. package/composite-elements/wcs-accordion-panel.js +2 -0
  325. package/composite-elements/wcs-accordion-panel.js.map +1 -0
  326. package/composite-elements/wcs-accordion.d.ts +11 -0
  327. package/composite-elements/wcs-accordion.js +2 -0
  328. package/composite-elements/wcs-accordion.js.map +1 -0
  329. package/composite-elements/wcs-action-bar.d.ts +11 -0
  330. package/composite-elements/wcs-action-bar.js +2 -0
  331. package/composite-elements/wcs-action-bar.js.map +1 -0
  332. package/composite-elements/wcs-alert-drawer.d.ts +11 -0
  333. package/composite-elements/wcs-alert-drawer.js +2 -0
  334. package/composite-elements/wcs-alert-drawer.js.map +1 -0
  335. package/composite-elements/wcs-alert.d.ts +11 -0
  336. package/composite-elements/wcs-alert.js +2 -0
  337. package/composite-elements/wcs-alert.js.map +1 -0
  338. package/composite-elements/wcs-app.d.ts +11 -0
  339. package/composite-elements/wcs-app.js +2 -0
  340. package/composite-elements/wcs-app.js.map +1 -0
  341. package/composite-elements/wcs-badge.d.ts +11 -0
  342. package/composite-elements/wcs-badge.js +2 -0
  343. package/composite-elements/wcs-badge.js.map +1 -0
  344. package/composite-elements/wcs-breadcrumb-item.d.ts +11 -0
  345. package/composite-elements/wcs-breadcrumb-item.js +2 -0
  346. package/composite-elements/wcs-breadcrumb-item.js.map +1 -0
  347. package/composite-elements/wcs-breadcrumb.d.ts +11 -0
  348. package/composite-elements/wcs-breadcrumb.js +2 -0
  349. package/composite-elements/wcs-breadcrumb.js.map +1 -0
  350. package/composite-elements/wcs-button.d.ts +11 -0
  351. package/composite-elements/wcs-button.js +2 -0
  352. package/composite-elements/wcs-button.js.map +1 -0
  353. package/composite-elements/wcs-card-body.d.ts +11 -0
  354. package/composite-elements/wcs-card-body.js +2 -0
  355. package/composite-elements/wcs-card-body.js.map +1 -0
  356. package/composite-elements/wcs-card-content.d.ts +11 -0
  357. package/composite-elements/wcs-card-content.js +2 -0
  358. package/composite-elements/wcs-card-content.js.map +1 -0
  359. package/composite-elements/wcs-card-footer.d.ts +11 -0
  360. package/composite-elements/wcs-card-footer.js +2 -0
  361. package/composite-elements/wcs-card-footer.js.map +1 -0
  362. package/composite-elements/wcs-card-header.d.ts +11 -0
  363. package/composite-elements/wcs-card-header.js +2 -0
  364. package/composite-elements/wcs-card-header.js.map +1 -0
  365. package/composite-elements/wcs-card-media.d.ts +11 -0
  366. package/composite-elements/wcs-card-media.js +2 -0
  367. package/composite-elements/wcs-card-media.js.map +1 -0
  368. package/composite-elements/wcs-card.d.ts +11 -0
  369. package/composite-elements/wcs-card.js +2 -0
  370. package/composite-elements/wcs-card.js.map +1 -0
  371. package/composite-elements/wcs-checkbox.d.ts +11 -0
  372. package/composite-elements/wcs-checkbox.js +2 -0
  373. package/composite-elements/wcs-checkbox.js.map +1 -0
  374. package/composite-elements/wcs-chip.d.ts +11 -0
  375. package/composite-elements/wcs-chip.js +2 -0
  376. package/composite-elements/wcs-chip.js.map +1 -0
  377. package/composite-elements/wcs-com-nav-category.d.ts +11 -0
  378. package/composite-elements/wcs-com-nav-category.js +2 -0
  379. package/composite-elements/wcs-com-nav-category.js.map +1 -0
  380. package/composite-elements/wcs-com-nav-item.d.ts +11 -0
  381. package/composite-elements/wcs-com-nav-item.js +2 -0
  382. package/composite-elements/wcs-com-nav-item.js.map +1 -0
  383. package/composite-elements/wcs-com-nav-submenu.d.ts +11 -0
  384. package/composite-elements/wcs-com-nav-submenu.js +2 -0
  385. package/composite-elements/wcs-com-nav-submenu.js.map +1 -0
  386. package/composite-elements/wcs-com-nav.d.ts +11 -0
  387. package/composite-elements/wcs-com-nav.js +2 -0
  388. package/composite-elements/wcs-com-nav.js.map +1 -0
  389. package/composite-elements/wcs-counter.d.ts +11 -0
  390. package/composite-elements/wcs-counter.js +2 -0
  391. package/composite-elements/wcs-counter.js.map +1 -0
  392. package/composite-elements/wcs-divider.d.ts +11 -0
  393. package/composite-elements/wcs-divider.js +2 -0
  394. package/composite-elements/wcs-divider.js.map +1 -0
  395. package/composite-elements/wcs-dropdown-divider.d.ts +11 -0
  396. package/composite-elements/wcs-dropdown-divider.js +2 -0
  397. package/composite-elements/wcs-dropdown-divider.js.map +1 -0
  398. package/composite-elements/wcs-dropdown-header.d.ts +11 -0
  399. package/composite-elements/wcs-dropdown-header.js +2 -0
  400. package/composite-elements/wcs-dropdown-header.js.map +1 -0
  401. package/composite-elements/wcs-dropdown-item.d.ts +11 -0
  402. package/composite-elements/wcs-dropdown-item.js +2 -0
  403. package/composite-elements/wcs-dropdown-item.js.map +1 -0
  404. package/composite-elements/wcs-dropdown.d.ts +11 -0
  405. package/composite-elements/wcs-dropdown.js +2 -0
  406. package/composite-elements/wcs-dropdown.js.map +1 -0
  407. package/composite-elements/wcs-editable-field.d.ts +11 -0
  408. package/composite-elements/wcs-editable-field.js +2 -0
  409. package/composite-elements/wcs-editable-field.js.map +1 -0
  410. package/composite-elements/wcs-error.d.ts +11 -0
  411. package/composite-elements/wcs-error.js +2 -0
  412. package/composite-elements/wcs-error.js.map +1 -0
  413. package/composite-elements/wcs-field-content.d.ts +11 -0
  414. package/composite-elements/wcs-field-content.js +2 -0
  415. package/composite-elements/wcs-field-content.js.map +1 -0
  416. package/composite-elements/wcs-field-label.d.ts +11 -0
  417. package/composite-elements/wcs-field-label.js +2 -0
  418. package/composite-elements/wcs-field-label.js.map +1 -0
  419. package/composite-elements/wcs-field.d.ts +11 -0
  420. package/composite-elements/wcs-field.js +2 -0
  421. package/composite-elements/wcs-field.js.map +1 -0
  422. package/composite-elements/wcs-footer.d.ts +11 -0
  423. package/composite-elements/wcs-footer.js +2 -0
  424. package/composite-elements/wcs-footer.js.map +1 -0
  425. package/composite-elements/wcs-form-field.d.ts +11 -0
  426. package/composite-elements/wcs-form-field.js +2 -0
  427. package/composite-elements/wcs-form-field.js.map +1 -0
  428. package/composite-elements/wcs-galactic-menu.d.ts +11 -0
  429. package/composite-elements/wcs-galactic-menu.js +2 -0
  430. package/composite-elements/wcs-galactic-menu.js.map +1 -0
  431. package/composite-elements/wcs-galactic.d.ts +11 -0
  432. package/composite-elements/wcs-galactic.js +2 -0
  433. package/composite-elements/wcs-galactic.js.map +1 -0
  434. package/composite-elements/wcs-grid-column.d.ts +11 -0
  435. package/composite-elements/wcs-grid-column.js +2 -0
  436. package/composite-elements/wcs-grid-column.js.map +1 -0
  437. package/composite-elements/wcs-grid-custom-cell.d.ts +11 -0
  438. package/composite-elements/wcs-grid-custom-cell.js +2 -0
  439. package/composite-elements/wcs-grid-custom-cell.js.map +1 -0
  440. package/composite-elements/wcs-grid-pagination.d.ts +11 -0
  441. package/composite-elements/wcs-grid-pagination.js +2 -0
  442. package/composite-elements/wcs-grid-pagination.js.map +1 -0
  443. package/composite-elements/wcs-grid.d.ts +11 -0
  444. package/composite-elements/wcs-grid.js +2 -0
  445. package/composite-elements/wcs-grid.js.map +1 -0
  446. package/composite-elements/wcs-header.d.ts +11 -0
  447. package/composite-elements/wcs-header.js +2 -0
  448. package/composite-elements/wcs-header.js.map +1 -0
  449. package/composite-elements/wcs-hint.d.ts +11 -0
  450. package/composite-elements/wcs-hint.js +2 -0
  451. package/composite-elements/wcs-hint.js.map +1 -0
  452. package/composite-elements/wcs-horizontal-stepper.d.ts +11 -0
  453. package/composite-elements/wcs-horizontal-stepper.js +2 -0
  454. package/composite-elements/wcs-horizontal-stepper.js.map +1 -0
  455. package/composite-elements/wcs-icon.d.ts +11 -0
  456. package/composite-elements/wcs-icon.js +2 -0
  457. package/composite-elements/wcs-icon.js.map +1 -0
  458. package/composite-elements/wcs-input.d.ts +11 -0
  459. package/composite-elements/wcs-input.js +2 -0
  460. package/composite-elements/wcs-input.js.map +1 -0
  461. package/composite-elements/wcs-label.d.ts +11 -0
  462. package/composite-elements/wcs-label.js +2 -0
  463. package/composite-elements/wcs-label.js.map +1 -0
  464. package/composite-elements/wcs-list-item-properties.d.ts +11 -0
  465. package/composite-elements/wcs-list-item-properties.js +2 -0
  466. package/composite-elements/wcs-list-item-properties.js.map +1 -0
  467. package/composite-elements/wcs-list-item-property.d.ts +11 -0
  468. package/composite-elements/wcs-list-item-property.js +2 -0
  469. package/composite-elements/wcs-list-item-property.js.map +1 -0
  470. package/composite-elements/wcs-list-item.d.ts +11 -0
  471. package/composite-elements/wcs-list-item.js +2 -0
  472. package/composite-elements/wcs-list-item.js.map +1 -0
  473. package/composite-elements/wcs-mat-icon.d.ts +11 -0
  474. package/composite-elements/wcs-mat-icon.js +2 -0
  475. package/composite-elements/wcs-mat-icon.js.map +1 -0
  476. package/composite-elements/wcs-modal.d.ts +11 -0
  477. package/composite-elements/wcs-modal.js +2 -0
  478. package/composite-elements/wcs-modal.js.map +1 -0
  479. package/composite-elements/wcs-native-select.d.ts +11 -0
  480. package/composite-elements/wcs-native-select.js +2 -0
  481. package/composite-elements/wcs-native-select.js.map +1 -0
  482. package/composite-elements/wcs-nav-item.d.ts +11 -0
  483. package/composite-elements/wcs-nav-item.js +2 -0
  484. package/composite-elements/wcs-nav-item.js.map +1 -0
  485. package/composite-elements/wcs-nav.d.ts +11 -0
  486. package/composite-elements/wcs-nav.js +2 -0
  487. package/composite-elements/wcs-nav.js.map +1 -0
  488. package/composite-elements/wcs-progress-bar.d.ts +11 -0
  489. package/composite-elements/wcs-progress-bar.js +2 -0
  490. package/composite-elements/wcs-progress-bar.js.map +1 -0
  491. package/composite-elements/wcs-progress-radial.d.ts +11 -0
  492. package/composite-elements/wcs-progress-radial.js +2 -0
  493. package/composite-elements/wcs-progress-radial.js.map +1 -0
  494. package/composite-elements/wcs-radio-group.d.ts +11 -0
  495. package/composite-elements/wcs-radio-group.js +2 -0
  496. package/composite-elements/wcs-radio-group.js.map +1 -0
  497. package/composite-elements/wcs-radio.d.ts +11 -0
  498. package/composite-elements/wcs-radio.js +2 -0
  499. package/composite-elements/wcs-radio.js.map +1 -0
  500. package/composite-elements/wcs-select-option.d.ts +11 -0
  501. package/composite-elements/wcs-select-option.js +2 -0
  502. package/composite-elements/wcs-select-option.js.map +1 -0
  503. package/composite-elements/wcs-select.d.ts +11 -0
  504. package/composite-elements/wcs-select.js +2 -0
  505. package/composite-elements/wcs-select.js.map +1 -0
  506. package/composite-elements/wcs-skeleton-circle.d.ts +11 -0
  507. package/composite-elements/wcs-skeleton-circle.js +2 -0
  508. package/composite-elements/wcs-skeleton-circle.js.map +1 -0
  509. package/composite-elements/wcs-skeleton-rectangle.d.ts +11 -0
  510. package/composite-elements/wcs-skeleton-rectangle.js +2 -0
  511. package/composite-elements/wcs-skeleton-rectangle.js.map +1 -0
  512. package/composite-elements/wcs-skeleton-text.d.ts +11 -0
  513. package/composite-elements/wcs-skeleton-text.js +2 -0
  514. package/composite-elements/wcs-skeleton-text.js.map +1 -0
  515. package/composite-elements/wcs-spinner.d.ts +11 -0
  516. package/composite-elements/wcs-spinner.js +2 -0
  517. package/composite-elements/wcs-spinner.js.map +1 -0
  518. package/composite-elements/wcs-switch.d.ts +11 -0
  519. package/composite-elements/wcs-switch.js +2 -0
  520. package/composite-elements/wcs-switch.js.map +1 -0
  521. package/composite-elements/wcs-tab.d.ts +11 -0
  522. package/composite-elements/wcs-tab.js +2 -0
  523. package/composite-elements/wcs-tab.js.map +1 -0
  524. package/composite-elements/wcs-tabs.d.ts +11 -0
  525. package/composite-elements/wcs-tabs.js +2 -0
  526. package/composite-elements/wcs-tabs.js.map +1 -0
  527. package/composite-elements/wcs-textarea.d.ts +11 -0
  528. package/composite-elements/wcs-textarea.js +2 -0
  529. package/composite-elements/wcs-textarea.js.map +1 -0
  530. package/composite-elements/wcs-tooltip.d.ts +11 -0
  531. package/composite-elements/wcs-tooltip.js +7 -0
  532. package/composite-elements/wcs-tooltip.js.map +1 -0
  533. package/dist/cjs/loader.cjs.js +1 -1
  534. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +2 -1
  535. package/dist/cjs/wcs-accordion-panel.cjs.entry.js.map +1 -1
  536. package/dist/cjs/wcs-accordion.cjs.entry.js +7 -2
  537. package/dist/cjs/wcs-accordion.cjs.entry.js.map +1 -1
  538. package/dist/cjs/wcs-button_2.cjs.entry.js +5 -12
  539. package/dist/cjs/wcs-button_2.cjs.entry.js.map +1 -1
  540. package/dist/cjs/wcs.cjs.js +1 -1
  541. package/dist/collection/components/accordion/accordion.e2e.playwright.js +400 -174
  542. package/dist/collection/components/accordion/accordion.e2e.playwright.js.map +1 -1
  543. package/dist/collection/components/accordion/accordion.js +25 -2
  544. package/dist/collection/components/accordion/accordion.js.map +1 -1
  545. package/dist/collection/components/accordion-panel/accordion-panel.js +2 -1
  546. package/dist/collection/components/accordion-panel/accordion-panel.js.map +1 -1
  547. package/dist/collection/components/button/button.js +5 -12
  548. package/dist/collection/components/button/button.js.map +1 -1
  549. package/dist/esm/loader.js +1 -1
  550. package/dist/esm/wcs-accordion-panel.entry.js +2 -1
  551. package/dist/esm/wcs-accordion-panel.entry.js.map +1 -1
  552. package/dist/esm/wcs-accordion.entry.js +7 -2
  553. package/dist/esm/wcs-accordion.entry.js.map +1 -1
  554. package/dist/esm/wcs-button_2.entry.js +5 -12
  555. package/dist/esm/wcs-button_2.entry.js.map +1 -1
  556. package/dist/esm/wcs.js +1 -1
  557. package/dist/types/components/accordion/accordion.d.ts +6 -0
  558. package/dist/types/components/button/button.d.ts +1 -2
  559. package/dist/types/components.d.ts +8 -0
  560. package/dist/wcs/{p-f2eeb249.entry.js → p-2329af04.entry.js} +2 -2
  561. package/dist/wcs/{p-f2eeb249.entry.js.map → p-2329af04.entry.js.map} +1 -1
  562. package/dist/wcs/p-450942b1.entry.js +156 -0
  563. package/dist/wcs/p-450942b1.entry.js.map +1 -0
  564. package/dist/wcs/p-a07381f2.entry.js +2 -0
  565. package/dist/wcs/p-a07381f2.entry.js.map +1 -0
  566. package/dist/wcs/wcs.esm.js +1 -1
  567. package/dist/wcs/wcs.esm.js.map +1 -1
  568. package/package.json +1 -1
  569. package/dist/wcs/p-204f2722.entry.js.map +0 -1
  570. package/dist/wcs/p-828b45b4.entry.js +0 -2
  571. package/dist/wcs/p-828b45b4.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GridSortArrow","state","h","xmlns","width","height","viewBox","fill","class","d","gridColumnCss","WcsGridColumnStyle0","gridSortArrowCss","WcsGridColumnStyle1","GRID_COLUMN_INHERITED_ATTRS","GridColumn","proxyCustomElement","H","this","inheritedAttributes","componentWillLoad","Object","assign","inheritAriaAttributes","el","inheritAttributes","setAriaAttribute","attr","value","setOrRemoveAttribute","nativeTh","parseMyObjectProp","newValue","wcsHiddenChange","emit","sortOrderChange","_","emitSortConfig","sort","wcsSortChange","column","order","sortOrder","sortFn","getSortOrderForAriaSort","getTabIndex","_a","cursorPosition","col","columnPosition","_b","row","getTagName","delegateFocusToButton","buttonOrDiv","focus","render","ButtonOrDiv","Host","key","slot","style","tabIndex","scope","onClick","onSortClick","bind","onKeyDown","handleSortKeyDown","onFocus","ref","name","_event","isSpaceKey","isEnterKey","preventDefault"],"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-sort-arrow.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 aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <g class={(state === 'none' ? '' : state) + ' arrow-group'}>\n <path class=\"arrow\"\n fill=\"#333333\"\n d=\"M10.0973 5.34619C9.79269 5.67941 9.29832 5.67941 8.99348 5.34619L6.78316 2.92128L6.78316 11.144C6.78316 11.6168 6.43368 12 6.00289 12C5.57187 12 5.22261 11.6168 5.22261 11.144L5.22261 2.92128L3.01219 5.34619C2.70802 5.67941 2.21341 5.67941 1.90881 5.34619C1.75655 5.17859 1.68005 4.95932 1.68005 4.73997C1.68005 4.52061 1.75655 4.30192 1.90881 4.13433L5.45122 0.250846C5.75597 -0.0836145 6.24977 -0.0836145 6.55454 0.250846L10.0973 4.13433C10.4017 4.46883 10.4017 5.01168 10.0973 5.34619Z\"\n />\n </g>\n </svg>\n\n);\n","@import '../../style/focus-outline.scss';\n\n:host {\n\n /* All css variables are in grid.scss.\n Any variable can be overridden here for a single grid-column by using the correct selector in CSS */\n\n display: contents;\n\n th {\n color: var(--wcs-grid-header-text-color);\n background-color: var(--wcs-grid-header-background-color-default);\n border-bottom: var(--wcs-grid-header-border-bottom);\n border-left: var(--wcs-grid-header-border-left);\n border-radius: var(--wcs-grid-header-border-radius);\n padding: var(--wcs-grid-header-padding-vertical) var(--wcs-grid-header-padding-horizontal);\n text-align: left;\n align-content: center;\n transition: background-color var(--wcs-grid-header-transition-duration) ease-in-out;\n\n .grid-column-th-content {\n // The following lines aim to avoid displaying the native button style of the agent\n -webkit-appearance: none;\n appearance: none;\n background: none;\n border: none;\n outline: none;\n margin: 0;\n padding: 0;\n font-size: var(--wcs-grid-header-font-size);\n line-height: var(--wcs-grid-header-line-height);\n color: var(--wcs-grid-header-text-color);\n cursor: inherit;\n display: inline-flex;\n border-collapse: separate;\n font-family: inherit;\n text-align: left;\n align-items: center;\n gap: var(--wcs-semantic-spacing-base);\n\n span {\n font-weight: var(--wcs-grid-header-font-weight);\n }\n }\n\n /* Hovered grid header */\n &[aria-sort]:hover {\n background-color: var(--wcs-grid-header-background-color-hover);\n }\n\n /* Pressed grid header */\n &[aria-sort]:active {\n background-color: var(--wcs-grid-header-background-color-press);\n }\n\n /* Grid header with asc or desc sort-config */\n &[aria-sort=ascending],\n &[aria-sort=descending] {\n --wcs-grid-header-sort-arrow-color: var(--wcs-grid-header-sort-arrow-color-default);\n }\n\n /* Hovered grid header, not sorted yet */\n &[aria-sort=none]:hover {\n --wcs-grid-header-sort-arrow-color: var(--wcs-grid-header-sort-arrow-color-hover);\n }\n\n // XXX: This code works in Firefox as well, but there is a browser-side rendering bug that prevents it from displaying correctly.\n // We decided to wait for Firefox to fix the bug instead adding a dirty fix here\n &:focus-visible, &:has(:focus-visible) {\n @include focus-outline($outline-color: var(--wcs-grid-outline-color), $outline-offset: 0);\n }\n\n @supports not selector(&:has(:focus-visible)) {\n &:focus-within {\n @include focus-outline($outline-color: var(--wcs-grid-outline-color), $outline-offset: 0);\n }\n }\n }\n .pointer {\n cursor: pointer;\n }\n}\n\n:host([hidden]) {\n display: none !important;\n}\n",".arrow-group {\n transform-origin: 50% 50%;\n transition: transform var(--wcs-semantic-motion-duration-feedback-base, 150ms) ease-in-out;\n}\n\n.arrow {\n fill: var(--wcs-grid-header-sort-arrow-color, transparent);\n}\n\n.desc {\n transform: rotate(180deg);\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host, Method,\n Prop,\n Watch\n} from '@stencil/core';\nimport {\n WcsCellFormatter,\n WcsGridColumnSortChangeEventDetails,\n WcsSortFn,\n WcsSortOrder\n} from '../grid/grid-interface';\nimport { GridSortArrow } from './grid-sort-arrow';\nimport {\n inheritAriaAttributes,\n inheritAttributes,\n isEnterKey,\n isSpaceKey,\n setOrRemoveAttribute\n} from \"../../utils/helpers\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\n\nconst GRID_COLUMN_INHERITED_ATTRS = ['tabindex', 'title'];\n\n/**\n * The grid column is a subcomponent of `wcs-grid` that represents a column of the table.\n * \n * @csspart [path]-column - CSS part for each column for styling. e.g: first_name-column, email-column\n */\n@Component({\n tag: 'wcs-grid-column',\n styleUrls: ['grid-column.scss', 'grid-sort-arrow.scss'],\n shadow: true\n})\nexport class GridColumn implements ComponentInterface, MutableAriaAttribute {\n @Element() private el: HTMLWcsGridColumnElement;\n private nativeTh!: HTMLTableHeaderCellElement;\n private buttonOrDiv: HTMLButtonElement | HTMLDivElement;\n private inheritedAttributes: { [k: string]: any } = {};\n /**\n * Represents the name of the field from the `data` object (e.g: first_name, last_name, email, ...)\n */\n @Prop() path: string;\n /**\n * The name of the column displayed on the table (e.g: First Name, Last Name, Email, ...)\n */\n @Prop() name: string;\n /**\n * Make the column sortable.\n */\n @Prop({ reflect: true }) sort: boolean = false;\n /**\n * Customizable sort function to change the comparison of values.\n */\n @Prop() sortFn: WcsSortFn;\n /**\n * Customizable formatter function to render the cell differently.\n */\n @Prop() formatter: WcsCellFormatter;\n /**\n * Defines if the column sort is ascending or descending. \n * `none` = the column is not sorted.\n */\n @Prop({mutable: true}) sortOrder: WcsSortOrder = 'none';\n /**\n * Set the column `<th>` element width.\n */\n @Prop() width: string;\n /**\n * Set to true if using a `wcs-custom-cell` linked to it.\n */\n @Prop({ reflect: true }) customCells: boolean = false;\n /**\n * Flag to hide the column.\n */\n @Prop({ reflect: true }) hidden: boolean = false;\n /**\n * Event emitted when the sort of the column is changed.\n */\n @Event() wcsSortChange!: EventEmitter<WcsGridColumnSortChangeEventDetails>;\n /**\n * Event emitted if the column is dynamically switching visibility.\n */\n @Event() wcsHiddenChange!: EventEmitter<boolean>;\n\n /**\n * This property mustn't be set by hand, it is set by the wcs-grid component to move the focus between grid columns\n * using keyboard.\n * @internal\n */\n @Prop() public cursorPosition: {col: number, row: number};\n\n /**\n * This property mustn't be set by hand, it is set by the wcs-grid component to register the column index in a\n * grid in order to move the focus between the grid columns.\n * @internal\n */\n @Prop() public columnPosition: number;\n \n componentWillLoad(): Promise<void> | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, GRID_COLUMN_INHERITED_ATTRS),\n };\n }\n \n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeTh, attr, value);\n }\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 getSortOrderForAriaSort(sortOrder: WcsSortOrder) {\n switch (sortOrder) {\n case 'asc':\n return 'ascending';\n case 'desc':\n return 'descending';\n case 'none':\n default:\n return 'none';\n }\n }\n \n private getTabIndex() {\n return this.cursorPosition?.col === this.columnPosition\n && this.cursorPosition?.row === 0 ? 0 : -1;\n }\n\n private getTagName() {\n return this.sort ? 'button' : 'div';\n }\n \n private delegateFocusToButton() {\n if (this.sort) {\n this.buttonOrDiv.focus();\n }\n }\n\n render(): any {\n const ButtonOrDiv = this.getTagName();\n return (<Host slot=\"grid-column\">\n <th style={{width: this.width}}\n class={this.sort ? 'pointer' : ''}\n tabIndex={this.sort ? -1 : this.getTabIndex()}\n scope=\"col\"\n onClick={this.onSortClick.bind(this)}\n onKeyDown={this.handleSortKeyDown.bind(this)}\n onFocus={this.delegateFocusToButton.bind(this)}\n aria-sort={this.sort ? this.getSortOrderForAriaSort(this.sortOrder) : null}\n ref={(el) => (this.nativeTh = el)}\n {...this.inheritedAttributes}\n >\n <ButtonOrDiv class=\"grid-column-th-content\"\n ref={(el: HTMLButtonElement | HTMLDivElement) => this.buttonOrDiv = el}\n tabIndex={this.sort ? this.getTabIndex() : -1}>\n <span>{this.name}</span>\n {\n this.sort ? <div class=\"sort-arrow-container\"><GridSortArrow state={this.sortOrder}/></div> : ''\n }\n </ButtonOrDiv>\n </th>\n </Host>)\n }\n\n private onSortClick() {\n if (!this.sort) return;\n \n // @Watch on sortOrder property will trigger wcsSortChange event\n this.sortOrder = this.sortOrder === 'none' || this.sortOrder === 'desc' ? 'asc' : 'desc';\n }\n \n private handleSortKeyDown(_event: KeyboardEvent) {\n if (isSpaceKey(_event) || isEnterKey(_event)) {\n _event.preventDefault();\n this.onSortClick();\n }\n }\n}\n"],"mappings":"0JAOO,MAAMA,EAAyD,EAAEC,WACpEC,EAAA,qBAAiB,OAAOC,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACvGL,EAAA,KAAGM,OAAQP,IAAU,OAAS,GAAKA,GAAS,gBACxCC,EAAA,QAAMM,MAAM,QACND,KAAK,UACLE,EAAE,+eCZpB,MAAMC,EAAgB,80DACtB,MAAAC,EAAeD,ECDf,MAAME,EAAmB,mOACzB,MAAAC,EAAeD,EC0Bf,MAAME,EAA8B,CAAC,WAAY,S,MAYpCC,EAAUC,EAAA,MAAAD,UAAAE,E,gKAIXC,KAAAC,oBAA4C,G,kDAYX,M,8DAaQ,O,sCAQD,M,YAIL,M,4DAwB3C,iBAAAC,GACIF,KAAKC,oBAAmBE,OAAAC,OAAAD,OAAAC,OAAA,GACjBC,EAAsBL,KAAKM,KAC3BC,EAAkBP,KAAKM,GAAIV,G,CAKtC,sBAAMY,CAAiBC,EAAyBC,GAC5CC,EAAqBX,KAAKY,SAAUH,EAAMC,E,CAI9C,iBAAAG,CAAkBC,GACdd,KAAKe,gBAAgBC,KAAKF,E,CAI9B,eAAAG,CAAgBC,GACZlB,KAAKmB,gB,CAGT,cAAAA,GACI,IAAKnB,KAAKoB,KAAM,OAChBpB,KAAKqB,cAAcL,KAAK,CACpBM,OAAQtB,KAAKM,GACbiB,MAAOvB,KAAKwB,UACZC,OAAQzB,KAAKyB,Q,CAIrB,uBAAAC,CAAwBF,GACpB,OAAQA,GACJ,IAAK,MACD,MAAO,YACX,IAAK,OACD,MAAO,aACX,IAAK,OACL,QACI,MAAO,O,CAIX,WAAAG,G,QACJ,QAAOC,EAAA5B,KAAK6B,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,OAAQ9B,KAAK+B,kBACtCC,EAAAhC,KAAK6B,kBAAc,MAAAG,SAAA,SAAAA,EAAEC,OAAQ,EAAI,GAAK,C,CAGrC,UAAAC,GACJ,OAAOlC,KAAKoB,KAAO,SAAW,K,CAG1B,qBAAAe,GACJ,GAAInC,KAAKoB,KAAM,CACXpB,KAAKoC,YAAYC,O,EAIzB,MAAAC,GACI,MAAMC,EAAcvC,KAAKkC,aACzB,OAAQlD,EAACwD,EAAI,CAAAC,IAAA,2CAACC,KAAK,eACf1D,qEAAI2D,MAAO,CAACzD,MAAOc,KAAKd,OACpBI,MAAOU,KAAKoB,KAAO,UAAY,GAC/BwB,SAAU5C,KAAKoB,MAAQ,EAAIpB,KAAK2B,cAChCkB,MAAM,MACNC,QAAS9C,KAAK+C,YAAYC,KAAKhD,MAC/BiD,UAAWjD,KAAKkD,kBAAkBF,KAAKhD,MACvCmD,QAASnD,KAAKmC,sBAAsBa,KAAKhD,MAAK,YACnCA,KAAKoB,KAAOpB,KAAK0B,wBAAwB1B,KAAKwB,WAAa,KACtE4B,IAAM9C,GAAQN,KAAKY,SAAWN,GAC1BN,KAAKC,qBAETjB,EAACuD,EAAW,CAAAE,IAAA,2CAACnD,MAAM,yBACX8D,IAAM9C,GAA2CN,KAAKoC,YAAc9B,EACpEsC,SAAU5C,KAAKoB,KAAOpB,KAAK2B,eAAiB,GAChD3C,0DAAOgB,KAAKqD,MAERrD,KAAKoB,KAAOpC,SAAKM,MAAM,wBAAuBN,EAACF,EAAa,CAACC,MAAOiB,KAAKwB,aAAqB,K,CAO1G,WAAAuB,GACJ,IAAK/C,KAAKoB,KAAM,OAGhBpB,KAAKwB,UAAYxB,KAAKwB,YAAc,QAAUxB,KAAKwB,YAAc,OAAS,MAAQ,M,CAG9E,iBAAA0B,CAAkBI,GACtB,GAAIC,EAAWD,IAAWE,EAAWF,GAAS,CAC1CA,EAAOG,iBACPzD,KAAK+C,a"}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface WcsGridCustomCell extends Components.WcsGridCustomCell, HTMLElement {}
4
+ export const WcsGridCustomCell: {
5
+ prototype: WcsGridCustomCell;
6
+ new (): WcsGridCustomCell;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,2 @@
1
+ import{p as e,H as s,h as t,c}from"./p-2bef72c7.js";const o=e(class e extends s{constructor(){super();this.__registerHost();this.__attachShadow();this.columnId=undefined;this.rowId=undefined}render(){return t(c,{key:"3353e4de7a3eeb4d903a63d5adf257ed3427beb8",slot:this.columnId+"-"+this.rowId},t("slot",{key:"cc3297d327379b74a385c4909964b8371da68a97"}))}},[1,"wcs-grid-custom-cell",{columnId:[1,"column-id"],rowId:[8,"row-id"]}]);function d(){if(typeof customElements==="undefined"){return}const e=["wcs-grid-custom-cell"];e.forEach((e=>{switch(e){case"wcs-grid-custom-cell":if(!customElements.get(e)){customElements.define(e,o)}break}}))}d();const n=o;const i=d;export{n as WcsGridCustomCell,i as defineCustomElement};
2
+ //# sourceMappingURL=wcs-grid-custom-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GridCustomCell","proxyCustomElement","H","render","h","Host","key","slot","this","columnId","rowId"],"sources":["src/components/grid-custom-cell/grid-custom-cell.tsx"],"sourcesContent":["import { Component, ComponentInterface, h, Host, Prop } from '@stencil/core';\n\n/**\n * The grid custom cell is a subcomponent of `wcs-grid`.\n */\n@Component({\n tag: 'wcs-grid-custom-cell',\n shadow: true\n})\nexport class GridCustomCell implements ComponentInterface {\n /**\n * ID of the column for which to render the cell\n */\n @Prop() columnId: string;\n /**\n * Key value of the object rendered for the cell's row\n */\n @Prop() rowId: any;\n\n render(): any {\n return (\n <Host slot={this.columnId + '-' + this.rowId}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"0DASaA,EAAcC,EAAA,MAAAD,UAAAE,E,+GAUvB,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAMC,KAAKC,SAAW,IAAMD,KAAKE,OACnCN,EAAA,QAAAE,IAAA,6C"}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface WcsGridPagination extends Components.WcsGridPagination, HTMLElement {}
4
+ export const WcsGridPagination: {
5
+ prototype: WcsGridPagination;
6
+ new (): WcsGridPagination;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,2 @@
1
+ import{G as o,d as s}from"./p-bc4c736d.js";const c=o;const t=s;export{c as WcsGridPagination,t as defineCustomElement};
2
+ //# sourceMappingURL=wcs-grid-pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface WcsGrid extends Components.WcsGrid, HTMLElement {}
4
+ export const WcsGrid: {
5
+ prototype: WcsGrid;
6
+ new (): WcsGrid;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,2 @@
1
+ import{p as r,H as t,d as e,f as i,h as o,c as s}from"./p-2bef72c7.js";import{G as n}from"./p-bc4c736d.js";import{k as a}from"./p-2454bcae.js";import{h as c}from"./p-d3404c52.js";import{i as d,a as l,s as u}from"./p-e803bb26.js";import{d as h}from"./p-51517fda.js";import{d as f}from"./p-a90bb01e.js";import{d as g}from"./p-04663560.js";import{i as b,b as w,a as v,S as m,c as p,g as k,e as y,d as C,f as j,h as x,M as A,o as _,k as R,r as E,j as S,s as I,l as O,m as F,U as P,n as D,p as M,q as G,t as T,u as W,v as H,w as U}from"./p-af24fb0d.js";function N(r){switch(r){case"asc":return 1;case"desc":return-1}}var z;var B=new Uint8Array(16);function L(){if(!z){z=typeof crypto!=="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!=="undefined"&&typeof msCrypto.getRandomValues==="function"&&msCrypto.getRandomValues.bind(msCrypto);if(!z){throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}}return z(B)}const $=/^(?:[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;function K(r){return typeof r==="string"&&$.test(r)}var V=[];for(var q=0;q<256;++q){V.push((q+256).toString(16).substr(1))}function J(r){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var e=(V[r[t+0]]+V[r[t+1]]+V[r[t+2]]+V[r[t+3]]+"-"+V[r[t+4]]+V[r[t+5]]+"-"+V[r[t+6]]+V[r[t+7]]+"-"+V[r[t+8]]+V[r[t+9]]+"-"+V[r[t+10]]+V[r[t+11]]+V[r[t+12]]+V[r[t+13]]+V[r[t+14]]+V[r[t+15]]).toLowerCase();if(!K(e)){throw TypeError("Stringified UUID is invalid")}return e}function Q(r,t,e){r=r||{};var i=r.random||(r.rng||L)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){e=e||0;for(var o=0;o<16;++o){t[e+o]=i[o]}return t}return J(i)}var X="[object Symbol]";function Y(r){return typeof r=="symbol"||b(r)&&w(r)==X}function Z(r,t){var e=-1,i=r==null?0:r.length,o=Array(i);while(++e<i){o[e]=t(r[e],e,r)}return o}var rr=1/0;var tr=m?m.prototype:undefined,er=tr?tr.toString:undefined;function ir(r){if(typeof r=="string"){return r}if(v(r)){return Z(r,ir)+""}if(Y(r)){return er?er.call(r):""}var t=r+"";return t=="0"&&1/r==-rr?"-0":t}var or=Object.create;var sr=function(){function r(){}return function(t){if(!p(t)){return{}}if(or){return or(t)}r.prototype=t;var e=new r;r.prototype=undefined;return e}}();const nr=sr;function ar(r,t){var e=-1,i=r.length;t||(t=Array(i));while(++e<i){t[e]=r[e]}return t}var cr=function(){try{var r=k(Object,"defineProperty");r({},"",{});return r}catch(r){}}();const dr=cr;function lr(r,t){var e=-1,i=r==null?0:r.length;while(++e<i){if(t(r[e],e,r)===false){break}}return r}function ur(r,t,e){if(t=="__proto__"&&dr){dr(r,t,{configurable:true,enumerable:true,value:e,writable:true})}else{r[t]=e}}var hr=Object.prototype;var fr=hr.hasOwnProperty;function gr(r,t,e){var i=r[t];if(!(fr.call(r,t)&&y(i,e))||e===undefined&&!(t in r)){ur(r,t,e)}}function br(r,t,e,i){var o=!e;e||(e={});var s=-1,n=t.length;while(++s<n){var a=t[s];var c=i?i(e[a],r[a],a,e,r):undefined;if(c===undefined){c=r[a]}if(o){ur(e,a,c)}else{gr(e,a,c)}}return e}function wr(r){var t=[];if(r!=null){for(var e in Object(r)){t.push(e)}}return t}var vr=Object.prototype;var mr=vr.hasOwnProperty;function pr(r){if(!p(r)){return wr(r)}var t=C(r),e=[];for(var i in r){if(!(i=="constructor"&&(t||!mr.call(r,i)))){e.push(i)}}return e}function kr(r){return j(r)?x(r,true):pr(r)}var yr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Cr=/^\w*$/;function jr(r,t){if(v(r)){return false}var e=typeof r;if(e=="number"||e=="symbol"||e=="boolean"||r==null||Y(r)){return true}return Cr.test(r)||!yr.test(r)||t!=null&&r in Object(t)}var xr="Expected a function";function Ar(r,t){if(typeof r!="function"||t!=null&&typeof t!="function"){throw new TypeError(xr)}var e=function(){var i=arguments,o=t?t.apply(this,i):i[0],s=e.cache;if(s.has(o)){return s.get(o)}var n=r.apply(this,i);e.cache=s.set(o,n)||s;return n};e.cache=new(Ar.Cache||A);return e}Ar.Cache=A;var _r=500;function Rr(r){var t=Ar(r,(function(r){if(e.size===_r){e.clear()}return r}));var e=t.cache;return t}var Er=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var Sr=/\\(\\)?/g;var Ir=Rr((function(r){var t=[];if(r.charCodeAt(0)===46){t.push("")}r.replace(Er,(function(r,e,i,o){t.push(i?o.replace(Sr,"$1"):e||r)}));return t}));const Or=Ir;function Fr(r){return r==null?"":ir(r)}function Pr(r,t){if(v(r)){return r}return jr(r,t)?[r]:Or(Fr(r))}var Dr=1/0;function Mr(r){if(typeof r=="string"||Y(r)){return r}var t=r+"";return t=="0"&&1/r==-Dr?"-0":t}function Gr(r,t){t=Pr(t,r);var e=0,i=t.length;while(r!=null&&e<i){r=r[Mr(t[e++])]}return e&&e==i?r:undefined}function Tr(r,t,e){var i=r==null?undefined:Gr(r,t);return i===undefined?e:i}var Wr=_(Object.getPrototypeOf,Object);const Hr=Wr;function Ur(r,t){return r&&br(t,R(t),r)}function Nr(r,t){return r&&br(t,kr(t),r)}var zr=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var Br=zr&&typeof module=="object"&&module&&!module.nodeType&&module;var Lr=Br&&Br.exports===zr;var $r=Lr?E.Buffer:undefined,Kr=$r?$r.allocUnsafe:undefined;function Vr(r,t){if(t){return r.slice()}var e=r.length,i=Kr?Kr(e):new r.constructor(e);r.copy(i);return i}function qr(r,t){return br(r,S(r),t)}var Jr=Object.getOwnPropertySymbols;var Qr=!Jr?I:function(r){var t=[];while(r){O(t,S(r));r=Hr(r)}return t};const Xr=Qr;function Yr(r,t){return br(r,Xr(r),t)}function Zr(r){return F(r,kr,Xr)}var rt=Object.prototype;var tt=rt.hasOwnProperty;function et(r){var t=r.length,e=new r.constructor(t);if(t&&typeof r[0]=="string"&&tt.call(r,"index")){e.index=r.index;e.input=r.input}return e}function it(r){var t=new r.constructor(r.byteLength);new P(t).set(new P(r));return t}function ot(r,t){var e=t?it(r.buffer):r.buffer;return new r.constructor(e,r.byteOffset,r.byteLength)}var st=/\w*$/;function nt(r){var t=new r.constructor(r.source,st.exec(r));t.lastIndex=r.lastIndex;return t}var at=m?m.prototype:undefined,ct=at?at.valueOf:undefined;function dt(r){return ct?Object(ct.call(r)):{}}function lt(r,t){var e=t?it(r.buffer):r.buffer;return new r.constructor(e,r.byteOffset,r.length)}var ut="[object Boolean]",ht="[object Date]",ft="[object Map]",gt="[object Number]",bt="[object RegExp]",wt="[object Set]",vt="[object String]",mt="[object Symbol]";var pt="[object ArrayBuffer]",kt="[object DataView]",yt="[object Float32Array]",Ct="[object Float64Array]",jt="[object Int8Array]",xt="[object Int16Array]",At="[object Int32Array]",_t="[object Uint8Array]",Rt="[object Uint8ClampedArray]",Et="[object Uint16Array]",St="[object Uint32Array]";function It(r,t,e){var i=r.constructor;switch(t){case pt:return it(r);case ut:case ht:return new i(+r);case kt:return ot(r,e);case yt:case Ct:case jt:case xt:case At:case _t:case Rt:case Et:case St:return lt(r,e);case ft:return new i;case gt:case vt:return new i(r);case bt:return nt(r);case wt:return new i;case mt:return dt(r)}}function Ot(r){return typeof r.constructor=="function"&&!C(r)?nr(Hr(r)):{}}var Ft="[object Map]";function Pt(r){return b(r)&&D(r)==Ft}var Dt=G&&G.isMap;var Mt=Dt?M(Dt):Pt;const Gt=Mt;var Tt="[object Set]";function Wt(r){return b(r)&&D(r)==Tt}var Ht=G&&G.isSet;var Ut=Ht?M(Ht):Wt;const Nt=Ut;var zt=1,Bt=2,Lt=4;var $t="[object Arguments]",Kt="[object Array]",Vt="[object Boolean]",qt="[object Date]",Jt="[object Error]",Qt="[object Function]",Xt="[object GeneratorFunction]",Yt="[object Map]",Zt="[object Number]",re="[object Object]",te="[object RegExp]",ee="[object Set]",ie="[object String]",oe="[object Symbol]",se="[object WeakMap]";var ne="[object ArrayBuffer]",ae="[object DataView]",ce="[object Float32Array]",de="[object Float64Array]",le="[object Int8Array]",ue="[object Int16Array]",he="[object Int32Array]",fe="[object Uint8Array]",ge="[object Uint8ClampedArray]",be="[object Uint16Array]",we="[object Uint32Array]";var ve={};ve[$t]=ve[Kt]=ve[ne]=ve[ae]=ve[Vt]=ve[qt]=ve[ce]=ve[de]=ve[le]=ve[ue]=ve[he]=ve[Yt]=ve[Zt]=ve[re]=ve[te]=ve[ee]=ve[ie]=ve[oe]=ve[fe]=ve[ge]=ve[be]=ve[we]=true;ve[Jt]=ve[Qt]=ve[se]=false;function me(r,t,e,i,o,s){var n,a=t&zt,c=t&Bt,d=t&Lt;if(e){n=o?e(r,i,o,s):e(r)}if(n!==undefined){return n}if(!p(r)){return r}var l=v(r);if(l){n=et(r);if(!a){return ar(r,n)}}else{var u=D(r),h=u==Qt||u==Xt;if(T(r)){return Vr(r,a)}if(u==re||u==$t||h&&!o){n=c||h?{}:Ot(r);if(!a){return c?Yr(r,Nr(n,r)):qr(r,Ur(n,r))}}else{if(!ve[u]){return o?r:{}}n=It(r,u,a)}}s||(s=new W);var f=s.get(r);if(f){return f}s.set(r,n);if(Nt(r)){r.forEach((function(i){n.add(me(i,t,e,i,r,s))}))}else if(Gt(r)){r.forEach((function(i,o){n.set(o,me(i,t,e,o,r,s))}))}var g=d?c?Zr:H:c?kr:R;var b=l?undefined:g(r);lr(b||r,(function(i,o){if(b){o=i;i=r[o]}gr(n,o,me(i,t,e,o,r,s))}));return n}var pe=1,ke=4;function ye(r){return me(r,pe|ke)}function Ce(r,t){const e=a(r);if(e==="UNKNOWN"){return[]}switch(e){case"UP_ARROW":return[{kind:"FocusCell",target:"up"}];case"DOWN_ARROW":return[{kind:"FocusCell",target:"down"}];case"LEFT_ARROW":return[{kind:"FocusCell",target:"left"}];case"RIGHT_ARROW":return[{kind:"FocusCell",target:"right"}];case"HOME":return[{kind:"FocusCell",target:"first_of_row"}];case"END":return[{kind:"FocusCell",target:"last_of_row"}];case"MAJ+SPACE":switch(t){case"grid_selection_single":case"grid_selection_multiple":return[{kind:"SelectRow",target:"one"}]}break;case"CTRL+A":switch(t){case"grid_selection_multiple":return[{kind:"SelectRow",target:"all"}]}break;case"CTRL+HOME":return[{kind:"FocusCell",target:"first_of_grid"}];case"CTRL+END":return[{kind:"FocusCell",target:"last_of_grid"}]}return[]}const je=({checked:r,row:t,rowIndex:e,totalRows:i,onClick:o})=>{let s;return c("div",{class:`grid-radio ${r?"checked":""}`,onClick:r=>s.click()},c("input",{type:"radio",name:"selection","aria-setsize":i,"aria-posinset":e,tabindex:"-1",checked:r,"aria-checked":`${r}`,ref:r=>s=r,onClick:r=>o(t)}))};const xe=":host{--wcs-grid-gap:0;--wcs-grid-vertical-align:middle;--wcs-grid-outline-color:var(--wcs-semantic-color-border-focus-base);--wcs-grid-cell-text-color:var(--wcs-semantic-color-text-secondary);--wcs-grid-cell-padding-horizontal:var(--wcs-semantic-spacing-large);--wcs-grid-cell-padding-vertical:var(--wcs-semantic-spacing-base);--wcs-grid-cell-border-bottom:none;--wcs-grid-cell-separator-border:none;--wcs-grid-first-cell-border-radius:0;--wcs-grid-last-cell-border-radius:0;--wcs-grid-highlight-color:var(--wcs-semantic-color-background-surface-accent-lighter);--wcs-grid-row-background-color:var(--wcs-semantic-color-background-surface-primary);--wcs-grid-row-odd-background-color:var(--wcs-grid-row-background-color);--wcs-grid-row-even-background-color:var(--wcs-semantic-color-background-surface-accent-lightest);--wcs-grid-header-background-color-default:var(--wcs-semantic-color-background-action-secondary-default);--wcs-grid-header-background-color-hover:var(--wcs-semantic-color-background-action-secondary-hover);--wcs-grid-header-background-color-press:var(--wcs-semantic-color-background-action-secondary-press);--wcs-grid-header-text-color:var(--wcs-semantic-color-text-primary);--wcs-grid-header-font-weight:var(--wcs-semantic-font-weight-heavy);--wcs-grid-header-font-size:var(--wcs-semantic-font-size-label-1);--wcs-grid-header-line-height:var(--wcs-primitive-font-line-height-140);--wcs-grid-header-padding-vertical:var(--wcs-semantic-spacing-base);--wcs-grid-header-padding-horizontal:var(--wcs-semantic-spacing-large);--wcs-grid-header-border-left:none;--wcs-grid-header-border-radius:0;--wcs-grid-header-border-bottom:solid var(--wcs-semantic-border-width-default) var(--wcs-semantic-color-border-secondary);--wcs-grid-header-transition-duration:var(--wcs-semantic-motion-duration-feedback-fast);--wcs-grid-first-header-background-color:var(--wcs-semantic-color-background-action-secondary-default);--wcs-grid-first-header-border-radius:0;--wcs-grid-last-header-border-radius:0;--wcs-grid-column-selection-width:calc(5 * var(--wcs-semantic-spacing-base));--wcs-grid-header-sort-arrow-color-default:var(--wcs-semantic-color-foreground-action-neutral-default);--wcs-grid-header-sort-arrow-color-hover:var(--wcs-semantic-color-foreground-action-neutral-hover);display:block}:host th{border-radius:var(--wcs-grid-first-header-border-radius);background-color:var(--wcs-grid-first-header-background-color)}:host ::slotted([slot=grid-column]:first-child){--wcs-grid-header-border-left:none}:host :host([selection]) ::slotted([slot=grid-column]:first-child){--wcs-component-grid-header-border-radius-first:0;--wcs-grid-header-border-left:var(--wcs-grid-header-border-left)}:host table{width:100%;border-collapse:collapse;border-spacing:var(--wcs-grid-gap)}:host table thead{border-bottom:var(--wcs-grid-header-border-bottom)}:host table tbody{vertical-align:var(--wcs-grid-vertical-align)}:host td{color:var(--wcs-grid-cell-text-color);margin:0;padding:var(--wcs-grid-cell-padding-vertical) var(--wcs-grid-cell-padding-horizontal)}:host td:focus-visible{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-grid-outline-color);outline-offset:0;border-radius:0.1rem}:host td:first-child{border-radius:var(--wcs-grid-first-cell-border-radius)}:host td:last-child{border-radius:var(--wcs-grid-last-cell-border-radius)}:host td:not(:first-child){border-left:var(--wcs-grid-cell-separator-border)}:host tr{background-color:var(--wcs-grid-row-background-color)}:host tr:nth-child(odd){background-color:var(--wcs-grid-row-odd-background-color, var(--wcs-grid-row-background-color))}:host tr:nth-child(even){background-color:var(--wcs-grid-row-even-background-color, var(--wcs-grid-row-background-color))}:host tr:not(:last-child) td{border-bottom:var(--wcs-grid-cell-border-bottom)}:host .wcs-grid-selection-column{padding:var(--wcs-grid-cell-padding-vertical) var(--wcs-grid-cell-padding-horizontal);width:var(--wcs-grid-column-selection-width);text-align:start}:host tr.selected{background-color:var(--wcs-grid-highlight-color)}:host .loading{text-align:center}";const Ae=xe;const _e='.grid-radio{--wcs-grid-radio-outline-color:var(--wcs-semantic-color-border-focus-base);--wcs-grid-radio-padding:calc(var(--wcs-semantic-size-base) / 4);--wcs-grid-radio-transition:var(--wcs-semantic-motion-duration-feedback-base);--wcs-grid-radio-border-color-default:var(--wcs-semantic-color-border-control-indicator-default);--wcs-grid-radio-border-color-selected:var(--wcs-semantic-color-border-control-indicator-selected);--wcs-grid-radio-border-color-hover:var(--wcs-semantic-color-border-control-indicator-hover);--wcs-grid-radio-border-color-disabled:var(--wcs-semantic-color-border-control-indicator-disabled);--wcs-grid-radio-background-color-default:transparent;--wcs-grid-radio-background-color-selected:var(--wcs-semantic-color-background-control-indicator-selected);--wcs-grid-radio-background-color-disabled:var(--wcs-semantic-color-background-control-indicator-disabled);--wcs-grid-radio-inner-border-color:white;width:fit-content;cursor:pointer;padding:var(--wcs-grid-radio-padding, 0.125rem);}.grid-radio:has(input:focus-visible){outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-grid-radio-outline-color);outline-offset:var(--wcs-semantic-spacing-small);border-radius:0.1rem}@supports not selector(:has(input:focus-visible)){.grid-radio:focus-within{outline:var(--wcs-semantic-border-width-large) dashed var(--wcs-grid-radio-outline-color);outline-offset:var(--wcs-semantic-spacing-small);border-radius:0.1rem}}.grid-radio input{position:absolute;opacity:0;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.grid-radio::before{content:"";display:flex;border-radius:50%;border:2px solid var(--wcs-grid-radio-border-color-default);position:relative;width:1.125rem;height:1.125rem;box-sizing:border-box;background-color:var(--wcs-grid-radio-background-color-default);transition:var(--wcs-grid-radio-transition, 0.175s) ease-in-out}.grid-radio:hover::before{border-color:var(--wcs-grid-radio-border-color-hover)}.grid-radio.checked::before{border-color:var(--wcs-grid-radio-border-color-selected);background-color:var(--wcs-grid-radio-background-color-selected);outline:solid 2px var(--wcs-grid-radio-inner-border-color);outline-offset:-4px}';const Re=_e;const Ee=["title"];const Se=r(class r extends t{constructor(){super();this.__registerHost();this.__attachShadow();this.wcsGridSelectionChange=e(this,"wcsGridSelectionChange",7);this.wcsGridAllSelectionChange=e(this,"wcsGridAllSelectionChange",7);this.wcsFocus=e(this,"wcsFocus",7);this.wcsBlur=e(this,"wcsBlur",7);this.inheritedAttributes={};this.serverMode=false;this.data=undefined;this.loading=undefined;this.selectionConfig="none";this.selectedItems=[];this.wcsGridPaginationId=undefined;this.rowIdPath=undefined;this.rowCssPartsFn=r=>null;this.columns=undefined;this.paginationEl=undefined;this.rows=[];this.cursorPosition={col:0,row:1}}onCursorPositionChange(r){this.getGridColumnsFromTemplate().forEach((t=>t.cursorPosition=r))}onDataChange(r){this.updateGridRows(r);this.refreshSort(false);this.updatePageIndex()}onSelectedItemsPropertyChange(r){this.updateSelectionWithValues(r)}onFocus(r){var t;(t=this.getElementToFocusAtCursorPosition())===null||t===void 0?void 0:t.focus();this.wcsFocus.emit(r)}onBlur(r){this.wcsBlur.emit(r)}async focusFirstCell(){var r;this.cursorPosition={col:this.selectionConfig==="none"?0:1,row:1};(r=this.getElementToFocusAtCursorPosition())===null||r===void 0?void 0:r.focus()}hasSelectionColumn(){return this.selectionConfig!=="none"}getElementToFocusAtCursorPosition(){var r,t;const e=(r=this.gridElementsWithCoordinates.find((r=>{var t,e;return r.col===((t=this.cursorPosition)===null||t===void 0?void 0:t.col)&&r.row===((e=this.cursorPosition)===null||e===void 0?void 0:e.row)})))===null||r===void 0?void 0:r.el;return this.hasSelectionColumn()?(t=e.querySelector('wcs-checkbox,input[type="radio"]'))!==null&&t!==void 0?t:e:e}moveCursorPosition(r,t){var e;this.cursorPosition={col:r==="first"?0:r==="last"?this.totalDisplayedColumnCount()-1:Math.min(Math.max(this.cursorPosition.col+r,0),this.totalDisplayedColumnCount()-1),row:t==="first"?0:t==="last"?this.getRowsForCurrentPage().length:Math.min(Math.max(this.cursorPosition.row+t,0),this.getRowsForCurrentPage().length)};this.handleCursorPositionOnEmptyTh();(e=this.getElementToFocusAtCursorPosition())===null||e===void 0?void 0:e.focus()}handleCursorPositionOnEmptyTh(){if(this.selectionConfig==="single"&&this.cursorPosition.col===0&&this.cursorPosition.row===0){this.cursorPosition={col:1,row:0}}}onHiddenColumnChange(){i(this);this.cursorPosition={col:0,row:1}}onKeyDown(r){var t;if(((t=document.activeElement)===null||t===void 0?void 0:t.tagName)==="WCS-GRID-PAGINATION"){return}let e;switch(this.selectionConfig){case"multiple":e="grid_selection_multiple";break;case"single":e="grid_selection_single";break;case"none":e="grid_no_selection";break}const i=Ce(r,e);if(i.length!=0){r.preventDefault()}for(const t of i){this.doActionFromKeyboardEventAssociatedAction(t,r)}}doActionFromKeyboardEventAssociatedAction(r,t){switch(r.kind){case"FocusCell":switch(r.target){case"up":this.moveCursorPosition(0,-1);break;case"down":this.moveCursorPosition(0,1);break;case"left":this.moveCursorPosition(-1,0);break;case"right":this.moveCursorPosition(1,0);break;case"first_of_row":this.moveCursorPosition("first",0);break;case"last_of_row":this.moveCursorPosition("last",0);break;case"first_of_grid":this.moveCursorPosition("first","first");break;case"last_of_grid":this.moveCursorPosition("last","last");break}case"SelectRow":switch(r.target){case"one":t.preventDefault();if(this.cursorPosition.row>0){this.onRowSelection(this.rows[this.cursorPosition.row-1])}break;case"all":this.selectAllRows();break}break;default:throw new Error("Internal error")}}onClick(r){const t=r.composedPath().filter((r=>["TD","TH"].includes(r.nodeName)))[0];if(!t)return;const e=this.gridElementsWithCoordinates.find((r=>r.el===t));this.cursorPosition={col:e.col,row:e.row}}updateSelectionWithValues(r){if(this.selectionConfig==="single"){this.rows.map((r=>r.selected=false));for(const t of this.rows){if(U(t.data,r)){t.selected=true;break}}}else if(this.selectionConfig==="multiple"){this.rows.map((r=>r.selected=false));for(const t of this.rows){if(r.find((r=>U(r,t.data)))){t.selected=true}}}this.rows=ye(this.rows)}wcsGridRowToWcsGridRowData(r){return{selected:r.selected,page:r.page,data:r.data}}updateGridRows(r){const t=[];if(r&&this.columns){for(let e=0;e<r.length;e++){const i={uuid:Q(),data:r[e],selected:false,cells:[]};let o=0;for(const t of this.columns){t.columnPosition=o+(this.hasSelectionColumn()?1:0);o++;i.cells.push({content:Tr(r[e],t.path),column:t,formatter:t.formatter})}t.push(i)}this.rows=t}}componentDidLoad(){this.columns=this.getGridColumnsFromTemplate();this.paginationEl=this.wcsGridPaginationId?document.getElementById(this.wcsGridPaginationId):this.getGridPaginationsFromTemplate()[0];this.updateGridRows(this.data);if(this.selectedItems){this.updateSelectionWithValues(this.selectedItems)}this.refreshSort(true);this.updatePageIndex()}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},d(this.el)),l(this.el,Ee))}async setAriaAttribute(r,t){u(this.nativeTable,r,t)}refreshSort(r){if(this.columns){const[t,...e]=this.columns.filter((r=>r.sortOrder!=="none"));if(t&&!this.serverMode){this.sortBy(t)}r&&this.disableSortOrderForColumns(e)}}disableSortOrderForColumns(r){r===null||r===void 0?void 0:r.forEach((r=>r.sortOrder="none"))}getGridColumnsFromTemplate(){const r=this.el.shadowRoot.querySelector('slot[name="grid-column"]');return r.assignedElements()}getGridPaginationsFromTemplate(){const r=this.el.shadowRoot.querySelector('slot[name="grid-pagination"]');return r.assignedElements()}get gridElementsWithCoordinates(){const r=[];if(this.selectionConfig==="multiple"){r.push({el:this.el.shadowRoot.querySelector("th"),row:0,col:0})}this.getGridColumnsFromTemplate().filter((r=>!r.hidden)).forEach(((t,e)=>{r.push({el:t.shadowRoot.querySelector("th"),row:0,col:e+(this.hasSelectionColumn()?1:0)})}));this.el.shadowRoot.querySelectorAll("td").forEach(((t,e)=>{r.push({el:t,row:1+Math.floor(e/this.totalDisplayedColumnCount()),col:e%this.totalDisplayedColumnCount()})}));return r}sortChangeEventHandler(r){if(r.detail.order==="none"||!this.columns)return;this.disableSortOrderForColumns(this.columns.filter((t=>t!==r.detail.column)));if(this.serverMode)return;this.sortBy(r.detail.column);this.updatePageIndex()}sortBy(r){if(r.sortFn){this.rows=ye(this.rows).sort(((t,e)=>r.sortFn(t.data,e.data,r)*N(r.sortOrder)))}else{this.rows=ye(this.rows).sort(((t,e)=>{const i=r.path;return(Tr(t.data,i)<Tr(e.data,i)?-1:Tr(t.data,i)>Tr(e.data,i)?1:0)*N(r.sortOrder)}))}}updatePageIndex(){if(!this.serverMode&&this.paginationEl){this.paginationEl.itemsCount=this.data.length;this.paginationEl.pageCount=Math.ceil(this.data.length/this.paginationEl.pageSize);if(this.paginationEl.pageCount<=1){this.paginationEl.currentPage=n.INDEX_FIRST_PAGE}else if(this.paginationEl.pageCount>0&&this.paginationEl.currentPage+1>this.paginationEl.pageCount){this.paginationEl.currentPage=this.paginationEl.pageCount-1}const r=ye(this.rows);r.forEach(((r,t)=>r.page=Math.floor(t/this.paginationEl.pageSize)));this.rows=[...r]}}paginationChangeEventHandler(){this.onPaginationChange()}paginationChangeEventHandlerOutside(r){if(this.wcsGridPaginationId&&this.wcsGridPaginationId===r.target.id){this.onPaginationChange()}}onPaginationChange(){if(this.serverMode)return;this.updatePageIndex()}onRowSelection(r){if(this.selectionConfig==="single"){this.rows.filter((t=>t.uuid!==r.uuid)).map((r=>r.selected=false))}r.selected=!r.selected;if(this.selectionConfig!=="single"||r.selected){this.wcsGridSelectionChange.emit({selectedRows:this.selectedRows.map((r=>this.wcsGridRowToWcsGridRowData(r))),changedRow:this.wcsGridRowToWcsGridRowData(r)})}this.rows=ye(this.rows)}get selectedRows(){return this.rows.filter((r=>r.selected))}selectAllRows(){const r=this.getRowsForCurrentPage();const t=!this.allRowsAreSelected();r.map((r=>r.selected=t));this.wcsGridAllSelectionChange.emit({rows:t?r.map((r=>this.wcsGridRowToWcsGridRowData(r))):[]});this.wcsGridSelectionChange.emit({selectedRows:this.selectedRows.map((r=>this.wcsGridRowToWcsGridRowData(r))),changedRow:"allCheckbox"});this.rows=ye(this.rows)}allRowsAreSelected(){const r=this.getRowsForCurrentPage();return r.length>0&&r.filter((r=>r.selected)).length===r.length}getRowsForCurrentPage(){if(!this.serverMode&&this.paginationEl){return this.rows.filter((r=>r.page===this.paginationEl.currentPage))}return this.rows}renderSelectionColumn(r,t){var e,i,s,n;switch(this.selectionConfig){case"none":return;case"single":return o("td",{"aria-colindex":this.atLeastOneColumnHidden()?1:null,tabIndex:((e=this.cursorPosition)===null||e===void 0?void 0:e.col)===0&&t+1===((i=this.cursorPosition)===null||i===void 0?void 0:i.row)?0:-1},o(je,{checked:r.selected,row:r,rowIndex:t+1,totalRows:this.rows.length,onClick:r=>{if(!r.selected){this.onRowSelection(r)}}}));case"multiple":return o("td",{"aria-colindex":this.atLeastOneColumnHidden()?1:null,tabIndex:((s=this.cursorPosition)===null||s===void 0?void 0:s.col)===0&&t+1===((n=this.cursorPosition)===null||n===void 0?void 0:n.row)?0:-1},o("wcs-checkbox",{tabIndex:-1,part:"row-checkbox",checked:r.selected,onWcsChange:this.onRowSelection.bind(this,r)}))}}getCellContent(r,t){if(t.formatter){return t.formatter(o,t.column,this.wcsGridRowToWcsGridRowData(r))}return t.content}totalColumnCount(){if(!this.columns){return 0}return this.columns.length+(this.hasSelectionColumn()?1:0)}totalDisplayedColumnCount(){var r,t;return(t=this.totalColumnCount()-((r=this.columns)===null||r===void 0?void 0:r.filter((r=>r.hidden)).length))!==null&&t!==void 0?t:0}atLeastOneColumnHidden(){return this.totalDisplayedColumnCount()!==this.totalColumnCount()}render(){var r,t,e,i;return o(s,{key:"1e9b1d5dc405c67428750276de3e38e8e163d20e"},o("table",Object.assign({key:"42e610c403c108f36c2f5e4eb276b9e1c6349b8c",role:"grid",ref:r=>this.nativeTable=r,"aria-rowcount":!this.loading&&((r=this.rows)===null||r===void 0?void 0:r.length),"aria-colcount":!this.loading&&this.totalDisplayedColumnCount()},this.inheritedAttributes),o("thead",{key:"365bf4de9329c94c5c891040b14ca844c6e8fd99"},o("tr",{key:"9d1e4c4cf0418f585679a055edbb88ca08493d3d","aria-rowindex":"1"},this.selectionConfig==="none"?"":o("th",{class:"wcs-grid-selection-column"},this.selectionConfig==="single"?"":o("wcs-checkbox",{tabIndex:((t=this.cursorPosition)===null||t===void 0?void 0:t.col)===0&&((e=this.cursorPosition)===null||e===void 0?void 0:e.row)===0?0:-1,part:"all-rows-checkbox",checked:this.allRowsAreSelected(),onWcsChange:this.selectAllRows.bind(this)})),o("slot",{key:"4c1ed31eeaf61d0f94a156cc97b393abafdfb6e3",name:"grid-column"}))),o("tbody",{key:"5758c76c248e9e54759bd008310047a5c670339a"},this.loading?o("tr",{"aria-busy":"true"},o("td",{colSpan:this.totalColumnCount(),class:"loading"},o("wcs-spinner",null))):(i=this.rows)===null||i===void 0?void 0:i.filter((r=>this.serverMode||!this.paginationEl||r.page===this.paginationEl.currentPage)).map(((r,t)=>this.renderRow(r,t))))),o("slot",{key:"170e79b086e8235ae736c8cc54512b0e3bb0e7ab",name:"grid-pagination"}))}renderRow(r,t){var e,i;let s=0;return o("tr",{class:r.selected?"selected":"",part:(e=this.rowCssPartsWithoutEmptyList(r))===null||e===void 0?void 0:e.join(" "),"aria-selected":r.selected?"true":null,"aria-rowindex":t+2},this.renderSelectionColumn(r,t),(i=r.cells)===null||i===void 0?void 0:i.map(((e,i)=>{var n,a;if(e.column.hidden){s++;return}const c=i-s+1+(this.hasSelectionColumn()?1:0);const d=c-1===((n=this.cursorPosition)===null||n===void 0?void 0:n.col)&&t+1===((a=this.cursorPosition)===null||a===void 0?void 0:a.row);return e.column.customCells?o("td",{tabIndex:d?0:-1,"aria-colindex":this.atLeastOneColumnHidden()?c:null},o("slot",{name:e.column.id+"-"+Tr(r.data,this.rowIdPath)})):o("td",{tabIndex:d?0:-1,"aria-colindex":this.atLeastOneColumnHidden()?c:null,part:e.column.path+"-column"},this.getCellContent(r,e))})))}rowCssPartsWithoutEmptyList(r){const t=this.rowCssPartsFn(r);return(t===null||t===void 0?void 0:t.length)===0?null:t}get el(){return this}static get watchers(){return{cursorPosition:["onCursorPositionChange"],data:["onDataChange"],selectedItems:["onSelectedItemsPropertyChange"]}}static get style(){return Ae+Re}},[1,"wcs-grid",{serverMode:[516,"server-mode"],data:[16],loading:[516],selectionConfig:[1,"selection-config"],selectedItems:[8,"selected-items"],wcsGridPaginationId:[1,"wcs-grid-pagination-id"],rowIdPath:[1,"row-id-path"],rowCssPartsFn:[16],columns:[32],paginationEl:[32],rows:[32],cursorPosition:[32],focusFirstCell:[64],setAriaAttribute:[64]},[[0,"focus","onFocus"],[0,"blur","onBlur"],[0,"wcsHiddenChange","onHiddenColumnChange"],[0,"keydown","onKeyDown"],[1,"mousedown","onClick"],[0,"wcsSortChange","sortChangeEventHandler"],[0,"wcsGridPaginationChange","paginationChangeEventHandler"],[8,"wcsGridPaginationChange","paginationChangeEventHandlerOutside"]],{cursorPosition:["onCursorPositionChange"],data:["onDataChange"],selectedItems:["onSelectedItemsPropertyChange"]}]);function Ie(){if(typeof customElements==="undefined"){return}const r=["wcs-grid","wcs-button","wcs-checkbox","wcs-spinner"];r.forEach((r=>{switch(r){case"wcs-grid":if(!customElements.get(r)){customElements.define(r,Se)}break;case"wcs-button":if(!customElements.get(r)){h()}break;case"wcs-checkbox":if(!customElements.get(r)){f()}break;case"wcs-spinner":if(!customElements.get(r)){g()}break}}))}Ie();const Oe=Se;const Fe=Ie;export{Oe as WcsGrid,Fe as defineCustomElement};
2
+ //# sourceMappingURL=wcs-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getSortOrderInteger","sortOrder","getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","REGEX","validate","uuid","test","byteToHex","i","push","toString","substr","stringify","arr","offset","arguments","length","undefined","toLowerCase","TypeError","v4","options","buf","rnds","random","symbolTag","isSymbol","value","isObjectLike","baseGetTag","arrayMap","array","iteratee","index","result","Array","INFINITY","symbolProto","Symbol","prototype","symbolToString","baseToString","isArray","call","objectCreate","Object","create","baseCreate","object","proto","isObject","baseCreate$1","copyArray","source","defineProperty","func","getNative","e","defineProperty$1","arrayEach","baseAssignValue","key","configurable","enumerable","writable","objectProto","hasOwnProperty","assignValue","objValue","eq","copyObject","props","customizer","isNew","newValue","nativeKeysIn","baseKeysIn","isProto","isPrototype","keysIn","isArrayLike","arrayLikeKeys","reIsDeepProp","reIsPlainProp","isKey","type","FUNC_ERROR_TEXT","memoize","resolver","memoized","args","apply","this","cache","has","get","set","Cache","MapCache","MAX_MEMOIZE_SIZE","memoizeCapped","size","clear","rePropName","reEscapeChar","stringToPath","string","charCodeAt","replace","match","number","quote","subString","stringToPath$1","castPath","toKey","baseGet","path","defaultValue","getPrototype","overArg","getPrototypeOf","getPrototype$1","baseAssign","keys","baseAssignIn","freeExports","exports","nodeType","freeModule","module","moduleExports","Buffer","root","allocUnsafe","cloneBuffer","buffer","isDeep","slice","constructor","copy","copySymbols","getSymbols","nativeGetSymbols","getOwnPropertySymbols","getSymbolsIn","stubArray","arrayPush","getSymbolsIn$1","copySymbolsIn","getAllKeysIn","baseGetAllKeys","initCloneArray","input","cloneArrayBuffer","arrayBuffer","byteLength","cloneDataView","dataView","byteOffset","reFlags","cloneRegExp","regexp","exec","lastIndex","symbolValueOf","valueOf","cloneSymbol","symbol","cloneTypedArray","typedArray","boolTag","dateTag","mapTag","numberTag","regexpTag","setTag","stringTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","initCloneByTag","tag","Ctor","initCloneObject","baseIsMap","getTag","nodeIsMap","nodeUtil","isMap","baseUnary","isMap$1","baseIsSet","nodeIsSet","isSet","isSet$1","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","argsTag","arrayTag","errorTag","funcTag","genTag","objectTag","weakMapTag","cloneableTags","baseClone","bitmask","stack","isFlat","isFull","isArr","isFunc","isBuffer","Stack","stacked","forEach","subValue","add","keysFunc","getAllKeys","cloneDeep","getActionForKeyboardEvent","event","keyboardShortcut","keyboardShortcutFromKeyboardEvent","kind","target","GridRadio","checked","row","rowIndex","totalRows","onClick","h","class","_","click","name","tabindex","ref","el","gridCss","WcsGridStyle0","gridRadioCss","WcsGridStyle1","GRID_INHERITED_ATTRS","Grid","proxyCustomElement","H","inheritedAttributes","col","onCursorPositionChange","getGridColumnsFromTemplate","g","cursorPosition","onDataChange","updateGridRows","refreshSort","updatePageIndex","onSelectedItemsPropertyChange","updateSelectionWithValues","onFocus","_a","getElementToFocusAtCursorPosition","focus","wcsFocus","emit","onBlur","wcsBlur","focusFirstCell","selectionConfig","hasSelectionColumn","gridElementsWithCoordinates","find","cell","_b","querySelector","moveCursorPosition","directionX","directionY","totalDisplayedColumnCount","Math","min","max","getRowsForCurrentPage","handleCursorPositionOnEmptyTh","onHiddenColumnChange","forceUpdate","onKeyDown","_event","document","activeElement","tagName","actionsFromKeyboardEvents","preventDefault","actionFromKeyboardEvent","doActionFromKeyboardEventAssociatedAction","onRowSelection","rows","selectAllRows","clickedGridElement","composedPath","filter","x","includes","nodeName","clickedGridElementWithCoordinates","values","map","r","selected","isEqual","data","wcsGridRowToWcsGridRowData","page","columns","cells","column","columnPosition","content","formatter","componentDidLoad","paginationEl","wcsGridPaginationId","getElementById","getGridPaginationsFromTemplate","selectedItems","componentWillLoad","assign","inheritAriaAttributes","inheritAttributes","setAriaAttribute","attr","setOrRemoveAttribute","nativeTable","refreshOthersColumnsSortOrderState","first","other","c","serverMode","sortBy","disableSortOrderForColumns","slotted","shadowRoot","assignedElements","gridElements","hidden","querySelectorAll","floor","sortChangeEventHandler","detail","order","sortFn","sort","a","b","itemsCount","pageCount","ceil","pageSize","currentPage","GridPagination","INDEX_FIRST_PAGE","paginationChangeEventHandler","onPaginationChange","paginationChangeEventHandlerOutside","id","wcsGridSelectionChange","selectedRows","changedRow","allRowsAreSelected","wcsGridAllSelectionChange","renderSelectionColumn","atLeastOneColumnHidden","tabIndex","_c","_d","part","onWcsChange","getCellContent","totalColumnCount","render","Host","role","loading","colSpan","renderRow","hiddenColumnCount","rowCssPartsWithoutEmptyList","join","cellIndex","nonHiddenColumnIndex","cursorIsOnCell","customCells","rowIdPath","parts","rowCssPartsFn"],"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","node_modules/lodash-es/isSymbol.js","node_modules/lodash-es/_arrayMap.js","node_modules/lodash-es/_baseToString.js","node_modules/lodash-es/_baseCreate.js","node_modules/lodash-es/_copyArray.js","node_modules/lodash-es/_defineProperty.js","node_modules/lodash-es/_arrayEach.js","node_modules/lodash-es/_baseAssignValue.js","node_modules/lodash-es/_assignValue.js","node_modules/lodash-es/_copyObject.js","node_modules/lodash-es/_nativeKeysIn.js","node_modules/lodash-es/_baseKeysIn.js","node_modules/lodash-es/keysIn.js","node_modules/lodash-es/_isKey.js","node_modules/lodash-es/memoize.js","node_modules/lodash-es/_memoizeCapped.js","node_modules/lodash-es/_stringToPath.js","node_modules/lodash-es/toString.js","node_modules/lodash-es/_castPath.js","node_modules/lodash-es/_toKey.js","node_modules/lodash-es/_baseGet.js","node_modules/lodash-es/get.js","node_modules/lodash-es/_getPrototype.js","node_modules/lodash-es/_baseAssign.js","node_modules/lodash-es/_baseAssignIn.js","node_modules/lodash-es/_cloneBuffer.js","node_modules/lodash-es/_copySymbols.js","node_modules/lodash-es/_getSymbolsIn.js","node_modules/lodash-es/_copySymbolsIn.js","node_modules/lodash-es/_getAllKeysIn.js","node_modules/lodash-es/_initCloneArray.js","node_modules/lodash-es/_cloneArrayBuffer.js","node_modules/lodash-es/_cloneDataView.js","node_modules/lodash-es/_cloneRegExp.js","node_modules/lodash-es/_cloneSymbol.js","node_modules/lodash-es/_cloneTypedArray.js","node_modules/lodash-es/_initCloneByTag.js","node_modules/lodash-es/_initCloneObject.js","node_modules/lodash-es/_baseIsMap.js","node_modules/lodash-es/isMap.js","node_modules/lodash-es/_baseIsSet.js","node_modules/lodash-es/isSet.js","node_modules/lodash-es/_baseClone.js","node_modules/lodash-es/cloneDeep.js","src/components/grid/grid-keyboard-event.ts","src/components/grid/grid-radio.tsx","src/components/grid/grid.scss?tag=wcs-grid&encapsulation=shadow","src/components/grid/grid-radio.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\n/**\n * Function that returns an array of CSS parts for a row. Should return an empty array or null/undefined if there are no parts.\n *\n * @param row The row data\n * @returns An array of parts names. Empty array or null/undefined if there are no parts.\n */\nexport type RowCssPartsFn = (row: WcsGridRow) => string[] | null | undefined;\n\n\nexport interface WcsGridColumnSortChangeEventDetails {\n sortFn: WcsSortFn;\n order: WcsSortOrder;\n column: HTMLWcsGridColumnElement;\n}\n\n/**\n * Event details for the grid selection event\n */\nexport interface WcsGridSelectionEventDetails {\n /**\n * The currently selected rows after the selection change\n */\n selectedRows: WcsGridRowData[];\n /**\n * The row that was changed\n * If the grid is in multiple selection mode, you can get `allCheckbox` as the value representing that the event was\n * triggered by the selection of all checkbox\n */\n changedRow: WcsGridRowData | 'allCheckbox';\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;","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import { keyboardShortcutFromKeyboardEvent } from \"../../utils/keyboard-event\";\n\n\nexport type KeyboardEventAssociatedAction = FocusCell | SelectRow;\n\n// Possibles Shortcut\n// UP_ARROW : focus cell up\n// DOWN_ARROW : focus cell down\n// LEFT_ARROW : focus cell left\n// RIGHT_ARROW : focus cell right\n\n// HOME : focus first cell of the row\n// END : focus last cell of the row\n\n// CTRL+HOME : focus first cell of the grid\n// CTRL+END : focus first cell of the grid\n\n// IF SELECTION MULTIPLE OR SINGLE :\n// MAJ+SPACE : select (check) the current row\n\n// IF SELECTION MULTIPLE\n// CTRL+A : select (check) all rows\n\ntype FocusCell = {kind: 'FocusCell', target: 'up' | 'down' | 'left' | 'right' | 'first_of_row' | 'last_of_row' | 'first_of_grid' | 'last_of_grid'};\ntype SelectRow = {kind: 'SelectRow', target: 'one' | 'all'}\n\n/**\n * We follow this https://www.w3.org/WAI/ARIA/apg/patterns/grid/\n * @param event\n * @param type\n */\nexport function getActionForKeyboardEvent(event: KeyboardEvent, type: 'grid_no_selection' | 'grid_selection_single' | 'grid_selection_multiple'): KeyboardEventAssociatedAction[] {\n const keyboardShortcut = keyboardShortcutFromKeyboardEvent(event);\n\n if(keyboardShortcut === 'UNKNOWN') {\n return [];\n }\n\n switch (keyboardShortcut) {\n case \"UP_ARROW\":\n return [{kind: 'FocusCell', target: 'up'}];\n case \"DOWN_ARROW\":\n return [{kind: 'FocusCell', target: 'down'}];\n case \"LEFT_ARROW\":\n return [{kind: 'FocusCell', target: 'left'}];\n case \"RIGHT_ARROW\":\n return [{kind: 'FocusCell', target: 'right'}];\n case \"HOME\":\n return [{kind: 'FocusCell', target: 'first_of_row'}];\n case \"END\":\n return [{kind: 'FocusCell', target: 'last_of_row'}];\n case \"MAJ+SPACE\":\n switch (type) {\n case \"grid_selection_single\":\n case \"grid_selection_multiple\":\n return [{kind: 'SelectRow', target: 'one'}];\n case \"grid_no_selection\":\n break;\n }\n break;\n case \"CTRL+A\":\n switch (type) {\n case \"grid_selection_multiple\":\n return [{kind: 'SelectRow', target: 'all'}];\n case \"grid_selection_single\":\n case \"grid_no_selection\":\n break;\n }\n break;\n case \"CTRL+HOME\":\n return [{kind: 'FocusCell', target: 'first_of_grid'}];\n case \"CTRL+END\":\n return [{kind: 'FocusCell', target: 'last_of_grid'}];\n default:\n break;\n }\n\n return [];\n}\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { WcsGridRow } from \"./grid-interface\";\n\ninterface GridRadioProps {\n checked: boolean;\n row: WcsGridRow;\n rowIndex: number,\n totalRows: number,\n onClick: (row: WcsGridRow) => void;\n}\n\nexport const GridRadio: FunctionalComponent<GridRadioProps> = (\n {\n checked,\n row,\n rowIndex,\n totalRows,\n onClick\n }) => {\n let input: HTMLInputElement;\n return (\n <div class={`grid-radio ${checked ? 'checked' : ''}`} onClick={_ => input.click()}>\n <input type=\"radio\"\n name=\"selection\"\n aria-setsize={totalRows}\n aria-posinset={rowIndex}\n tabindex=\"-1\"\n checked={checked}\n aria-checked={`${checked}`}\n ref={(el) => (input = el)}\n onClick={_ => onClick(row)}>\n </input>\n </div>\n );\n}\n","@import '../../style/focus-outline.scss';\n\n:host {\n --wcs-grid-gap: 0;\n --wcs-grid-vertical-align: middle;\n --wcs-grid-outline-color: var(--wcs-semantic-color-border-focus-base);\n\n --wcs-grid-cell-text-color: var(--wcs-semantic-color-text-secondary);\n --wcs-grid-cell-padding-horizontal: var(--wcs-semantic-spacing-large);\n --wcs-grid-cell-padding-vertical: var(--wcs-semantic-spacing-base);\n --wcs-grid-cell-border-bottom: none;\n --wcs-grid-cell-separator-border: none;\n --wcs-grid-first-cell-border-radius: 0;\n --wcs-grid-last-cell-border-radius: 0;\n\n --wcs-grid-highlight-color: var(--wcs-semantic-color-background-surface-accent-lighter);\n --wcs-grid-row-background-color: var(--wcs-semantic-color-background-surface-primary);\n --wcs-grid-row-odd-background-color: var(--wcs-grid-row-background-color);\n --wcs-grid-row-even-background-color: var(--wcs-semantic-color-background-surface-accent-lightest);\n\n /* Grid headers for grid-columns */\n --wcs-grid-header-background-color-default: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-grid-header-background-color-hover: var(--wcs-semantic-color-background-action-secondary-hover);\n --wcs-grid-header-background-color-press: var(--wcs-semantic-color-background-action-secondary-press);\n --wcs-grid-header-text-color: var(--wcs-semantic-color-text-primary);\n --wcs-grid-header-font-weight: var(--wcs-semantic-font-weight-heavy);\n --wcs-grid-header-font-size: var(--wcs-semantic-font-size-label-1);\n --wcs-grid-header-line-height: var(--wcs-primitive-font-line-height-140);\n --wcs-grid-header-padding-vertical: var(--wcs-semantic-spacing-base);\n --wcs-grid-header-padding-horizontal: var(--wcs-semantic-spacing-large);\n --wcs-grid-header-border-left: none;\n --wcs-grid-header-border-radius: 0;\n --wcs-grid-header-border-bottom: solid var(--wcs-semantic-border-width-default) var(--wcs-semantic-color-border-secondary);\n --wcs-grid-header-transition-duration: var(--wcs-semantic-motion-duration-feedback-fast);\n --wcs-grid-first-header-background-color: var(--wcs-semantic-color-background-action-secondary-default);\n --wcs-grid-first-header-border-radius: 0;\n --wcs-grid-last-header-border-radius: 0;\n --wcs-grid-column-selection-width: calc(5 * var(--wcs-semantic-spacing-base));\n --wcs-grid-header-sort-arrow-color-default: var(--wcs-semantic-color-foreground-action-neutral-default);\n --wcs-grid-header-sort-arrow-color-hover: var(--wcs-semantic-color-foreground-action-neutral-hover);\n\n display: block;\n\n // These selectors cannot be moved in grid-column.scss, because the column itself doesn't know its child order\n // in the DOM, column are rendered one by one\n // 👇\n th {\n // For the header of the selection column (not part of grid-column)\n border-radius: var(--wcs-grid-first-header-border-radius);\n background-color: var(--wcs-grid-first-header-background-color);\n }\n\n ::slotted([slot=grid-column]:first-child) {\n // Remove the border for the first column\n --wcs-grid-header-border-left: none;\n }\n\n // If the grid displays a selection column, we set the border radius and color on the\n // first data column (which has been disabled in :host)\n :host([selection]) {\n ::slotted([slot=grid-column]:first-child) {\n --wcs-component-grid-header-border-radius-first: 0;\n --wcs-grid-header-border-left: var(--wcs-grid-header-border-left);\n }\n }\n\n // 👆\n\n table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: var(--wcs-grid-gap);\n\n thead {\n border-bottom: var(--wcs-grid-header-border-bottom);\n }\n\n tbody {\n vertical-align: var(--wcs-grid-vertical-align);\n }\n }\n\n\n td {\n color: var(--wcs-grid-cell-text-color);\n margin: 0;\n padding: var(--wcs-grid-cell-padding-vertical) var(--wcs-grid-cell-padding-horizontal);\n\n &:focus-visible {\n @include focus-outline($outline-color: var(--wcs-grid-outline-color), $outline-offset: 0);\n }\n\n &:first-child {\n border-radius: var(--wcs-grid-first-cell-border-radius);\n }\n\n &:last-child {\n border-radius: var(--wcs-grid-last-cell-border-radius);\n }\n\n &:not(:first-child) {\n border-left: var(--wcs-grid-cell-separator-border);\n }\n }\n\n tr {\n background-color: var(--wcs-grid-row-background-color);\n\n &:nth-child(odd) {\n background-color: var(--wcs-grid-row-odd-background-color, var(--wcs-grid-row-background-color));\n }\n\n &:nth-child(even) {\n background-color: var(--wcs-grid-row-even-background-color, var(--wcs-grid-row-background-color));\n }\n }\n\n tr:not(:last-child) td {\n border-bottom: var(--wcs-grid-cell-border-bottom);\n }\n\n .wcs-grid-selection-column {\n padding: var(--wcs-grid-cell-padding-vertical) var(--wcs-grid-cell-padding-horizontal);\n width: var(--wcs-grid-column-selection-width);\n text-align: start;\n }\n\n tr.selected {\n background-color: var(--wcs-grid-highlight-color);\n }\n\n .loading {\n text-align: center;\n }\n}\n","@import '../../style/focus-outline.scss';\n\n.grid-radio {\n --wcs-grid-radio-outline-color: var(--wcs-semantic-color-border-focus-base);\n --wcs-grid-radio-padding: calc(var(--wcs-semantic-size-base) / 4);\n --wcs-grid-radio-transition: var(--wcs-semantic-motion-duration-feedback-base);\n --wcs-grid-radio-border-color-default: var(--wcs-semantic-color-border-control-indicator-default);\n --wcs-grid-radio-border-color-selected: var(--wcs-semantic-color-border-control-indicator-selected);\n --wcs-grid-radio-border-color-hover: var(--wcs-semantic-color-border-control-indicator-hover);\n --wcs-grid-radio-border-color-disabled: var(--wcs-semantic-color-border-control-indicator-disabled);\n --wcs-grid-radio-background-color-default: transparent;\n --wcs-grid-radio-background-color-selected: var(--wcs-semantic-color-background-control-indicator-selected);\n --wcs-grid-radio-background-color-disabled: var(--wcs-semantic-color-background-control-indicator-disabled);\n --wcs-grid-radio-inner-border-color: white;\n\n width: fit-content;\n cursor: pointer;\n padding: var(--wcs-grid-radio-padding, 0.125rem);\n\n &:has(input:focus-visible) {\n @include focus-outline($outline-color: var(--wcs-grid-radio-outline-color));\n }\n\n /* If the selector focus-visible is not supported by the browser, use focus-within instead */\n @supports not selector(:has(input:focus-visible)){\n &:focus-within {\n @include focus-outline($outline-color: var(--wcs-grid-radio-outline-color));\n }\n }\n\n input {\n position: absolute;\n opacity: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n }\n\n &::before {\n content: \"\";\n display: flex;\n border-radius: 50%;\n border: 2px solid var(--wcs-grid-radio-border-color-default);\n position: relative;\n width: 1.125rem;\n height: 1.125rem;\n box-sizing: border-box;\n background-color: var(--wcs-grid-radio-background-color-default);\n transition: var(--wcs-grid-radio-transition, 0.175s) ease-in-out;\n }\n\n &:hover {\n &::before {\n border-color: var(--wcs-grid-radio-border-color-hover);\n }\n }\n\n &.checked {\n &::before {\n border-color: var(--wcs-grid-radio-border-color-selected);\n background-color: var(--wcs-grid-radio-background-color-selected);\n outline: solid 2px var(--wcs-grid-radio-inner-border-color);\n outline-offset: -4px;\n }\n }\n}\n","import {\n Component,\n ComponentDidLoad,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Listen, Method,\n Prop,\n State,\n VNode,\n Watch\n} from '@stencil/core';\nimport {\n getSortOrderInteger,\n HyperFunc, RowCssPartsFn,\n WcsGridAllRowSelectedEventDetails,\n WcsGridCell,\n WcsGridColumnSortChangeEventDetails,\n WcsGridPaginationChangeEventDetails,\n WcsGridRow,\n WcsGridRowData,\n WcsGridSelectionConfig,\n WcsGridSelectionEventDetails,\n} from './grid-interface';\nimport { v4 as uuid } from 'uuid';\nimport { cloneDeep, get, isEqual } from 'lodash-es';\nimport { GridPagination } from '../grid-pagination/grid-pagination';\nimport { getActionForKeyboardEvent, KeyboardEventAssociatedAction } from \"./grid-keyboard-event\";\nimport { GridRadio } from \"./grid-radio\";\nimport { AriaAttributeName, MutableAriaAttribute } from \"../../utils/mutable-aria-attribute\";\nimport { inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from \"../../utils/helpers\";\n\ninterface GridElementWithCoordinates {\n el: HTMLTableCellElement,\n row: number,\n col: number,\n}\n\nconst GRID_INHERITED_ATTRS = ['title'];\n\n/**\n * The grid component is a complex component used as an HTML table to display collections of data.\n *\n * @cssprop --wcs-grid-gap - Gap between grid cells (horizontal, vertical using `border-spacing` property)\n * @cssprop --wcs-grid-vertical-align - Vertical alignment of grid cells\n * @cssprop --wcs-grid-outline-color - Outline color for grid cells\n *\n * @cssprop --wcs-grid-cell-text-color - Text color of all grid cells\n * @cssprop --wcs-grid-cell-padding-horizontal - Horizontal padding of grid cells\n * @cssprop --wcs-grid-cell-padding-vertical - Vertical padding of grid cells\n * @cssprop --wcs-grid-cell-border-bottom - Bottom border of grid cells\n * @cssprop --wcs-grid-cell-separator-border - Separator border between grid cells\n * @cssprop --wcs-grid-first-cell-border-radius - Border radius of the first cell in a row\n * @cssprop --wcs-grid-last-cell-border-radius - Border radius of the last cell in a row\n *\n * @cssprop --wcs-grid-highlight-color - Background color for selected rows\n * @cssprop --wcs-grid-row-background-color - Background color of all rows\n * @cssprop --wcs-grid-row-odd-background-color - Background color of odd rows\n * @cssprop --wcs-grid-row-even-background-color - Background color of even rows\n *\n * @cssprop --wcs-grid-header-background-color-default - Default background color of the header\n * @cssprop --wcs-grid-header-background-color-hover - Background color of the header on hover\n * @cssprop --wcs-grid-header-background-color-press - Background color of the header on press\n * @cssprop --wcs-grid-header-text-color - Text color of the header\n * @cssprop --wcs-grid-header-font-weight - Font weight of the header\n * @cssprop --wcs-grid-header-font-size - Font size of the header\n * @cssprop --wcs-grid-header-line-height - Line height of the header\n * @cssprop --wcs-grid-header-padding-vertical - Vertical padding of the header\n * @cssprop --wcs-grid-header-padding-horizontal - Horizontal padding of the header\n * @cssprop --wcs-grid-header-border-left - Left border between header cells (default is none\n * @cssprop --wcs-grid-header-border-radius - Border radius of the header\n * @cssprop --wcs-grid-header-border-bottom - Bottom border of the header\n * @cssprop --wcs-grid-header-transition-duration - Transition duration of the header\n * @cssprop --wcs-grid-first-header-background-color - Background color of the first header cell\n * @cssprop --wcs-grid-first-header-border-radius - Border radius of the first header cell\n * @cssprop --wcs-grid-last-header-border-radius - Border radius of the last header cell\n * @cssprop --wcs-grid-column-selection-width - Width of the selection column (when selectionConfig is defined)\n * @cssprop --wcs-grid-header-sort-arrow-color-default - Color of the sort arrow in the header\n * @cssprop --wcs-grid-header-sort-arrow-color-hover - Color of the sort arrow in the header when hovered\n * \n * @csspart all-rows-checkbox - CSS part for the checkbox in the selection column that selects all rows\n * @csspart row-checkbox - CSS part for the checkbox of each row in the selection column\n * \n * @slot grid-column - The slot containing the column of the grid in the `<thead>`\n * @slot grid-pagination - The slot containing the pagination of the grid below the `<table>`\n *\n */\n@Component({\n tag: 'wcs-grid',\n styleUrls: ['grid.scss', 'grid-radio.scss'],\n shadow: true\n})\nexport class Grid implements ComponentInterface, ComponentDidLoad, MutableAriaAttribute {\n @Element() private el!: HTMLWcsGridElement;\n private nativeTable!: HTMLTableElement;\n private inheritedAttributes: { [k: string]: any } = {};\n \n /**\n * Manage sort and pagination with a backend server when set to `true`\n */\n @Prop({ reflect: true }) serverMode: boolean = false;\n /**\n * Contains the data to display in the table from a js object\n */\n @Prop() data: any[];\n /**\n * Flag to display a spinner during data loading\n */\n @Prop({ reflect: true }) loading: boolean;\n /**\n * Used to manage grid's row selection. \n * \"none\": no row can be selected. \n * \"multiple\": several rows can be selected. \n * \"single\": one row only can be selected. \n */\n @Prop() selectionConfig: WcsGridSelectionConfig = 'none';\n /**\n * Set the selected items (rows)\n */\n @Prop() selectedItems: any | any[] = [];\n /**\n * Automatically set by the component to reference the wcs-grid-pagination HTML element by its id.\n */\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. Useful for custom cells.\n */\n @Prop() rowIdPath: string;\n /**\n * Function to add css parts to the grid rows, this allows you to customize the rows with css parts directly\n * in you're application stylesheet.\n */\n @Prop() rowCssPartsFn: RowCssPartsFn = (_) => null;\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<WcsGridSelectionEventDetails>;\n /**\n * Event emitted when all rows are selected or unselected\n */\n @Event() wcsGridAllSelectionChange!: EventEmitter<WcsGridAllRowSelectedEventDetails>;\n /**\n * Event emitted when the grid has focus.\n */\n @Event() wcsFocus!: EventEmitter<FocusEvent>;\n /**\n * Event emitted when the grid loses focus.\n */\n @Event() wcsBlur!: EventEmitter<FocusEvent>;\n \n /**\n * Used to track the focus position in the grid for keyboard navigation. \n * Header row : index 0 \n * First column :\n * - index 1 if selection mode multiple or single\n * - index 0 if no selection mode\n * Default position : col 0, row 1\n */\n @State() private cursorPosition: {col: number, row: number} = {col: 0, row: 1};\n \n @Watch('cursorPosition')\n onCursorPositionChange(newValue: {col: number, row: number}): void {\n // Notify all grid columns that the cursorPosition has changed\n this.getGridColumnsFromTemplate().forEach(g => g.cursorPosition = newValue);\n }\n \n @Watch('data')\n onDataChange(newValue: any[]): void {\n this.updateGridRows(newValue);\n this.refreshSort(false);\n this.updatePageIndex();\n }\n\n @Watch('selectedItems')\n onSelectedItemsPropertyChange(newValue: any | any[]) {\n this.updateSelectionWithValues(newValue);\n }\n \n @Listen('focus')\n onFocus(event: FocusEvent) {\n this.getElementToFocusAtCursorPosition()?.focus();\n this.wcsFocus.emit(event);\n }\n\n @Listen('blur')\n onBlur(event: FocusEvent) {\n this.wcsBlur.emit(event);\n }\n\n /**\n * Set focus on the first cell of the grid\n */\n @Method()\n async focusFirstCell() {\n this.cursorPosition = { col: this.selectionConfig === 'none' ? 0 : 1, row: 1 };\n this.getElementToFocusAtCursorPosition()?.focus();\n }\n\n /**\n * If selectionConfig is different from `none`, that means that an extra column for radio or checkbox is rendered\n * in the table.\n */\n hasSelectionColumn() {\n return this.selectionConfig !== 'none';\n }\n \n /**\n * Returns the element to focus at the current cursor position : it can be a cell (td, th) to focus or a nested\n * checkbox / radio element if the selection mode is single or multiple\n */\n getElementToFocusAtCursorPosition(): HTMLTableCellElement | HTMLWcsCheckboxElement | HTMLInputElement {\n const el = this.gridElementsWithCoordinates.find(cell =>\n cell.col === this.cursorPosition?.col && cell.row === this.cursorPosition?.row)?.el;\n return this.hasSelectionColumn()\n ? el.querySelector('wcs-checkbox,input[type=\"radio\"]') ?? el\n : el;\n }\n \n moveCursorPosition(directionX: number | 'first' | 'last', directionY: number | 'first' | 'last') {\n this.cursorPosition = {\n col: directionX === 'first' ? 0 :\n directionX === 'last' ? this.totalDisplayedColumnCount() - 1 :\n Math.min(Math.max(this.cursorPosition.col + directionX, 0), this.totalDisplayedColumnCount() - 1),\n row: directionY === 'first' ? 0 :\n directionY === 'last' ? this.getRowsForCurrentPage().length :\n Math.min(Math.max(this.cursorPosition.row + directionY, 0), this.getRowsForCurrentPage().length)\n };\n \n this.handleCursorPositionOnEmptyTh();\n \n this.getElementToFocusAtCursorPosition()?.focus();\n }\n\n /**\n * When the grid has selectionConfig single, an empty th appears at col=0, row=0.\n * It should not be focusable so the cursor navigates to col=1, row=0 instead.\n */\n handleCursorPositionOnEmptyTh() {\n if (this.selectionConfig === 'single' && this.cursorPosition.col === 0 && this.cursorPosition.row === 0) {\n this.cursorPosition = {\n col: 1,\n row: 0\n }\n }\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 this.cursorPosition = { col: 0 , row: 1 }\n }\n\n @Listen('keydown')\n onKeyDown(_event: KeyboardEvent) {\n if (document.activeElement?.tagName === 'WCS-GRID-PAGINATION') {\n return;\n }\n \n let type: 'grid_no_selection' | 'grid_selection_single' | 'grid_selection_multiple';\n \n switch (this.selectionConfig) {\n case \"multiple\":\n type = 'grid_selection_multiple';\n break;\n case \"single\":\n type = 'grid_selection_single';\n break;\n case \"none\":\n type = 'grid_no_selection';\n break;\n }\n\n const actionsFromKeyboardEvents: KeyboardEventAssociatedAction[] = getActionForKeyboardEvent(_event, type);\n\n // If we have at least one associated actions, we prevent the default behavior of the event. \n // Except if the action is a focus move (we have to handle the preventDefault behavior ourselves in the action implementation)\n if (actionsFromKeyboardEvents.length != 0) {\n _event.preventDefault();\n }\n\n for (const actionFromKeyboardEvent of actionsFromKeyboardEvents) {\n this.doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent, _event);\n }\n }\n\n doActionFromKeyboardEventAssociatedAction(actionFromKeyboardEvent: KeyboardEventAssociatedAction, event: KeyboardEvent) {\n switch (actionFromKeyboardEvent.kind) {\n case \"FocusCell\":\n switch (actionFromKeyboardEvent.target) {\n case \"up\":\n this.moveCursorPosition(0, -1);\n break;\n case \"down\":\n this.moveCursorPosition(0, 1);\n break;\n case \"left\":\n this.moveCursorPosition(-1, 0);\n break;\n case \"right\":\n this.moveCursorPosition(1, 0);\n break;\n case \"first_of_row\":\n this.moveCursorPosition('first', 0);\n break;\n case \"last_of_row\":\n this.moveCursorPosition('last', 0);\n break;\n case \"first_of_grid\":\n this.moveCursorPosition('first', 'first');\n break;\n case \"last_of_grid\":\n this.moveCursorPosition('last', 'last');\n break;\n default:\n break;\n }\n case \"SelectRow\":\n switch (actionFromKeyboardEvent.target) {\n case \"one\":\n event.preventDefault();\n if (this.cursorPosition.row > 0) {\n this.onRowSelection(this.rows[this.cursorPosition.row - 1]);\n }\n break;\n case \"all\":\n this.selectAllRows();\n break;\n default:\n break;\n }\n break;\n default:\n throw new Error(\"Internal error\");\n }\n }\n \n \n @Listen('mousedown')\n onClick(_event: MouseEvent) {\n const clickedGridElement: HTMLTableCellElement = _event.composedPath()\n .filter(x => ['TD', 'TH']\n .includes((x as HTMLElement).nodeName))[0] as HTMLTableCellElement;\n \n if(!clickedGridElement) return; // it can be the grid pagination node, we don't want to handle it\n \n const clickedGridElementWithCoordinates = this.gridElementsWithCoordinates.find(e => e.el === clickedGridElement);\n \n this.cursorPosition = {\n col: clickedGridElementWithCoordinates.col,\n row: clickedGridElementWithCoordinates.row,\n }\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 // eslint-disable-next-line @typescript-eslint/prefer-for-of\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 let index = 0;\n for (const column of this.columns) {\n column.columnPosition = index + (this.hasSelectionColumn() ? 1 : 0);\n index++;\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 }\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 this.updatePageIndex();\n }\n\n componentWillLoad(): Promise<void> | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, GRID_INHERITED_ATTRS),\n };\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeTable, attr, value);\n }\n\n /**\n * Handle existing column's filters (defined before the grid is instantiated)\n * @private\n */\n private refreshSort(refreshOthersColumnsSortOrderState: boolean) {\n //fixme: why the column property can be null or undefined?\n // Explanation: https://stenciljs.com/docs/component-lifecycle\n // The @watch can be called before the componentDidLoad() which sets the columns\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 refreshOthersColumnsSortOrderState && 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 private get gridElementsWithCoordinates(): GridElementWithCoordinates[] {\n const gridElements: GridElementWithCoordinates[] = [];\n // If selection multiple, the first cell should be added to the list\n if (this.selectionConfig === 'multiple') {\n gridElements.push({\n el: this.el.shadowRoot.querySelector('th'),\n row: 0,\n col: 0\n });\n }\n this.getGridColumnsFromTemplate()\n .filter(col => !col.hidden)\n .forEach((col, index) => {\n gridElements.push({\n el: col.shadowRoot.querySelector('th'),\n row: 0,\n col: index + (this.hasSelectionColumn() ? 1 : 0),\n });\n });\n this.el.shadowRoot.querySelectorAll('td').forEach((cell, index) => {\n gridElements.push({\n el: cell,\n row: 1 + Math.floor(index / this.totalDisplayedColumnCount()),\n col: index % this.totalDisplayedColumnCount(),\n });\n });\n \n return gridElements;\n }\n\n @Listen('wcsSortChange')\n sortChangeEventHandler(event: CustomEvent<WcsGridColumnSortChangeEventDetails>): void {\n // fixme: why the column property can be null or undefined?\n // Explanation: https://stenciljs.com/docs/component-lifecycle\n // The @Listen can be called before the componentDidLoad() which sets the columns\n if (event.detail.order === 'none' || !this.columns) 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 column Column from which to extract the sorting configuration\n * @private\n */\n private sortBy(column: HTMLWcsGridColumnElement) {\n if (column.sortFn) {\n this.rows = cloneDeep(this.rows)\n .sort((a: any, b: any) => column.sortFn(a.data, b.data, column) * getSortOrderInteger(column.sortOrder));\n } else {\n this.rows = cloneDeep(this.rows)\n .sort((a: any, b: any) => {\n const path = column.path;\n return ((get(a.data, path) < get(b.data, path)) ? -1 : (get(a.data, path) > get(b.data, path)) ? 1 : 0) * getSortOrderInteger(column.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({\n selectedRows: this.selectedRows.map(row => this.wcsGridRowToWcsGridRowData(row)),\n changedRow: this.wcsGridRowToWcsGridRowData(row)\n });\n }\n this.rows = cloneDeep(this.rows);\n }\n\n private get selectedRows(): WcsGridRow[] {\n return this.rows.filter(r => r.selected);\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.wcsGridSelectionChange.emit({ \n selectedRows: this.selectedRows.map(row => this.wcsGridRowToWcsGridRowData(row)),\n changedRow: 'allCheckbox'\n });\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 // When in server mode, the state exists outside the internal grid model, so we must rely on the DOM state\n if (!this.serverMode && this.paginationEl) {\n return this.rows.filter(row => row.page === this.paginationEl.currentPage);\n }\n return this.rows;\n }\n\n renderSelectionColumn(row: WcsGridRow, rowIndex: number): any {\n switch (this.selectionConfig) {\n case 'none':\n return;\n case 'single': \n return <td aria-colindex={this.atLeastOneColumnHidden() ? 1 : null}\n tabIndex={this.cursorPosition?.col === 0 && rowIndex + 1 === this.cursorPosition?.row ? 0 : -1}>\n <GridRadio checked={row.selected}\n row={row}\n rowIndex={rowIndex + 1}\n totalRows={this.rows.length}\n onClick={ (row) => {\n if (!row.selected) {\n this.onRowSelection(row)\n }\n }}/>\n </td>;\n case 'multiple': \n return <td aria-colindex={this.atLeastOneColumnHidden() ? 1 : null}\n tabIndex={this.cursorPosition?.col === 0 && rowIndex + 1 === this.cursorPosition?.row ? 0 : -1}>\n <wcs-checkbox tabIndex={-1}\n part=\"row-checkbox\"\n 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 /**\n * Returns the total number of columns\n * @private\n */\n private totalColumnCount() {\n if (!this.columns) {\n return 0;\n }\n return this.columns.length + (this.hasSelectionColumn() ? 1 : 0);\n }\n\n /**\n * Returns the total number of columns that are not hidden\n * @private\n */\n private totalDisplayedColumnCount() {\n return this.totalColumnCount() - this.columns?.filter(col => col.hidden).length ?? 0;\n }\n\n /**\n * Returns true if at least one column is hidden from the table\n * @private\n */\n private atLeastOneColumnHidden() {\n return this.totalDisplayedColumnCount() !== this.totalColumnCount();\n }\n \n render(): any {\n return (\n <Host>\n {\n <table role=\"grid\"\n ref={(el) => (this.nativeTable = el)}\n aria-rowcount={!this.loading && this.rows?.length}\n aria-colcount={!this.loading && this.totalDisplayedColumnCount()}\n {...this.inheritedAttributes}>\n <thead>\n <tr aria-rowindex=\"1\">\n {\n this.selectionConfig === 'none' ? ''\n : <th class=\"wcs-grid-selection-column\">\n {\n this.selectionConfig === 'single' ? '' :\n <wcs-checkbox tabIndex={this.cursorPosition?.col === 0\n && this.cursorPosition?.row === 0 ? 0 : -1}\n part=\"all-rows-checkbox\"\n checked={this.allRowsAreSelected()}\n onWcsChange={this.selectAllRows.bind(this)}/>\n }\n </th>\n }\n <slot name=\"grid-column\"></slot>\n </tr>\n </thead>\n <tbody>\n {\n this.loading\n ? <tr aria-busy=\"true\">\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, index) =>\n this.renderRow(row, index)\n )\n }\n </tbody>\n </table>\n }\n <slot name=\"grid-pagination\"></slot>\n </Host>\n );\n }\n\n /**\n * Returns the row with all mapped cells inside. \n * The aria-rowindex here starts at 2 because the header row starts at index 1. \n * @private\n */ \n private renderRow(row: WcsGridRow, rowIndex: number) {\n let hiddenColumnCount = 0;\n return <tr class={row.selected ? 'selected' : ''}\n part={this.rowCssPartsWithoutEmptyList(row)?.join(' ')}\n aria-selected={row.selected ? 'true' : null}\n aria-rowindex={rowIndex + 2}>\n {this.renderSelectionColumn(row, rowIndex)}\n {row.cells?.map((cell, cellIndex) => {\n if (cell.column.hidden) {\n hiddenColumnCount++;\n return;\n }\n const nonHiddenColumnIndex = cellIndex - hiddenColumnCount + 1 + (this.hasSelectionColumn() ? 1 : 0);\n const cursorIsOnCell = nonHiddenColumnIndex - 1 === this.cursorPosition?.col \n && rowIndex + 1 === this.cursorPosition?.row;\n return cell.column.customCells\n ? (<td tabIndex={cursorIsOnCell ? 0 : -1}\n aria-colindex={this.atLeastOneColumnHidden() ? nonHiddenColumnIndex : null}>\n <slot name={cell.column.id + '-' + get(row.data, this.rowIdPath)}/>\n </td>)\n : (<td tabIndex={cursorIsOnCell ? 0 : -1}\n aria-colindex={this.atLeastOneColumnHidden() ? nonHiddenColumnIndex : null}\n part={cell.column.path + '-column'}>{this.getCellContent(row, cell)}</td>)\n }\n )}\n </tr>;\n }\n \n private rowCssPartsWithoutEmptyList(row: WcsGridRow): string[] | null | undefined {\n const parts = this.rowCssPartsFn(row);\n return parts?.length === 0 ? null : parts;\n }\n}\n\n/**\n * Pour resize le tableau\n * https://www.brainbell.com/javascript/making-resizable-table-js.htmls\n *\n */\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface WcsHeader extends Components.WcsHeader, HTMLElement {}
4
+ export const WcsHeader: {
5
+ prototype: WcsHeader;
6
+ new (): WcsHeader;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,2 @@
1
+ import{p as e,H as t,h as a,c as s}from"./p-2bef72c7.js";import{i as r,a as c,s as o}from"./p-e803bb26.js";const i=":host{--wcs-header-background-color:var(--wcs-semantic-color-background-surface-primary);--wcs-header-gap:var(--wcs-semantic-spacing-large);--wcs-header-height:calc(8 * var(--wcs-semantic-size-base));--wcs-header-logo-height:calc(4 * var(--wcs-semantic-size-base));--wcs-header-padding-horizontal:var(--wcs-semantic-spacing-large);--wcs-header-border-bottom:solid var(--wcs-semantic-border-width-default) var(--wcs-semantic-color-border-secondary);--wcs-header-title-color:var(--wcs-semantic-color-text-primary);--wcs-header-title-font-weight:var(--wcs-semantic-font-weight-medium);--wcs-header-title-font-size:var(--wcs-semantic-font-size-label-1)}header{border-bottom:var(--wcs-header-border-bottom);display:flex;align-items:center;box-sizing:border-box;z-index:1;background:var(--wcs-header-background-color);padding:0 var(--wcs-header-padding-horizontal);height:var(--wcs-header-height);gap:var(--wcs-header-gap)}::slotted(img){height:var(--wcs-header-logo-height)}::slotted(h1),::slotted(a){color:var(--wcs-header-title-color);margin:0;font-weight:var(--wcs-header-title-font-weight);font-size:var(--wcs-header-title-font-size);text-decoration:none}::slotted([slot=center]){flex:1;display:flex;justify-content:center;align-items:center}::slotted([slot=actions]){margin-left:auto}";const n=i;const d=[];const h=e(class e extends t{constructor(){super();this.__registerHost();this.__attachShadow();this.inheritedAttributes={}}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},r(this.el)),c(this.el,d))}async setAriaAttribute(e,t){o(this.nativeHeader,e,t)}hostData(){return{slot:"header"}}__stencil_render(){return a("header",Object.assign({key:"110c72f1b40917efdaa2c864c61a8ee99e35ce38",role:"banner",ref:e=>this.nativeHeader=e},this.inheritedAttributes),a("slot",{key:"8a593fc8e96ea73573fae78d9107897dee680c87",name:"logo"}),a("slot",{key:"1fefec6eee8652ac531c450f15d70cf7ab8ba1c9",name:"title"}),a("slot",{key:"ef151920a52804693a99501ee62688036e7bcda8",name:"center"}),a("slot",{key:"9d817dd99f3edb3dbe4b5a4bced020c42b64a903",name:"actions"}))}get el(){return this}static get style(){return n}render(){return a(s,this.hostData(),this.__stencil_render())}},[1,"wcs-header",{setAriaAttribute:[64]}]);function l(){if(typeof customElements==="undefined"){return}const e=["wcs-header"];e.forEach((e=>{switch(e){case"wcs-header":if(!customElements.get(e)){customElements.define(e,h)}break}}))}l();const b=h;const m=l;export{b as WcsHeader,m as defineCustomElement};
2
+ //# sourceMappingURL=wcs-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["headerCss","WcsHeaderStyle0","HEADER_INHERITED_ATTRS","Header","proxyCustomElement","H","constructor","this","inheritedAttributes","componentWillLoad","Object","assign","inheritAriaAttributes","el","inheritAttributes","setAriaAttribute","attr","value","setOrRemoveAttribute","nativeHeader","hostData","slot","__stencil_render","h","key","role","ref","name"],"sources":["src/components/header/header.scss?tag=wcs-header&encapsulation=shadow","src/components/header/header.tsx"],"sourcesContent":[":host {\n --wcs-header-background-color: var(--wcs-semantic-color-background-surface-primary);\n\n --wcs-header-gap: var(--wcs-semantic-spacing-large);\n --wcs-header-height: calc(8 * var(--wcs-semantic-size-base));\n --wcs-header-logo-height: calc(4 * var(--wcs-semantic-size-base));\n --wcs-header-padding-horizontal: var(--wcs-semantic-spacing-large);\n\n --wcs-header-border-bottom: solid var(--wcs-semantic-border-width-default) var(--wcs-semantic-color-border-secondary);\n --wcs-header-title-color: var(--wcs-semantic-color-text-primary);\n --wcs-header-title-font-weight: var(--wcs-semantic-font-weight-medium);\n --wcs-header-title-font-size: var(--wcs-semantic-font-size-label-1);\n}\n\nheader {\n border-bottom: var(--wcs-header-border-bottom);\n display: flex;\n align-items: center;\n box-sizing: border-box;\n z-index: 1;\n background: var(--wcs-header-background-color);\n padding: 0 var(--wcs-header-padding-horizontal);\n height: var(--wcs-header-height);\n gap: var(--wcs-header-gap);\n}\n\n::slotted(img) {\n height: var(--wcs-header-logo-height);\n}\n\n::slotted(h1), ::slotted(a) {\n color: var(--wcs-header-title-color);\n margin: 0;\n font-weight: var(--wcs-header-title-font-weight);\n font-size: var(--wcs-header-title-font-size);\n text-decoration: none;\n}\n\n::slotted([slot=\"center\"]) {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n\n::slotted([slot=actions]) {\n margin-left: auto;\n}\n","import { Component, ComponentInterface, Element, h, Method } from '@stencil/core';\nimport { inheritAriaAttributes, inheritAttributes, setOrRemoveAttribute } from \"../../utils/helpers\";\nimport { AriaAttributeName } from \"../../utils/mutable-aria-attribute\";\n\nconst HEADER_INHERITED_ATTRS = [];\n\n/**\n * The header component is an element that appears across the top of all pages on a website or application; it contains the logo, the site name and main actions.\n * \n * @slot logo SNCF Logo\n * @slot title Title of your application\n * @slot center Content to display in the center of the header, useful for a search bar\n * @slot actions Actions such as buttons, dropdown or any useful information to always display on your application\n * \n * @cssprop --wcs-header-background-color - Background color of the header\n * \n * @cssprop --wcs-header-gap - Gap between elements in the header\n * @cssprop --wcs-header-height - Height of the header\n * @cssprop --wcs-header-logo-height - Height of the logo\n * @cssprop --wcs-header-padding-horizontal - Horizontal padding of the header\n * \n * @cssprop --wcs-header-title-color - Color of the title\n * @cssprop --wcs-header-title-font-weight - Font weight of the title\n * @cssprop --wcs-header-title-font-size - Font size of the title\n * \n */\n@Component({\n tag: 'wcs-header',\n styleUrl: 'header.scss',\n shadow: true\n})\nexport class Header implements ComponentInterface {\n @Element() private el!: HTMLElement;\n private nativeHeader!: HTMLElement;\n private inheritedAttributes: { [k: string]: any } = {};\n\n componentWillLoad(): Promise<void> | void {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el, HEADER_INHERITED_ATTRS),\n };\n }\n\n @Method()\n async setAriaAttribute(attr: AriaAttributeName, value: string | null | undefined) {\n setOrRemoveAttribute(this.nativeHeader, attr, value);\n }\n \n hostData() {\n return {\n 'slot': 'header'\n };\n }\n\n render() {\n return (\n <header role=\"banner\" ref={(el) => (this.nativeHeader = el)} {...this.inheritedAttributes}>\n <slot name=\"logo\"/>\n <slot name=\"title\"/>\n <slot name=\"center\"/>\n <slot name=\"actions\"/>\n </header>\n );\n }\n}\n"],"mappings":"2GAAA,MAAMA,EAAY,uwCAClB,MAAAC,EAAeD,ECGf,MAAME,EAAyB,G,MA2BlBC,EAAMC,EAAA,MAAAD,UAAAE,EALnB,WAAAC,G,oDAQYC,KAAAC,oBAA4C,E,CAEpD,iBAAAC,GACIF,KAAKC,oBAAmBE,OAAAC,OAAAD,OAAAC,OAAA,GACjBC,EAAsBL,KAAKM,KAC3BC,EAAkBP,KAAKM,GAAIX,G,CAKtC,sBAAMa,CAAiBC,EAAyBC,GAC5CC,EAAqBX,KAAKY,aAAcH,EAAMC,E,CAGlD,QAAAG,GACI,MAAO,CACHC,KAAQ,S,CAIhB,gBAAAC,GACI,OACIC,EAAA,SAAAb,OAAAC,OAAA,CAAAa,IAAA,2CAAQC,KAAK,SAASC,IAAMb,GAAQN,KAAKY,aAAeN,GAASN,KAAKC,qBAClEe,EAAA,QAAAC,IAAA,2CAAMG,KAAK,SACXJ,EAAA,QAAAC,IAAA,2CAAMG,KAAK,UACXJ,EAAA,QAAAC,IAAA,2CAAMG,KAAK,WACXJ,EAAA,QAAAC,IAAA,2CAAMG,KAAK,Y"}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface WcsHint extends Components.WcsHint, HTMLElement {}
4
+ export const WcsHint: {
5
+ prototype: WcsHint;
6
+ new (): WcsHint;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,2 @@
1
+ import{p as t,H as s,h as c,c as n}from"./p-2bef72c7.js";const e=":host{--wcs-hint-font-size-default:var(--wcs-semantic-font-size-caption-2);--wcs-hint-font-size-small:var(--wcs-semantic-font-size-caption-3);--wcs-hint-font-weight:var(--wcs-semantic-font-weight-book);--wcs-hint-color:var(--wcs-semantic-color-text-secondary);font-size:var(--wcs-hint-font-size-default);font-weight:var(--wcs-hint-font-weight);color:var(--wcs-hint-color)}:host([small]){font-size:var(--wcs-hint-font-size-small);font-weight:var(--wcs-hint-font-weight)}";const o=e;const i=t(class t extends s{constructor(){super();this.__registerHost();this.__attachShadow();this.small=false}render(){return c(n,{key:"e9b631d775aa7564172286a9ac280cffdc22aa24",slot:"messages"},c("slot",{key:"f8d4350acb11283861487cc1b3a5ba20c0674f82"}))}static get style(){return o}},[1,"wcs-hint",{small:[1540]}]);function a(){if(typeof customElements==="undefined"){return}const t=["wcs-hint"];t.forEach((t=>{switch(t){case"wcs-hint":if(!customElements.get(t)){customElements.define(t,i)}break}}))}a();const r=i;const f=a;export{r as WcsHint,f as defineCustomElement};
2
+ //# sourceMappingURL=wcs-hint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hintCss","WcsHintStyle0","Hint","proxyCustomElement","H","render","h","Host","key","slot"],"sources":["src/components/hint/hint.scss?tag=wcs-hint&encapsulation=shadow","src/components/hint/hint.tsx"],"sourcesContent":[":host {\n --wcs-hint-font-size-default: var(--wcs-semantic-font-size-caption-2);\n --wcs-hint-font-size-small: var(--wcs-semantic-font-size-caption-3);\n --wcs-hint-font-weight: var(--wcs-semantic-font-weight-book);\n --wcs-hint-color: var(--wcs-semantic-color-text-secondary);\n\n font-size: var(--wcs-hint-font-size-default);\n font-weight: var(--wcs-hint-font-weight);\n color: var(--wcs-hint-color);\n}\n\n:host([small]) {\n font-size: var(--wcs-hint-font-size-small);\n font-weight: var(--wcs-hint-font-weight);\n}\n","import { Component, ComponentInterface, h, Host, Prop } from '@stencil/core';\n\n/**\n * The `wcs-hint` should always be wrapped in a `wcs-form-field`.\n * It is used to display an informative message under the field indicating an incorrect user input.\n * \n * ## Accessibility guidelines 💡\n * - Provide a relevant hint message to inform the users about the format, how the data should be filled in, or what is the purpose of the field\n * - `aria-description` will be automatically added to the field for screen readers\n * \n * @cssprop --wcs-hint-color - Color of the text\n * @cssprop --wcs-hint-font-weight - Font weight of the text\n * @cssprop --wcs-hint-font-size-default - Font size default of the text\n * @cssprop --wcs-hint-font-size-small - Font size small of the text\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"],"mappings":"yDAAA,MAAMA,EAAU,wdAChB,MAAAC,EAAeD,E,MCmBFE,EAAIC,EAAA,MAAAD,UAAAE,E,6EAKI,K,CAEjB,MAAAC,GACI,OACIC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,YACPH,EAAA,QAAAE,IAAA,6C"}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface WcsHorizontalStepper extends Components.WcsHorizontalStepper, HTMLElement {}
4
+ export const WcsHorizontalStepper: {
5
+ prototype: WcsHorizontalStepper;
6
+ new (): WcsHorizontalStepper;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,2 @@
1
+ import{p as t,H as e,d as s,h as i,c as r}from"./p-2bef72c7.js";import{h as a}from"./p-d3404c52.js";import{d as n}from"./p-51517fda.js";import{d as o}from"./p-55668982.js";import{d as c}from"./p-b83afff9.js";import{d as l}from"./p-04663560.js";const d=({step:t,checkOnComplete:e,complete:s,passed:i,active:r,first:n,disable:o,onClick:c})=>{var l;return a("li",{role:"listitem",class:"graphic-step","data-first":n},n?null:a("wcs-progress-bar",{value:i?100:0,"aria-hidden":"true"}),a("wcs-button",{style:{backgroundColor:"white"},"aria-label":(l=t.ariaLabel)!==null&&l!==void 0?l:t.text,onClick:e=>c(t),ref:t=>{r?t.setAriaAttribute("aria-current","step"):t.setAriaAttribute("aria-current",null)},shape:"round",mode:(r||s)&&!t.disable?"plain":"stroked",disabled:o},h(t.button,e,s,r)))};const h=(t,e,s,i)=>{if(e&&s&&!i){return a("wcs-mat-icon",{size:"m",icon:"done",family:"outlined"})}switch(t.kind){case"Icon":return a("wcs-mat-icon",{size:"m",icon:t.iconName,family:t.family?t.family:"outlined"});case"Text":return t.text}};const p=":host{--wcs-horizontal-step-text-color-default:var(--wcs-semantic-color-text-secondary);--wcs-horizontal-step-text-color-active:var(--wcs-semantic-color-foreground-brand);--wcs-horizontal-step-text-color-disabled:var(--wcs-semantic-color-text-disabled);display:block}:host .steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;flex:1}:host .graphic-step{display:flex;position:relative;flex-direction:row;flex:1;align-items:center}:host .graphic-step wcs-button{z-index:1;mix-blend-mode:darken}:host .graphic-step[data-first]{flex:0}:host wcs-progress-bar{--wcs-progress-bar-border-radius:0;flex:1;margin:0 -1px}:host .label-container{justify-content:space-between;display:flex;flex-direction:row;margin-top:var(--wcs-semantic-spacing-base)}:host .label-container>*{width:100%;text-align:center;flex:1;color:var(--wcs-horizontal-step-text-color-default);font-weight:500}:host .label-container>*[data-disable]{color:var(--wcs-horizontal-step-text-color-disabled)}:host .label-container>*[data-current]{color:var(--wcs-horizontal-step-text-color-active)}:host .label-container>div[data-first]{margin-right:calc(var(--wcs-semantic-size-m, 40px) / 2);text-align:left;flex:0.5}:host .label-container>div[data-last]{margin-left:calc(var(--wcs-semantic-size-m, 40px) / 2);text-align:right;flex:0.5}";const u=p;const f=t(class t extends e{constructor(){super();this.__registerHost();this.__attachShadow();this.wcsHorizontalStepClick=s(this,"wcsHorizontalStepClick",7);this.currentStep=0;this.steps=undefined;this.mode="nonLinear";this.checkOnComplete=undefined;this.internalCurrentStepIndex=undefined}componentWillLoad(){this.internalCurrentStepIndex=this.currentStep;if(this.steps.length<1){throw new Error("You must add at least one step")}}onCurrentStepChange(t,e){if(this.internalCurrentStepIndex!==undefined){const s=Math.abs(e-t);this.el.style.setProperty("--wcs-progress-bar-animation-duration",350/s+"ms");if(t!==e){for(let i=0;i<s;i++){setTimeout((()=>{this.internalCurrentStepIndex-=e-t>0?1:-1;if(i===s-1){this.el.style.removeProperty("--wcs-progress-bar-animation-duration")}}),i*(375/s))}}}}async previous(){this.navigateToIndex(this.internalCurrentStepIndex-1,"backward")}async next(){this.navigateToIndex(this.internalCurrentStepIndex+1,"forward")}navigateToIndex(t,e){var s,i;if(t>=0&&t<=this.steps.length-1){if(((s=this.steps[t])===null||s===void 0?void 0:s.complete)||((i=this.steps[t])===null||i===void 0?void 0:i.disable)){this.navigateToIndex(t+(e==="forward"?1:-1),e)}else{this.currentStep=t}}}render(){return i(r,{key:"72063828a00d77fc1bc2a92de8979d096b806786"},i("ul",{key:"a5b2de6193a68b6b70b0857d1c50ed1c5c069863",role:"list",class:"steps"},this.steps.map(((t,e)=>i(d,{step:t,passed:e<=this.internalCurrentStepIndex,checkOnComplete:this.checkOnComplete,complete:this.isComplete(t,e),active:e===this.internalCurrentStepIndex,first:e===0,disable:this.isDisable(t,e),onClick:t=>this.wcsHorizontalStepClick.emit({step:t,index:e})})))),this.renderLabels())}isComplete(t,e){return e<=this.internalCurrentStepIndex||t.complete}renderLabels(){if(this.steps.map((t=>t.text)).every((t=>!t))){return null}else{return i("div",{class:"label-container","aria-hidden":"true"},this.steps.map(((t,e)=>i("div",{"data-first":e===0,"data-current":e===this.internalCurrentStepIndex&&!t.disable,"data-disable":this.isDisable(t,e),"data-last":e===this.steps.length-1},i("span",null,t.text)))))}}isDisable(t,e){return t.disable||this.mode==="linear"&&(!this.isNextPossibleStep(e)&&this.internalCurrentStepIndex<e)}isNextPossibleStep(t){var e;if(t===0)return true;if(((e=this.steps[t-1])===null||e===void 0?void 0:e.disable)||this.previousStepIsCompleteAndNotActive(t))return this.isNextPossibleStep(t-1);return this.internalCurrentStepIndex===t-1}previousStepIsCompleteAndNotActive(t){var e;return((e=this.steps[t-1])===null||e===void 0?void 0:e.complete)&&t-1!==this.internalCurrentStepIndex}get el(){return this}static get watchers(){return{currentStep:["onCurrentStepChange"]}}static get style(){return u}},[1,"wcs-horizontal-stepper",{currentStep:[1026,"current-step"],steps:[16],mode:[1],checkOnComplete:[516,"check-on-complete"],internalCurrentStepIndex:[32],previous:[64],next:[64]},undefined,{currentStep:["onCurrentStepChange"]}]);function m(){if(typeof customElements==="undefined"){return}const t=["wcs-horizontal-stepper","wcs-button","wcs-mat-icon","wcs-progress-bar","wcs-spinner"];t.forEach((t=>{switch(t){case"wcs-horizontal-stepper":if(!customElements.get(t)){customElements.define(t,f)}break;case"wcs-button":if(!customElements.get(t)){n()}break;case"wcs-mat-icon":if(!customElements.get(t)){o()}break;case"wcs-progress-bar":if(!customElements.get(t)){c()}break;case"wcs-spinner":if(!customElements.get(t)){l()}break}}))}m();const b=f;const w=m;export{b as WcsHorizontalStepper,w as defineCustomElement};
2
+ //# sourceMappingURL=wcs-horizontal-stepper.js.map