@swisspost/design-system-components 1.7.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/LICENSE +183 -185
  2. package/README.md +1 -1
  3. package/dist/cjs/check-non-empty-eeaa8f77.js +0 -2
  4. package/dist/cjs/constants-238701d3.js +0 -2
  5. package/dist/cjs/fade-35a3633a.js +0 -2
  6. package/dist/cjs/index-8c288b1a.js +0 -2
  7. package/dist/cjs/{index-c07c0cdb.js → index-f243643b.js} +38 -8
  8. package/dist/cjs/index.cjs.js +15 -15
  9. package/dist/cjs/loader.cjs.js +2 -4
  10. package/dist/cjs/package-0645dd08.js +5 -0
  11. package/dist/cjs/post-accordion-64aa88cf.js +87 -0
  12. package/dist/cjs/post-accordion-item-51df1dfa.js +51 -0
  13. package/dist/cjs/post-accordion-item.cjs.entry.js +13 -0
  14. package/dist/cjs/post-accordion.cjs.entry.js +3 -5
  15. package/dist/cjs/{post-alert-39ac30a4.js → post-alert-ac59385a.js} +9 -12
  16. package/dist/cjs/post-alert.cjs.entry.js +3 -5
  17. package/dist/cjs/post-collapsible-84416953.js +83 -0
  18. package/dist/cjs/post-collapsible.cjs.entry.js +3 -5
  19. package/dist/cjs/post-components.cjs.js +3 -5
  20. package/dist/cjs/{post-icon-53e50c15.js → post-icon-5fc20211.js} +5 -6
  21. package/dist/cjs/post-icon.cjs.entry.js +3 -5
  22. package/dist/cjs/{post-popover-5a75c1b2.js → post-popover-be868244.js} +5 -6
  23. package/dist/cjs/post-popover.cjs.entry.js +3 -5
  24. package/dist/cjs/{post-popovercontainer-84378594.js → post-popovercontainer-cc5fa030.js} +118 -30
  25. package/dist/cjs/post-popovercontainer.cjs.entry.js +3 -5
  26. package/dist/cjs/{post-tab-header-02c6e31e.js → post-tab-header-5a7070e9.js} +5 -6
  27. package/dist/cjs/post-tab-header.cjs.entry.js +3 -5
  28. package/dist/cjs/{post-tab-panel-3973b707.js → post-tab-panel-1143ea40.js} +5 -6
  29. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -5
  30. package/dist/cjs/{post-tabs-7a4fead7.js → post-tabs-7ef36ff6.js} +5 -6
  31. package/dist/cjs/post-tabs.cjs.entry.js +3 -5
  32. package/dist/cjs/{post-tooltip-79a9c96d.js → post-tooltip-45784e17.js} +1732 -358
  33. package/dist/cjs/post-tooltip.cjs.entry.js +3 -5
  34. package/dist/collection/animations/collapse.js +10 -6
  35. package/dist/collection/animations/fade.js +0 -1
  36. package/dist/collection/animations/index.js +0 -1
  37. package/dist/collection/collection-manifest.json +3 -2
  38. package/dist/collection/components/post-accordion/post-accordion.js +40 -37
  39. package/dist/collection/components/{post-collapsible → post-accordion-item}/heading-levels.js +0 -1
  40. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -0
  41. package/dist/collection/components/post-accordion-item/post-accordion-item.js +145 -0
  42. package/dist/collection/components/post-alert/alert-types.js +0 -1
  43. package/dist/collection/components/post-alert/post-alert.css +1 -1
  44. package/dist/collection/components/post-alert/post-alert.js +10 -8
  45. package/dist/collection/components/post-collapsible/post-collapsible.css +1 -1
  46. package/dist/collection/components/post-collapsible/post-collapsible.js +10 -49
  47. package/dist/collection/components/post-icon/post-icon.js +1 -2
  48. package/dist/collection/components/post-popover/post-popover.js +5 -3
  49. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  50. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +6 -4
  51. package/dist/collection/components/post-tab-header/post-tab-header.js +4 -2
  52. package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -2
  53. package/dist/collection/components/post-tabs/post-tabs.js +5 -2
  54. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  55. package/dist/collection/components/post-tooltip/post-tooltip.js +28 -5
  56. package/dist/collection/components/post-tooltip/types.js +0 -1
  57. package/dist/collection/index.js +1 -1
  58. package/dist/collection/index.spec.js +27 -0
  59. package/dist/collection/utils/index.js +0 -1
  60. package/dist/collection/utils/is-motion-reduced.js +0 -1
  61. package/dist/collection/utils/property-checkers/check-non-empty.js +0 -1
  62. package/dist/collection/utils/property-checkers/check-one-of.js +0 -1
  63. package/dist/collection/utils/property-checkers/check-pattern.js +0 -1
  64. package/dist/collection/utils/property-checkers/check-type.js +0 -1
  65. package/dist/collection/utils/property-checkers/constants.js +0 -1
  66. package/dist/collection/utils/property-checkers/empty-or.js +0 -1
  67. package/dist/collection/utils/property-checkers/index.js +0 -1
  68. package/dist/components/check-non-empty.js +0 -2
  69. package/dist/components/constants.js +0 -2
  70. package/dist/components/fade.js +0 -2
  71. package/dist/components/index.js +1 -2
  72. package/dist/components/index2.js +1 -3
  73. package/dist/components/package.js +1 -3
  74. package/dist/components/post-accordion-item.d.ts +11 -0
  75. package/dist/components/post-accordion-item.js +6 -0
  76. package/dist/components/post-accordion-item2.js +78 -0
  77. package/dist/components/post-accordion.js +0 -2
  78. package/dist/components/post-accordion2.js +35 -35
  79. package/dist/components/post-alert.js +0 -2
  80. package/dist/components/post-alert2.js +8 -11
  81. package/dist/components/post-collapsible.js +0 -2
  82. package/dist/components/post-collapsible2.js +18 -32
  83. package/dist/components/post-icon.js +0 -2
  84. package/dist/components/post-icon2.js +4 -5
  85. package/dist/components/post-popover.js +0 -2
  86. package/dist/components/post-popover2.js +3 -4
  87. package/dist/components/post-popovercontainer.js +0 -2
  88. package/dist/components/post-popovercontainer2.js +116 -28
  89. package/dist/components/post-tab-header.js +0 -2
  90. package/dist/components/post-tab-header2.js +3 -4
  91. package/dist/components/post-tab-panel.js +0 -2
  92. package/dist/components/post-tab-panel2.js +3 -4
  93. package/dist/components/post-tabs.js +0 -2
  94. package/dist/components/post-tabs2.js +3 -4
  95. package/dist/components/post-tooltip.js +0 -2
  96. package/dist/components/post-tooltip2.js +1732 -357
  97. package/dist/docs.json +342 -93
  98. package/dist/esm/check-non-empty-58bd6b17.js +0 -2
  99. package/dist/esm/constants-8d548297.js +0 -2
  100. package/dist/esm/fade-7fd71785.js +0 -2
  101. package/dist/esm/{index-35998e08.js → index-1708db56.js} +38 -8
  102. package/dist/esm/{index-1427953c.js → index-b444db27.js} +1 -3
  103. package/dist/esm/index.js +15 -16
  104. package/dist/esm/loader.js +3 -5
  105. package/dist/esm/package-37a68f71.js +3 -0
  106. package/dist/esm/post-accordion-8872dc1b.js +85 -0
  107. package/dist/esm/post-accordion-item-02b9f01c.js +49 -0
  108. package/dist/esm/post-accordion-item.entry.js +5 -0
  109. package/dist/esm/post-accordion.entry.js +3 -5
  110. package/dist/esm/{post-alert-5e352303.js → post-alert-1a766c15.js} +10 -13
  111. package/dist/esm/post-alert.entry.js +4 -6
  112. package/dist/esm/post-collapsible-1f23fe7d.js +81 -0
  113. package/dist/esm/post-collapsible.entry.js +4 -6
  114. package/dist/esm/post-components.js +4 -6
  115. package/dist/esm/{post-icon-fdda3f99.js → post-icon-2ec2127e.js} +6 -7
  116. package/dist/esm/post-icon.entry.js +4 -6
  117. package/dist/esm/{post-popover-ff2c259f.js → post-popover-f6029c96.js} +5 -6
  118. package/dist/esm/post-popover.entry.js +3 -5
  119. package/dist/esm/{post-popovercontainer-f4cd18cd.js → post-popovercontainer-4a48161f.js} +118 -30
  120. package/dist/esm/post-popovercontainer.entry.js +3 -5
  121. package/dist/esm/{post-tab-header-486b267b.js → post-tab-header-63676360.js} +5 -6
  122. package/dist/esm/post-tab-header.entry.js +3 -5
  123. package/dist/esm/{post-tab-panel-13940300.js → post-tab-panel-da24046f.js} +5 -6
  124. package/dist/esm/post-tab-panel.entry.js +3 -5
  125. package/dist/esm/{post-tabs-6f44ed1d.js → post-tabs-21a5dfeb.js} +5 -6
  126. package/dist/esm/post-tabs.entry.js +3 -5
  127. package/dist/esm/{post-tooltip-1d99cd0c.js → post-tooltip-4f4f87b4.js} +1732 -358
  128. package/dist/esm/post-tooltip.entry.js +3 -5
  129. package/dist/post-components/index.esm.js +1 -2
  130. package/dist/post-components/p-0b46c9ba.entry.js +1 -0
  131. package/dist/post-components/p-10b4cf7a.js +2 -0
  132. package/dist/post-components/p-21557c34.js +15 -0
  133. package/dist/post-components/p-2737eaf5.js +1 -2
  134. package/dist/post-components/p-2b67b933.js +1 -0
  135. package/dist/post-components/p-440193f4.js +1 -2
  136. package/dist/post-components/p-47fd6eb0.js +1 -0
  137. package/dist/post-components/p-548ee455.entry.js +1 -0
  138. package/dist/post-components/p-63b6c589.entry.js +1 -0
  139. package/dist/post-components/p-66f346fb.entry.js +1 -0
  140. package/dist/post-components/p-73a7d4f9.js +1 -0
  141. package/dist/post-components/p-7973e3e4.js +1 -0
  142. package/dist/post-components/p-829f9eaf.entry.js +1 -0
  143. package/dist/post-components/p-82facb04.js +1 -0
  144. package/dist/post-components/p-8aa01298.js +1 -0
  145. package/dist/post-components/p-9170d84d.entry.js +1 -0
  146. package/dist/post-components/p-959f83c0.entry.js +1 -0
  147. package/dist/post-components/p-9bc7ed9e.entry.js +1 -0
  148. package/dist/post-components/p-a3fc7eaf.js +1 -0
  149. package/dist/post-components/p-a762b512.entry.js +1 -0
  150. package/dist/post-components/p-aee1750c.js +1 -0
  151. package/dist/post-components/p-b095519d.js +1 -2
  152. package/dist/post-components/p-c1c8f2ec.js +1 -0
  153. package/dist/post-components/p-ccd827a1.js +1 -0
  154. package/dist/post-components/p-d25e401c.entry.js +1 -0
  155. package/dist/post-components/p-e836df41.js +1 -0
  156. package/dist/post-components/p-f0e82e63.js +1 -0
  157. package/dist/post-components/p-f655856d.entry.js +1 -0
  158. package/dist/post-components/post-components.esm.js +1 -2
  159. package/dist/types/components/post-accordion/post-accordion.d.ts +11 -8
  160. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +28 -0
  161. package/dist/types/components/post-alert/post-alert.d.ts +5 -0
  162. package/dist/types/components/post-collapsible/post-collapsible.d.ts +7 -10
  163. package/dist/types/components/post-popover/post-popover.d.ts +3 -0
  164. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +3 -0
  165. package/dist/types/components/post-tab-header/post-tab-header.d.ts +3 -0
  166. package/dist/types/components/post-tab-panel/post-tab-panel.d.ts +3 -0
  167. package/dist/types/components/post-tabs/post-tabs.d.ts +4 -0
  168. package/dist/types/components/post-tooltip/post-tooltip.d.ts +7 -0
  169. package/dist/types/components.d.ts +51 -18
  170. package/dist/types/index.d.ts +1 -0
  171. package/package.json +21 -14
  172. package/dist/cjs/check-non-empty-eeaa8f77.js.map +0 -1
  173. package/dist/cjs/constants-238701d3.js.map +0 -1
  174. package/dist/cjs/fade-35a3633a.js.map +0 -1
  175. package/dist/cjs/index-8c288b1a.js.map +0 -1
  176. package/dist/cjs/index-c07c0cdb.js.map +0 -1
  177. package/dist/cjs/index.cjs.js.map +0 -1
  178. package/dist/cjs/loader.cjs.js.map +0 -1
  179. package/dist/cjs/package-989e0b36.js +0 -7
  180. package/dist/cjs/package-989e0b36.js.map +0 -1
  181. package/dist/cjs/post-accordion-bc0c6f31.js +0 -87
  182. package/dist/cjs/post-accordion-bc0c6f31.js.map +0 -1
  183. package/dist/cjs/post-accordion.cjs.entry.js.map +0 -1
  184. package/dist/cjs/post-alert-39ac30a4.js.map +0 -1
  185. package/dist/cjs/post-alert.cjs.entry.js.map +0 -1
  186. package/dist/cjs/post-collapsible-85f8ace5.js +0 -93
  187. package/dist/cjs/post-collapsible-85f8ace5.js.map +0 -1
  188. package/dist/cjs/post-collapsible.cjs.entry.js.map +0 -1
  189. package/dist/cjs/post-components.cjs.js.map +0 -1
  190. package/dist/cjs/post-icon-53e50c15.js.map +0 -1
  191. package/dist/cjs/post-icon.cjs.entry.js.map +0 -1
  192. package/dist/cjs/post-popover-5a75c1b2.js.map +0 -1
  193. package/dist/cjs/post-popover.cjs.entry.js.map +0 -1
  194. package/dist/cjs/post-popovercontainer-84378594.js.map +0 -1
  195. package/dist/cjs/post-popovercontainer.cjs.entry.js.map +0 -1
  196. package/dist/cjs/post-tab-header-02c6e31e.js.map +0 -1
  197. package/dist/cjs/post-tab-header.cjs.entry.js.map +0 -1
  198. package/dist/cjs/post-tab-panel-3973b707.js.map +0 -1
  199. package/dist/cjs/post-tab-panel.cjs.entry.js.map +0 -1
  200. package/dist/cjs/post-tabs-7a4fead7.js.map +0 -1
  201. package/dist/cjs/post-tabs.cjs.entry.js.map +0 -1
  202. package/dist/cjs/post-tooltip-79a9c96d.js.map +0 -1
  203. package/dist/cjs/post-tooltip.cjs.entry.js.map +0 -1
  204. package/dist/collection/animations/collapse.js.map +0 -1
  205. package/dist/collection/animations/fade.js.map +0 -1
  206. package/dist/collection/animations/index.js.map +0 -1
  207. package/dist/collection/components/post-accordion/post-accordion.js.map +0 -1
  208. package/dist/collection/components/post-alert/alert-types.js.map +0 -1
  209. package/dist/collection/components/post-alert/post-alert.js.map +0 -1
  210. package/dist/collection/components/post-collapsible/heading-levels.js.map +0 -1
  211. package/dist/collection/components/post-collapsible/post-collapsible.js.map +0 -1
  212. package/dist/collection/components/post-icon/post-icon.js.map +0 -1
  213. package/dist/collection/components/post-popover/post-popover.js.map +0 -1
  214. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js.map +0 -1
  215. package/dist/collection/components/post-tab-header/post-tab-header.js.map +0 -1
  216. package/dist/collection/components/post-tab-panel/post-tab-panel.js.map +0 -1
  217. package/dist/collection/components/post-tabs/post-tabs.js.map +0 -1
  218. package/dist/collection/components/post-tooltip/post-tooltip.js.map +0 -1
  219. package/dist/collection/components/post-tooltip/types.js.map +0 -1
  220. package/dist/collection/index.js.map +0 -1
  221. package/dist/collection/utils/index.js.map +0 -1
  222. package/dist/collection/utils/is-motion-reduced.js.map +0 -1
  223. package/dist/collection/utils/property-checkers/check-non-empty.js.map +0 -1
  224. package/dist/collection/utils/property-checkers/check-one-of.js.map +0 -1
  225. package/dist/collection/utils/property-checkers/check-pattern.js.map +0 -1
  226. package/dist/collection/utils/property-checkers/check-type.js.map +0 -1
  227. package/dist/collection/utils/property-checkers/constants.js.map +0 -1
  228. package/dist/collection/utils/property-checkers/empty-or.js.map +0 -1
  229. package/dist/collection/utils/property-checkers/index.js.map +0 -1
  230. package/dist/components/check-non-empty.js.map +0 -1
  231. package/dist/components/constants.js.map +0 -1
  232. package/dist/components/fade.js.map +0 -1
  233. package/dist/components/index.js.map +0 -1
  234. package/dist/components/index2.js.map +0 -1
  235. package/dist/components/package.js.map +0 -1
  236. package/dist/components/post-accordion.js.map +0 -1
  237. package/dist/components/post-accordion2.js.map +0 -1
  238. package/dist/components/post-alert.js.map +0 -1
  239. package/dist/components/post-alert2.js.map +0 -1
  240. package/dist/components/post-collapsible.js.map +0 -1
  241. package/dist/components/post-collapsible2.js.map +0 -1
  242. package/dist/components/post-icon.js.map +0 -1
  243. package/dist/components/post-icon2.js.map +0 -1
  244. package/dist/components/post-popover.js.map +0 -1
  245. package/dist/components/post-popover2.js.map +0 -1
  246. package/dist/components/post-popovercontainer.js.map +0 -1
  247. package/dist/components/post-popovercontainer2.js.map +0 -1
  248. package/dist/components/post-tab-header.js.map +0 -1
  249. package/dist/components/post-tab-header2.js.map +0 -1
  250. package/dist/components/post-tab-panel.js.map +0 -1
  251. package/dist/components/post-tab-panel2.js.map +0 -1
  252. package/dist/components/post-tabs.js.map +0 -1
  253. package/dist/components/post-tabs2.js.map +0 -1
  254. package/dist/components/post-tooltip.js.map +0 -1
  255. package/dist/components/post-tooltip2.js.map +0 -1
  256. package/dist/esm/check-non-empty-58bd6b17.js.map +0 -1
  257. package/dist/esm/constants-8d548297.js.map +0 -1
  258. package/dist/esm/fade-7fd71785.js.map +0 -1
  259. package/dist/esm/index-1427953c.js.map +0 -1
  260. package/dist/esm/index-35998e08.js.map +0 -1
  261. package/dist/esm/index.js.map +0 -1
  262. package/dist/esm/loader.js.map +0 -1
  263. package/dist/esm/package-e13ef9ad.js +0 -5
  264. package/dist/esm/package-e13ef9ad.js.map +0 -1
  265. package/dist/esm/post-accordion-8e96598a.js +0 -85
  266. package/dist/esm/post-accordion-8e96598a.js.map +0 -1
  267. package/dist/esm/post-accordion.entry.js.map +0 -1
  268. package/dist/esm/post-alert-5e352303.js.map +0 -1
  269. package/dist/esm/post-alert.entry.js.map +0 -1
  270. package/dist/esm/post-collapsible-3cc5dd87.js +0 -91
  271. package/dist/esm/post-collapsible-3cc5dd87.js.map +0 -1
  272. package/dist/esm/post-collapsible.entry.js.map +0 -1
  273. package/dist/esm/post-components.js.map +0 -1
  274. package/dist/esm/post-icon-fdda3f99.js.map +0 -1
  275. package/dist/esm/post-icon.entry.js.map +0 -1
  276. package/dist/esm/post-popover-ff2c259f.js.map +0 -1
  277. package/dist/esm/post-popover.entry.js.map +0 -1
  278. package/dist/esm/post-popovercontainer-f4cd18cd.js.map +0 -1
  279. package/dist/esm/post-popovercontainer.entry.js.map +0 -1
  280. package/dist/esm/post-tab-header-486b267b.js.map +0 -1
  281. package/dist/esm/post-tab-header.entry.js.map +0 -1
  282. package/dist/esm/post-tab-panel-13940300.js.map +0 -1
  283. package/dist/esm/post-tab-panel.entry.js.map +0 -1
  284. package/dist/esm/post-tabs-6f44ed1d.js.map +0 -1
  285. package/dist/esm/post-tabs.entry.js.map +0 -1
  286. package/dist/esm/post-tooltip-1d99cd0c.js.map +0 -1
  287. package/dist/esm/post-tooltip.entry.js.map +0 -1
  288. package/dist/post-components/index.esm.js.map +0 -1
  289. package/dist/post-components/p-169b8ef7.entry.js +0 -2
  290. package/dist/post-components/p-169b8ef7.entry.js.map +0 -1
  291. package/dist/post-components/p-2737eaf5.js.map +0 -1
  292. package/dist/post-components/p-28be44d7.js +0 -2
  293. package/dist/post-components/p-28be44d7.js.map +0 -1
  294. package/dist/post-components/p-3ef3a1d2.js +0 -2
  295. package/dist/post-components/p-3ef3a1d2.js.map +0 -1
  296. package/dist/post-components/p-440193f4.js.map +0 -1
  297. package/dist/post-components/p-4b94c2a1.entry.js +0 -2
  298. package/dist/post-components/p-4b94c2a1.entry.js.map +0 -1
  299. package/dist/post-components/p-4cbb5212.entry.js +0 -2
  300. package/dist/post-components/p-4cbb5212.entry.js.map +0 -1
  301. package/dist/post-components/p-51ae6f46.entry.js +0 -2
  302. package/dist/post-components/p-51ae6f46.entry.js.map +0 -1
  303. package/dist/post-components/p-668bf58c.entry.js +0 -2
  304. package/dist/post-components/p-668bf58c.entry.js.map +0 -1
  305. package/dist/post-components/p-67d0a4fa.entry.js +0 -2
  306. package/dist/post-components/p-67d0a4fa.entry.js.map +0 -1
  307. package/dist/post-components/p-6b3a5063.entry.js +0 -2
  308. package/dist/post-components/p-6b3a5063.entry.js.map +0 -1
  309. package/dist/post-components/p-6cdc82c6.js +0 -2
  310. package/dist/post-components/p-6cdc82c6.js.map +0 -1
  311. package/dist/post-components/p-723336f2.js +0 -2
  312. package/dist/post-components/p-723336f2.js.map +0 -1
  313. package/dist/post-components/p-7d08e4f1.js +0 -2
  314. package/dist/post-components/p-7d08e4f1.js.map +0 -1
  315. package/dist/post-components/p-81591ad0.js +0 -3
  316. package/dist/post-components/p-81591ad0.js.map +0 -1
  317. package/dist/post-components/p-96f4ebc4.js +0 -2
  318. package/dist/post-components/p-96f4ebc4.js.map +0 -1
  319. package/dist/post-components/p-9b1b6e06.entry.js +0 -2
  320. package/dist/post-components/p-9b1b6e06.entry.js.map +0 -1
  321. package/dist/post-components/p-a5a23448.js +0 -2
  322. package/dist/post-components/p-a5a23448.js.map +0 -1
  323. package/dist/post-components/p-aca6e9c1.js +0 -2
  324. package/dist/post-components/p-aca6e9c1.js.map +0 -1
  325. package/dist/post-components/p-b095519d.js.map +0 -1
  326. package/dist/post-components/p-bc27f061.js +0 -9
  327. package/dist/post-components/p-bc27f061.js.map +0 -1
  328. package/dist/post-components/p-bd1d0117.js +0 -2
  329. package/dist/post-components/p-bd1d0117.js.map +0 -1
  330. package/dist/post-components/p-d3ed113e.js +0 -2
  331. package/dist/post-components/p-d3ed113e.js.map +0 -1
  332. package/dist/post-components/p-d8365401.entry.js +0 -2
  333. package/dist/post-components/p-d8365401.entry.js.map +0 -1
  334. package/dist/post-components/p-e78d158d.entry.js +0 -2
  335. package/dist/post-components/p-e78d158d.entry.js.map +0 -1
  336. package/dist/post-components/p-f695aab4.js +0 -2
  337. package/dist/post-components/p-f695aab4.js.map +0 -1
  338. package/dist/post-components/post-components.esm.js.map +0 -1
  339. /package/dist/types/components/{post-collapsible → post-accordion-item}/heading-levels.d.ts +0 -0
@@ -1,28 +1,31 @@
1
+ /**
2
+ * @slot default - Slot for placing post-accordion-item components.
3
+ */
1
4
  export declare class PostAccordion {
2
- private collapsibles;
3
- private expandedCollapsibles;
5
+ private accordionItems;
6
+ private expandedItems;
4
7
  host: HTMLPostAccordionElement;
5
8
  /**
6
- * If `true`, multiple `post-collapsible` can be open at the same time.
9
+ * If `true`, multiple `post-accordion-item` can be open at the same time.
7
10
  */
8
11
  readonly multiple: boolean;
9
12
  componentWillLoad(): void;
10
13
  /**
11
- * Toggles the `post-collapsible` children with the given id.
14
+ * Toggles the `post-accordion-item` with the given id.
12
15
  */
13
16
  toggle(id: string): Promise<void>;
14
- collapseChangeHandler(event: CustomEvent): void;
17
+ collapseChangeHandler(event: CustomEvent<boolean>): void;
15
18
  /**
16
- * Expands all `post-collapsible` children.
19
+ * Expands all `post-accordion-item`.
17
20
  *
18
21
  * If `close-others` is `true` and all items are closed, it will open the first one.
19
22
  * Otherwise, it will keep the opened one.
20
23
  */
21
24
  expandAll(): Promise<void>;
22
25
  /**
23
- * Collapses all `post-collapsible` children.
26
+ * Collapses all `post-accordion-item`.
24
27
  */
25
28
  collapseAll(): Promise<void>;
26
- private registerCollapsibles;
29
+ private registerAccordionItems;
27
30
  render(): any;
28
31
  }
@@ -0,0 +1,28 @@
1
+ import { HeadingLevel } from './heading-levels';
2
+ /**
3
+ * @slot header - Slot for placing custom content within the accordion item's header.
4
+ * @slot default - Slot for placing content within the accordion item's body.
5
+ */
6
+ export declare class PostAccordionItem {
7
+ private collapsible;
8
+ host: HTMLPostAccordionItemElement;
9
+ id: string;
10
+ isOpen: boolean;
11
+ /**
12
+ * If `true`, the element is initially collapsed otherwise it is displayed.
13
+ */
14
+ readonly collapsed?: boolean;
15
+ /**
16
+ * Defines the hierarchical level of the accordion item header within the headings structure.
17
+ */
18
+ readonly headingLevel?: HeadingLevel;
19
+ validateHeadingLevel(newValue?: 1 | 2 | 3 | 4 | 5 | 6): void;
20
+ connectedCallback(): void;
21
+ componentWillLoad(): void;
22
+ onCollapseChange(event: CustomEvent<boolean>): void;
23
+ /**
24
+ * Triggers the collapse programmatically.
25
+ */
26
+ toggle(force?: boolean): Promise<boolean>;
27
+ render(): any;
28
+ }
@@ -1,5 +1,10 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { AlertType } from './alert-types';
3
+ /**
4
+ * @slot heading - Slot for placing custom content within the alert's heading.
5
+ * @slot actions - Slot for placing custom actions (buttons, links, etc.) within the alert.
6
+ * @slot default - Slot for placing the main content/message of the alert.
7
+ */
3
8
  export declare class PostAlert {
4
9
  host: HTMLPostAlertElement;
5
10
  alertId: `${string}-${string}-${string}-${string}-${string}`;
@@ -1,27 +1,24 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { HeadingLevel } from './heading-levels';
2
+ /**
3
+ * @slot default - Slot for placing content within the collapsible element.
4
+ */
3
5
  export declare class PostCollapsible {
4
6
  private isLoaded;
5
7
  private collapsible;
6
8
  host: HTMLPostCollapsibleElement;
7
9
  id: string;
8
10
  isOpen: boolean;
9
- hasHeader: boolean;
10
- headingTag: string;
11
11
  /**
12
12
  * If `true`, the element is initially collapsed otherwise it is displayed.
13
13
  */
14
14
  readonly collapsed?: boolean;
15
15
  validateCollapsed(newValue?: boolean): void;
16
16
  /**
17
- * Defines the hierarchical level of the collapsible header within the headings structure.
18
- */
19
- readonly headingLevel?: HeadingLevel;
20
- validateHeadingLevel(newValue?: 6 | 1 | 2 | 3 | 4 | 5): void;
21
- /**
22
- * An event emitted when the collapse element is shown or hidden, before the transition. It has no payload.
17
+ * An event emitted when the collapse element is shown or hidden, before the transition.
18
+ *
19
+ * The event payload is a boolean: `true` if the collapsible was opened, `false` if it was closed.
23
20
  */
24
- collapseChange: EventEmitter<void>;
21
+ collapseChange: EventEmitter<boolean>;
25
22
  connectedCallback(): void;
26
23
  componentWillRender(): void;
27
24
  componentDidLoad(): void;
@@ -1,4 +1,7 @@
1
1
  import { Placement } from '@floating-ui/dom';
2
+ /**
3
+ * @slot default - Slot for placing content inside the popover.
4
+ */
2
5
  export declare class PostPopover {
3
6
  private popoverRef;
4
7
  private localTogglePopover;
@@ -7,6 +7,9 @@ interface PopoverElement {
7
7
  togglePopover: (force?: boolean) => boolean;
8
8
  }
9
9
  export type PostPopoverElement = HTMLElement & PopoverElement;
10
+ /**
11
+ * @slot - Default slot for placing content inside the popovercontainer.
12
+ */
10
13
  export declare class PostPopovercontainer {
11
14
  host: HTMLPostPopovercontainerElement;
12
15
  private popoverRef;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @slot default - Slot for the content of the tab header.
3
+ */
1
4
  export declare class PostTabHeader {
2
5
  host: HTMLPostTabHeaderElement;
3
6
  tabId: string;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @slot default - Slot for placing the content of the tab panel.
3
+ */
1
4
  export declare class PostTabPanel {
2
5
  host: HTMLPostTabPanelElement;
3
6
  panelId: string;
@@ -1,4 +1,8 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
+ /**
3
+ * @slot tabs - Slot for placing tab headers. Each tab header should be a <post-tab-header> element.
4
+ * @slot default - Slot for placing tab panels. Each tab panel should be a <post-tab-panel> element.
5
+ */
2
6
  export declare class PostTabs {
3
7
  private activeTab;
4
8
  private showing;
@@ -1,5 +1,8 @@
1
1
  import { Placement } from '@floating-ui/dom';
2
2
  import 'long-press-event';
3
+ /**
4
+ * @slot default - Slot for the content of the tooltip.
5
+ */
3
6
  export declare class PostTooltip {
4
7
  private popoverRef;
5
8
  private readonly localShowTooltip;
@@ -11,6 +14,10 @@ export declare class PostTooltip {
11
14
  * towards the viewport if they would overlap edge boundaries.
12
15
  */
13
16
  readonly placement?: Placement;
17
+ /**
18
+ * Wheter or not to display a little pointer arrow
19
+ */
20
+ readonly arrow?: boolean;
14
21
  constructor();
15
22
  connectedCallback(): void;
16
23
  /**
@@ -5,31 +5,45 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { HeadingLevel } from "./components/post-accordion-item/heading-levels";
8
9
  import { AlertType } from "./components/post-alert/alert-types";
9
- import { HeadingLevel } from "./components/post-collapsible/heading-levels";
10
10
  import { Placement } from "@floating-ui/dom";
11
+ export { HeadingLevel } from "./components/post-accordion-item/heading-levels";
11
12
  export { AlertType } from "./components/post-alert/alert-types";
12
- export { HeadingLevel } from "./components/post-collapsible/heading-levels";
13
13
  export { Placement } from "@floating-ui/dom";
14
14
  export namespace Components {
15
15
  interface PostAccordion {
16
16
  /**
17
- * Collapses all `post-collapsible` children.
17
+ * Collapses all `post-accordion-item`.
18
18
  */
19
19
  "collapseAll": () => Promise<void>;
20
20
  /**
21
- * Expands all `post-collapsible` children. If `close-others` is `true` and all items are closed, it will open the first one. Otherwise, it will keep the opened one.
21
+ * Expands all `post-accordion-item`. If `close-others` is `true` and all items are closed, it will open the first one. Otherwise, it will keep the opened one.
22
22
  */
23
23
  "expandAll": () => Promise<void>;
24
24
  /**
25
- * If `true`, multiple `post-collapsible` can be open at the same time.
25
+ * If `true`, multiple `post-accordion-item` can be open at the same time.
26
26
  */
27
27
  "multiple": boolean;
28
28
  /**
29
- * Toggles the `post-collapsible` children with the given id.
29
+ * Toggles the `post-accordion-item` with the given id.
30
30
  */
31
31
  "toggle": (id: string) => Promise<void>;
32
32
  }
33
+ interface PostAccordionItem {
34
+ /**
35
+ * If `true`, the element is initially collapsed otherwise it is displayed.
36
+ */
37
+ "collapsed"?: boolean;
38
+ /**
39
+ * Defines the hierarchical level of the accordion item header within the headings structure.
40
+ */
41
+ "headingLevel"?: HeadingLevel;
42
+ /**
43
+ * Triggers the collapse programmatically.
44
+ */
45
+ "toggle": (force?: boolean) => Promise<boolean>;
46
+ }
33
47
  interface PostAlert {
34
48
  /**
35
49
  * Triggers alert dismissal programmatically (same as clicking on the close button (×)).
@@ -61,10 +75,6 @@ export namespace Components {
61
75
  * If `true`, the element is initially collapsed otherwise it is displayed.
62
76
  */
63
77
  "collapsed"?: boolean;
64
- /**
65
- * Defines the hierarchical level of the collapsible header within the headings structure.
66
- */
67
- "headingLevel"?: HeadingLevel;
68
78
  /**
69
79
  * Triggers the collapse programmatically. If there is a collapsing transition running already, it will be reversed.
70
80
  */
@@ -180,6 +190,10 @@ export namespace Components {
180
190
  "show": (panelName: string) => Promise<void>;
181
191
  }
182
192
  interface PostTooltip {
193
+ /**
194
+ * Wheter or not to display a little pointer arrow
195
+ */
196
+ "arrow"?: boolean;
183
197
  /**
184
198
  * Programmatically hide this tooltip
185
199
  */
@@ -224,6 +238,12 @@ declare global {
224
238
  prototype: HTMLPostAccordionElement;
225
239
  new (): HTMLPostAccordionElement;
226
240
  };
241
+ interface HTMLPostAccordionItemElement extends Components.PostAccordionItem, HTMLStencilElement {
242
+ }
243
+ var HTMLPostAccordionItemElement: {
244
+ prototype: HTMLPostAccordionItemElement;
245
+ new (): HTMLPostAccordionItemElement;
246
+ };
227
247
  interface HTMLPostAlertElementEventMap {
228
248
  "dismissed": void;
229
249
  }
@@ -242,7 +262,7 @@ declare global {
242
262
  new (): HTMLPostAlertElement;
243
263
  };
244
264
  interface HTMLPostCollapsibleElementEventMap {
245
- "collapseChange": void;
265
+ "collapseChange": boolean;
246
266
  }
247
267
  interface HTMLPostCollapsibleElement extends Components.PostCollapsible, HTMLStencilElement {
248
268
  addEventListener<K extends keyof HTMLPostCollapsibleElementEventMap>(type: K, listener: (this: HTMLPostCollapsibleElement, ev: PostCollapsibleCustomEvent<HTMLPostCollapsibleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -327,6 +347,7 @@ declare global {
327
347
  };
328
348
  interface HTMLElementTagNameMap {
329
349
  "post-accordion": HTMLPostAccordionElement;
350
+ "post-accordion-item": HTMLPostAccordionItemElement;
330
351
  "post-alert": HTMLPostAlertElement;
331
352
  "post-collapsible": HTMLPostCollapsibleElement;
332
353
  "post-icon": HTMLPostIconElement;
@@ -341,10 +362,20 @@ declare global {
341
362
  declare namespace LocalJSX {
342
363
  interface PostAccordion {
343
364
  /**
344
- * If `true`, multiple `post-collapsible` can be open at the same time.
365
+ * If `true`, multiple `post-accordion-item` can be open at the same time.
345
366
  */
346
367
  "multiple"?: boolean;
347
368
  }
369
+ interface PostAccordionItem {
370
+ /**
371
+ * If `true`, the element is initially collapsed otherwise it is displayed.
372
+ */
373
+ "collapsed"?: boolean;
374
+ /**
375
+ * Defines the hierarchical level of the accordion item header within the headings structure.
376
+ */
377
+ "headingLevel"?: HeadingLevel;
378
+ }
348
379
  interface PostAlert {
349
380
  /**
350
381
  * The label to use for the close button of a dismissible alert.
@@ -377,13 +408,9 @@ declare namespace LocalJSX {
377
408
  */
378
409
  "collapsed"?: boolean;
379
410
  /**
380
- * Defines the hierarchical level of the collapsible header within the headings structure.
381
- */
382
- "headingLevel"?: HeadingLevel;
383
- /**
384
- * An event emitted when the collapse element is shown or hidden, before the transition. It has no payload.
411
+ * An event emitted when the collapse element is shown or hidden, before the transition. The event payload is a boolean: `true` if the collapsible was opened, `false` if it was closed.
385
412
  */
386
- "onCollapseChange"?: (event: PostCollapsibleCustomEvent<void>) => void;
413
+ "onCollapseChange"?: (event: PostCollapsibleCustomEvent<boolean>) => void;
387
414
  }
388
415
  /**
389
416
  * @class PostIcon - representing a stencil component
@@ -469,6 +496,10 @@ declare namespace LocalJSX {
469
496
  "onTabChange"?: (event: PostTabsCustomEvent<HTMLPostTabPanelElement['name']>) => void;
470
497
  }
471
498
  interface PostTooltip {
499
+ /**
500
+ * Wheter or not to display a little pointer arrow
501
+ */
502
+ "arrow"?: boolean;
472
503
  /**
473
504
  * Defines the placement of the tooltip according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement. Tooltips are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries.
474
505
  */
@@ -476,6 +507,7 @@ declare namespace LocalJSX {
476
507
  }
477
508
  interface IntrinsicElements {
478
509
  "post-accordion": PostAccordion;
510
+ "post-accordion-item": PostAccordionItem;
479
511
  "post-alert": PostAlert;
480
512
  "post-collapsible": PostCollapsible;
481
513
  "post-icon": PostIcon;
@@ -492,6 +524,7 @@ declare module "@stencil/core" {
492
524
  export namespace JSX {
493
525
  interface IntrinsicElements {
494
526
  "post-accordion": LocalJSX.PostAccordion & JSXBase.HTMLAttributes<HTMLPostAccordionElement>;
527
+ "post-accordion-item": LocalJSX.PostAccordionItem & JSXBase.HTMLAttributes<HTMLPostAccordionItemElement>;
495
528
  "post-alert": LocalJSX.PostAlert & JSXBase.HTMLAttributes<HTMLPostAlertElement>;
496
529
  "post-collapsible": LocalJSX.PostCollapsible & JSXBase.HTMLAttributes<HTMLPostCollapsibleElement>;
497
530
  /**
@@ -1,5 +1,6 @@
1
1
  export { Components, JSX } from './components';
2
2
  export { PostAccordion } from './components/post-accordion/post-accordion';
3
+ export { PostAccordionItem } from './components/post-accordion-item/post-accordion-item';
3
4
  export { PostAlert } from './components/post-alert/post-alert';
4
5
  export { PostCollapsible } from './components/post-collapsible/post-collapsible';
5
6
  export { PostIcon } from './components/post-icon/post-icon';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swisspost/design-system-components",
3
- "version": "1.7.1",
3
+ "version": "2.0.1",
4
4
  "description": "A collection of web components built with Stencil JS for the Swiss Post Design System.",
5
5
  "license": "Apache-2.0",
6
6
  "main": "loader/index.cjs.js",
@@ -24,9 +24,9 @@
24
24
  "linkDirectory": true
25
25
  },
26
26
  "dependencies": {
27
- "@floating-ui/dom": "1.5.4",
28
- "@oddbird/popover-polyfill": "0.2.3",
29
- "@swisspost/design-system-styles": "6.5.1",
27
+ "@floating-ui/dom": "1.6.1",
28
+ "@oddbird/popover-polyfill": "0.3.7",
29
+ "@swisspost/design-system-styles": "6.6.1",
30
30
  "ally.js": "1.4.1",
31
31
  "long-press-event": "2.4.6"
32
32
  },
@@ -34,26 +34,33 @@
34
34
  "@percy/cli": "1.27.7",
35
35
  "@percy/cypress": "3.1.2",
36
36
  "@stencil-community/eslint-plugin": "0.7.1",
37
- "@stencil/core": "4.9.0",
37
+ "@stencil/angular-output-target": "0.8.4",
38
+ "@stencil/core": "4.12.0",
38
39
  "@stencil/react-output-target": "0.5.3",
39
- "@stencil/sass": "3.0.8",
40
- "@types/jest": "29.5.11",
40
+ "@stencil/sass": "3.0.9",
41
+ "@types/jest": "29.5.12",
42
+ "@types/node": "20.11.16",
41
43
  "@typescript-eslint/eslint-plugin": "5.62.0",
42
44
  "@typescript-eslint/parser": "5.62.0",
43
45
  "bootstrap": "5.3.2",
44
- "cypress": "13.6.2",
46
+ "cypress": "13.6.4",
45
47
  "cypress-storybook": "0.5.1",
46
48
  "eslint": "8.56.0",
47
49
  "eslint-plugin-react": "7.33.2",
48
- "jest": "29.7.0",
49
- "jest-cli": "29.7.0",
50
- "jest-environment-jsdom": "29.7.0",
51
- "npm-run-all": "4.1.5",
50
+ "npm-run-all2": "5.0.2",
52
51
  "rimraf": "5.0.5",
53
- "sass": "1.69.7",
54
- "ts-jest": "29.1.1",
52
+ "sass": "1.70.0",
53
+ "ts-jest": "29.1.2",
55
54
  "typescript": "4.9.5"
56
55
  },
56
+ "keywords": [
57
+ "components",
58
+ "web-components",
59
+ "stencil",
60
+ "design-system",
61
+ "ui",
62
+ "frontend"
63
+ ],
57
64
  "scripts": {
58
65
  "dev": "stencil build --serve --port 9200 --watch --docs-readme",
59
66
  "start": "stencil build --watch --docs-readme",
@@ -1 +0,0 @@
1
- {"file":"check-non-empty-eeaa8f77.js","mappings":";;;;SAEgB,aAAa,CAAC,KAAc,EAAE,KAAa;IACzD,IAAIA,sBAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;KACxB;AACH;;;;","names":["EMPTY_VALUES"],"sources":["src/utils/property-checkers/check-non-empty.ts"],"sourcesContent":["import { EMPTY_VALUES } from './constants';\n\nexport function checkNonEmpty(value: unknown, error: string) {\n if (EMPTY_VALUES.some(v => v === value)) {\n throw new Error(error);\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"constants-238701d3.js","mappings":";;MAAa,YAAY,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;;;;","names":[],"sources":["src/utils/property-checkers/constants.ts"],"sourcesContent":["export const EMPTY_VALUES = [undefined, null, ''];\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"fade-35a3633a.js","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;MAEpC,MAAM,GAAG,CAAC,EAAW,KAAgB,EAAE,CAAC,OAAO,CAC1D,CAAE,gBAAgB,EAAE,eAAe,CAAE,EACrC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAC1B;MAEW,OAAO,GAAG,CAAC,EAAW,KAAgB,EAAE,CAAC,OAAO,CAC3D,CAAE,eAAe,EAAE,gBAAgB,CAAE,EACrC,EAAE,QAAQ,EAAE,YAAY,EAAE;;;;;","names":[],"sources":["src/animations/fade.ts"],"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"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"index-8c288b1a.js","mappings":";;;;SAEgB,OAAO,CAAsB,KAA2B;IACtE,OAAO,CAAC,GAAG,IAAO;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAACA,sBAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;YAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;KAC1D,CAAC;AACJ;;SCPgB,UAAU,CAAI,KAAQ,EAAE,cAA4B,EAAE,KAAa;IACjF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9D;;SCFgB,YAAY,CAAC,KAAc,EAAE,OAAe,EAAE,YAAoB;IAChF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AACvF;;SCMgB,SAAS,CAAC,KAAc,EAAE,IAAkB,EAAE,KAAa;IACzE,MAAM,WAAW,GAAG,IAAI,KAAK,OAAO,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,WAAW,IAAI,YAAY,EAAE;QAC/B,IAAI,YAAY,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;KAC1D;SAAM;QACL,IAAI,OAAO,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;KACnD;AACH;;MCZa,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE;MACxC,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE;MAC5C,gBAAgB,GAAG,OAAO,CAAC,SAAS;;;;;;;","names":["EMPTY_VALUES"],"sources":["src/utils/property-checkers/empty-or.ts","src/utils/property-checkers/check-one-of.ts","src/utils/property-checkers/check-pattern.ts","src/utils/property-checkers/check-type.ts","src/utils/property-checkers/index.ts"],"sourcesContent":["import { EMPTY_VALUES } from './constants';\n\nexport function emptyOr<T extends unknown[]>(check: (...args: T) => void) {\n return (...args: T) => {\n const value = args[0];\n if (!EMPTY_VALUES.some(v => v === value)) check(...args);\n };\n}\n","export function checkOneOf<T>(value: T, possibleValues: readonly T[], error: string) {\n if (!possibleValues.includes(value)) throw new Error(error);\n}\n","export function checkPattern(value: unknown, pattern: RegExp, errorMessage: string) {\n if (typeof value !== 'string' || !pattern.test(value)) throw new Error(errorMessage);\n}\n","export type PropertyType =\n | 'boolean'\n | 'number'\n | 'string'\n | 'array'\n | 'object'\n | 'function';\n\nexport function checkType(value: unknown, type: PropertyType, error: string) {\n const typeIsArray = type === 'array';\n const valueIsArray = Array.isArray(value);\n\n if (typeIsArray || valueIsArray) {\n if (valueIsArray !== typeIsArray) throw new Error(error);\n } else {\n if (typeof value !== type) throw new Error(error);\n }\n}\n","import { emptyOr } from './empty-or';\nimport { checkOneOf } from './check-one-of';\nimport { checkPattern } from './check-pattern';\nimport { checkType } from './check-type';\n\nexport const checkEmptyOrOneOf = emptyOr(checkOneOf);\nexport const checkEmptyOrPattern = emptyOr(checkPattern);\nexport const checkEmptyOrType = emptyOr(checkType);\n\nexport * from './check-non-empty';\nexport * from './check-one-of';\nexport * from './check-pattern';\nexport * from './check-type';\n"],"version":3}