@haiilo/catalyst 0.5.1 → 0.5.3

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 (469) hide show
  1. package/package.json +5 -6
  2. package/dist/catalyst/app-globals-23d8c4a8.js +0 -948
  3. package/dist/catalyst/app-globals-23d8c4a8.js.map +0 -1
  4. package/dist/catalyst/app-globals-3dd6a26b.js +0 -948
  5. package/dist/catalyst/app-globals-3dd6a26b.js.map +0 -1
  6. package/dist/catalyst/app-globals-42ce39cc.js +0 -948
  7. package/dist/catalyst/app-globals-42ce39cc.js.map +0 -1
  8. package/dist/catalyst/app-globals-5cf43b57.js +0 -949
  9. package/dist/catalyst/app-globals-5cf43b57.js.map +0 -1
  10. package/dist/catalyst/app-globals-8598c768.js +0 -948
  11. package/dist/catalyst/app-globals-8598c768.js.map +0 -1
  12. package/dist/catalyst/app-globals-a41af143.js +0 -948
  13. package/dist/catalyst/app-globals-a41af143.js.map +0 -1
  14. package/dist/catalyst/app-globals-c6a8b994.js +0 -949
  15. package/dist/catalyst/app-globals-c6a8b994.js.map +0 -1
  16. package/dist/catalyst/assets/fonts/AzeretMono-Regular.woff2 +0 -0
  17. package/dist/catalyst/assets/fonts/DMSans-Bold.woff2 +0 -0
  18. package/dist/catalyst/assets/fonts/DMSans-BoldItalic.woff2 +0 -0
  19. package/dist/catalyst/assets/fonts/DMSans-Italic.woff2 +0 -0
  20. package/dist/catalyst/assets/fonts/DMSans-Medium.woff2 +0 -0
  21. package/dist/catalyst/assets/fonts/DMSans-MediumItalic.woff2 +0 -0
  22. package/dist/catalyst/assets/fonts/DMSans-Regular.woff2 +0 -0
  23. package/dist/catalyst/assets/fonts/Lato-Black.woff +0 -0
  24. package/dist/catalyst/assets/fonts/Lato-Black.woff2 +0 -0
  25. package/dist/catalyst/assets/fonts/Lato-BlackItalic.woff +0 -0
  26. package/dist/catalyst/assets/fonts/Lato-BlackItalic.woff2 +0 -0
  27. package/dist/catalyst/assets/fonts/Lato-Bold.woff +0 -0
  28. package/dist/catalyst/assets/fonts/Lato-Bold.woff2 +0 -0
  29. package/dist/catalyst/assets/fonts/Lato-BoldItalic.woff +0 -0
  30. package/dist/catalyst/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  31. package/dist/catalyst/assets/fonts/Lato-Hairline.woff +0 -0
  32. package/dist/catalyst/assets/fonts/Lato-Hairline.woff2 +0 -0
  33. package/dist/catalyst/assets/fonts/Lato-HairlineItalic.woff +0 -0
  34. package/dist/catalyst/assets/fonts/Lato-HairlineItalic.woff2 +0 -0
  35. package/dist/catalyst/assets/fonts/Lato-Heavy.woff +0 -0
  36. package/dist/catalyst/assets/fonts/Lato-Heavy.woff2 +0 -0
  37. package/dist/catalyst/assets/fonts/Lato-HeavyItalic.woff +0 -0
  38. package/dist/catalyst/assets/fonts/Lato-HeavyItalic.woff2 +0 -0
  39. package/dist/catalyst/assets/fonts/Lato-Italic.woff +0 -0
  40. package/dist/catalyst/assets/fonts/Lato-Italic.woff2 +0 -0
  41. package/dist/catalyst/assets/fonts/Lato-Light.woff +0 -0
  42. package/dist/catalyst/assets/fonts/Lato-Light.woff2 +0 -0
  43. package/dist/catalyst/assets/fonts/Lato-LightItalic.woff +0 -0
  44. package/dist/catalyst/assets/fonts/Lato-LightItalic.woff2 +0 -0
  45. package/dist/catalyst/assets/fonts/Lato-Medium.woff +0 -0
  46. package/dist/catalyst/assets/fonts/Lato-Medium.woff2 +0 -0
  47. package/dist/catalyst/assets/fonts/Lato-MediumItalic.woff +0 -0
  48. package/dist/catalyst/assets/fonts/Lato-MediumItalic.woff2 +0 -0
  49. package/dist/catalyst/assets/fonts/Lato-Regular.woff +0 -0
  50. package/dist/catalyst/assets/fonts/Lato-Regular.woff2 +0 -0
  51. package/dist/catalyst/assets/fonts/Lato-Semibold.woff +0 -0
  52. package/dist/catalyst/assets/fonts/Lato-Semibold.woff2 +0 -0
  53. package/dist/catalyst/assets/fonts/Lato-SemiboldItalic.woff +0 -0
  54. package/dist/catalyst/assets/fonts/Lato-SemiboldItalic.woff2 +0 -0
  55. package/dist/catalyst/assets/fonts/Lato-Thin.woff +0 -0
  56. package/dist/catalyst/assets/fonts/Lato-Thin.woff2 +0 -0
  57. package/dist/catalyst/assets/fonts/Lato-ThinItalic.woff +0 -0
  58. package/dist/catalyst/assets/fonts/Lato-ThinItalic.woff2 +0 -0
  59. package/dist/catalyst/cat-alert.entry.js +0 -33
  60. package/dist/catalyst/cat-alert.entry.js.map +0 -1
  61. package/dist/catalyst/cat-badge.entry.js +0 -44
  62. package/dist/catalyst/cat-badge.entry.js.map +0 -1
  63. package/dist/catalyst/cat-button.entry.js +0 -298
  64. package/dist/catalyst/cat-button.entry.js.map +0 -1
  65. package/dist/catalyst/cat-card.entry.js +0 -17
  66. package/dist/catalyst/cat-card.entry.js.map +0 -1
  67. package/dist/catalyst/cat-checkbox.entry.js +0 -75
  68. package/dist/catalyst/cat-checkbox.entry.js.map +0 -1
  69. package/dist/catalyst/cat-i18n-registry-2a6187c9.js +0 -75
  70. package/dist/catalyst/cat-i18n-registry-2a6187c9.js.map +0 -1
  71. package/dist/catalyst/cat-i18n-registry-330db605.js +0 -74
  72. package/dist/catalyst/cat-i18n-registry-330db605.js.map +0 -1
  73. package/dist/catalyst/cat-i18n-registry-83d20604.js +0 -74
  74. package/dist/catalyst/cat-i18n-registry-83d20604.js.map +0 -1
  75. package/dist/catalyst/cat-i18n-registry-dd55821d.js +0 -73
  76. package/dist/catalyst/cat-i18n-registry-dd55821d.js.map +0 -1
  77. package/dist/catalyst/cat-i18n-registry-f6560651.js +0 -75
  78. package/dist/catalyst/cat-i18n-registry-f6560651.js.map +0 -1
  79. package/dist/catalyst/cat-icon-registry-2dcfc9fb.js +0 -59
  80. package/dist/catalyst/cat-icon-registry-2dcfc9fb.js.map +0 -1
  81. package/dist/catalyst/cat-icon.entry.js +0 -31
  82. package/dist/catalyst/cat-icon.entry.js.map +0 -1
  83. package/dist/catalyst/cat-input.entry.js +0 -111
  84. package/dist/catalyst/cat-input.entry.js.map +0 -1
  85. package/dist/catalyst/cat-menu.entry.js +0 -850
  86. package/dist/catalyst/cat-menu.entry.js.map +0 -1
  87. package/dist/catalyst/cat-radio.entry.js +0 -66
  88. package/dist/catalyst/cat-radio.entry.js.map +0 -1
  89. package/dist/catalyst/cat-scrollable.entry.js +0 -4522
  90. package/dist/catalyst/cat-scrollable.entry.js.map +0 -1
  91. package/dist/catalyst/cat-skeleton.entry.js +0 -55
  92. package/dist/catalyst/cat-skeleton.entry.js.map +0 -1
  93. package/dist/catalyst/cat-spinner.entry.js +0 -23
  94. package/dist/catalyst/cat-spinner.entry.js.map +0 -1
  95. package/dist/catalyst/cat-textarea.entry.js +0 -87
  96. package/dist/catalyst/cat-textarea.entry.js.map +0 -1
  97. package/dist/catalyst/cat-toggle.entry.js +0 -66
  98. package/dist/catalyst/cat-toggle.entry.js.map +0 -1
  99. package/dist/catalyst/cat-tooltip.entry.js +0 -129
  100. package/dist/catalyst/cat-tooltip.entry.js.map +0 -1
  101. package/dist/catalyst/catalyst.css +0 -2033
  102. package/dist/catalyst/catalyst.esm.js +0 -134
  103. package/dist/catalyst/catalyst.esm.js.map +0 -1
  104. package/dist/catalyst/css-shim-e6dd2538.js +0 -6
  105. package/dist/catalyst/css-shim-e6dd2538.js.map +0 -1
  106. package/dist/catalyst/dom-7fc649b0.js +0 -75
  107. package/dist/catalyst/dom-7fc649b0.js.map +0 -1
  108. package/dist/catalyst/first-tabbable-2d9f9e9a.js +0 -2123
  109. package/dist/catalyst/first-tabbable-2d9f9e9a.js.map +0 -1
  110. package/dist/catalyst/index-471d4e05.js +0 -3059
  111. package/dist/catalyst/index-471d4e05.js.map +0 -1
  112. package/dist/catalyst/index-bbb694f5.js +0 -3059
  113. package/dist/catalyst/index-bbb694f5.js.map +0 -1
  114. package/dist/catalyst/index.cdn.js +0 -21
  115. package/dist/catalyst/index.esm.js +0 -5
  116. package/dist/catalyst/index.esm.js.map +0 -1
  117. package/dist/catalyst/loglevel-7f0f71af.js +0 -346
  118. package/dist/catalyst/loglevel-7f0f71af.js.map +0 -1
  119. package/dist/catalyst/shadow-css-4d56fa31.js +0 -390
  120. package/dist/catalyst/shadow-css-4d56fa31.js.map +0 -1
  121. package/dist/cjs/app-globals-aaefc070.js +0 -950
  122. package/dist/cjs/app-globals-aaefc070.js.map +0 -1
  123. package/dist/cjs/cat-alert.cjs.entry.js +0 -37
  124. package/dist/cjs/cat-alert.cjs.entry.js.map +0 -1
  125. package/dist/cjs/cat-badge.cjs.entry.js +0 -48
  126. package/dist/cjs/cat-badge.cjs.entry.js.map +0 -1
  127. package/dist/cjs/cat-button.cjs.entry.js +0 -302
  128. package/dist/cjs/cat-button.cjs.entry.js.map +0 -1
  129. package/dist/cjs/cat-card.cjs.entry.js +0 -21
  130. package/dist/cjs/cat-card.cjs.entry.js.map +0 -1
  131. package/dist/cjs/cat-checkbox.cjs.entry.js +0 -79
  132. package/dist/cjs/cat-checkbox.cjs.entry.js.map +0 -1
  133. package/dist/cjs/cat-i18n-registry-a1379d1e.js +0 -76
  134. package/dist/cjs/cat-i18n-registry-a1379d1e.js.map +0 -1
  135. package/dist/cjs/cat-icon-registry-74247389.js +0 -61
  136. package/dist/cjs/cat-icon-registry-74247389.js.map +0 -1
  137. package/dist/cjs/cat-icon.cjs.entry.js +0 -35
  138. package/dist/cjs/cat-icon.cjs.entry.js.map +0 -1
  139. package/dist/cjs/cat-input.cjs.entry.js +0 -115
  140. package/dist/cjs/cat-input.cjs.entry.js.map +0 -1
  141. package/dist/cjs/cat-menu.cjs.entry.js +0 -854
  142. package/dist/cjs/cat-menu.cjs.entry.js.map +0 -1
  143. package/dist/cjs/cat-radio.cjs.entry.js +0 -70
  144. package/dist/cjs/cat-radio.cjs.entry.js.map +0 -1
  145. package/dist/cjs/cat-scrollable.cjs.entry.js +0 -4526
  146. package/dist/cjs/cat-scrollable.cjs.entry.js.map +0 -1
  147. package/dist/cjs/cat-skeleton.cjs.entry.js +0 -59
  148. package/dist/cjs/cat-skeleton.cjs.entry.js.map +0 -1
  149. package/dist/cjs/cat-spinner.cjs.entry.js +0 -27
  150. package/dist/cjs/cat-spinner.cjs.entry.js.map +0 -1
  151. package/dist/cjs/cat-textarea.cjs.entry.js +0 -91
  152. package/dist/cjs/cat-textarea.cjs.entry.js.map +0 -1
  153. package/dist/cjs/cat-toggle.cjs.entry.js +0 -70
  154. package/dist/cjs/cat-toggle.cjs.entry.js.map +0 -1
  155. package/dist/cjs/cat-tooltip.cjs.entry.js +0 -133
  156. package/dist/cjs/cat-tooltip.cjs.entry.js.map +0 -1
  157. package/dist/cjs/catalyst.cjs.js +0 -136
  158. package/dist/cjs/catalyst.cjs.js.map +0 -1
  159. package/dist/cjs/css-shim-6ca600c2.js +0 -8
  160. package/dist/cjs/css-shim-6ca600c2.js.map +0 -1
  161. package/dist/cjs/dom-8d415461.js +0 -77
  162. package/dist/cjs/dom-8d415461.js.map +0 -1
  163. package/dist/cjs/first-tabbable-2068dcc6.js +0 -2133
  164. package/dist/cjs/first-tabbable-2068dcc6.js.map +0 -1
  165. package/dist/cjs/index-abcb3941.js +0 -3094
  166. package/dist/cjs/index-abcb3941.js.map +0 -1
  167. package/dist/cjs/index.cjs.js +0 -14
  168. package/dist/cjs/index.cjs.js.map +0 -1
  169. package/dist/cjs/loader.cjs.js +0 -42
  170. package/dist/cjs/loader.cjs.js.map +0 -1
  171. package/dist/cjs/loglevel-24040e9d.js +0 -348
  172. package/dist/cjs/loglevel-24040e9d.js.map +0 -1
  173. package/dist/cjs/shadow-css-78860e39.js +0 -392
  174. package/dist/cjs/shadow-css-78860e39.js.map +0 -1
  175. package/dist/collection/assets/fonts/AzeretMono-Regular.woff2 +0 -0
  176. package/dist/collection/assets/fonts/DMSans-Bold.woff2 +0 -0
  177. package/dist/collection/assets/fonts/DMSans-BoldItalic.woff2 +0 -0
  178. package/dist/collection/assets/fonts/DMSans-Italic.woff2 +0 -0
  179. package/dist/collection/assets/fonts/DMSans-Medium.woff2 +0 -0
  180. package/dist/collection/assets/fonts/DMSans-MediumItalic.woff2 +0 -0
  181. package/dist/collection/assets/fonts/DMSans-Regular.woff2 +0 -0
  182. package/dist/collection/assets/fonts/Lato-Black.woff +0 -0
  183. package/dist/collection/assets/fonts/Lato-Black.woff2 +0 -0
  184. package/dist/collection/assets/fonts/Lato-BlackItalic.woff +0 -0
  185. package/dist/collection/assets/fonts/Lato-BlackItalic.woff2 +0 -0
  186. package/dist/collection/assets/fonts/Lato-Bold.woff +0 -0
  187. package/dist/collection/assets/fonts/Lato-Bold.woff2 +0 -0
  188. package/dist/collection/assets/fonts/Lato-BoldItalic.woff +0 -0
  189. package/dist/collection/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  190. package/dist/collection/assets/fonts/Lato-Hairline.woff +0 -0
  191. package/dist/collection/assets/fonts/Lato-Hairline.woff2 +0 -0
  192. package/dist/collection/assets/fonts/Lato-HairlineItalic.woff +0 -0
  193. package/dist/collection/assets/fonts/Lato-HairlineItalic.woff2 +0 -0
  194. package/dist/collection/assets/fonts/Lato-Heavy.woff +0 -0
  195. package/dist/collection/assets/fonts/Lato-Heavy.woff2 +0 -0
  196. package/dist/collection/assets/fonts/Lato-HeavyItalic.woff +0 -0
  197. package/dist/collection/assets/fonts/Lato-HeavyItalic.woff2 +0 -0
  198. package/dist/collection/assets/fonts/Lato-Italic.woff +0 -0
  199. package/dist/collection/assets/fonts/Lato-Italic.woff2 +0 -0
  200. package/dist/collection/assets/fonts/Lato-Light.woff +0 -0
  201. package/dist/collection/assets/fonts/Lato-Light.woff2 +0 -0
  202. package/dist/collection/assets/fonts/Lato-LightItalic.woff +0 -0
  203. package/dist/collection/assets/fonts/Lato-LightItalic.woff2 +0 -0
  204. package/dist/collection/assets/fonts/Lato-Medium.woff +0 -0
  205. package/dist/collection/assets/fonts/Lato-Medium.woff2 +0 -0
  206. package/dist/collection/assets/fonts/Lato-MediumItalic.woff +0 -0
  207. package/dist/collection/assets/fonts/Lato-MediumItalic.woff2 +0 -0
  208. package/dist/collection/assets/fonts/Lato-Regular.woff +0 -0
  209. package/dist/collection/assets/fonts/Lato-Regular.woff2 +0 -0
  210. package/dist/collection/assets/fonts/Lato-Semibold.woff +0 -0
  211. package/dist/collection/assets/fonts/Lato-Semibold.woff2 +0 -0
  212. package/dist/collection/assets/fonts/Lato-SemiboldItalic.woff +0 -0
  213. package/dist/collection/assets/fonts/Lato-SemiboldItalic.woff2 +0 -0
  214. package/dist/collection/assets/fonts/Lato-Thin.woff +0 -0
  215. package/dist/collection/assets/fonts/Lato-Thin.woff2 +0 -0
  216. package/dist/collection/assets/fonts/Lato-ThinItalic.woff +0 -0
  217. package/dist/collection/assets/fonts/Lato-ThinItalic.woff2 +0 -0
  218. package/dist/collection/collection-manifest.json +0 -27
  219. package/dist/collection/components/cat-alert/cat-alert.css +0 -62
  220. package/dist/collection/components/cat-alert/cat-alert.js +0 -61
  221. package/dist/collection/components/cat-alert/cat-alert.js.map +0 -1
  222. package/dist/collection/components/cat-badge/cat-badge.css +0 -154
  223. package/dist/collection/components/cat-badge/cat-badge.js +0 -143
  224. package/dist/collection/components/cat-badge/cat-badge.js.map +0 -1
  225. package/dist/collection/components/cat-button/cat-button.css +0 -333
  226. package/dist/collection/components/cat-button/cat-button.js +0 -615
  227. package/dist/collection/components/cat-button/cat-button.js.map +0 -1
  228. package/dist/collection/components/cat-card/cat-card.css +0 -25
  229. package/dist/collection/components/cat-card/cat-card.js +0 -20
  230. package/dist/collection/components/cat-card/cat-card.js.map +0 -1
  231. package/dist/collection/components/cat-checkbox/cat-checkbox.css +0 -105
  232. package/dist/collection/components/cat-checkbox/cat-checkbox.js +0 -314
  233. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +0 -1
  234. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +0 -70
  235. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +0 -1
  236. package/dist/collection/components/cat-icon/cat-icon-registry.js +0 -55
  237. package/dist/collection/components/cat-icon/cat-icon-registry.js.map +0 -1
  238. package/dist/collection/components/cat-icon/cat-icon.css +0 -50
  239. package/dist/collection/components/cat-icon/cat-icon.js +0 -91
  240. package/dist/collection/components/cat-icon/cat-icon.js.map +0 -1
  241. package/dist/collection/components/cat-input/cat-input.css +0 -131
  242. package/dist/collection/components/cat-input/cat-input.js +0 -606
  243. package/dist/collection/components/cat-input/cat-input.js.map +0 -1
  244. package/dist/collection/components/cat-menu/cat-menu.css +0 -34
  245. package/dist/collection/components/cat-menu/cat-menu.js +0 -184
  246. package/dist/collection/components/cat-menu/cat-menu.js.map +0 -1
  247. package/dist/collection/components/cat-radio/cat-radio.css +0 -84
  248. package/dist/collection/components/cat-radio/cat-radio.js +0 -283
  249. package/dist/collection/components/cat-radio/cat-radio.js.map +0 -1
  250. package/dist/collection/components/cat-scrollable/cat-scrollable.css +0 -69
  251. package/dist/collection/components/cat-scrollable/cat-scrollable.js +0 -311
  252. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +0 -1
  253. package/dist/collection/components/cat-skeleton/cat-skeleton.css +0 -177
  254. package/dist/collection/components/cat-skeleton/cat-skeleton.js +0 -131
  255. package/dist/collection/components/cat-skeleton/cat-skeleton.js.map +0 -1
  256. package/dist/collection/components/cat-spinner/cat-spinner.css +0 -63
  257. package/dist/collection/components/cat-spinner/cat-spinner.js +0 -65
  258. package/dist/collection/components/cat-spinner/cat-spinner.js.map +0 -1
  259. package/dist/collection/components/cat-textarea/cat-textarea.css +0 -74
  260. package/dist/collection/components/cat-textarea/cat-textarea.js +0 -393
  261. package/dist/collection/components/cat-textarea/cat-textarea.js.map +0 -1
  262. package/dist/collection/components/cat-toggle/cat-toggle.css +0 -93
  263. package/dist/collection/components/cat-toggle/cat-toggle.js +0 -283
  264. package/dist/collection/components/cat-toggle/cat-toggle.js.map +0 -1
  265. package/dist/collection/components/cat-tooltip/cat-tooltip.css +0 -41
  266. package/dist/collection/components/cat-tooltip/cat-tooltip.js +0 -254
  267. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +0 -1
  268. package/dist/collection/index.cdn.js +0 -21
  269. package/dist/collection/index.js +0 -3
  270. package/dist/collection/index.js.map +0 -1
  271. package/dist/collection/init.js +0 -17
  272. package/dist/collection/init.js.map +0 -1
  273. package/dist/collection/utils/breakpoints.js +0 -12
  274. package/dist/collection/utils/breakpoints.js.map +0 -1
  275. package/dist/collection/utils/first-tabbable.js +0 -6
  276. package/dist/collection/utils/first-tabbable.js.map +0 -1
  277. package/dist/collection/utils/is-touch-screen.js +0 -3
  278. package/dist/collection/utils/is-touch-screen.js.map +0 -1
  279. package/dist/collection/utils/media-matcher.js +0 -55
  280. package/dist/collection/utils/media-matcher.js.map +0 -1
  281. package/dist/collection/utils/platform.js +0 -50
  282. package/dist/collection/utils/platform.js.map +0 -1
  283. package/dist/components/cat-alert.d.ts +0 -11
  284. package/dist/components/cat-alert.js +0 -53
  285. package/dist/components/cat-alert.js.map +0 -1
  286. package/dist/components/cat-badge.d.ts +0 -11
  287. package/dist/components/cat-badge.js +0 -68
  288. package/dist/components/cat-badge.js.map +0 -1
  289. package/dist/components/cat-button.d.ts +0 -11
  290. package/dist/components/cat-button.js +0 -8
  291. package/dist/components/cat-button.js.map +0 -1
  292. package/dist/components/cat-button2.js +0 -346
  293. package/dist/components/cat-button2.js.map +0 -1
  294. package/dist/components/cat-card.d.ts +0 -11
  295. package/dist/components/cat-card.js +0 -35
  296. package/dist/components/cat-card.js.map +0 -1
  297. package/dist/components/cat-checkbox.d.ts +0 -11
  298. package/dist/components/cat-checkbox.js +0 -103
  299. package/dist/components/cat-checkbox.js.map +0 -1
  300. package/dist/components/cat-i18n-registry.js +0 -74
  301. package/dist/components/cat-i18n-registry.js.map +0 -1
  302. package/dist/components/cat-icon-registry.js +0 -59
  303. package/dist/components/cat-icon-registry.js.map +0 -1
  304. package/dist/components/cat-icon.d.ts +0 -11
  305. package/dist/components/cat-icon.js +0 -8
  306. package/dist/components/cat-icon.js.map +0 -1
  307. package/dist/components/cat-icon2.js +0 -49
  308. package/dist/components/cat-icon2.js.map +0 -1
  309. package/dist/components/cat-input.d.ts +0 -11
  310. package/dist/components/cat-input.js +0 -172
  311. package/dist/components/cat-input.js.map +0 -1
  312. package/dist/components/cat-menu.d.ts +0 -11
  313. package/dist/components/cat-menu.js +0 -870
  314. package/dist/components/cat-menu.js.map +0 -1
  315. package/dist/components/cat-radio.d.ts +0 -11
  316. package/dist/components/cat-radio.js +0 -93
  317. package/dist/components/cat-radio.js.map +0 -1
  318. package/dist/components/cat-scrollable.d.ts +0 -11
  319. package/dist/components/cat-scrollable.js +0 -4548
  320. package/dist/components/cat-scrollable.js.map +0 -1
  321. package/dist/components/cat-skeleton.d.ts +0 -11
  322. package/dist/components/cat-skeleton.js +0 -78
  323. package/dist/components/cat-skeleton.js.map +0 -1
  324. package/dist/components/cat-spinner.d.ts +0 -11
  325. package/dist/components/cat-spinner.js +0 -8
  326. package/dist/components/cat-spinner.js.map +0 -1
  327. package/dist/components/cat-spinner2.js +0 -41
  328. package/dist/components/cat-spinner2.js.map +0 -1
  329. package/dist/components/cat-textarea.d.ts +0 -11
  330. package/dist/components/cat-textarea.js +0 -119
  331. package/dist/components/cat-textarea.js.map +0 -1
  332. package/dist/components/cat-toggle.d.ts +0 -11
  333. package/dist/components/cat-toggle.js +0 -93
  334. package/dist/components/cat-toggle.js.map +0 -1
  335. package/dist/components/cat-tooltip.d.ts +0 -11
  336. package/dist/components/cat-tooltip.js +0 -154
  337. package/dist/components/cat-tooltip.js.map +0 -1
  338. package/dist/components/first-tabbable.js +0 -2123
  339. package/dist/components/first-tabbable.js.map +0 -1
  340. package/dist/components/index.d.ts +0 -26
  341. package/dist/components/index.js +0 -951
  342. package/dist/components/index.js.map +0 -1
  343. package/dist/components/loglevel.js +0 -346
  344. package/dist/components/loglevel.js.map +0 -1
  345. package/dist/esm/app-globals-3dd6a26b.js +0 -948
  346. package/dist/esm/app-globals-3dd6a26b.js.map +0 -1
  347. package/dist/esm/cat-alert.entry.js +0 -33
  348. package/dist/esm/cat-alert.entry.js.map +0 -1
  349. package/dist/esm/cat-badge.entry.js +0 -44
  350. package/dist/esm/cat-badge.entry.js.map +0 -1
  351. package/dist/esm/cat-button.entry.js +0 -298
  352. package/dist/esm/cat-button.entry.js.map +0 -1
  353. package/dist/esm/cat-card.entry.js +0 -17
  354. package/dist/esm/cat-card.entry.js.map +0 -1
  355. package/dist/esm/cat-checkbox.entry.js +0 -75
  356. package/dist/esm/cat-checkbox.entry.js.map +0 -1
  357. package/dist/esm/cat-i18n-registry-83d20604.js +0 -74
  358. package/dist/esm/cat-i18n-registry-83d20604.js.map +0 -1
  359. package/dist/esm/cat-icon-registry-2dcfc9fb.js +0 -59
  360. package/dist/esm/cat-icon-registry-2dcfc9fb.js.map +0 -1
  361. package/dist/esm/cat-icon.entry.js +0 -31
  362. package/dist/esm/cat-icon.entry.js.map +0 -1
  363. package/dist/esm/cat-input.entry.js +0 -111
  364. package/dist/esm/cat-input.entry.js.map +0 -1
  365. package/dist/esm/cat-menu.entry.js +0 -850
  366. package/dist/esm/cat-menu.entry.js.map +0 -1
  367. package/dist/esm/cat-radio.entry.js +0 -66
  368. package/dist/esm/cat-radio.entry.js.map +0 -1
  369. package/dist/esm/cat-scrollable.entry.js +0 -4522
  370. package/dist/esm/cat-scrollable.entry.js.map +0 -1
  371. package/dist/esm/cat-skeleton.entry.js +0 -55
  372. package/dist/esm/cat-skeleton.entry.js.map +0 -1
  373. package/dist/esm/cat-spinner.entry.js +0 -23
  374. package/dist/esm/cat-spinner.entry.js.map +0 -1
  375. package/dist/esm/cat-textarea.entry.js +0 -87
  376. package/dist/esm/cat-textarea.entry.js.map +0 -1
  377. package/dist/esm/cat-toggle.entry.js +0 -66
  378. package/dist/esm/cat-toggle.entry.js.map +0 -1
  379. package/dist/esm/cat-tooltip.entry.js +0 -129
  380. package/dist/esm/cat-tooltip.entry.js.map +0 -1
  381. package/dist/esm/catalyst.js +0 -134
  382. package/dist/esm/catalyst.js.map +0 -1
  383. package/dist/esm/css-shim-e6dd2538.js +0 -6
  384. package/dist/esm/css-shim-e6dd2538.js.map +0 -1
  385. package/dist/esm/dom-7fc649b0.js +0 -75
  386. package/dist/esm/dom-7fc649b0.js.map +0 -1
  387. package/dist/esm/first-tabbable-2d9f9e9a.js +0 -2123
  388. package/dist/esm/first-tabbable-2d9f9e9a.js.map +0 -1
  389. package/dist/esm/index-471d4e05.js +0 -3059
  390. package/dist/esm/index-471d4e05.js.map +0 -1
  391. package/dist/esm/index.js +0 -5
  392. package/dist/esm/index.js.map +0 -1
  393. package/dist/esm/loader.js +0 -38
  394. package/dist/esm/loader.js.map +0 -1
  395. package/dist/esm/loglevel-7f0f71af.js +0 -346
  396. package/dist/esm/loglevel-7f0f71af.js.map +0 -1
  397. package/dist/esm/polyfills/core-js.js +0 -11
  398. package/dist/esm/polyfills/css-shim.js +0 -1
  399. package/dist/esm/polyfills/dom.js +0 -79
  400. package/dist/esm/polyfills/es5-html-element.js +0 -1
  401. package/dist/esm/polyfills/index.js +0 -34
  402. package/dist/esm/polyfills/system.js +0 -6
  403. package/dist/esm/shadow-css-4d56fa31.js +0 -390
  404. package/dist/esm/shadow-css-4d56fa31.js.map +0 -1
  405. package/dist/index.cjs.js +0 -1
  406. package/dist/index.js +0 -1
  407. package/dist/types/components/cat-alert/cat-alert.d.ts +0 -14
  408. package/dist/types/components/cat-alert/cat-alert.e2e.d.ts +0 -1
  409. package/dist/types/components/cat-alert/cat-alert.spec.d.ts +0 -1
  410. package/dist/types/components/cat-badge/cat-badge.d.ts +0 -29
  411. package/dist/types/components/cat-badge/cat-badge.e2e.d.ts +0 -1
  412. package/dist/types/components/cat-badge/cat-badge.spec.d.ts +0 -1
  413. package/dist/types/components/cat-button/cat-button.d.ts +0 -134
  414. package/dist/types/components/cat-button/cat-button.e2e.d.ts +0 -1
  415. package/dist/types/components/cat-button/cat-button.spec.d.ts +0 -1
  416. package/dist/types/components/cat-card/cat-card.d.ts +0 -7
  417. package/dist/types/components/cat-card/cat-card.e2e.d.ts +0 -1
  418. package/dist/types/components/cat-card/cat-card.spec.d.ts +0 -1
  419. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +0 -69
  420. package/dist/types/components/cat-checkbox/cat-checkbox.e2e.d.ts +0 -1
  421. package/dist/types/components/cat-checkbox/cat-checkbox.spec.d.ts +0 -1
  422. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +0 -18
  423. package/dist/types/components/cat-icon/cat-icon-registry.d.ts +0 -15
  424. package/dist/types/components/cat-icon/cat-icon.d.ts +0 -23
  425. package/dist/types/components/cat-icon/cat-icon.e2e.d.ts +0 -1
  426. package/dist/types/components/cat-icon/cat-icon.spec.d.ts +0 -1
  427. package/dist/types/components/cat-input/cat-input.d.ts +0 -130
  428. package/dist/types/components/cat-input/cat-input.e2e.d.ts +0 -1
  429. package/dist/types/components/cat-input/cat-input.spec.d.ts +0 -1
  430. package/dist/types/components/cat-menu/cat-menu.d.ts +0 -31
  431. package/dist/types/components/cat-menu/cat-menu.e2e.d.ts +0 -1
  432. package/dist/types/components/cat-menu/cat-menu.spec.d.ts +0 -1
  433. package/dist/types/components/cat-radio/cat-radio.d.ts +0 -63
  434. package/dist/types/components/cat-radio/cat-radio.e2e.d.ts +0 -1
  435. package/dist/types/components/cat-radio/cat-radio.spec.d.ts +0 -1
  436. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +0 -52
  437. package/dist/types/components/cat-scrollable/cat-scrollable.e2e.d.ts +0 -1
  438. package/dist/types/components/cat-scrollable/cat-scrollable.spec.d.ts +0 -1
  439. package/dist/types/components/cat-skeleton/cat-skeleton.d.ts +0 -28
  440. package/dist/types/components/cat-skeleton/cat-skeleton.e2e.d.ts +0 -1
  441. package/dist/types/components/cat-skeleton/cat-skeleton.spec.d.ts +0 -1
  442. package/dist/types/components/cat-spinner/cat-spinner.d.ts +0 -15
  443. package/dist/types/components/cat-spinner/cat-spinner.e2e.d.ts +0 -1
  444. package/dist/types/components/cat-spinner/cat-spinner.spec.d.ts +0 -1
  445. package/dist/types/components/cat-textarea/cat-textarea.d.ts +0 -85
  446. package/dist/types/components/cat-textarea/cat-textarea.e2e.d.ts +0 -1
  447. package/dist/types/components/cat-textarea/cat-textarea.spec.d.ts +0 -1
  448. package/dist/types/components/cat-toggle/cat-toggle.d.ts +0 -64
  449. package/dist/types/components/cat-toggle/cat-toggle.e2e.d.ts +0 -1
  450. package/dist/types/components/cat-toggle/cat-toggle.spec.d.ts +0 -1
  451. package/dist/types/components/cat-tooltip/cat-tooltip.d.ts +0 -46
  452. package/dist/types/components/cat-tooltip/cat-tooltip.e2e.d.ts +0 -1
  453. package/dist/types/components/cat-tooltip/cat-tooltip.spec.d.ts +0 -1
  454. package/dist/types/components.d.ts +0 -1167
  455. package/dist/types/index.d.ts +0 -3
  456. package/dist/types/init.d.ts +0 -1
  457. package/dist/types/stencil-public-runtime.d.ts +0 -1565
  458. package/dist/types/utils/breakpoints.d.ts +0 -7
  459. package/dist/types/utils/first-tabbable.d.ts +0 -4
  460. package/dist/types/utils/is-touch-screen.d.ts +0 -2
  461. package/dist/types/utils/media-matcher.d.ts +0 -13
  462. package/dist/types/utils/media-matcher.spec.d.ts +0 -1
  463. package/dist/types/utils/platform.d.ts +0 -18
  464. package/loader/cdn.js +0 -3
  465. package/loader/index.cjs.js +0 -3
  466. package/loader/index.d.ts +0 -12
  467. package/loader/index.es2017.js +0 -3
  468. package/loader/index.js +0 -4
  469. package/loader/package.json +0 -10
@@ -1,55 +0,0 @@
1
- import { r as registerInstance, h, e as Host } from './index-471d4e05.js';
2
-
3
- const catSkeletonCss = ":host{display:flex;flex-direction:column;position:relative;--background:#ebecf0;--highlight:#d7dbe0;--speed:2s}:host([variant=square]),:host([variant=circle]){display:inline-flex}:host([hidden]){display:none}:host([variant=head]){margin-bottom:0.5rem}:host([variant=body]){margin-bottom:1rem}.skeleton{display:block;border-radius:0.25rem;background:var(--background)}.skeleton-circle{border-radius:10rem}.skeleton-xs.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 1.5rem)}.skeleton-xs.skeleton-square,.skeleton-xs.skeleton-circle{width:var(--width, 1.5rem);height:var(--height, 1.5rem)}.skeleton-xs.skeleton-head,.skeleton-xs.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-xs.skeleton-head{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.skeleton-xs.skeleton-body{height:calc(0.75rem - 4px);margin:calc((1rem - 0.75rem + 4px) * 0.5) 0}.skeleton-s.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2rem)}.skeleton-s.skeleton-square,.skeleton-s.skeleton-circle{width:var(--width, 2rem);height:var(--height, 2rem)}.skeleton-s.skeleton-head,.skeleton-s.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-s.skeleton-head{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.skeleton-s.skeleton-body{height:calc(0.875rem - 4px);margin:calc((1rem - 0.875rem + 4px) * 0.5) 0}.skeleton-m.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 2.5rem)}.skeleton-m.skeleton-square,.skeleton-m.skeleton-circle{width:var(--width, 2.5rem);height:var(--height, 2.5rem)}.skeleton-m.skeleton-head,.skeleton-m.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-m.skeleton-head{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.skeleton-m.skeleton-body{height:calc(0.9375rem - 4px);margin:calc((1.25rem - 0.9375rem + 4px) * 0.5) 0}.skeleton-l.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3rem)}.skeleton-l.skeleton-square,.skeleton-l.skeleton-circle{width:var(--width, 3rem);height:var(--height, 3rem)}.skeleton-l.skeleton-head,.skeleton-l.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-l.skeleton-head{height:calc(1.5rem - 4px);margin:calc((1.75rem - 1.5rem + 4px) * 0.5) 0}.skeleton-l.skeleton-body{height:calc(1.125rem - 4px);margin:calc((1.5rem - 1.125rem + 4px) * 0.5) 0}.skeleton-xl.skeleton-rectangle{width:var(--width, 100%);height:var(--height, 3.5rem)}.skeleton-xl.skeleton-square,.skeleton-xl.skeleton-circle{width:var(--width, 3.5rem);height:var(--height, 3.5rem)}.skeleton-xl.skeleton-head,.skeleton-xl.skeleton-body{width:var(--width, var(--line-width, 100%))}.skeleton-xl.skeleton-head{height:calc(1.75rem - 4px);margin:calc((2rem - 1.75rem + 4px) * 0.5) 0}.skeleton-xl.skeleton-body{height:calc(1.25rem - 4px);margin:calc((1.5rem - 1.25rem + 4px) * 0.5) 0}.skeleton-sheen{background:linear-gradient(90deg, var(--background) 33%, var(--highlight) 50%, var(--background) 66%) var(--background);background-size:300% 100%;animation:sheen var(--speed) ease-in-out infinite}.skeleton-pulse{position:relative;overflow:hidden}.skeleton-pulse::before{content:\"\";display:block;position:absolute;width:100%;height:100%;background-color:var(--highlight);animation:var(--speed) ease-in-out 0.5s infinite normal none running pulse;opacity:0}@keyframes sheen{0%{background-position:right}}@keyframes pulse{50%{opacity:1}}";
4
-
5
- const CatSkeleton = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- /**
9
- * The animation style of the skeleton.
10
- */
11
- this.effect = 'sheen';
12
- /**
13
- * The rendering style of the skeleton.
14
- */
15
- this.variant = 'rectangle';
16
- /**
17
- * The size of the skeleton. If the variant is set to "head", the size values
18
- * "xs" to "xl" translate to the head levels `h1` to `h5`.
19
- */
20
- this.size = 'm';
21
- }
22
- render() {
23
- return (h(Host, null, Array.from(Array(this.count)).map(() => (h("div", { style: this.style, class: {
24
- skeleton: true,
25
- [`skeleton-${this.effect}`]: Boolean(this.effect),
26
- [`skeleton-${this.variant}`]: Boolean(this.variant),
27
- [`skeleton-${this.size}`]: Boolean(this.size)
28
- } })))));
29
- }
30
- get count() {
31
- switch (this.variant) {
32
- case 'head':
33
- return Math.max(1, this.lines || 1);
34
- case 'body':
35
- return Math.max(1, this.lines || 3);
36
- default:
37
- return 1;
38
- }
39
- }
40
- get style() {
41
- return this.variant === 'head' || this.variant === 'body'
42
- ? {
43
- '--line-width': `${this.random(50, 100)}%`
44
- }
45
- : undefined;
46
- }
47
- random(min, max) {
48
- return Math.floor(Math.random() * (max - min + 1) + min);
49
- }
50
- };
51
- CatSkeleton.style = catSkeletonCss;
52
-
53
- export { CatSkeleton as cat_skeleton };
54
-
55
- //# sourceMappingURL=cat-skeleton.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"cat-skeleton.entry.esm.js","mappings":";;AAAA,MAAM,cAAc,GAAG,g2GAAg2G;;MCU12G,WAAW;EALxB;;;;;IASU,WAAM,GAAgC,OAAO,CAAC;;;;IAK9C,YAAO,GAAwD,WAAW,CAAC;;;;;IAM3E,SAAI,GAAkC,GAAG,CAAC;GAiDnD;EAxCC,MAAM;IACJ,QACE,EAAC,IAAI,QACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OACjC,WACE,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE;QACL,QAAQ,EAAE,IAAI;QACd,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACjD,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACnD,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;OAC9C,GACI,CACR,CAAC,CACG,EACP;GACH;EAED,IAAY,KAAK;IACf,QAAQ,IAAI,CAAC,OAAO;MAClB,KAAK,MAAM;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;MACtC,KAAK,MAAM;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;MACtC;QACE,OAAO,CAAC,CAAC;KACZ;GACF;EAED,IAAY,KAAK;IACf,OAAO,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;QACrD;QACE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG;OAC3C;QACD,SAAS,CAAC;GACf;EAEO,MAAM,CAAC,GAAW,EAAE,GAAW;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;GAC1D;;;;;;","names":[],"sources":["./src/components/cat-skeleton/cat-skeleton.scss?tag=cat-skeleton&encapsulation=shadow","./src/components/cat-skeleton/cat-skeleton.tsx"],"sourcesContent":["@use 'variables' as *;\n@use 'mixins' as *;\n\n:host {\n /**\n * @prop --background: The background color of the skeleton.\n * @prop --highlight: The highlight color of the skeleton.\n * @prop --speed: The animation speed.\n */\n display: flex;\n flex-direction: column;\n position: relative;\n\n --background: #{cat-token('color.ui.background.skeleton')};\n --highlight: #{cat-token('color.ui.background.skeletonHighlight')};\n --speed: 2s;\n}\n\n:host([variant='square']),\n:host([variant='circle']) {\n display: inline-flex;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([variant='head']) {\n margin-bottom: $cat-head-margin-bottom;\n}\n\n:host([variant='body']) {\n margin-bottom: $cat-body-margin-bottom;\n}\n\n.skeleton {\n display: block;\n border-radius: cat-border-radius('m');\n background: var(--background);\n}\n\n.skeleton-circle {\n border-radius: 10rem;\n}\n\n// ----- size\n\n@mixin size($size, $lvl) {\n $-text-offset: 4px;\n .skeleton-#{$size} {\n &.skeleton-rectangle {\n width: var(--width, 100%);\n height: var(--height, #{cat-size($size)});\n }\n\n &.skeleton-square,\n &.skeleton-circle {\n width: var(--width, #{cat-size($size)});\n height: var(--height, #{cat-size($size)});\n }\n\n &.skeleton-head,\n &.skeleton-body {\n width: var(--width, var(--line-width, 100%));\n }\n\n &.skeleton-head {\n height: calc(#{cat-head-font-size($lvl)} - #{$-text-offset});\n margin: calc((#{cat-head-line-height($lvl)} - #{cat-head-font-size($lvl)} + #{$-text-offset}) * 0.5) 0;\n }\n\n &.skeleton-body {\n height: calc(#{cat-body-font-size($size)} - #{$-text-offset});\n margin: calc((#{cat-body-line-height($size)} - #{cat-body-font-size($size)} + #{$-text-offset}) * 0.5) 0;\n }\n }\n}\n\n@include size('xs', 5);\n@include size('s', 4);\n@include size('m', 3);\n@include size('l', 2);\n@include size('xl', 1);\n\n// ----- animation\n\n.skeleton-sheen {\n background: linear-gradient(90deg, var(--background) 33%, var(--highlight) 50%, var(--background) 66%)\n var(--background);\n background-size: 300% 100%;\n animation: sheen var(--speed) ease-in-out infinite;\n}\n\n.skeleton-pulse {\n position: relative;\n overflow: hidden;\n\n &::before {\n content: '';\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: var(--highlight);\n animation: var(--speed) ease-in-out 0.5s infinite normal none running pulse;\n opacity: 0;\n }\n}\n\n@keyframes sheen {\n 0% {\n background-position: right;\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: 1;\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n/**\n * Skeletons are used to show where content will eventually be drawn.\n */\n@Component({\n tag: 'cat-skeleton',\n styleUrl: 'cat-skeleton.scss',\n shadow: true\n})\nexport class CatSkeleton {\n /**\n * The animation style of the skeleton.\n */\n @Prop() effect: 'plain' | 'sheen' | 'pulse' = 'sheen';\n\n /**\n * The rendering style of the skeleton.\n */\n @Prop() variant: 'rectangle' | 'square' | 'circle' | 'head' | 'body' = 'rectangle';\n\n /**\n * The size of the skeleton. If the variant is set to \"head\", the size values\n * \"xs\" to \"xl\" translate to the head levels `h1` to `h5`.\n */\n @Prop() size: 'xs' | 's' | 'm' | 'l' | 'xl' = 'm';\n\n /**\n * The number of text lines to be rendered for \"head\" and \"body\" variants.\n * Defaults to 1 for \"head\" and 3 for \"body\". Will be ignored for other\n * variants.\n */\n @Prop() lines?: number;\n\n render() {\n return (\n <Host>\n {Array.from(Array(this.count)).map(() => (\n <div\n style={this.style}\n class={{\n skeleton: true,\n [`skeleton-${this.effect}`]: Boolean(this.effect),\n [`skeleton-${this.variant}`]: Boolean(this.variant),\n [`skeleton-${this.size}`]: Boolean(this.size)\n }}\n ></div>\n ))}\n </Host>\n );\n }\n\n private get count() {\n switch (this.variant) {\n case 'head':\n return Math.max(1, this.lines || 1);\n case 'body':\n return Math.max(1, this.lines || 3);\n default:\n return 1;\n }\n }\n\n private get style() {\n return this.variant === 'head' || this.variant === 'body'\n ? {\n '--line-width': `${this.random(50, 100)}%`\n }\n : undefined;\n }\n\n private random(min: number, max: number) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n }\n}\n"],"version":3}
@@ -1,23 +0,0 @@
1
- import { r as registerInstance, h } from './index-471d4e05.js';
2
-
3
- const catSpinnerCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host[hidden]{display:none}span{display:inline-flex}svg{fill:none;stroke:currentColor;stroke-dasharray:135px;stroke-dashoffset:95px;stroke-linecap:round;stroke-width:5px;transform-origin:center center;animation:spin 0.75s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite;width:1em;height:1em}.spinner-xs svg{font-size:0.75rem}.spinner-s svg{font-size:1rem}.spinner-m svg{font-size:1.25rem}.spinner-l svg{font-size:1.5rem}.spinner-xl svg{font-size:1.75rem}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
4
-
5
- const CatSpinner = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- /**
9
- * The size of the spinner.
10
- */
11
- this.size = 'm';
12
- }
13
- render() {
14
- return (h("span", { "aria-label": this.a11yLabel, "aria-hidden": this.a11yLabel ? null : 'true', class: {
15
- [`spinner-${this.size}`]: this.size !== 'inline'
16
- } }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48" }, h("circle", { cx: "24", cy: "24", r: "21.5" }))));
17
- }
18
- };
19
- CatSpinner.style = catSpinnerCss;
20
-
21
- export { CatSpinner as cat_spinner };
22
-
23
- //# sourceMappingURL=cat-spinner.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"cat-spinner.entry.esm.js","mappings":";;AAAA,MAAM,aAAa,GAAG,6nBAA6nB;;MCUtoB,UAAU;EALvB;;;;;IASU,SAAI,GAA6C,GAAG,CAAC;GAuB9D;EAfC,MAAM;IACJ,QACE,0BACc,IAAI,CAAC,SAAS,iBACb,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,MAAM,EAC3C,KAAK,EAAE;QACL,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;OACjD,IAED,WAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,IACzD,cAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,MAAM,GAAU,CACtC,CACD,EACP;GACH;;;;;;","names":[],"sources":["./src/components/cat-spinner/cat-spinner.scss?tag=cat-spinner&encapsulation=shadow","./src/components/cat-spinner/cat-spinner.tsx"],"sourcesContent":["@use 'variables' as *;\n@use 'mixins' as *;\n\n:host {\n display: inline-flex;\n vertical-align: middle;\n @include cat-select(none);\n\n &[hidden] {\n display: none;\n }\n}\n\nspan {\n display: inline-flex;\n}\n\nsvg {\n fill: none;\n stroke: currentColor;\n stroke-dasharray: 135px;\n stroke-dashoffset: 95px;\n stroke-linecap: round;\n stroke-width: 5px;\n transform-origin: center center;\n animation: spin 0.75s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite;\n width: 1em;\n height: 1em;\n}\n\n// ----- sizes\n\n@mixin size($size) {\n .spinner-#{$size} svg {\n font-size: cat-size($size) * 0.5;\n }\n}\n\n@include size('xs');\n@include size('s');\n@include size('m');\n@include size('l');\n@include size('xl');\n\n// ----- animation\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Spinners are used to indicate users that their action is being processed.\n */\n@Component({\n tag: 'cat-spinner',\n styleUrl: 'cat-spinner.scss',\n shadow: true\n})\nexport class CatSpinner {\n /**\n * The size of the spinner.\n */\n @Prop() size: 'xs' | 's' | 'm' | 'l' | 'xl' | 'inline' = 'm';\n\n /**\n * Adds accessible label for the spinner that is only shown for screen\n * readers. The `aria-hidden` attribute will be set if no label is present.\n */\n @Prop({ attribute: 'a11y-label' }) a11yLabel?: string;\n\n render() {\n return (\n <span\n aria-label={this.a11yLabel}\n aria-hidden={this.a11yLabel ? null : 'true'}\n class={{\n [`spinner-${this.size}`]: this.size !== 'inline'\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\">\n <circle cx=\"24\" cy=\"24\" r=\"21.5\"></circle>\n </svg>\n </span>\n );\n }\n}\n"],"version":3}
@@ -1,87 +0,0 @@
1
- import { r as registerInstance, f as createEvent, h, e as Host } from './index-471d4e05.js';
2
- import { l as loglevel } from './loglevel-7f0f71af.js';
3
-
4
- var e,t,n="function"==typeof Map?new Map:(e=[],t=[],{has:function(t){return e.indexOf(t)>-1},get:function(n){return t[e.indexOf(n)]},set:function(n,o){-1===e.indexOf(n)&&(e.push(n),t.push(o));},delete:function(n){var o=e.indexOf(n);o>-1&&(e.splice(o,1),t.splice(o,1));}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test");}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t};}function r(e){var t=n.get(e);t&&t.destroy();}function i(e){var t=n.get(e);t&&t.update();}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!n.has(e)){var t,r=null,i=null,l=null,d=function(){e.clientWidth!==i&&c();},a=function(t){window.removeEventListener("resize",d,!1),e.removeEventListener("input",c,!1),e.removeEventListener("keyup",c,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",c,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n];}),n.delete(e);}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",a,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",c,!1),window.addEventListener("resize",d,!1),e.addEventListener("input",c,!1),e.addEventListener("autosize:update",c,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",n.set(e,{destroy:a,update:c}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),r="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(r)&&(r=0),c();}function u(t){var n=e.style.width;e.style.width="0px",e.style.width=n,e.style.overflowY=t;}function s(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),n=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+r+"px",i=e.clientWidth,t.forEach(function(e){e.node.scrollTop=e.scrollTop;}),n&&(document.documentElement.scrollTop=n);}}function c(){s();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r<t?"hidden"===n.overflowY&&(u("scroll"),s(),r="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight):"hidden"!==n.overflowY&&(u("hidden"),s(),r="content-box"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight),l!==r){l=r;var i=o("autosize:resized");try{e.dispatchEvent(i);}catch(e){}}}}(e)}),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],r),e},l.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],i),e});var d=l;
5
-
6
- const catTextareaCss = ":host{display:flex;flex-direction:column;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;margin-bottom:1rem}:host([hidden]){display:none}label{display:block;align-self:flex-start}label.hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.input-optional{margin-left:0.25rem;font-size:0.75rem;line-height:1rem;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}textarea{margin:0;padding:0.625rem 0.75rem;width:100%;min-height:2.5rem;font:inherit;background:white;border-radius:0.25rem;border:none;box-shadow:0 0 0 1px #d7dbe0;transition:box-shadow 0.13s linear}textarea:disabled{background:#f8f8fb;cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135));resize:none}textarea:hover:not(:disabled){box-shadow:0 0 0 2px #d7dbe0}textarea:focus{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255))}textarea::placeholder{color:rgb(var(--cat-font-color-muted, 105, 118, 135))}.input-hint{font-size:0.875rem;line-height:1rem;margin:0}";
7
-
8
- let nextUniqueId = 0;
9
- const CatTextarea = class {
10
- constructor(hostRef) {
11
- registerInstance(this, hostRef);
12
- this.catChange = createEvent(this, "catChange", 7);
13
- this.catFocus = createEvent(this, "catFocus", 7);
14
- this.catBlur = createEvent(this, "catBlur", 7);
15
- this.id = `cat-textarea-${nextUniqueId++}`;
16
- /**
17
- * Whether the textarea is disabled.
18
- */
19
- this.disabled = false;
20
- /**
21
- * The label for the textarea.
22
- */
23
- this.label = '';
24
- /**
25
- * Visually hide the label, but still show it to assistive technologies like screen readers.
26
- */
27
- this.labelHidden = false;
28
- /**
29
- * The name of the form control. Submitted with the form as part of a name/value pair.
30
- */
31
- this.name = '';
32
- /**
33
- * The value is not editable.
34
- */
35
- this.readonly = false;
36
- /**
37
- * A value is required or must be check for the form to be submittable.
38
- */
39
- this.required = false;
40
- /**
41
- * Specifies the initial number of lines in the textarea.
42
- */
43
- this.rows = 3;
44
- }
45
- componentWillRender() {
46
- if (!this.label) {
47
- loglevel.error('[A11y] Missing ARIA label on textarea', this);
48
- }
49
- }
50
- componentDidLoad() {
51
- d(this.textarea);
52
- }
53
- /**
54
- * Sets focus on the textarea. Use this method instead of `textarea.focus()`.
55
- *
56
- * @param options An optional object providing options to control aspects of
57
- * the focusing process.
58
- */
59
- async setFocus(options) {
60
- this.textarea.focus(options);
61
- }
62
- // /**
63
- // * Clear the input.
64
- // */
65
- // @Method()
66
- // async clear(): Promise<void> {
67
- // this.inputValue = '';
68
- // }
69
- render() {
70
- return (h(Host, null, this.label && (h("label", { htmlFor: this.id, class: { hidden: this.labelHidden } }, h("span", { part: "label" }, this.label, !this.required && (h("span", { class: "input-optional", "aria-hidden": "true" }, "(Optional)"))))), h("textarea", { ref: el => (this.textarea = el), id: this.id, disabled: this.disabled, maxlength: this.maxLength, minlength: this.minLength, name: this.name, placeholder: this.placeholder, readonly: this.readonly, required: this.required, rows: this.rows, value: this.value, onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), this.hint && h("p", { class: "input-hint" }, this.hint)));
71
- }
72
- onInput(event) {
73
- // this.inputValue = πthis.input.value;
74
- this.catChange.emit(event);
75
- }
76
- onFocus(event) {
77
- this.catFocus.emit(event);
78
- }
79
- onBlur(event) {
80
- this.catBlur.emit(event);
81
- }
82
- };
83
- CatTextarea.style = catTextareaCss;
84
-
85
- export { CatTextarea as cat_textarea };
86
-
87
- //# sourceMappingURL=cat-textarea.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"cat-textarea.entry.esm.js","mappings":"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","names":["log","autosize"],"sources":["./node_modules/autosize/dist/autosize.esm.js","./src/components/cat-textarea/cat-textarea.scss?tag=cat-textarea&encapsulation=shadow","./src/components/cat-textarea/cat-textarea.tsx"],"sourcesContent":["var e,t,n=\"function\"==typeof Map?new Map:(e=[],t=[],{has:function(t){return e.indexOf(t)>-1},get:function(n){return t[e.indexOf(n)]},set:function(n,o){-1===e.indexOf(n)&&(e.push(n),t.push(o))},delete:function(n){var o=e.indexOf(n);o>-1&&(e.splice(o,1),t.splice(o,1))}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event(\"test\")}catch(e){o=function(e){var t=document.createEvent(\"Event\");return t.initEvent(e,!0,!1),t}}function r(e){var t=n.get(e);t&&t.destroy()}function i(e){var t=n.get(e);t&&t.update()}var l=null;\"undefined\"==typeof window||\"function\"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return function(e){if(e&&e.nodeName&&\"TEXTAREA\"===e.nodeName&&!n.has(e)){var t,r=null,i=null,l=null,d=function(){e.clientWidth!==i&&c()},a=function(t){window.removeEventListener(\"resize\",d,!1),e.removeEventListener(\"input\",c,!1),e.removeEventListener(\"keyup\",c,!1),e.removeEventListener(\"autosize:destroy\",a,!1),e.removeEventListener(\"autosize:update\",c,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n]}),n.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener(\"autosize:destroy\",a,!1),\"onpropertychange\"in e&&\"oninput\"in e&&e.addEventListener(\"keyup\",c,!1),window.addEventListener(\"resize\",d,!1),e.addEventListener(\"input\",c,!1),e.addEventListener(\"autosize:update\",c,!1),e.style.overflowX=\"hidden\",e.style.wordWrap=\"break-word\",n.set(e,{destroy:a,update:c}),\"vertical\"===(t=window.getComputedStyle(e,null)).resize?e.style.resize=\"none\":\"both\"===t.resize&&(e.style.resize=\"horizontal\"),r=\"content-box\"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(r)&&(r=0),c()}function u(t){var n=e.style.width;e.style.width=\"0px\",e.style.width=n,e.style.overflowY=t}function s(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),n=document.documentElement&&document.documentElement.scrollTop;e.style.height=\"\",e.style.height=e.scrollHeight+r+\"px\",i=e.clientWidth,t.forEach(function(e){e.node.scrollTop=e.scrollTop}),n&&(document.documentElement.scrollTop=n)}}function c(){s();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r=\"content-box\"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r<t?\"hidden\"===n.overflowY&&(u(\"scroll\"),s(),r=\"content-box\"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight):\"hidden\"!==n.overflowY&&(u(\"hidden\"),s(),r=\"content-box\"===n.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight),l!==r){l=r;var i=o(\"autosize:resized\");try{e.dispatchEvent(i)}catch(e){}}}}(e)}),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],r),e},l.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],i),e});var d=l;export default d;\n","@use 'variables' as *;\n@use 'mixins' as *;\n\n:host {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n @include cat-body('m');\n margin-bottom: $cat-body-margin-bottom;\n}\n\n:host([hidden]) {\n display: none;\n}\n\nlabel {\n display: block;\n align-self: flex-start;\n\n &.hidden {\n @include cat-visually-hidden;\n }\n}\n\n.input-optional {\n margin-left: 0.25rem;\n @include cat-body('xs');\n color: cat-token('color.ui.font.muted');\n}\n\ntextarea {\n margin: 0;\n padding: 0.625rem 0.75rem;\n width: 100%;\n min-height: cat-size('m');\n font: inherit;\n background: cat-token('color.ui.background.input');\n border-radius: cat-border-radius('m');\n border: none;\n box-shadow: 0 0 0 1px cat-token('color.ui.border.input');\n transition: box-shadow cat-token('time.transition.s') linear;\n\n &:disabled {\n background: cat-token('color.ui.background.inputDisabled');\n cursor: not-allowed;\n color: cat-token('color.ui.font.muted');\n resize: none;\n }\n\n &:hover:not(:disabled) {\n box-shadow: 0 0 0 2px cat-token('color.ui.border.input');\n }\n\n &:focus {\n outline: 2px solid cat-token('color.ui.border.focus');\n }\n\n &::placeholder {\n color: cat-token('color.ui.font.muted');\n }\n}\n\n.input-hint {\n @include cat-body('s');\n margin: 0;\n}\n","import { Component, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core';\nimport log from 'loglevel';\nimport autosize from 'autosize';\n\nlet nextUniqueId = 0;\n\n/**\n * Textarea specifies a control that allows user to write text over multiple\n * rows. Used when the expected user input is long. For shorter input, use the\n * input component.\n *\n * @part label - The label content.\n */\n@Component({\n tag: 'cat-textarea',\n styleUrl: 'cat-textarea.scss',\n shadow: true\n})\nexport class CatTextarea {\n private readonly id = `cat-textarea-${nextUniqueId++}`;\n private textarea!: HTMLTextAreaElement;\n\n /**\n * Whether the textarea is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Optional hint text to be displayed with the textarea.\n */\n @Prop() hint?: string;\n\n /**\n * The label for the textarea.\n */\n @Prop() label = '';\n\n /**\n * Visually hide the label, but still show it to assistive technologies like screen readers.\n */\n @Prop() labelHidden = false;\n\n /**\n * A maximum length (number of characters) for textual values.\n */\n @Prop() maxLength?: number;\n\n /**\n * A minimum length (number of characters) for textual values.\n */\n @Prop() minLength?: number;\n\n /**\n * The name of the form control. Submitted with the form as part of a name/value pair.\n */\n @Prop() name = '';\n\n /**\n * The placeholder text to display within the input.\n */\n @Prop() placeholder?: string;\n\n /**\n * The value is not editable.\n */\n @Prop() readonly = false;\n\n /**\n * A value is required or must be check for the form to be submittable.\n */\n @Prop() required = false;\n\n /**\n * Specifies the initial number of lines in the textarea.\n */\n @Prop() rows = 3;\n\n /**\n * The initial value of the control.\n */\n @Prop() value?: string | number;\n\n /**\n * Emitted when the value is changed.\n */\n @Event() catChange!: EventEmitter;\n\n /**\n * Emitted when the textarea received focus.\n */\n @Event() catFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the textarea loses focus.\n */\n @Event() catBlur!: EventEmitter<FocusEvent>;\n\n componentWillRender(): void {\n if (!this.label) {\n log.error('[A11y] Missing ARIA label on textarea', this);\n }\n }\n\n componentDidLoad(): void {\n autosize(this.textarea);\n }\n\n /**\n * Sets focus on the textarea. Use this method instead of `textarea.focus()`.\n *\n * @param options An optional object providing options to control aspects of\n * the focusing process.\n */\n @Method()\n async setFocus(options?: FocusOptions): Promise<void> {\n this.textarea.focus(options);\n }\n\n // /**\n // * Clear the input.\n // */\n // @Method()\n // async clear(): Promise<void> {\n // this.inputValue = '';\n // }\n\n render() {\n return (\n <Host>\n {this.label && (\n <label htmlFor={this.id} class={{ hidden: this.labelHidden }}>\n <span part=\"label\">\n {this.label}\n {!this.required && (\n <span class=\"input-optional\" aria-hidden=\"true\">\n (Optional)\n </span>\n )}\n </span>\n </label>\n )}\n <textarea\n ref={el => (this.textarea = el as HTMLTextAreaElement)}\n id={this.id}\n disabled={this.disabled}\n maxlength={this.maxLength}\n minlength={this.minLength}\n name={this.name}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n rows={this.rows}\n value={this.value}\n onInput={this.onInput.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n ></textarea>\n {this.hint && <p class=\"input-hint\">{this.hint}</p>}\n </Host>\n );\n }\n\n private onInput(event: Event) {\n // this.inputValue = πthis.input.value;\n this.catChange.emit(event);\n }\n\n private onFocus(event: FocusEvent) {\n this.catFocus.emit(event);\n }\n\n private onBlur(event: FocusEvent) {\n this.catBlur.emit(event);\n }\n}\n"],"version":3}
@@ -1,66 +0,0 @@
1
- import { r as registerInstance, f as createEvent, h } from './index-471d4e05.js';
2
- import { l as loglevel } from './loglevel-7f0f71af.js';
3
-
4
- const catToggleCss = ":host{display:flex;margin-bottom:1rem}:host([hidden]){display:none}label{flex:0 1 auto;display:flex;gap:0.5rem;font-size:0.9375rem;line-height:1.25rem;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}input{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;width:2rem;height:1.25rem;border-radius:10rem;background-color:#d7dbe0;transition:background-color 0.13s ease}:checked+.toggle{background-color:rgb(var(--cat-primary-bg, 32, 127, 138))}:focus-visible+.toggle{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.toggle::after{content:\"\";position:absolute;width:1rem;height:1rem;background:#fff;border-radius:10rem;transform:translateX(calc(2px - 0.5rem));transition:transform 0.13s linear;box-shadow:0 1px 4px 0 rgba(16, 29, 48, 0.2)}:checked+.toggle::after{transform:translateX(calc(-2px + 0.5rem))}.label{flex:1 1 auto}.is-hidden .label{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.is-disabled{cursor:not-allowed;color:rgb(var(--cat-font-color-muted, 105, 118, 135))}";
5
-
6
- let nextUniqueId = 0;
7
- const CatToggle = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- this.catChange = createEvent(this, "catChange", 7);
11
- this.catFocus = createEvent(this, "catFocus", 7);
12
- this.catBlur = createEvent(this, "catBlur", 7);
13
- this.id = `cat-toggle-${nextUniqueId++}`;
14
- /**
15
- * Checked state of the toggle.
16
- */
17
- this.checked = false;
18
- /**
19
- * Disabled state of the toggle.
20
- */
21
- this.disabled = false;
22
- /**
23
- * The label of the toggle that is visible.
24
- */
25
- this.label = '';
26
- /**
27
- * Visually hide the label, but still show it to assistive technologies like screen readers.
28
- */
29
- this.labelHidden = false;
30
- /**
31
- * Required state of the toggle
32
- */
33
- this.required = false;
34
- }
35
- componentWillRender() {
36
- if (!this.label) {
37
- loglevel.error('[A11y] Missing ARIA label on toggle', this);
38
- }
39
- }
40
- /**
41
- * Sets focus on the toggle. Use this method instead of `toggle.focus()`.
42
- *
43
- * @param options An optional object providing options to control aspects of
44
- * the focusing process.
45
- */
46
- async setFocus(options) {
47
- this.input.focus(options);
48
- }
49
- render() {
50
- return (h("label", { htmlFor: this.id, class: { 'is-hidden': this.labelHidden, 'is-disabled': this.disabled } }, h("input", { ref: el => (this.input = el), id: this.id, type: "checkbox", name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, class: "form-check-input", role: "switch", onInput: this.onInput.bind(this), onFocus: this.onFocus.bind(this), onBlur: this.onBlur.bind(this) }), h("span", { class: "toggle", part: "toggle" }), h("span", { class: "label", part: "label" }, this.label)));
51
- }
52
- onInput(event) {
53
- this.catChange.emit(event);
54
- }
55
- onFocus(event) {
56
- this.catFocus.emit(event);
57
- }
58
- onBlur(event) {
59
- this.catBlur.emit(event);
60
- }
61
- };
62
- CatToggle.style = catToggleCss;
63
-
64
- export { CatToggle as cat_toggle };
65
-
66
- //# sourceMappingURL=cat-toggle.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"cat-toggle.entry.esm.js","mappings":";;;AAAA,MAAM,YAAY,GAAG,q9CAAq9C;;ACG1+C,IAAI,YAAY,GAAG,CAAC,CAAC;MAcR,SAAS;EALtB;;;;;IAMmB,OAAE,GAAG,cAAc,YAAY,EAAE,EAAE,CAAC;;;;IAM7C,YAAO,GAAG,KAAK,CAAC;;;;IAKhB,aAAQ,GAAG,KAAK,CAAC;;;;IAKjB,UAAK,GAAG,EAAE,CAAC;;;;IAKX,gBAAW,GAAG,KAAK,CAAC;;;;IAUpB,aAAQ,GAAG,KAAK,CAAC;GA4E1B;EAtDC,mBAAmB;IACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;MACfA,QAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC;KACxD;GACF;;;;;;;EASD,MAAM,QAAQ,CAAC,OAAsB;IACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;GAC3B;EAED,MAAM;IACJ,QACE,aAAO,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,IAC7F,aACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,EAAsB,CAAC,EAChD,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAC9B,EACF,YAAM,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ,EAC1C,YAAM,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,IAC7B,IAAI,CAAC,KAAK,CACN,CACD,EACR;GACH;EAEO,OAAO,CAAC,KAAY;IAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;GAC5B;EAEO,OAAO,CAAC,KAAiB;IAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;GAC3B;EAEO,MAAM,CAAC,KAAiB;IAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;GAC1B;;;;;;","names":["log"],"sources":["./src/components/cat-toggle/cat-toggle.scss?tag=cat-toggle&encapsulation=shadow","./src/components/cat-toggle/cat-toggle.tsx"],"sourcesContent":["@use 'variables' as *;\n@use 'mixins' as *;\n\n:host {\n display: flex;\n margin-bottom: $cat-body-margin-bottom;\n}\n\n:host([hidden]) {\n display: none;\n}\n\nlabel {\n flex: 0 1 auto;\n display: flex;\n gap: 0.5rem;\n @include cat-body('m');\n @include cat-select(none);\n cursor: pointer;\n}\n\ninput {\n @include cat-visually-hidden;\n}\n\n.toggle {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n width: 2rem;\n height: 1.25rem;\n border-radius: 10rem;\n background-color: cat-token('color.ui.border.input');\n transition: background-color cat-token('time.transition.s') ease;\n\n :checked + & {\n background-color: cat-token('color.theme.primary.bg');\n }\n\n :focus-visible + & {\n outline: 2px solid cat-token('color.ui.border.focus');\n outline-offset: 1px;\n }\n\n &::after {\n content: '';\n position: absolute;\n width: 1rem;\n height: 1rem;\n background: #fff;\n border-radius: 10rem;\n transform: translateX(calc(2px - 0.5rem));\n transition: transform cat-token('time.transition.s') linear;\n @include cat-elevation(1);\n\n :checked + & {\n transform: translateX(calc(-2px + 0.5rem));\n }\n }\n}\n\n.label {\n flex: 1 1 auto;\n\n .is-hidden & {\n @include cat-visually-hidden;\n }\n}\n\n.is-disabled {\n cursor: not-allowed;\n color: cat-token('color.ui.font.muted');\n}\n","import { Component, Event, EventEmitter, h, Prop, Method } from '@stencil/core';\nimport log from 'loglevel';\n\nlet nextUniqueId = 0;\n\n/**\n * Toggles are graphical interface switches that give user control over a\n * feature or option that can be turned on or off.\n *\n * @part toggle - The toggle element.\n * @part label - The label content.\n */\n@Component({\n tag: 'cat-toggle',\n styleUrls: ['cat-toggle.scss'],\n shadow: true\n})\nexport class CatToggle {\n private readonly id = `cat-toggle-${nextUniqueId++}`;\n private input!: HTMLInputElement;\n\n /**\n * Checked state of the toggle.\n */\n @Prop() checked = false;\n\n /**\n * Disabled state of the toggle.\n */\n @Prop() disabled = false;\n\n /**\n * The label of the toggle that is visible.\n */\n @Prop() label = '';\n\n /**\n * Visually hide the label, but still show it to assistive technologies like screen readers.\n */\n @Prop() labelHidden = false;\n\n /**\n * The name of the input\n */\n @Prop() name?: string;\n\n /**\n * Required state of the toggle\n */\n @Prop() required = false;\n\n /**\n * The value of the toggle\n */\n @Prop() value?: string;\n\n /**\n * Emitted when the checked status of the toggle is changed.\n */\n @Event() catChange!: EventEmitter;\n\n /**\n * Emitted when the toggle received focus.\n */\n @Event() catFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() catBlur!: EventEmitter<FocusEvent>;\n\n componentWillRender(): void {\n if (!this.label) {\n log.error('[A11y] Missing ARIA label on toggle', this);\n }\n }\n\n /**\n * Sets focus on the toggle. Use this method instead of `toggle.focus()`.\n *\n * @param options An optional object providing options to control aspects of\n * the focusing process.\n */\n @Method()\n async setFocus(options?: FocusOptions): Promise<void> {\n this.input.focus(options);\n }\n\n render() {\n return (\n <label htmlFor={this.id} class={{ 'is-hidden': this.labelHidden, 'is-disabled': this.disabled }}>\n <input\n ref={el => (this.input = el as HTMLInputElement)}\n id={this.id}\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n class=\"form-check-input\"\n role=\"switch\"\n onInput={this.onInput.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n />\n <span class=\"toggle\" part=\"toggle\"></span>\n <span class=\"label\" part=\"label\">\n {this.label}\n </span>\n </label>\n );\n }\n\n private onInput(event: Event) {\n this.catChange.emit(event);\n }\n\n private onFocus(event: FocusEvent) {\n this.catFocus.emit(event);\n }\n\n private onBlur(event: FocusEvent) {\n this.catBlur.emit(event);\n }\n}\n"],"version":3}
@@ -1,129 +0,0 @@
1
- import { r as registerInstance, h, e as Host } from './index-471d4e05.js';
2
- import { b as firstTabbable, c as autoUpdate, d as computePosition, o as offset, e as flip } from './first-tabbable-2d9f9e9a.js';
3
-
4
- const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
5
-
6
- const catTooltipCss = ":host{display:contents}:host([hidden]){display:none}.tooltip{position:absolute;font-size:0.875rem;line-height:1rem;font-weight:500;padding:0.5rem 0.75rem;background-color:white;border-radius:0.25rem;color:black;white-space:nowrap;transition:all 0.25s linear 0s;visibility:hidden;opacity:0;box-shadow:rgba(0, 0, 0, 0.08) 0 1px 8px 0;border:1px solid #ebecf0;z-index:200}.tooltip-show{opacity:1;visibility:visible}.tooltip-trigger{display:inline-block}.tooltip-trigger:focus{outline:none}";
7
-
8
- let nextUniqueId = 0;
9
- const CatTooltip = class {
10
- constructor(hostRef) {
11
- registerInstance(this, hostRef);
12
- this.id = `cat-tooltip-${nextUniqueId++}`;
13
- /**
14
- * The content of the tooltip.
15
- */
16
- this.content = '';
17
- /**
18
- * Specifies that the tooltip should be disabled. A disabled tooltip is unusable,
19
- * and invisible. Corresponds with the native HTML disabled attribute.
20
- */
21
- this.disabled = false;
22
- /**
23
- * The placement of the tooltip.
24
- */
25
- this.placement = 'top';
26
- /**
27
- * The delay time for showing tooltip in ms.
28
- */
29
- this.showDelay = 500;
30
- /**
31
- * The delay time for hiding tooltip in ms.
32
- */
33
- this.hideDelay = 0;
34
- /**
35
- * The duration of tap to show the tooltip.
36
- */
37
- this.longTouchDuration = 1000;
38
- }
39
- handleKeyDown({ key }) {
40
- key === 'Escape' && this.hideListener();
41
- }
42
- componentDidLoad() {
43
- var _a, _b, _c, _d, _e, _f, _g;
44
- this.trigger = firstTabbable(this.triggerElement) || this.triggerElement;
45
- if (!this.isTabbable) {
46
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.setAttribute('tabindex', '0');
47
- }
48
- if (this.trigger && this.tooltip) {
49
- autoUpdate(this.trigger, this.tooltip, () => this.update());
50
- }
51
- if (isTouchDevice) {
52
- (_b = this.trigger) === null || _b === void 0 ? void 0 : _b.addEventListener('touchstart', this.touchStartListener.bind(this));
53
- (_c = this.trigger) === null || _c === void 0 ? void 0 : _c.addEventListener('touchend', this.touchEndListener.bind(this));
54
- }
55
- else {
56
- (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.addEventListener('focusin', this.showListener.bind(this));
57
- (_e = this.trigger) === null || _e === void 0 ? void 0 : _e.addEventListener('focusout', this.hideListener.bind(this));
58
- (_f = this.trigger) === null || _f === void 0 ? void 0 : _f.addEventListener('mouseenter', this.showListener.bind(this));
59
- (_g = this.trigger) === null || _g === void 0 ? void 0 : _g.addEventListener('mouseleave', this.hideListener.bind(this));
60
- }
61
- }
62
- disconnectedCallback() {
63
- var _a, _b, _c, _d, _e, _f;
64
- if (isTouchDevice) {
65
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.removeEventListener('touchstart', this.touchStartListener.bind(this));
66
- (_b = this.trigger) === null || _b === void 0 ? void 0 : _b.removeEventListener('touchend', this.touchEndListener.bind(this));
67
- }
68
- else {
69
- (_c = this.trigger) === null || _c === void 0 ? void 0 : _c.removeEventListener('mouseenter', this.showListener.bind(this));
70
- (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.removeEventListener('mouseleave', this.hideListener.bind(this));
71
- (_e = this.trigger) === null || _e === void 0 ? void 0 : _e.removeEventListener('focusin', this.showListener.bind(this));
72
- (_f = this.trigger) === null || _f === void 0 ? void 0 : _f.removeEventListener('focusout', this.hideListener.bind(this));
73
- }
74
- }
75
- render() {
76
- return (h(Host, null, h("div", { ref: el => (this.triggerElement = el), "aria-describedby": this.id, class: "tooltip-trigger" }, h("slot", null)), this.content && !this.disabled && (h("div", { ref: el => (this.tooltip = el), id: this.id, class: "tooltip" }, this.content))));
77
- }
78
- get isTabbable() {
79
- return firstTabbable(this.trigger);
80
- }
81
- update() {
82
- if (this.trigger && this.tooltip) {
83
- computePosition(this.trigger, this.tooltip, {
84
- placement: this.placement,
85
- middleware: [offset(CatTooltip.OFFSET), flip()]
86
- }).then(({ x, y }) => {
87
- if (this.tooltip) {
88
- Object.assign(this.tooltip.style, {
89
- left: `${Math.max(0, x)}px`,
90
- top: `${y}px`
91
- });
92
- }
93
- });
94
- }
95
- }
96
- showListener() {
97
- window.clearTimeout(this.hideTimeout);
98
- this.showTimeout = window.setTimeout(() => {
99
- var _a, _b;
100
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.focus();
101
- (_b = this.tooltip) === null || _b === void 0 ? void 0 : _b.classList.add('tooltip-show');
102
- }, this.showDelay);
103
- }
104
- hideListener() {
105
- window.clearTimeout(this.showTimeout);
106
- this.hideTimeout = window.setTimeout(() => {
107
- var _a, _b;
108
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.blur();
109
- (_b = this.tooltip) === null || _b === void 0 ? void 0 : _b.classList.remove('tooltip-show');
110
- }, this.hideDelay);
111
- }
112
- touchStartListener() {
113
- this.touchTimeout = window.setTimeout(() => {
114
- var _a;
115
- (_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.add('tooltip-show');
116
- }, this.longTouchDuration);
117
- }
118
- touchEndListener() {
119
- var _a;
120
- window.clearTimeout(this.touchTimeout);
121
- (_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.remove('tooltip-show');
122
- }
123
- };
124
- CatTooltip.OFFSET = 4;
125
- CatTooltip.style = catTooltipCss;
126
-
127
- export { CatTooltip as cat_tooltip };
128
-
129
- //# sourceMappingURL=cat-tooltip.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"cat-tooltip.entry.esm.js","mappings":"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","names":["isTouchScreen"],"sources":["./src/utils/is-touch-screen.ts","./src/components/cat-tooltip/cat-tooltip.scss?tag=cat-tooltip&encapsulation=shadow","./src/components/cat-tooltip/cat-tooltip.tsx"],"sourcesContent":["const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n\nexport default isTouchDevice;\n","@use 'variables' as *;\n@use 'mixins' as *;\n\n:host {\n display: contents;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.tooltip {\n position: absolute;\n @include cat-body('s', 500);\n padding: 0.5rem 0.75rem;\n background-color: cat-token('color.ui.background.tooltip');\n border-radius: cat-border-radius('m');\n color: cat-token('color.ui.font.tooltip');\n white-space: nowrap;\n transition: all 0.25s linear 0s;\n visibility: hidden;\n opacity: 0;\n box-shadow: rgb(0 0 0 / 8%) 0 1px 8px 0;\n border: 1px solid cat-token('color.ui.border.default');\n z-index: $cat-tooltip-z-index;\n\n &-show {\n opacity: 1;\n visibility: visible;\n }\n}\n\n.tooltip-trigger {\n display: inline-block;\n\n &:focus {\n outline: none;\n }\n}\n","import { Component, h, Host, Listen, Prop } from '@stencil/core';\nimport { autoUpdate, computePosition, flip, offset, Placement } from '@floating-ui/dom';\nimport isTouchScreen from '../../utils/is-touch-screen';\nimport firstTabbable from '../../utils/first-tabbable';\nimport { FocusableElement } from 'tabbable';\n\nlet nextUniqueId = 0;\n\n@Component({\n tag: 'cat-tooltip',\n styleUrl: 'cat-tooltip.scss',\n shadow: true\n})\nexport class CatTooltip {\n private static readonly OFFSET = 4;\n private readonly id = `cat-tooltip-${nextUniqueId++}`;\n private tooltip?: HTMLElement;\n private triggerElement?: HTMLElement;\n private trigger?: FocusableElement;\n private showTimeout?: number;\n private hideTimeout?: number;\n private touchTimeout?: number;\n\n /**\n * The content of the tooltip.\n */\n @Prop() content = '';\n\n /**\n * Specifies that the tooltip should be disabled. A disabled tooltip is unusable,\n * and invisible. Corresponds with the native HTML disabled attribute.\n */\n @Prop() disabled = false;\n\n /**\n * The placement of the tooltip.\n */\n @Prop() placement: Placement = 'top';\n\n /**\n * The delay time for showing tooltip in ms.\n */\n @Prop() showDelay = 500;\n\n /**\n * The delay time for hiding tooltip in ms.\n */\n @Prop() hideDelay = 0;\n\n /**\n * The duration of tap to show the tooltip.\n */\n @Prop() longTouchDuration = 1000;\n\n @Listen('keydown')\n handleKeyDown({ key }: KeyboardEvent) {\n key === 'Escape' && this.hideListener();\n }\n\n componentDidLoad(): void {\n this.trigger = firstTabbable(this.triggerElement) || this.triggerElement;\n if (!this.isTabbable) {\n this.trigger?.setAttribute('tabindex', '0');\n }\n if (this.trigger && this.tooltip) {\n autoUpdate(this.trigger, this.tooltip, () => this.update());\n }\n\n if (isTouchScreen) {\n this.trigger?.addEventListener('touchstart', this.touchStartListener.bind(this));\n this.trigger?.addEventListener('touchend', this.touchEndListener.bind(this));\n } else {\n this.trigger?.addEventListener('focusin', this.showListener.bind(this));\n this.trigger?.addEventListener('focusout', this.hideListener.bind(this));\n this.trigger?.addEventListener('mouseenter', this.showListener.bind(this));\n this.trigger?.addEventListener('mouseleave', this.hideListener.bind(this));\n }\n }\n\n disconnectedCallback(): void {\n if (isTouchScreen) {\n this.trigger?.removeEventListener('touchstart', this.touchStartListener.bind(this));\n this.trigger?.removeEventListener('touchend', this.touchEndListener.bind(this));\n } else {\n this.trigger?.removeEventListener('mouseenter', this.showListener.bind(this));\n this.trigger?.removeEventListener('mouseleave', this.hideListener.bind(this));\n this.trigger?.removeEventListener('focusin', this.showListener.bind(this));\n this.trigger?.removeEventListener('focusout', this.hideListener.bind(this));\n }\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.triggerElement = el)} aria-describedby={this.id} class=\"tooltip-trigger\">\n <slot />\n </div>\n {this.content && !this.disabled && (\n <div ref={el => (this.tooltip = el)} id={this.id} class=\"tooltip\">\n {this.content}\n </div>\n )}\n </Host>\n );\n }\n\n private get isTabbable() {\n return firstTabbable(this.trigger);\n }\n\n private update() {\n if (this.trigger && this.tooltip) {\n computePosition(this.trigger, this.tooltip, {\n placement: this.placement,\n middleware: [offset(CatTooltip.OFFSET), flip()]\n }).then(({ x, y }) => {\n if (this.tooltip) {\n Object.assign(this.tooltip.style, {\n left: `${Math.max(0, x)}px`,\n top: `${y}px`\n });\n }\n });\n }\n }\n\n private showListener() {\n window.clearTimeout(this.hideTimeout);\n this.showTimeout = window.setTimeout(() => {\n this.trigger?.focus();\n this.tooltip?.classList.add('tooltip-show');\n }, this.showDelay);\n }\n\n private hideListener() {\n window.clearTimeout(this.showTimeout);\n this.hideTimeout = window.setTimeout(() => {\n this.trigger?.blur();\n this.tooltip?.classList.remove('tooltip-show');\n }, this.hideDelay);\n }\n\n private touchStartListener() {\n this.touchTimeout = window.setTimeout(() => {\n this.tooltip?.classList.add('tooltip-show');\n }, this.longTouchDuration);\n }\n\n private touchEndListener() {\n window.clearTimeout(this.touchTimeout);\n this.tooltip?.classList.remove('tooltip-show');\n }\n}\n"],"version":3}