@swisspost/design-system-components 1.5.0 → 1.6.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 (302) hide show
  1. package/dist/cjs/check-non-empty-ae713942.js +13 -0
  2. package/dist/cjs/check-non-empty-ae713942.js.map +1 -0
  3. package/dist/cjs/{check-one-of-4c2e8b2e.js → check-one-of-27ad3154.js} +1 -1
  4. package/dist/cjs/check-one-of-27ad3154.js.map +1 -0
  5. package/dist/cjs/constants-238701d3.js +7 -0
  6. package/dist/cjs/constants-238701d3.js.map +1 -0
  7. package/dist/cjs/fade-35a3633a.js +12 -0
  8. package/dist/cjs/fade-35a3633a.js.map +1 -0
  9. package/dist/cjs/index-b38a23e0.js +41 -0
  10. package/dist/cjs/index-b38a23e0.js.map +1 -0
  11. package/dist/cjs/{index-12cc37c9.js → index-b619e205.js} +245 -41
  12. package/dist/cjs/index-b619e205.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +26 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/package-7c4db872.js +7 -0
  18. package/dist/cjs/package-7c4db872.js.map +1 -0
  19. package/dist/cjs/post-accordion.cjs.entry.js +89 -0
  20. package/dist/cjs/post-accordion.cjs.entry.js.map +1 -0
  21. package/dist/cjs/post-alert-c037e6a3.js +101 -0
  22. package/dist/cjs/post-alert-c037e6a3.js.map +1 -0
  23. package/dist/cjs/post-alert.cjs.entry.js +9 -97
  24. package/dist/cjs/post-alert.cjs.entry.js.map +1 -1
  25. package/dist/cjs/post-collapsible-7c9d23a2.js +93 -0
  26. package/dist/cjs/post-collapsible-7c9d23a2.js.map +1 -0
  27. package/dist/cjs/post-collapsible.cjs.entry.js +7 -119
  28. package/dist/cjs/post-collapsible.cjs.entry.js.map +1 -1
  29. package/dist/cjs/post-components.cjs.js +3 -6
  30. package/dist/cjs/post-components.cjs.js.map +1 -1
  31. package/dist/cjs/post-icon-f418f76a.js +105 -0
  32. package/dist/cjs/post-icon-f418f76a.js.map +1 -0
  33. package/dist/cjs/post-icon.cjs.entry.js +8 -100
  34. package/dist/cjs/post-icon.cjs.entry.js.map +1 -1
  35. package/dist/cjs/post-tab-header-e08c2a42.js +33 -0
  36. package/dist/cjs/post-tab-header-e08c2a42.js.map +1 -0
  37. package/dist/cjs/post-tab-header.cjs.entry.js +6 -26
  38. package/dist/cjs/post-tab-header.cjs.entry.js.map +1 -1
  39. package/dist/cjs/post-tab-panel-721f7f32.js +27 -0
  40. package/dist/cjs/post-tab-panel-721f7f32.js.map +1 -0
  41. package/dist/cjs/post-tab-panel.cjs.entry.js +4 -20
  42. package/dist/cjs/post-tab-panel.cjs.entry.js.map +1 -1
  43. package/dist/cjs/post-tabs-4bcc867b.js +153 -0
  44. package/dist/cjs/post-tabs-4bcc867b.js.map +1 -0
  45. package/dist/cjs/post-tabs.cjs.entry.js +5 -127
  46. package/dist/cjs/post-tabs.cjs.entry.js.map +1 -1
  47. package/dist/cjs/post-tooltip-261c5cda.js +5095 -0
  48. package/dist/cjs/post-tooltip-261c5cda.js.map +1 -0
  49. package/dist/cjs/post-tooltip.cjs.entry.js +5 -5088
  50. package/dist/cjs/post-tooltip.cjs.entry.js.map +1 -1
  51. package/dist/collection/animations/collapse.js +13 -0
  52. package/dist/collection/animations/collapse.js.map +1 -0
  53. package/dist/collection/animations/fade.js +4 -4
  54. package/dist/collection/animations/fade.js.map +1 -1
  55. package/dist/collection/collection-manifest.json +10 -9
  56. package/dist/collection/components/post-accordion/post-accordion.css +1 -0
  57. package/dist/collection/components/post-accordion/post-accordion.js +178 -0
  58. package/dist/collection/components/post-accordion/post-accordion.js.map +1 -0
  59. package/dist/collection/components/post-alert/post-alert.css +6 -534
  60. package/dist/collection/components/post-alert/post-alert.js +10 -9
  61. package/dist/collection/components/post-alert/post-alert.js.map +1 -1
  62. package/dist/collection/components/post-collapsible/heading-levels.js +2 -0
  63. package/dist/collection/components/post-collapsible/heading-levels.js.map +1 -0
  64. package/dist/collection/components/post-collapsible/post-collapsible.css +1 -261
  65. package/dist/collection/components/post-collapsible/post-collapsible.js +65 -63
  66. package/dist/collection/components/post-collapsible/post-collapsible.js.map +1 -1
  67. package/dist/collection/components/post-icon/post-icon.css +1 -102
  68. package/dist/collection/components/post-icon/post-icon.js +5 -4
  69. package/dist/collection/components/post-icon/post-icon.js.map +1 -1
  70. package/dist/collection/components/post-tab-header/post-tab-header.css +3 -337
  71. package/dist/collection/components/post-tab-header/post-tab-header.js +6 -5
  72. package/dist/collection/components/post-tab-header/post-tab-header.js.map +1 -1
  73. package/dist/collection/components/post-tab-panel/post-tab-panel.css +1 -3
  74. package/dist/collection/components/post-tab-panel/post-tab-panel.js +2 -2
  75. package/dist/collection/components/post-tabs/post-tabs.css +1 -148
  76. package/dist/collection/components/post-tabs/post-tabs.js +36 -13
  77. package/dist/collection/components/post-tabs/post-tabs.js.map +1 -1
  78. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -194
  79. package/dist/collection/components/post-tooltip/post-tooltip.js +22 -15
  80. package/dist/collection/components/post-tooltip/post-tooltip.js.map +1 -1
  81. package/dist/collection/index.js +8 -1
  82. package/dist/collection/index.js.map +1 -1
  83. package/dist/collection/utils/index.js +1 -3
  84. package/dist/collection/utils/index.js.map +1 -1
  85. package/dist/collection/utils/is-motion-reduced.js +4 -0
  86. package/dist/collection/utils/is-motion-reduced.js.map +1 -0
  87. package/dist/collection/utils/property-checkers/check-non-empty.js +1 -1
  88. package/dist/collection/utils/property-checkers/empty-or.js +1 -1
  89. package/dist/collection/utils/property-checkers/index.js +4 -4
  90. package/dist/components/check-non-empty.js +2 -2
  91. package/dist/components/check-non-empty.js.map +1 -1
  92. package/dist/components/check-one-of.js.map +1 -1
  93. package/dist/components/constants.js +5 -0
  94. package/dist/components/constants.js.map +1 -0
  95. package/dist/components/fade.js +4 -4
  96. package/dist/components/fade.js.map +1 -1
  97. package/dist/components/index.d.ts +6 -0
  98. package/dist/components/index.js +8 -1
  99. package/dist/components/index.js.map +1 -1
  100. package/dist/components/index2.js +36 -0
  101. package/dist/components/index2.js.map +1 -0
  102. package/dist/components/package.js +1 -1
  103. package/dist/components/post-accordion.d.ts +11 -0
  104. package/dist/components/post-accordion.js +108 -0
  105. package/dist/components/post-accordion.js.map +1 -0
  106. package/dist/components/post-alert.js +1 -129
  107. package/dist/components/post-alert.js.map +1 -1
  108. package/dist/components/post-alert2.js +138 -0
  109. package/dist/components/post-alert2.js.map +1 -0
  110. package/dist/components/post-collapsible.js +1 -146
  111. package/dist/components/post-collapsible.js.map +1 -1
  112. package/dist/components/post-collapsible2.js +117 -0
  113. package/dist/components/post-collapsible2.js.map +1 -0
  114. package/dist/components/post-icon2.js +12 -22
  115. package/dist/components/post-icon2.js.map +1 -1
  116. package/dist/components/post-tab-header.js +1 -45
  117. package/dist/components/post-tab-header.js.map +1 -1
  118. package/dist/components/post-tab-header2.js +51 -0
  119. package/dist/components/post-tab-header2.js.map +1 -0
  120. package/dist/components/post-tab-panel.js +1 -39
  121. package/dist/components/post-tab-panel.js.map +1 -1
  122. package/dist/components/post-tab-panel2.js +43 -0
  123. package/dist/components/post-tab-panel2.js.map +1 -0
  124. package/dist/components/post-tabs.js +1 -146
  125. package/dist/components/post-tabs.js.map +1 -1
  126. package/dist/components/post-tabs2.js +169 -0
  127. package/dist/components/post-tabs2.js.map +1 -0
  128. package/dist/components/post-tooltip.js +1 -5111
  129. package/dist/components/post-tooltip.js.map +1 -1
  130. package/dist/components/post-tooltip2.js +5117 -0
  131. package/dist/components/post-tooltip2.js.map +1 -0
  132. package/dist/docs.d.ts +334 -235
  133. package/dist/docs.json +458 -14
  134. package/dist/esm/check-non-empty-09c39561.js +11 -0
  135. package/dist/esm/check-non-empty-09c39561.js.map +1 -0
  136. package/dist/esm/{check-one-of-ded5e15e.js → check-one-of-74750af9.js} +1 -1
  137. package/dist/esm/check-one-of-74750af9.js.map +1 -0
  138. package/dist/esm/constants-8d548297.js +5 -0
  139. package/dist/esm/constants-8d548297.js.map +1 -0
  140. package/dist/esm/fade-7fd71785.js +9 -0
  141. package/dist/esm/fade-7fd71785.js.map +1 -0
  142. package/dist/esm/index-35921354.js +36 -0
  143. package/dist/esm/index-35921354.js.map +1 -0
  144. package/dist/esm/{index-5611074b.js → index-4eff5fc5.js} +245 -41
  145. package/dist/esm/index-4eff5fc5.js.map +1 -0
  146. package/dist/esm/index.js +14 -1
  147. package/dist/esm/index.js.map +1 -1
  148. package/dist/esm/loader.js +4 -13
  149. package/dist/esm/loader.js.map +1 -1
  150. package/dist/esm/package-3bbdb32c.js +5 -0
  151. package/dist/esm/package-3bbdb32c.js.map +1 -0
  152. package/dist/esm/post-accordion.entry.js +85 -0
  153. package/dist/esm/post-accordion.entry.js.map +1 -0
  154. package/dist/esm/post-alert-5dd43c8b.js +99 -0
  155. package/dist/esm/post-alert-5dd43c8b.js.map +1 -0
  156. package/dist/esm/post-alert.entry.js +8 -100
  157. package/dist/esm/post-alert.entry.js.map +1 -1
  158. package/dist/esm/post-collapsible-26dc2340.js +91 -0
  159. package/dist/esm/post-collapsible-26dc2340.js.map +1 -0
  160. package/dist/esm/post-collapsible.entry.js +6 -122
  161. package/dist/esm/post-collapsible.entry.js.map +1 -1
  162. package/dist/esm/post-components.js +4 -7
  163. package/dist/esm/post-components.js.map +1 -1
  164. package/dist/esm/post-icon-fb0eb8aa.js +103 -0
  165. package/dist/esm/post-icon-fb0eb8aa.js.map +1 -0
  166. package/dist/esm/post-icon.entry.js +7 -103
  167. package/dist/esm/post-icon.entry.js.map +1 -1
  168. package/dist/esm/post-tab-header-deebc551.js +31 -0
  169. package/dist/esm/post-tab-header-deebc551.js.map +1 -0
  170. package/dist/esm/post-tab-header.entry.js +5 -29
  171. package/dist/esm/post-tab-header.entry.js.map +1 -1
  172. package/dist/esm/post-tab-panel-4b820f71.js +25 -0
  173. package/dist/esm/post-tab-panel-4b820f71.js.map +1 -0
  174. package/dist/esm/post-tab-panel.entry.js +3 -23
  175. package/dist/esm/post-tab-panel.entry.js.map +1 -1
  176. package/dist/esm/post-tabs-2d8d6a33.js +151 -0
  177. package/dist/esm/post-tabs-2d8d6a33.js.map +1 -0
  178. package/dist/esm/post-tabs.entry.js +4 -130
  179. package/dist/esm/post-tabs.entry.js.map +1 -1
  180. package/dist/esm/post-tooltip-811309c5.js +5093 -0
  181. package/dist/esm/post-tooltip-811309c5.js.map +1 -0
  182. package/dist/esm/post-tooltip.entry.js +4 -5091
  183. package/dist/esm/post-tooltip.entry.js.map +1 -1
  184. package/dist/post-components/index.esm.js +1 -1
  185. package/dist/post-components/{p-2b6ab354.entry.js → p-01e8dfe6.js} +3 -3
  186. package/dist/post-components/p-01e8dfe6.js.map +1 -0
  187. package/dist/post-components/p-0a49c1a3.entry.js +2 -0
  188. package/dist/post-components/{p-bcc705f1.js → p-1339f8cd.js} +1 -1
  189. package/dist/post-components/p-1339f8cd.js.map +1 -0
  190. package/dist/post-components/p-1a8a8ef2.js +2 -0
  191. package/dist/post-components/p-1a8a8ef2.js.map +1 -0
  192. package/dist/post-components/p-27092ac3.entry.js +2 -0
  193. package/dist/post-components/p-27092ac3.entry.js.map +1 -0
  194. package/dist/post-components/{p-e5306504.js → p-2737eaf5.js} +1 -1
  195. package/dist/post-components/p-2737eaf5.js.map +1 -0
  196. package/dist/post-components/p-332eef46.js +2 -0
  197. package/dist/post-components/p-332eef46.js.map +1 -0
  198. package/dist/post-components/p-440193f4.js +2 -0
  199. package/dist/post-components/p-440193f4.js.map +1 -0
  200. package/dist/post-components/p-541142fd.js +2 -0
  201. package/dist/post-components/p-541142fd.js.map +1 -0
  202. package/dist/post-components/p-574acdb0.js +2 -0
  203. package/dist/post-components/p-574acdb0.js.map +1 -0
  204. package/dist/post-components/p-66460e3f.entry.js +2 -0
  205. package/dist/post-components/p-66460e3f.entry.js.map +1 -0
  206. package/dist/post-components/p-810ee105.entry.js +2 -0
  207. package/dist/post-components/p-810ee105.entry.js.map +1 -0
  208. package/dist/post-components/p-939df031.entry.js +2 -0
  209. package/dist/post-components/p-939df031.entry.js.map +1 -0
  210. package/dist/post-components/p-94b3f291.entry.js +2 -0
  211. package/dist/post-components/p-94b3f291.entry.js.map +1 -0
  212. package/dist/post-components/p-97000cb6.js +2 -0
  213. package/dist/post-components/p-97000cb6.js.map +1 -0
  214. package/dist/post-components/p-a7649277.js +3 -0
  215. package/dist/post-components/p-a7649277.js.map +1 -0
  216. package/dist/post-components/p-abd149b3.entry.js +2 -0
  217. package/dist/post-components/p-abd149b3.entry.js.map +1 -0
  218. package/dist/post-components/p-b531475e.js +2 -0
  219. package/dist/post-components/p-b531475e.js.map +1 -0
  220. package/dist/post-components/p-c6b73d6e.js +2 -0
  221. package/dist/post-components/p-c6b73d6e.js.map +1 -0
  222. package/dist/post-components/{p-29535fea.entry.js → p-d4fb9f16.js} +2 -2
  223. package/dist/post-components/p-d4fb9f16.js.map +1 -0
  224. package/dist/post-components/p-dfe29f7f.js +2 -0
  225. package/dist/post-components/p-dfe29f7f.js.map +1 -0
  226. package/dist/post-components/p-e9dc9039.entry.js +2 -0
  227. package/dist/post-components/p-e9dc9039.entry.js.map +1 -0
  228. package/dist/post-components/post-components.esm.js +1 -1
  229. package/dist/post-components/post-components.esm.js.map +1 -1
  230. package/dist/types/animations/collapse.d.ts +2 -0
  231. package/dist/types/components/post-accordion/post-accordion.d.ts +28 -0
  232. package/dist/types/components/post-alert/post-alert.d.ts +1 -1
  233. package/dist/types/components/post-collapsible/heading-levels.d.ts +2 -0
  234. package/dist/types/components/post-collapsible/post-collapsible.d.ts +16 -12
  235. package/dist/types/components/post-tabs/post-tabs.d.ts +1 -0
  236. package/dist/types/components.d.ts +79 -3
  237. package/dist/types/index.d.ts +7 -0
  238. package/dist/types/stencil-public-runtime.d.ts +38 -5
  239. package/dist/types/utils/index.d.ts +1 -3
  240. package/dist/types/utils/is-motion-reduced.d.ts +1 -0
  241. package/loader/index.d.ts +1 -1
  242. package/package.json +8 -8
  243. package/dist/cjs/check-non-empty-35b4d0b5.js +0 -14
  244. package/dist/cjs/check-non-empty-35b4d0b5.js.map +0 -1
  245. package/dist/cjs/check-one-of-4c2e8b2e.js.map +0 -1
  246. package/dist/cjs/check-type-508a21a5.js +0 -18
  247. package/dist/cjs/check-type-508a21a5.js.map +0 -1
  248. package/dist/cjs/fade-8c6d4fa7.js +0 -12
  249. package/dist/cjs/fade-8c6d4fa7.js.map +0 -1
  250. package/dist/cjs/index-12cc37c9.js.map +0 -1
  251. package/dist/cjs/index-f8f6f146.js +0 -28
  252. package/dist/cjs/index-f8f6f146.js.map +0 -1
  253. package/dist/cjs/package-67091813.js +0 -7
  254. package/dist/cjs/package-67091813.js.map +0 -1
  255. package/dist/collection/utils/get-element-height.js +0 -12
  256. package/dist/collection/utils/get-element-height.js.map +0 -1
  257. package/dist/collection/utils/on-transition-end.js +0 -15
  258. package/dist/collection/utils/on-transition-end.js.map +0 -1
  259. package/dist/collection/utils/should-reduce-motion.js +0 -4
  260. package/dist/collection/utils/should-reduce-motion.js.map +0 -1
  261. package/dist/components/check-type.js +0 -16
  262. package/dist/components/check-type.js.map +0 -1
  263. package/dist/esm/check-non-empty-554bdf88.js +0 -11
  264. package/dist/esm/check-non-empty-554bdf88.js.map +0 -1
  265. package/dist/esm/check-one-of-ded5e15e.js.map +0 -1
  266. package/dist/esm/check-type-18ebb4e7.js +0 -16
  267. package/dist/esm/check-type-18ebb4e7.js.map +0 -1
  268. package/dist/esm/fade-671f1489.js +0 -9
  269. package/dist/esm/fade-671f1489.js.map +0 -1
  270. package/dist/esm/index-5611074b.js.map +0 -1
  271. package/dist/esm/index-7f723686.js +0 -24
  272. package/dist/esm/index-7f723686.js.map +0 -1
  273. package/dist/esm/package-f5cb3167.js +0 -5
  274. package/dist/esm/package-f5cb3167.js.map +0 -1
  275. package/dist/esm/polyfills/css-shim.js +0 -1
  276. package/dist/post-components/p-12046db8.entry.js +0 -2
  277. package/dist/post-components/p-12046db8.entry.js.map +0 -1
  278. package/dist/post-components/p-15fc087f.js +0 -2
  279. package/dist/post-components/p-15fc087f.js.map +0 -1
  280. package/dist/post-components/p-24b07f64.js +0 -2
  281. package/dist/post-components/p-29535fea.entry.js.map +0 -1
  282. package/dist/post-components/p-296af738.entry.js +0 -2
  283. package/dist/post-components/p-296af738.entry.js.map +0 -1
  284. package/dist/post-components/p-2b6ab354.entry.js.map +0 -1
  285. package/dist/post-components/p-75a7b352.js +0 -2
  286. package/dist/post-components/p-75a7b352.js.map +0 -1
  287. package/dist/post-components/p-a14ec7bb.entry.js +0 -2
  288. package/dist/post-components/p-a14ec7bb.entry.js.map +0 -1
  289. package/dist/post-components/p-bcc705f1.js.map +0 -1
  290. package/dist/post-components/p-c7497ecb.entry.js +0 -2
  291. package/dist/post-components/p-c7497ecb.entry.js.map +0 -1
  292. package/dist/post-components/p-c8efe0ae.js +0 -2
  293. package/dist/post-components/p-c8efe0ae.js.map +0 -1
  294. package/dist/post-components/p-cc6e4eb8.entry.js +0 -2
  295. package/dist/post-components/p-cc6e4eb8.entry.js.map +0 -1
  296. package/dist/post-components/p-d94db268.js +0 -3
  297. package/dist/post-components/p-d94db268.js.map +0 -1
  298. package/dist/post-components/p-e5306504.js.map +0 -1
  299. package/dist/types/utils/get-element-height.d.ts +0 -3
  300. package/dist/types/utils/on-transition-end.d.ts +0 -1
  301. package/dist/types/utils/should-reduce-motion.d.ts +0 -1
  302. /package/dist/post-components/{p-24b07f64.js.map → p-0a49c1a3.entry.js.map} +0 -0
@@ -0,0 +1,13 @@
1
+ const collapseDuration = 350;
2
+ const collapseEasing = 'ease';
3
+ const collapsedKeyframe = { height: '0', overflow: 'hidden' };
4
+ export const collapse = (el) => {
5
+ const { height } = window.getComputedStyle(el);
6
+ const expandedKeyframe = { height };
7
+ return el.animate([expandedKeyframe, collapsedKeyframe], { duration: collapseDuration, easing: collapseEasing, fill: 'forwards' });
8
+ };
9
+ export const expand = (el) => {
10
+ const expandedKeyframe = { height: `${el.scrollHeight}px` };
11
+ return el.animate([collapsedKeyframe, expandedKeyframe], { duration: collapseDuration, easing: collapseEasing, fill: 'forwards' });
12
+ };
13
+ //# sourceMappingURL=collapse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../src/animations/collapse.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,iBAAiB,GAAa,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAe,EAAa,EAAE;EACrD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;EAC/C,MAAM,gBAAgB,GAAa,EAAE,MAAM,EAAE,CAAC;EAE9C,OAAO,EAAE,CAAC,OAAO,CACf,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EACrC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,CACzE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAe,EAAa,EAAE;EACnD,MAAM,gBAAgB,GAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC;EAEtE,OAAO,EAAE,CAAC,OAAO,CACf,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EACrC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,CACzE,CAAC;AACJ,CAAC,CAAC","sourcesContent":["const collapseDuration = 350;\nconst collapseEasing = 'ease';\nconst collapsedKeyframe: Keyframe = { height: '0', overflow: 'hidden' };\n\nexport const collapse = (el: HTMLElement): Animation => {\n const { height } = window.getComputedStyle(el);\n const expandedKeyframe: Keyframe = { height };\n\n return el.animate(\n [expandedKeyframe, collapsedKeyframe],\n { duration: collapseDuration, easing: collapseEasing, fill: 'forwards' },\n );\n};\n\nexport const expand = (el: HTMLElement): Animation => {\n const expandedKeyframe: Keyframe = { height: `${el.scrollHeight}px` };\n\n return el.animate(\n [collapsedKeyframe, expandedKeyframe],\n { duration: collapseDuration, easing: collapseEasing, fill: 'forwards' },\n );\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  const fadeDuration = 200;
2
- const fadedOutKeyFrame = { opacity: '0' };
3
- const fadedInKeyFrame = { opacity: '1' };
4
- export const fadeIn = (el) => el.animate([fadedOutKeyFrame, fadedInKeyFrame], { duration: fadeDuration });
5
- export const fadeOut = (el) => el.animate([fadedInKeyFrame, fadedOutKeyFrame], { duration: fadeDuration });
2
+ const fadedOutKeyframe = { opacity: '0' };
3
+ const fadedInKeyframe = { opacity: '1' };
4
+ export const fadeIn = (el) => el.animate([fadedOutKeyframe, fadedInKeyframe], { duration: fadeDuration });
5
+ export const fadeOut = (el) => el.animate([fadedInKeyframe, fadedOutKeyframe], { duration: fadeDuration });
6
6
  //# sourceMappingURL=fade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fade.js","sourceRoot":"","sources":["../../../src/animations/fade.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,gBAAgB,GAAG,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC;AACxC,MAAM,eAAe,GAAG,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAW,EAAa,EAAE,CAAC,EAAE,CAAC,OAAO,CAC1D,CAAE,gBAAgB,EAAE,eAAe,CAAE,EACrC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAW,EAAa,EAAE,CAAC,EAAE,CAAC,OAAO,CAC3D,CAAE,eAAe,EAAE,gBAAgB,CAAE,EACrC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC","sourcesContent":["const fadeDuration = 200;\nconst fadedOutKeyFrame = {opacity: '0'};\nconst fadedInKeyFrame = {opacity: '1'};\n\nexport const fadeIn = (el: Element): Animation => el.animate(\n [ fadedOutKeyFrame, fadedInKeyFrame ],\n { duration: fadeDuration }\n);\n\nexport const fadeOut = (el: Element): Animation => el.animate(\n [ fadedInKeyFrame, fadedOutKeyFrame ],\n { duration: fadeDuration }\n);\n"]}
1
+ {"version":3,"file":"fade.js","sourceRoot":"","sources":["../../../src/animations/fade.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,gBAAgB,GAAa,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC;AAClD,MAAM,eAAe,GAAa,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAW,EAAa,EAAE,CAAC,EAAE,CAAC,OAAO,CAC1D,CAAE,gBAAgB,EAAE,eAAe,CAAE,EACrC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAW,EAAa,EAAE,CAAC,EAAE,CAAC,OAAO,CAC3D,CAAE,eAAe,EAAE,gBAAgB,CAAE,EACrC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAC3B,CAAC","sourcesContent":["const fadeDuration = 200;\nconst fadedOutKeyframe: Keyframe = {opacity: '0'};\nconst fadedInKeyframe: Keyframe = {opacity: '1'};\n\nexport const fadeIn = (el: Element): Animation => el.animate(\n [ fadedOutKeyframe, fadedInKeyframe ],\n { duration: fadeDuration }\n);\n\nexport const fadeOut = (el: Element): Animation => el.animate(\n [ fadedInKeyframe, fadedOutKeyframe ],\n { duration: fadeDuration }\n);\n"]}
@@ -1,17 +1,18 @@
1
1
  {
2
2
  "entries": [
3
- "./components/post-alert/post-alert.js",
4
- "./components/post-collapsible/post-collapsible.js",
5
- "./components/post-icon/post-icon.js",
6
- "./components/post-tab-header/post-tab-header.js",
7
- "./components/post-tab-panel/post-tab-panel.js",
8
- "./components/post-tabs/post-tabs.js",
9
- "./components/post-tooltip/post-tooltip.js"
3
+ "components/post-alert/post-alert.js",
4
+ "components/post-collapsible/post-collapsible.js",
5
+ "components/post-icon/post-icon.js",
6
+ "components/post-tabs/post-tabs.js",
7
+ "components/post-tab-header/post-tab-header.js",
8
+ "components/post-tab-panel/post-tab-panel.js",
9
+ "components/post-tooltip/post-tooltip.js",
10
+ "components/post-accordion/post-accordion.js"
10
11
  ],
11
12
  "compiler": {
12
13
  "name": "@stencil/core",
13
- "version": "3.4.2",
14
- "typescriptVersion": "5.0.4"
14
+ "version": "4.6.0",
15
+ "typescriptVersion": "5.2.2"
15
16
  },
16
17
  "collections": [],
17
18
  "bundles": []
@@ -0,0 +1 @@
1
+ :host{display:block}
@@ -0,0 +1,178 @@
1
+ import { h, Host } from "@stencil/core";
2
+ import { version } from "../../../package.json";
3
+ export class PostAccordion {
4
+ constructor() {
5
+ this.expandedCollapsibles = new Set();
6
+ this.multiple = false;
7
+ }
8
+ componentWillLoad() {
9
+ this.registerCollapsibles();
10
+ }
11
+ /**
12
+ * Toggles the `post-collapsible` children with the given id.
13
+ */
14
+ async toggle(id) {
15
+ const collapsibleToToggle = this.collapsibles
16
+ .find(collapsible => collapsible.id === id);
17
+ if (!collapsibleToToggle)
18
+ throw new Error(`No post-collapsible found with id #${id}.`);
19
+ await collapsibleToToggle.toggle();
20
+ }
21
+ collapseChangeHandler(event) {
22
+ const toggledCollapsible = event.target;
23
+ const isClosing = this.expandedCollapsibles.has(toggledCollapsible);
24
+ if (isClosing) {
25
+ this.expandedCollapsibles.delete(toggledCollapsible);
26
+ }
27
+ else {
28
+ this.expandedCollapsibles.add(toggledCollapsible);
29
+ }
30
+ if (this.multiple || isClosing)
31
+ return;
32
+ // close other open collapsible elements to have only one opened at a time
33
+ Array.from(this.expandedCollapsibles.values())
34
+ .filter(collapsible => collapsible !== toggledCollapsible)
35
+ .forEach(collapsible => {
36
+ void collapsible.toggle(false);
37
+ });
38
+ }
39
+ /**
40
+ * Expands all `post-collapsible` children.
41
+ *
42
+ * If `close-others` is `true` and all items are closed, it will open the first one.
43
+ * Otherwise, it will keep the opened one.
44
+ */
45
+ async expandAll() {
46
+ if (this.multiple) {
47
+ await Promise.all(this.collapsibles.map(collapsible => collapsible.toggle(true)));
48
+ }
49
+ else if (!this.expandedCollapsibles.size) {
50
+ await this.collapsibles[0].toggle(true);
51
+ }
52
+ }
53
+ /**
54
+ * Collapses all `post-collapsible` children.
55
+ */
56
+ async collapseAll() {
57
+ await Promise.all(this.collapsibles.map(collapsible => collapsible.toggle(false)));
58
+ }
59
+ registerCollapsibles() {
60
+ this.collapsibles = Array.from(this.host.querySelectorAll('post-collapsible'));
61
+ this.collapsibles
62
+ .filter(collapsible => {
63
+ return !collapsible.collapsed || this.expandedCollapsibles.has(collapsible);
64
+ }).forEach((collapsible, index) => {
65
+ if (!this.multiple && index !== 0) {
66
+ collapsible.setAttribute('collapsed', '');
67
+ return;
68
+ }
69
+ this.expandedCollapsibles.add(collapsible);
70
+ });
71
+ }
72
+ render() {
73
+ return (h(Host, { "data-version": version }, h("div", { class: "accordion" }, h("slot", { onSlotchange: () => this.registerCollapsibles() }))));
74
+ }
75
+ static get is() { return "post-accordion"; }
76
+ static get encapsulation() { return "shadow"; }
77
+ static get originalStyleUrls() {
78
+ return {
79
+ "$": ["post-accordion.scss"]
80
+ };
81
+ }
82
+ static get styleUrls() {
83
+ return {
84
+ "$": ["post-accordion.css"]
85
+ };
86
+ }
87
+ static get properties() {
88
+ return {
89
+ "multiple": {
90
+ "type": "boolean",
91
+ "mutable": false,
92
+ "complexType": {
93
+ "original": "boolean",
94
+ "resolved": "boolean",
95
+ "references": {}
96
+ },
97
+ "required": false,
98
+ "optional": false,
99
+ "docs": {
100
+ "tags": [],
101
+ "text": "If `true`, multiple `post-collapsible` can be open at the same time."
102
+ },
103
+ "attribute": "multiple",
104
+ "reflect": false,
105
+ "defaultValue": "false"
106
+ }
107
+ };
108
+ }
109
+ static get methods() {
110
+ return {
111
+ "toggle": {
112
+ "complexType": {
113
+ "signature": "(id: string) => Promise<void>",
114
+ "parameters": [{
115
+ "tags": [],
116
+ "text": ""
117
+ }],
118
+ "references": {
119
+ "Promise": {
120
+ "location": "global",
121
+ "id": "global::Promise"
122
+ }
123
+ },
124
+ "return": "Promise<void>"
125
+ },
126
+ "docs": {
127
+ "text": "Toggles the `post-collapsible` children with the given id.",
128
+ "tags": []
129
+ }
130
+ },
131
+ "expandAll": {
132
+ "complexType": {
133
+ "signature": "() => Promise<void>",
134
+ "parameters": [],
135
+ "references": {
136
+ "Promise": {
137
+ "location": "global",
138
+ "id": "global::Promise"
139
+ }
140
+ },
141
+ "return": "Promise<void>"
142
+ },
143
+ "docs": {
144
+ "text": "Expands all `post-collapsible` children.\n\nIf `close-others` is `true` and all items are closed, it will open the first one.\nOtherwise, it will keep the opened one.",
145
+ "tags": []
146
+ }
147
+ },
148
+ "collapseAll": {
149
+ "complexType": {
150
+ "signature": "() => Promise<void>",
151
+ "parameters": [],
152
+ "references": {
153
+ "Promise": {
154
+ "location": "global",
155
+ "id": "global::Promise"
156
+ }
157
+ },
158
+ "return": "Promise<void>"
159
+ },
160
+ "docs": {
161
+ "text": "Collapses all `post-collapsible` children.",
162
+ "tags": []
163
+ }
164
+ }
165
+ };
166
+ }
167
+ static get elementRef() { return "host"; }
168
+ static get listeners() {
169
+ return [{
170
+ "name": "collapseChange",
171
+ "method": "collapseChangeHandler",
172
+ "target": undefined,
173
+ "capture": false,
174
+ "passive": false
175
+ }];
176
+ }
177
+ }
178
+ //# sourceMappingURL=post-accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-accordion.js","sourceRoot":"","sources":["../../../../src/components/post-accordion/post-accordion.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Listen, Method, Prop } from '@stencil/core';\nimport { version } from '../../../package.json';\n\n@Component({\n tag: 'post-accordion',\n styleUrl: 'post-accordion.scss',\n shadow: true,\n})\nexport class PostAccordion {\n private collapsibles: HTMLPostCollapsibleElement[];\n private expandedCollapsibles = new Set<HTMLPostCollapsibleElement>();\n\n @Element() host: HTMLPostAccordionElement;\n\n /**\n * If `true`, multiple `post-collapsible` can be open at the same time.\n */\n @Prop() readonly multiple: boolean = false;\n\n componentWillLoad() {\n this.registerCollapsibles();\n }\n\n /**\n * Toggles the `post-collapsible` children with the given id.\n */\n @Method()\n async toggle(id: string) {\n const collapsibleToToggle = this.collapsibles\n .find(collapsible => collapsible.id === id);\n\n if (!collapsibleToToggle) throw new Error(`No post-collapsible found with id #${id}.`);\n\n await collapsibleToToggle.toggle();\n }\n\n @Listen('collapseChange')\n collapseChangeHandler(event: CustomEvent) {\n const toggledCollapsible = event.target as HTMLPostCollapsibleElement;\n const isClosing = this.expandedCollapsibles.has(toggledCollapsible);\n\n if (isClosing) {\n this.expandedCollapsibles.delete(toggledCollapsible);\n } else {\n this.expandedCollapsibles.add(toggledCollapsible);\n }\n\n if (this.multiple || isClosing) return;\n\n // close other open collapsible elements to have only one opened at a time\n Array.from(this.expandedCollapsibles.values())\n .filter(collapsible => collapsible !== toggledCollapsible)\n .forEach(collapsible => {\n void collapsible.toggle(false);\n });\n }\n\n /**\n * Expands all `post-collapsible` children.\n *\n * If `close-others` is `true` and all items are closed, it will open the first one.\n * Otherwise, it will keep the opened one.\n */\n @Method()\n async expandAll() {\n if (this.multiple) {\n await Promise.all(\n this.collapsibles.map(collapsible => collapsible.toggle(true))\n );\n } else if (!this.expandedCollapsibles.size) {\n await this.collapsibles[0].toggle(true);\n }\n }\n\n /**\n * Collapses all `post-collapsible` children.\n */\n @Method()\n async collapseAll() {\n await Promise.all(\n this.collapsibles.map(collapsible => collapsible.toggle(false))\n );\n }\n\n private registerCollapsibles() {\n this.collapsibles = Array.from(\n this.host.querySelectorAll('post-collapsible')\n );\n\n this.collapsibles\n .filter(collapsible => {\n return !collapsible.collapsed || this.expandedCollapsibles.has(collapsible);\n }).forEach((collapsible, index) => {\n if (!this.multiple && index !== 0) {\n collapsible.setAttribute('collapsed', '');\n return;\n }\n\n this.expandedCollapsibles.add(collapsible);\n });\n }\n\n render() {\n return (\n <Host data-version={version}>\n <div class=\"accordion\">\n <slot onSlotchange={() => this.registerCollapsibles()}/>\n </div>\n </Host>\n );\n }\n}\n"]}