@swisspost/design-system-components 1.6.3 → 1.7.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 (309) hide show
  1. package/dist/cjs/{check-non-empty-ae713942.js → check-non-empty-eeaa8f77.js} +4 -4
  2. package/dist/cjs/check-non-empty-eeaa8f77.js.map +1 -0
  3. package/dist/cjs/index-8c288b1a.js +45 -0
  4. package/dist/cjs/index-8c288b1a.js.map +1 -0
  5. package/dist/cjs/{index-b619e205.js → index-c07c0cdb.js} +144 -65
  6. package/dist/cjs/index-c07c0cdb.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +17 -12
  8. package/dist/cjs/index.cjs.js.map +1 -1
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/package-989e0b36.js +7 -0
  11. package/dist/cjs/package-989e0b36.js.map +1 -0
  12. package/dist/cjs/post-accordion-bc0c6f31.js +87 -0
  13. package/dist/cjs/post-accordion-bc0c6f31.js.map +1 -0
  14. package/dist/cjs/post-accordion.cjs.entry.js +4 -80
  15. package/dist/cjs/post-accordion.cjs.entry.js.map +1 -1
  16. package/dist/cjs/post-alert-39ac30a4.js +101 -0
  17. package/dist/cjs/{post-alert-b46943e0.js.map → post-alert-39ac30a4.js.map} +1 -1
  18. package/dist/cjs/post-alert.cjs.entry.js +5 -6
  19. package/dist/cjs/post-alert.cjs.entry.js.map +1 -1
  20. package/dist/cjs/{post-collapsible-04364cda.js → post-collapsible-85f8ace5.js} +69 -69
  21. package/dist/cjs/{post-collapsible-04364cda.js.map → post-collapsible-85f8ace5.js.map} +1 -1
  22. package/dist/cjs/post-collapsible.cjs.entry.js +4 -5
  23. package/dist/cjs/post-collapsible.cjs.entry.js.map +1 -1
  24. package/dist/cjs/post-components.cjs.js +3 -3
  25. package/dist/cjs/post-components.cjs.js.map +1 -1
  26. package/dist/cjs/post-icon-53e50c15.js +105 -0
  27. package/dist/cjs/post-icon-53e50c15.js.map +1 -0
  28. package/dist/cjs/post-icon.cjs.entry.js +5 -6
  29. package/dist/cjs/post-icon.cjs.entry.js.map +1 -1
  30. package/dist/cjs/post-popover-5a75c1b2.js +118 -0
  31. package/dist/cjs/post-popover-5a75c1b2.js.map +1 -0
  32. package/dist/cjs/post-popover.cjs.entry.js +13 -0
  33. package/dist/cjs/post-popover.cjs.entry.js.map +1 -0
  34. package/dist/cjs/post-popovercontainer-84378594.js +1878 -0
  35. package/dist/cjs/post-popovercontainer-84378594.js.map +1 -0
  36. package/dist/cjs/post-popovercontainer.cjs.entry.js +13 -0
  37. package/dist/cjs/post-popovercontainer.cjs.entry.js.map +1 -0
  38. package/dist/cjs/post-tab-header-02c6e31e.js +33 -0
  39. package/dist/cjs/{post-tab-header-805c0a52.js.map → post-tab-header-02c6e31e.js.map} +1 -1
  40. package/dist/cjs/post-tab-header.cjs.entry.js +4 -4
  41. package/dist/cjs/post-tab-panel-3973b707.js +27 -0
  42. package/dist/cjs/{post-tab-panel-caa44a77.js.map → post-tab-panel-3973b707.js.map} +1 -1
  43. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  44. package/dist/cjs/post-tabs-7a4fead7.js +153 -0
  45. package/dist/cjs/post-tabs-7a4fead7.js.map +1 -0
  46. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  47. package/dist/cjs/{post-tooltip-32a9c549.js → post-tooltip-79a9c96d.js} +78 -1754
  48. package/dist/cjs/post-tooltip-79a9c96d.js.map +1 -0
  49. package/dist/cjs/post-tooltip.cjs.entry.js +3 -4
  50. package/dist/cjs/post-tooltip.cjs.entry.js.map +1 -1
  51. package/dist/collection/animations/collapse.js +5 -5
  52. package/dist/collection/animations/collapse.js.map +1 -1
  53. package/dist/collection/collection-manifest.json +5 -3
  54. package/dist/collection/components/post-accordion/post-accordion.js +167 -166
  55. package/dist/collection/components/post-accordion/post-accordion.js.map +1 -1
  56. package/dist/collection/components/post-alert/post-alert.css +2 -2
  57. package/dist/collection/components/post-alert/post-alert.js +246 -246
  58. package/dist/collection/components/post-alert/post-alert.js.map +1 -1
  59. package/dist/collection/components/post-collapsible/post-collapsible.js +169 -168
  60. package/dist/collection/components/post-collapsible/post-collapsible.js.map +1 -1
  61. package/dist/collection/components/post-icon/post-icon.css +1 -1
  62. package/dist/collection/components/post-icon/post-icon.js +250 -250
  63. package/dist/collection/components/post-icon/post-icon.js.map +1 -1
  64. package/dist/collection/components/post-popover/post-popover.css +3 -0
  65. package/dist/collection/components/post-popover/post-popover.js +267 -0
  66. package/dist/collection/components/post-popover/post-popover.js.map +1 -0
  67. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -0
  68. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +288 -0
  69. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js.map +1 -0
  70. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -1
  71. package/dist/collection/components/post-tab-header/post-tab-header.js +62 -62
  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.js +50 -50
  74. package/dist/collection/components/post-tab-panel/post-tab-panel.js.map +1 -1
  75. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  76. package/dist/collection/components/post-tabs/post-tabs.js +224 -223
  77. package/dist/collection/components/post-tabs/post-tabs.js.map +1 -1
  78. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  79. package/dist/collection/components/post-tooltip/post-tooltip.js +192 -325
  80. package/dist/collection/components/post-tooltip/post-tooltip.js.map +1 -1
  81. package/dist/collection/index.js +3 -0
  82. package/dist/collection/index.js.map +1 -1
  83. package/dist/collection/utils/is-motion-reduced.js +1 -1
  84. package/dist/collection/utils/is-motion-reduced.js.map +1 -1
  85. package/dist/collection/utils/property-checkers/check-non-empty.js +3 -3
  86. package/dist/collection/utils/property-checkers/check-non-empty.js.map +1 -1
  87. package/dist/collection/utils/property-checkers/check-one-of.js +2 -2
  88. package/dist/collection/utils/property-checkers/check-one-of.js.map +1 -1
  89. package/dist/collection/utils/property-checkers/check-pattern.js +2 -2
  90. package/dist/collection/utils/property-checkers/check-pattern.js.map +1 -1
  91. package/dist/collection/utils/property-checkers/check-type.js +10 -10
  92. package/dist/collection/utils/property-checkers/check-type.js.map +1 -1
  93. package/dist/collection/utils/property-checkers/empty-or.js +5 -5
  94. package/dist/collection/utils/property-checkers/empty-or.js.map +1 -1
  95. package/dist/components/check-non-empty.js +3 -3
  96. package/dist/components/check-non-empty.js.map +1 -1
  97. package/dist/components/index.js +3 -0
  98. package/dist/components/index.js.map +1 -1
  99. package/dist/components/index2.js +22 -18
  100. package/dist/components/index2.js.map +1 -1
  101. package/dist/components/package.js +1 -1
  102. package/dist/components/post-accordion.d.ts +2 -2
  103. package/dist/components/post-accordion.js +1 -101
  104. package/dist/components/post-accordion.js.map +1 -1
  105. package/dist/components/post-accordion2.js +105 -0
  106. package/dist/components/post-accordion2.js.map +1 -0
  107. package/dist/components/post-alert.d.ts +2 -2
  108. package/dist/components/post-alert2.js +119 -119
  109. package/dist/components/post-alert2.js.map +1 -1
  110. package/dist/components/post-collapsible.d.ts +2 -2
  111. package/dist/components/post-collapsible2.js +90 -90
  112. package/dist/components/post-collapsible2.js.map +1 -1
  113. package/dist/components/post-icon.d.ts +2 -2
  114. package/dist/components/post-icon2.js +118 -118
  115. package/dist/components/post-icon2.js.map +1 -1
  116. package/dist/components/post-popover.d.ts +11 -0
  117. package/dist/components/post-popover.js +8 -0
  118. package/dist/components/post-popover.js.map +1 -0
  119. package/dist/components/post-popover2.js +144 -0
  120. package/dist/components/post-popover2.js.map +1 -0
  121. package/dist/components/post-popovercontainer.d.ts +11 -0
  122. package/dist/components/post-popovercontainer.js +8 -0
  123. package/dist/components/post-popovercontainer.js.map +1 -0
  124. package/dist/components/post-popovercontainer2.js +1897 -0
  125. package/dist/components/post-popovercontainer2.js.map +1 -0
  126. package/dist/components/post-tab-header.d.ts +2 -2
  127. package/dist/components/post-tab-header2.js +38 -38
  128. package/dist/components/post-tab-header2.js.map +1 -1
  129. package/dist/components/post-tab-panel.d.ts +2 -2
  130. package/dist/components/post-tab-panel2.js +30 -30
  131. package/dist/components/post-tab-panel2.js.map +1 -1
  132. package/dist/components/post-tabs.d.ts +2 -2
  133. package/dist/components/post-tabs2.js +147 -147
  134. package/dist/components/post-tabs2.js.map +1 -1
  135. package/dist/components/post-tooltip.d.ts +2 -2
  136. package/dist/components/post-tooltip2.js +100 -1774
  137. package/dist/components/post-tooltip2.js.map +1 -1
  138. package/dist/docs.d.ts +1 -21
  139. package/dist/docs.json +604 -77
  140. package/dist/esm/check-non-empty-58bd6b17.js +11 -0
  141. package/dist/esm/{check-non-empty-09c39561.js.map → check-non-empty-58bd6b17.js.map} +1 -1
  142. package/dist/esm/index-1427953c.js +40 -0
  143. package/dist/esm/index-1427953c.js.map +1 -0
  144. package/dist/esm/{index-4eff5fc5.js → index-35998e08.js} +144 -65
  145. package/dist/esm/index-35998e08.js.map +1 -0
  146. package/dist/esm/index.js +14 -12
  147. package/dist/esm/index.js.map +1 -1
  148. package/dist/esm/loader.js +3 -3
  149. package/dist/esm/package-e13ef9ad.js +5 -0
  150. package/dist/esm/package-e13ef9ad.js.map +1 -0
  151. package/dist/esm/post-accordion-8e96598a.js +85 -0
  152. package/dist/esm/post-accordion-8e96598a.js.map +1 -0
  153. package/dist/esm/post-accordion.entry.js +3 -83
  154. package/dist/esm/post-accordion.entry.js.map +1 -1
  155. package/dist/esm/post-alert-5e352303.js +99 -0
  156. package/dist/esm/{post-alert-e457e249.js.map → post-alert-5e352303.js.map} +1 -1
  157. package/dist/esm/post-alert.entry.js +5 -6
  158. package/dist/esm/post-alert.entry.js.map +1 -1
  159. package/dist/esm/{post-collapsible-c0a826b2.js → post-collapsible-3cc5dd87.js} +69 -69
  160. package/dist/esm/{post-collapsible-c0a826b2.js.map → post-collapsible-3cc5dd87.js.map} +1 -1
  161. package/dist/esm/post-collapsible.entry.js +4 -5
  162. package/dist/esm/post-collapsible.entry.js.map +1 -1
  163. package/dist/esm/post-components.js +4 -4
  164. package/dist/esm/post-components.js.map +1 -1
  165. package/dist/esm/post-icon-fdda3f99.js +103 -0
  166. package/dist/esm/post-icon-fdda3f99.js.map +1 -0
  167. package/dist/esm/post-icon.entry.js +5 -6
  168. package/dist/esm/post-icon.entry.js.map +1 -1
  169. package/dist/esm/post-popover-ff2c259f.js +116 -0
  170. package/dist/esm/post-popover-ff2c259f.js.map +1 -0
  171. package/dist/esm/post-popover.entry.js +5 -0
  172. package/dist/esm/post-popover.entry.js.map +1 -0
  173. package/dist/esm/post-popovercontainer-f4cd18cd.js +1876 -0
  174. package/dist/esm/post-popovercontainer-f4cd18cd.js.map +1 -0
  175. package/dist/esm/post-popovercontainer.entry.js +5 -0
  176. package/dist/esm/post-popovercontainer.entry.js.map +1 -0
  177. package/dist/esm/post-tab-header-486b267b.js +31 -0
  178. package/dist/esm/{post-tab-header-f0c355d6.js.map → post-tab-header-486b267b.js.map} +1 -1
  179. package/dist/esm/post-tab-header.entry.js +4 -4
  180. package/dist/esm/post-tab-panel-13940300.js +25 -0
  181. package/dist/esm/{post-tab-panel-46f02247.js.map → post-tab-panel-13940300.js.map} +1 -1
  182. package/dist/esm/post-tab-panel.entry.js +3 -3
  183. package/dist/esm/post-tabs-6f44ed1d.js +151 -0
  184. package/dist/esm/post-tabs-6f44ed1d.js.map +1 -0
  185. package/dist/esm/post-tabs.entry.js +3 -3
  186. package/dist/esm/{post-tooltip-fa7b4a0a.js → post-tooltip-1d99cd0c.js} +78 -1754
  187. package/dist/esm/post-tooltip-1d99cd0c.js.map +1 -0
  188. package/dist/esm/post-tooltip.entry.js +3 -4
  189. package/dist/esm/post-tooltip.entry.js.map +1 -1
  190. package/dist/post-components/index.esm.js +1 -1
  191. package/dist/post-components/p-169b8ef7.entry.js +2 -0
  192. package/dist/post-components/p-28be44d7.js +2 -0
  193. package/dist/post-components/{p-8b6fe20d.js.map → p-28be44d7.js.map} +1 -1
  194. package/dist/post-components/p-3ef3a1d2.js +2 -0
  195. package/dist/post-components/p-3ef3a1d2.js.map +1 -0
  196. package/dist/post-components/p-4b94c2a1.entry.js +2 -0
  197. package/dist/post-components/p-4cbb5212.entry.js +2 -0
  198. package/dist/post-components/p-51ae6f46.entry.js +2 -0
  199. package/dist/post-components/p-668bf58c.entry.js +2 -0
  200. package/dist/post-components/p-67d0a4fa.entry.js +2 -0
  201. package/dist/post-components/p-6b3a5063.entry.js +2 -0
  202. package/dist/post-components/{p-3604be27.js → p-6cdc82c6.js} +2 -2
  203. package/dist/post-components/p-723336f2.js +2 -0
  204. package/dist/post-components/{p-ca1e407c.js.map → p-723336f2.js.map} +1 -1
  205. package/dist/post-components/p-7d08e4f1.js +2 -0
  206. package/dist/post-components/p-7d08e4f1.js.map +1 -0
  207. package/dist/post-components/p-81591ad0.js +3 -0
  208. package/dist/post-components/p-81591ad0.js.map +1 -0
  209. package/dist/post-components/p-96f4ebc4.js +2 -0
  210. package/dist/post-components/p-96f4ebc4.js.map +1 -0
  211. package/dist/post-components/p-9b1b6e06.entry.js +2 -0
  212. package/dist/post-components/{p-9f71d450.js → p-a5a23448.js} +2 -2
  213. package/dist/post-components/p-aca6e9c1.js +2 -0
  214. package/dist/post-components/{p-fffce1d7.js.map → p-aca6e9c1.js.map} +1 -1
  215. package/dist/post-components/{p-b531475e.js → p-b095519d.js} +1 -1
  216. package/dist/post-components/p-bc27f061.js +9 -0
  217. package/dist/post-components/p-bc27f061.js.map +1 -0
  218. package/dist/post-components/p-bd1d0117.js +2 -0
  219. package/dist/post-components/p-bd1d0117.js.map +1 -0
  220. package/dist/post-components/p-d3ed113e.js +2 -0
  221. package/dist/post-components/p-d3ed113e.js.map +1 -0
  222. package/dist/post-components/p-d8365401.entry.js +2 -0
  223. package/dist/post-components/p-d8365401.entry.js.map +1 -0
  224. package/dist/post-components/p-e78d158d.entry.js +2 -0
  225. package/dist/post-components/p-e78d158d.entry.js.map +1 -0
  226. package/dist/post-components/{p-7b8797c6.entry.js → p-f695aab4.js} +2 -2
  227. package/dist/post-components/post-components.esm.js +1 -1
  228. package/dist/post-components/post-components.esm.js.map +1 -1
  229. package/dist/types/components/post-accordion/post-accordion.d.ts +26 -26
  230. package/dist/types/components/post-alert/post-alert.d.ts +45 -45
  231. package/dist/types/components/post-collapsible/post-collapsible.d.ts +31 -31
  232. package/dist/types/components/post-icon/post-icon.d.ts +43 -43
  233. package/dist/types/components/post-popover/post-popover.d.ts +53 -0
  234. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +62 -0
  235. package/dist/types/components/post-tab-header/post-tab-header.d.ts +9 -9
  236. package/dist/types/components/post-tab-panel/post-tab-panel.d.ts +8 -8
  237. package/dist/types/components/post-tabs/post-tabs.d.ts +32 -32
  238. package/dist/types/components/post-tooltip/post-tooltip.d.ts +35 -62
  239. package/dist/types/components.d.ts +115 -10
  240. package/dist/types/index.d.ts +3 -0
  241. package/dist/types/stencil-public-runtime.d.ts +8 -0
  242. package/package.json +15 -13
  243. package/dist/cjs/check-non-empty-ae713942.js.map +0 -1
  244. package/dist/cjs/check-one-of-27ad3154.js +0 -10
  245. package/dist/cjs/check-one-of-27ad3154.js.map +0 -1
  246. package/dist/cjs/index-b38a23e0.js +0 -41
  247. package/dist/cjs/index-b38a23e0.js.map +0 -1
  248. package/dist/cjs/index-b619e205.js.map +0 -1
  249. package/dist/cjs/package-4e9ab85c.js +0 -7
  250. package/dist/cjs/package-4e9ab85c.js.map +0 -1
  251. package/dist/cjs/post-alert-b46943e0.js +0 -101
  252. package/dist/cjs/post-icon-5b36814e.js +0 -105
  253. package/dist/cjs/post-icon-5b36814e.js.map +0 -1
  254. package/dist/cjs/post-tab-header-805c0a52.js +0 -33
  255. package/dist/cjs/post-tab-panel-caa44a77.js +0 -27
  256. package/dist/cjs/post-tabs-29d4dc70.js +0 -153
  257. package/dist/cjs/post-tabs-29d4dc70.js.map +0 -1
  258. package/dist/cjs/post-tooltip-32a9c549.js.map +0 -1
  259. package/dist/components/check-one-of.js +0 -8
  260. package/dist/components/check-one-of.js.map +0 -1
  261. package/dist/esm/check-non-empty-09c39561.js +0 -11
  262. package/dist/esm/check-one-of-74750af9.js +0 -8
  263. package/dist/esm/check-one-of-74750af9.js.map +0 -1
  264. package/dist/esm/index-35921354.js +0 -36
  265. package/dist/esm/index-35921354.js.map +0 -1
  266. package/dist/esm/index-4eff5fc5.js.map +0 -1
  267. package/dist/esm/package-b9b10dd3.js +0 -5
  268. package/dist/esm/package-b9b10dd3.js.map +0 -1
  269. package/dist/esm/post-alert-e457e249.js +0 -99
  270. package/dist/esm/post-icon-b34da686.js +0 -103
  271. package/dist/esm/post-icon-b34da686.js.map +0 -1
  272. package/dist/esm/post-tab-header-f0c355d6.js +0 -31
  273. package/dist/esm/post-tab-panel-46f02247.js +0 -25
  274. package/dist/esm/post-tabs-5dd55290.js +0 -151
  275. package/dist/esm/post-tabs-5dd55290.js.map +0 -1
  276. package/dist/esm/post-tooltip-fa7b4a0a.js.map +0 -1
  277. package/dist/post-components/p-1339f8cd.js +0 -2
  278. package/dist/post-components/p-1339f8cd.js.map +0 -1
  279. package/dist/post-components/p-195b8c88.entry.js +0 -2
  280. package/dist/post-components/p-3225e008.entry.js +0 -2
  281. package/dist/post-components/p-61ffffa9.entry.js +0 -2
  282. package/dist/post-components/p-88262544.js +0 -2
  283. package/dist/post-components/p-8b6fe20d.js +0 -2
  284. package/dist/post-components/p-a7649277.js +0 -3
  285. package/dist/post-components/p-a7649277.js.map +0 -1
  286. package/dist/post-components/p-a7c78dea.entry.js +0 -2
  287. package/dist/post-components/p-b2c3ed97.entry.js +0 -2
  288. package/dist/post-components/p-ba9aba3a.entry.js +0 -2
  289. package/dist/post-components/p-bd293ff3.entry.js +0 -2
  290. package/dist/post-components/p-ca1e407c.js +0 -2
  291. package/dist/post-components/p-d407b1c3.js +0 -2
  292. package/dist/post-components/p-d407b1c3.js.map +0 -1
  293. package/dist/post-components/p-dfe29f7f.js +0 -2
  294. package/dist/post-components/p-dfe29f7f.js.map +0 -1
  295. package/dist/post-components/p-fd7015ae.js +0 -9
  296. package/dist/post-components/p-fd7015ae.js.map +0 -1
  297. package/dist/post-components/p-fffce1d7.js +0 -2
  298. /package/dist/post-components/{p-195b8c88.entry.js.map → p-169b8ef7.entry.js.map} +0 -0
  299. /package/dist/post-components/{p-3225e008.entry.js.map → p-4b94c2a1.entry.js.map} +0 -0
  300. /package/dist/post-components/{p-61ffffa9.entry.js.map → p-4cbb5212.entry.js.map} +0 -0
  301. /package/dist/post-components/{p-88262544.js.map → p-51ae6f46.entry.js.map} +0 -0
  302. /package/dist/post-components/{p-a7c78dea.entry.js.map → p-668bf58c.entry.js.map} +0 -0
  303. /package/dist/post-components/{p-b2c3ed97.entry.js.map → p-67d0a4fa.entry.js.map} +0 -0
  304. /package/dist/post-components/{p-ba9aba3a.entry.js.map → p-6b3a5063.entry.js.map} +0 -0
  305. /package/dist/post-components/{p-3604be27.js.map → p-6cdc82c6.js.map} +0 -0
  306. /package/dist/post-components/{p-bd293ff3.entry.js.map → p-9b1b6e06.entry.js.map} +0 -0
  307. /package/dist/post-components/{p-9f71d450.js.map → p-a5a23448.js.map} +0 -0
  308. /package/dist/post-components/{p-b531475e.js.map → p-b095519d.js.map} +0 -0
  309. /package/dist/post-components/{p-7b8797c6.entry.js.map → p-f695aab4.js.map} +0 -0
@@ -1,66 +1,39 @@
1
1
  import { Placement } from '@floating-ui/dom';
2
- import '@oddbird/popover-polyfill';
3
2
  import 'long-press-event';
4
- import { BackgroundColor } from './types';
5
3
  export declare class PostTooltip {
6
- private tooltipRef;
7
- private arrowRef;
8
- private clearAutoUpdate;
9
- private readonly localShowTooltip;
10
- private readonly localHideTooltip;
11
- private readonly localToggleTooltip;
12
- private eventTarget;
13
- host: HTMLPostTooltipElement;
14
- tooltipClasses: string;
15
- /**
16
- * Defines the background color of the tooltip.
17
- * Choose the one that provides the best contrast in your scenario.
18
- */
19
- readonly backgroundColor?: BackgroundColor;
20
- /**
21
- * Defines the placement of the tooltip according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.
22
- * Tooltips are automatically flipped to the opposite side if there is not enough available space and are shifted
23
- * towards the viewport if they would overlap edge boundaries.
24
- */
25
- readonly placement?: Placement;
26
- validateBackgroundColor(newValue?: "primary" | "yellow"): void;
27
- constructor();
28
- componentWillLoad(): void;
29
- connectedCallback(): void;
30
- /**
31
- * Remove a bunch of event listeners if the tooltip gets removed from the DOM
32
- */
33
- disconnectedCallback(): void;
34
- componentDidLoad(): boolean;
35
- /**
36
- * Programmatically display the tooltip
37
- * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
38
- */
39
- show(target: HTMLElement): Promise<void>;
40
- /**
41
- * Programmatically hide this tooltip
42
- */
43
- hide(): Promise<void>;
44
- /**
45
- * Toggle tooltip display
46
- * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
47
- * @param force Pass true to always show or false to always hide
48
- */
49
- toggle(target: HTMLElement, force?: boolean): Promise<void>;
50
- private get triggers();
51
- private patchPopoverTargetActionInterest;
52
- /**
53
- * Start or stop auto updates based on tooltip events.
54
- * Tooltips can be closed or opened with other methods than class members,
55
- * therefore listening to the toggle event is safer for cleaning up.
56
- * @param e ToggleEvent
57
- */
58
- private handleToggle;
59
- /**
60
- * Start listening for DOM updates, scroll events etc. that have
61
- * an influence on tooltip positioning
62
- */
63
- private startAutoupdates;
64
- private positionTooltip;
65
- render(): any;
4
+ private popoverRef;
5
+ private readonly localShowTooltip;
6
+ private readonly localHideTooltip;
7
+ host: HTMLPostTooltipElement;
8
+ /**
9
+ * Defines the placement of the tooltip according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.
10
+ * Tooltips are automatically flipped to the opposite side if there is not enough available space and are shifted
11
+ * towards the viewport if they would overlap edge boundaries.
12
+ */
13
+ readonly placement?: Placement;
14
+ constructor();
15
+ connectedCallback(): void;
16
+ /**
17
+ * Remove a bunch of event listeners if the tooltip gets removed from the DOM
18
+ */
19
+ disconnectedCallback(): void;
20
+ componentWillLoad(): void;
21
+ /**
22
+ * Programmatically display the tooltip
23
+ * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
24
+ */
25
+ show(target: HTMLElement): Promise<void>;
26
+ /**
27
+ * Programmatically hide this tooltip
28
+ */
29
+ hide(): Promise<void>;
30
+ /**
31
+ * Toggle tooltip display
32
+ * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
33
+ * @param force Pass true to always show or false to always hide
34
+ */
35
+ toggle(target: HTMLElement, force?: boolean): Promise<void>;
36
+ private get triggers();
37
+ private patchPopoverTargetActionInterest;
38
+ render(): any;
66
39
  }
@@ -7,11 +7,9 @@
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { AlertType } from "./components/post-alert/alert-types";
9
9
  import { HeadingLevel } from "./components/post-collapsible/heading-levels";
10
- import { BackgroundColor } from "./components/post-tooltip/types";
11
10
  import { Placement } from "@floating-ui/dom";
12
11
  export { AlertType } from "./components/post-alert/alert-types";
13
12
  export { HeadingLevel } from "./components/post-collapsible/heading-levels";
14
- export { BackgroundColor } from "./components/post-tooltip/types";
15
13
  export { Placement } from "@floating-ui/dom";
16
14
  export namespace Components {
17
15
  interface PostAccordion {
@@ -105,6 +103,60 @@ export namespace Components {
105
103
  */
106
104
  "scale"?: number | null;
107
105
  }
106
+ interface PostPopover {
107
+ /**
108
+ * Show a little indicator arrow
109
+ */
110
+ "arrow"?: boolean;
111
+ /**
112
+ * Define the caption of the close button for assistive technology
113
+ */
114
+ "closeButtonCaption": string;
115
+ /**
116
+ * Programmatically hide this popover
117
+ */
118
+ "hide": () => Promise<void>;
119
+ /**
120
+ * Defines the placement of the popover according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement. Popoverss 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.
121
+ */
122
+ "placement"?: Placement;
123
+ /**
124
+ * Programmatically display the popover
125
+ * @param target An element with [data-popover-target="id"] where the popover should be shown
126
+ */
127
+ "show": (target: HTMLElement) => Promise<void>;
128
+ /**
129
+ * Toggle popover display
130
+ * @param target An element with [data-popover-target="id"] where the popover should be anchored to
131
+ * @param force Pass true to always show or false to always hide
132
+ */
133
+ "toggle": (target: HTMLElement, force?: boolean) => Promise<void>;
134
+ }
135
+ interface PostPopovercontainer {
136
+ /**
137
+ * Wheter or not to display a little pointer arrow
138
+ */
139
+ "arrow"?: boolean;
140
+ /**
141
+ * Programmatically hide this tooltip
142
+ */
143
+ "hide": () => Promise<void>;
144
+ /**
145
+ * 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.
146
+ */
147
+ "placement"?: Placement;
148
+ /**
149
+ * Programmatically display the tooltip
150
+ * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
151
+ */
152
+ "show": (target: HTMLElement) => Promise<void>;
153
+ /**
154
+ * Toggle tooltip display
155
+ * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
156
+ * @param force Pass true to always show or false to always hide
157
+ */
158
+ "toggle": (target: HTMLElement, force?: boolean) => Promise<boolean>;
159
+ }
108
160
  interface PostTabHeader {
109
161
  /**
110
162
  * The name of the panel controlled by the tab header.
@@ -128,10 +180,6 @@ export namespace Components {
128
180
  "show": (panelName: string) => Promise<void>;
129
181
  }
130
182
  interface PostTooltip {
131
- /**
132
- * Defines the background color of the tooltip. Choose the one that provides the best contrast in your scenario.
133
- */
134
- "backgroundColor"?: BackgroundColor;
135
183
  /**
136
184
  * Programmatically hide this tooltip
137
185
  */
@@ -161,6 +209,10 @@ export interface PostCollapsibleCustomEvent<T> extends CustomEvent<T> {
161
209
  detail: T;
162
210
  target: HTMLPostCollapsibleElement;
163
211
  }
212
+ export interface PostPopovercontainerCustomEvent<T> extends CustomEvent<T> {
213
+ detail: T;
214
+ target: HTMLPostPopovercontainerElement;
215
+ }
164
216
  export interface PostTabsCustomEvent<T> extends CustomEvent<T> {
165
217
  detail: T;
166
218
  target: HTMLPostTabsElement;
@@ -215,6 +267,29 @@ declare global {
215
267
  prototype: HTMLPostIconElement;
216
268
  new (): HTMLPostIconElement;
217
269
  };
270
+ interface HTMLPostPopoverElement extends Components.PostPopover, HTMLStencilElement {
271
+ }
272
+ var HTMLPostPopoverElement: {
273
+ prototype: HTMLPostPopoverElement;
274
+ new (): HTMLPostPopoverElement;
275
+ };
276
+ interface HTMLPostPopovercontainerElementEventMap {
277
+ "postPopoverToggled": boolean;
278
+ }
279
+ interface HTMLPostPopovercontainerElement extends Components.PostPopovercontainer, HTMLStencilElement {
280
+ addEventListener<K extends keyof HTMLPostPopovercontainerElementEventMap>(type: K, listener: (this: HTMLPostPopovercontainerElement, ev: PostPopovercontainerCustomEvent<HTMLPostPopovercontainerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
281
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
282
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
283
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
284
+ removeEventListener<K extends keyof HTMLPostPopovercontainerElementEventMap>(type: K, listener: (this: HTMLPostPopovercontainerElement, ev: PostPopovercontainerCustomEvent<HTMLPostPopovercontainerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
285
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
286
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
287
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
288
+ }
289
+ var HTMLPostPopovercontainerElement: {
290
+ prototype: HTMLPostPopovercontainerElement;
291
+ new (): HTMLPostPopovercontainerElement;
292
+ };
218
293
  interface HTMLPostTabHeaderElement extends Components.PostTabHeader, HTMLStencilElement {
219
294
  }
220
295
  var HTMLPostTabHeaderElement: {
@@ -255,6 +330,8 @@ declare global {
255
330
  "post-alert": HTMLPostAlertElement;
256
331
  "post-collapsible": HTMLPostCollapsibleElement;
257
332
  "post-icon": HTMLPostIconElement;
333
+ "post-popover": HTMLPostPopoverElement;
334
+ "post-popovercontainer": HTMLPostPopovercontainerElement;
258
335
  "post-tab-header": HTMLPostTabHeaderElement;
259
336
  "post-tab-panel": HTMLPostTabPanelElement;
260
337
  "post-tabs": HTMLPostTabsElement;
@@ -341,6 +418,34 @@ declare namespace LocalJSX {
341
418
  */
342
419
  "scale"?: number | null;
343
420
  }
421
+ interface PostPopover {
422
+ /**
423
+ * Show a little indicator arrow
424
+ */
425
+ "arrow"?: boolean;
426
+ /**
427
+ * Define the caption of the close button for assistive technology
428
+ */
429
+ "closeButtonCaption": string;
430
+ /**
431
+ * Defines the placement of the popover according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement. Popoverss 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.
432
+ */
433
+ "placement"?: Placement;
434
+ }
435
+ interface PostPopovercontainer {
436
+ /**
437
+ * Wheter or not to display a little pointer arrow
438
+ */
439
+ "arrow"?: boolean;
440
+ /**
441
+ * Fires whenever the popover gets shown or hidden, passing the new state in event.details as a boolean
442
+ */
443
+ "onPostPopoverToggled"?: (event: PostPopovercontainerCustomEvent<boolean>) => void;
444
+ /**
445
+ * 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.
446
+ */
447
+ "placement"?: Placement;
448
+ }
344
449
  interface PostTabHeader {
345
450
  /**
346
451
  * The name of the panel controlled by the tab header.
@@ -364,10 +469,6 @@ declare namespace LocalJSX {
364
469
  "onTabChange"?: (event: PostTabsCustomEvent<HTMLPostTabPanelElement['name']>) => void;
365
470
  }
366
471
  interface PostTooltip {
367
- /**
368
- * Defines the background color of the tooltip. Choose the one that provides the best contrast in your scenario.
369
- */
370
- "backgroundColor"?: BackgroundColor;
371
472
  /**
372
473
  * 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.
373
474
  */
@@ -378,6 +479,8 @@ declare namespace LocalJSX {
378
479
  "post-alert": PostAlert;
379
480
  "post-collapsible": PostCollapsible;
380
481
  "post-icon": PostIcon;
482
+ "post-popover": PostPopover;
483
+ "post-popovercontainer": PostPopovercontainer;
381
484
  "post-tab-header": PostTabHeader;
382
485
  "post-tab-panel": PostTabPanel;
383
486
  "post-tabs": PostTabs;
@@ -395,6 +498,8 @@ declare module "@stencil/core" {
395
498
  * @class PostIcon - representing a stencil component
396
499
  */
397
500
  "post-icon": LocalJSX.PostIcon & JSXBase.HTMLAttributes<HTMLPostIconElement>;
501
+ "post-popover": LocalJSX.PostPopover & JSXBase.HTMLAttributes<HTMLPostPopoverElement>;
502
+ "post-popovercontainer": LocalJSX.PostPopovercontainer & JSXBase.HTMLAttributes<HTMLPostPopovercontainerElement>;
398
503
  "post-tab-header": LocalJSX.PostTabHeader & JSXBase.HTMLAttributes<HTMLPostTabHeaderElement>;
399
504
  "post-tab-panel": LocalJSX.PostTabPanel & JSXBase.HTMLAttributes<HTMLPostTabPanelElement>;
400
505
  "post-tabs": LocalJSX.PostTabs & JSXBase.HTMLAttributes<HTMLPostTabsElement>;
@@ -1,7 +1,10 @@
1
1
  export { Components, JSX } from './components';
2
+ export { PostAccordion } from './components/post-accordion/post-accordion';
2
3
  export { PostAlert } from './components/post-alert/post-alert';
3
4
  export { PostCollapsible } from './components/post-collapsible/post-collapsible';
4
5
  export { PostIcon } from './components/post-icon/post-icon';
6
+ export { PostPopover } from './components/post-popover/post-popover';
7
+ export { PostPopovercontainer } from './components/post-popovercontainer/post-popovercontainer';
5
8
  export { PostTabs } from './components/post-tabs/post-tabs';
6
9
  export { PostTabHeader } from './components/post-tab-header/post-tab-header';
7
10
  export { PostTabPanel } from './components/post-tab-panel/post-tab-panel';
@@ -810,6 +810,9 @@ export declare namespace JSXBase {
810
810
  name?: string;
811
811
  type?: string;
812
812
  value?: string | string[] | number;
813
+ popoverTargetAction?: string;
814
+ popoverTargetElement?: Element | null;
815
+ popoverTarget?: string;
813
816
  }
814
817
  interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
815
818
  height?: number | string;
@@ -971,6 +974,9 @@ export declare namespace JSXBase {
971
974
  webkitdirectory?: boolean;
972
975
  webkitEntries?: any;
973
976
  width?: number | string;
977
+ popoverTargetAction?: string;
978
+ popoverTargetElement?: Element | null;
979
+ popoverTarget?: string;
974
980
  }
975
981
  interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
976
982
  autoFocus?: boolean;
@@ -1223,6 +1229,7 @@ export declare namespace JSXBase {
1223
1229
  draggable?: boolean;
1224
1230
  hidden?: boolean;
1225
1231
  id?: string;
1232
+ inert?: boolean;
1226
1233
  lang?: string;
1227
1234
  spellcheck?: 'true' | 'false' | any;
1228
1235
  style?: {
@@ -1231,6 +1238,7 @@ export declare namespace JSXBase {
1231
1238
  tabIndex?: number;
1232
1239
  tabindex?: number | string;
1233
1240
  title?: string;
1241
+ popover?: string | null;
1234
1242
  inputMode?: string;
1235
1243
  inputmode?: string;
1236
1244
  enterKeyHint?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swisspost/design-system-components",
3
- "version": "1.6.3",
3
+ "version": "1.7.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,32 +24,34 @@
24
24
  "linkDirectory": true
25
25
  },
26
26
  "dependencies": {
27
- "@floating-ui/dom": "1.5.3",
28
- "@oddbird/popover-polyfill": "0.3.6",
29
- "@swisspost/design-system-styles": "6.5.0",
27
+ "@floating-ui/dom": "1.5.4",
28
+ "@oddbird/popover-polyfill": "0.2.3",
29
+ "@swisspost/design-system-styles": "6.5.1",
30
30
  "ally.js": "1.4.1",
31
31
  "long-press-event": "2.4.6"
32
32
  },
33
33
  "devDependencies": {
34
- "@percy/cli": "1.27.4",
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.6.0",
37
+ "@stencil/core": "4.9.0",
38
38
  "@stencil/react-output-target": "0.5.3",
39
- "@stencil/sass": "3.0.7",
40
- "@types/jest": "27.5.2",
39
+ "@stencil/sass": "3.0.8",
40
+ "@types/jest": "29.5.11",
41
41
  "@typescript-eslint/eslint-plugin": "5.62.0",
42
42
  "@typescript-eslint/parser": "5.62.0",
43
43
  "bootstrap": "5.3.2",
44
- "cypress": "13.6.0",
44
+ "cypress": "13.6.2",
45
45
  "cypress-storybook": "0.5.1",
46
- "eslint": "8.55.0",
46
+ "eslint": "8.56.0",
47
47
  "eslint-plugin-react": "7.33.2",
48
- "jest": "27.5.1",
49
- "jest-cli": "27.5.1",
48
+ "jest": "29.7.0",
49
+ "jest-cli": "29.7.0",
50
+ "jest-environment-jsdom": "29.7.0",
50
51
  "npm-run-all": "4.1.5",
51
52
  "rimraf": "5.0.5",
52
- "sass": "1.69.5",
53
+ "sass": "1.69.7",
54
+ "ts-jest": "29.1.1",
53
55
  "typescript": "4.9.5"
54
56
  },
55
57
  "scripts": {
@@ -1 +0,0 @@
1
- {"file":"check-non-empty-ae713942.js","mappings":";;;;SAEgB,aAAa,CAAC,KAAc,EAAE,KAAa;EACzD,IAAIA,sBAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;IACvC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;GACxB;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,10 +0,0 @@
1
- 'use strict';
2
-
3
- function checkOneOf(value, possibleValues, error) {
4
- if (!possibleValues.includes(value))
5
- throw new Error(error);
6
- }
7
-
8
- exports.checkOneOf = checkOneOf;
9
-
10
- //# sourceMappingURL=check-one-of-27ad3154.js.map
@@ -1 +0,0 @@
1
- {"file":"check-one-of-27ad3154.js","mappings":";;SAAgB,UAAU,CAAI,KAAQ,EAAE,cAA4B,EAAE,KAAa;EACjF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;IAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9D;;;;","names":[],"sources":["src/utils/property-checkers/check-one-of.ts"],"sourcesContent":["export function checkOneOf<T>(value: T, possibleValues: readonly T[], error: string) {\n if (!possibleValues.includes(value)) throw new Error(error);\n}\n"],"version":3}
@@ -1,41 +0,0 @@
1
- 'use strict';
2
-
3
- const constants = require('./constants-238701d3.js');
4
- const checkOneOf = require('./check-one-of-27ad3154.js');
5
-
6
- function emptyOr(check) {
7
- return (...args) => {
8
- const value = args[0];
9
- if (!constants.EMPTY_VALUES.some(v => v === value))
10
- check(...args);
11
- };
12
- }
13
-
14
- function checkPattern(value, pattern, errorMessage) {
15
- if (typeof value !== 'string' || !pattern.test(value))
16
- throw new Error(errorMessage);
17
- }
18
-
19
- function checkType(value, type, error) {
20
- const typeIsArray = type === 'array';
21
- const valueIsArray = Array.isArray(value);
22
- if (typeIsArray || valueIsArray) {
23
- if (valueIsArray !== typeIsArray)
24
- throw new Error(error);
25
- }
26
- else {
27
- if (typeof value !== type)
28
- throw new Error(error);
29
- }
30
- }
31
-
32
- const checkEmptyOrOneOf = emptyOr(checkOneOf.checkOneOf);
33
- const checkEmptyOrPattern = emptyOr(checkPattern);
34
- const checkEmptyOrType = emptyOr(checkType);
35
-
36
- exports.checkEmptyOrOneOf = checkEmptyOrOneOf;
37
- exports.checkEmptyOrPattern = checkEmptyOrPattern;
38
- exports.checkEmptyOrType = checkEmptyOrType;
39
- exports.checkType = checkType;
40
-
41
- //# sourceMappingURL=index-b38a23e0.js.map
@@ -1 +0,0 @@
1
- {"file":"index-b38a23e0.js","mappings":";;;;;SAEgB,OAAO,CAAsB,KAA2B;EACtE,OAAO,CAAC,GAAG,IAAO;IAChB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAACA,sBAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;MAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;GAC1D,CAAC;AACJ;;SCPgB,YAAY,CAAC,KAAc,EAAE,OAAe,EAAE,YAAoB;EAChF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AACvF;;SCMgB,SAAS,CAAC,KAAc,EAAE,IAAkB,EAAE,KAAa;EACzE,MAAM,WAAW,GAAG,IAAI,KAAK,OAAO,CAAC;EACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;EAE1C,IAAI,WAAW,IAAI,YAAY,EAAE;IAC/B,IAAI,YAAY,KAAK,WAAW;MAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;GAC1D;OAAM;IACL,IAAI,OAAO,KAAK,KAAK,IAAI;MAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;GACnD;AACH;;MCZa,iBAAiB,GAAG,OAAO,CAACC,qBAAU,EAAE;MACxC,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE;MAC5C,gBAAgB,GAAG,OAAO,CAAC,SAAS;;;;;;;","names":["EMPTY_VALUES","checkOneOf"],"sources":["src/utils/property-checkers/empty-or.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 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}