@haiilo/catalyst 0.4.0 → 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 (248) hide show
  1. package/package.json +7 -6
  2. package/dist/catalyst/assets/fonts/AzeretMono-Regular.woff2 +0 -0
  3. package/dist/catalyst/assets/fonts/DMSans-Bold.woff2 +0 -0
  4. package/dist/catalyst/assets/fonts/DMSans-BoldItalic.woff2 +0 -0
  5. package/dist/catalyst/assets/fonts/DMSans-Italic.woff2 +0 -0
  6. package/dist/catalyst/assets/fonts/DMSans-Medium.woff2 +0 -0
  7. package/dist/catalyst/assets/fonts/DMSans-MediumItalic.woff2 +0 -0
  8. package/dist/catalyst/assets/fonts/DMSans-Regular.woff2 +0 -0
  9. package/dist/catalyst/assets/fonts/Lato-Black.woff +0 -0
  10. package/dist/catalyst/assets/fonts/Lato-Black.woff2 +0 -0
  11. package/dist/catalyst/assets/fonts/Lato-BlackItalic.woff +0 -0
  12. package/dist/catalyst/assets/fonts/Lato-BlackItalic.woff2 +0 -0
  13. package/dist/catalyst/assets/fonts/Lato-Bold.woff +0 -0
  14. package/dist/catalyst/assets/fonts/Lato-Bold.woff2 +0 -0
  15. package/dist/catalyst/assets/fonts/Lato-BoldItalic.woff +0 -0
  16. package/dist/catalyst/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  17. package/dist/catalyst/assets/fonts/Lato-Hairline.woff +0 -0
  18. package/dist/catalyst/assets/fonts/Lato-Hairline.woff2 +0 -0
  19. package/dist/catalyst/assets/fonts/Lato-HairlineItalic.woff +0 -0
  20. package/dist/catalyst/assets/fonts/Lato-HairlineItalic.woff2 +0 -0
  21. package/dist/catalyst/assets/fonts/Lato-Heavy.woff +0 -0
  22. package/dist/catalyst/assets/fonts/Lato-Heavy.woff2 +0 -0
  23. package/dist/catalyst/assets/fonts/Lato-HeavyItalic.woff +0 -0
  24. package/dist/catalyst/assets/fonts/Lato-HeavyItalic.woff2 +0 -0
  25. package/dist/catalyst/assets/fonts/Lato-Italic.woff +0 -0
  26. package/dist/catalyst/assets/fonts/Lato-Italic.woff2 +0 -0
  27. package/dist/catalyst/assets/fonts/Lato-Light.woff +0 -0
  28. package/dist/catalyst/assets/fonts/Lato-Light.woff2 +0 -0
  29. package/dist/catalyst/assets/fonts/Lato-LightItalic.woff +0 -0
  30. package/dist/catalyst/assets/fonts/Lato-LightItalic.woff2 +0 -0
  31. package/dist/catalyst/assets/fonts/Lato-Medium.woff +0 -0
  32. package/dist/catalyst/assets/fonts/Lato-Medium.woff2 +0 -0
  33. package/dist/catalyst/assets/fonts/Lato-MediumItalic.woff +0 -0
  34. package/dist/catalyst/assets/fonts/Lato-MediumItalic.woff2 +0 -0
  35. package/dist/catalyst/assets/fonts/Lato-Regular.woff +0 -0
  36. package/dist/catalyst/assets/fonts/Lato-Regular.woff2 +0 -0
  37. package/dist/catalyst/assets/fonts/Lato-Semibold.woff +0 -0
  38. package/dist/catalyst/assets/fonts/Lato-Semibold.woff2 +0 -0
  39. package/dist/catalyst/assets/fonts/Lato-SemiboldItalic.woff +0 -0
  40. package/dist/catalyst/assets/fonts/Lato-SemiboldItalic.woff2 +0 -0
  41. package/dist/catalyst/assets/fonts/Lato-Thin.woff +0 -0
  42. package/dist/catalyst/assets/fonts/Lato-Thin.woff2 +0 -0
  43. package/dist/catalyst/assets/fonts/Lato-ThinItalic.woff +0 -0
  44. package/dist/catalyst/assets/fonts/Lato-ThinItalic.woff2 +0 -0
  45. package/dist/catalyst/catalyst.css +0 -1
  46. package/dist/catalyst/catalyst.esm.js +0 -2
  47. package/dist/catalyst/catalyst.esm.js.map +0 -1
  48. package/dist/catalyst/index.cdn.js +0 -21
  49. package/dist/catalyst/index.esm.js +0 -2
  50. package/dist/catalyst/index.esm.js.map +0 -1
  51. package/dist/catalyst/p-89a97b7b.entry.js +0 -10
  52. package/dist/catalyst/p-89a97b7b.entry.js.map +0 -1
  53. package/dist/catalyst/p-ed826597.js +0 -2
  54. package/dist/catalyst/p-ed826597.js.map +0 -1
  55. package/dist/catalyst/p-ef0a8ae9.js +0 -2
  56. package/dist/catalyst/p-ef0a8ae9.js.map +0 -1
  57. package/dist/catalyst/p-f151cb13.js +0 -2
  58. package/dist/catalyst/p-f151cb13.js.map +0 -1
  59. package/dist/cjs/app-globals-7f2b1f8e.js +0 -173
  60. package/dist/cjs/app-globals-7f2b1f8e.js.map +0 -1
  61. package/dist/cjs/cat-alert_9.cjs.entry.js +0 -4557
  62. package/dist/cjs/cat-alert_9.cjs.entry.js.map +0 -1
  63. package/dist/cjs/cat-icon-registry-850c538c.js +0 -47
  64. package/dist/cjs/cat-icon-registry-850c538c.js.map +0 -1
  65. package/dist/cjs/catalyst.cjs.js +0 -24
  66. package/dist/cjs/catalyst.cjs.js.map +0 -1
  67. package/dist/cjs/index-c0881ae0.js +0 -1348
  68. package/dist/cjs/index-c0881ae0.js.map +0 -1
  69. package/dist/cjs/index.cjs.js +0 -11
  70. package/dist/cjs/index.cjs.js.map +0 -1
  71. package/dist/cjs/loader.cjs.js +0 -26
  72. package/dist/cjs/loader.cjs.js.map +0 -1
  73. package/dist/collection/assets/fonts/AzeretMono-Regular.woff2 +0 -0
  74. package/dist/collection/assets/fonts/DMSans-Bold.woff2 +0 -0
  75. package/dist/collection/assets/fonts/DMSans-BoldItalic.woff2 +0 -0
  76. package/dist/collection/assets/fonts/DMSans-Italic.woff2 +0 -0
  77. package/dist/collection/assets/fonts/DMSans-Medium.woff2 +0 -0
  78. package/dist/collection/assets/fonts/DMSans-MediumItalic.woff2 +0 -0
  79. package/dist/collection/assets/fonts/DMSans-Regular.woff2 +0 -0
  80. package/dist/collection/assets/fonts/Lato-Black.woff +0 -0
  81. package/dist/collection/assets/fonts/Lato-Black.woff2 +0 -0
  82. package/dist/collection/assets/fonts/Lato-BlackItalic.woff +0 -0
  83. package/dist/collection/assets/fonts/Lato-BlackItalic.woff2 +0 -0
  84. package/dist/collection/assets/fonts/Lato-Bold.woff +0 -0
  85. package/dist/collection/assets/fonts/Lato-Bold.woff2 +0 -0
  86. package/dist/collection/assets/fonts/Lato-BoldItalic.woff +0 -0
  87. package/dist/collection/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  88. package/dist/collection/assets/fonts/Lato-Hairline.woff +0 -0
  89. package/dist/collection/assets/fonts/Lato-Hairline.woff2 +0 -0
  90. package/dist/collection/assets/fonts/Lato-HairlineItalic.woff +0 -0
  91. package/dist/collection/assets/fonts/Lato-HairlineItalic.woff2 +0 -0
  92. package/dist/collection/assets/fonts/Lato-Heavy.woff +0 -0
  93. package/dist/collection/assets/fonts/Lato-Heavy.woff2 +0 -0
  94. package/dist/collection/assets/fonts/Lato-HeavyItalic.woff +0 -0
  95. package/dist/collection/assets/fonts/Lato-HeavyItalic.woff2 +0 -0
  96. package/dist/collection/assets/fonts/Lato-Italic.woff +0 -0
  97. package/dist/collection/assets/fonts/Lato-Italic.woff2 +0 -0
  98. package/dist/collection/assets/fonts/Lato-Light.woff +0 -0
  99. package/dist/collection/assets/fonts/Lato-Light.woff2 +0 -0
  100. package/dist/collection/assets/fonts/Lato-LightItalic.woff +0 -0
  101. package/dist/collection/assets/fonts/Lato-LightItalic.woff2 +0 -0
  102. package/dist/collection/assets/fonts/Lato-Medium.woff +0 -0
  103. package/dist/collection/assets/fonts/Lato-Medium.woff2 +0 -0
  104. package/dist/collection/assets/fonts/Lato-MediumItalic.woff +0 -0
  105. package/dist/collection/assets/fonts/Lato-MediumItalic.woff2 +0 -0
  106. package/dist/collection/assets/fonts/Lato-Regular.woff +0 -0
  107. package/dist/collection/assets/fonts/Lato-Regular.woff2 +0 -0
  108. package/dist/collection/assets/fonts/Lato-Semibold.woff +0 -0
  109. package/dist/collection/assets/fonts/Lato-Semibold.woff2 +0 -0
  110. package/dist/collection/assets/fonts/Lato-SemiboldItalic.woff +0 -0
  111. package/dist/collection/assets/fonts/Lato-SemiboldItalic.woff2 +0 -0
  112. package/dist/collection/assets/fonts/Lato-Thin.woff +0 -0
  113. package/dist/collection/assets/fonts/Lato-Thin.woff2 +0 -0
  114. package/dist/collection/assets/fonts/Lato-ThinItalic.woff +0 -0
  115. package/dist/collection/assets/fonts/Lato-ThinItalic.woff2 +0 -0
  116. package/dist/collection/collection-manifest.json +0 -21
  117. package/dist/collection/components/cat-alert/cat-alert.css +0 -57
  118. package/dist/collection/components/cat-alert/cat-alert.js +0 -50
  119. package/dist/collection/components/cat-alert/cat-alert.js.map +0 -1
  120. package/dist/collection/components/cat-badge/cat-badge.css +0 -154
  121. package/dist/collection/components/cat-badge/cat-badge.js +0 -142
  122. package/dist/collection/components/cat-badge/cat-badge.js.map +0 -1
  123. package/dist/collection/components/cat-button/cat-button.css +0 -323
  124. package/dist/collection/components/cat-button/cat-button.js +0 -591
  125. package/dist/collection/components/cat-button/cat-button.js.map +0 -1
  126. package/dist/collection/components/cat-icon/cat-icon-registry.js +0 -42
  127. package/dist/collection/components/cat-icon/cat-icon-registry.js.map +0 -1
  128. package/dist/collection/components/cat-icon/cat-icon.css +0 -50
  129. package/dist/collection/components/cat-icon/cat-icon.js +0 -90
  130. package/dist/collection/components/cat-icon/cat-icon.js.map +0 -1
  131. package/dist/collection/components/cat-menu/cat-menu.css +0 -33
  132. package/dist/collection/components/cat-menu/cat-menu.js +0 -184
  133. package/dist/collection/components/cat-menu/cat-menu.js.map +0 -1
  134. package/dist/collection/components/cat-scrollable/cat-scrollable.css +0 -69
  135. package/dist/collection/components/cat-scrollable/cat-scrollable.js +0 -309
  136. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +0 -1
  137. package/dist/collection/components/cat-skeleton/cat-skeleton.css +0 -177
  138. package/dist/collection/components/cat-skeleton/cat-skeleton.js +0 -131
  139. package/dist/collection/components/cat-skeleton/cat-skeleton.js.map +0 -1
  140. package/dist/collection/components/cat-spinner/cat-spinner.css +0 -63
  141. package/dist/collection/components/cat-spinner/cat-spinner.js +0 -65
  142. package/dist/collection/components/cat-spinner/cat-spinner.js.map +0 -1
  143. package/dist/collection/components/cat-tooltip/cat-tooltip.css +0 -37
  144. package/dist/collection/components/cat-tooltip/cat-tooltip.js +0 -254
  145. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +0 -1
  146. package/dist/collection/index.cdn.js +0 -21
  147. package/dist/collection/index.js +0 -2
  148. package/dist/collection/index.js.map +0 -1
  149. package/dist/collection/init.js +0 -9
  150. package/dist/collection/init.js.map +0 -1
  151. package/dist/collection/utils/breakpoints.js +0 -12
  152. package/dist/collection/utils/breakpoints.js.map +0 -1
  153. package/dist/collection/utils/first-tabbable.js +0 -6
  154. package/dist/collection/utils/first-tabbable.js.map +0 -1
  155. package/dist/collection/utils/is-touch-screen.js +0 -3
  156. package/dist/collection/utils/is-touch-screen.js.map +0 -1
  157. package/dist/collection/utils/media-matcher.js +0 -55
  158. package/dist/collection/utils/media-matcher.js.map +0 -1
  159. package/dist/collection/utils/platform.js +0 -50
  160. package/dist/collection/utils/platform.js.map +0 -1
  161. package/dist/collection/utils/utils.js +0 -4
  162. package/dist/collection/utils/utils.js.map +0 -1
  163. package/dist/components/cat-alert.d.ts +0 -11
  164. package/dist/components/cat-alert.js +0 -44
  165. package/dist/components/cat-alert.js.map +0 -1
  166. package/dist/components/cat-badge.d.ts +0 -11
  167. package/dist/components/cat-badge.js +0 -68
  168. package/dist/components/cat-badge.js.map +0 -1
  169. package/dist/components/cat-button.d.ts +0 -11
  170. package/dist/components/cat-button.js +0 -654
  171. package/dist/components/cat-button.js.map +0 -1
  172. package/dist/components/cat-icon-registry.js +0 -45
  173. package/dist/components/cat-icon-registry.js.map +0 -1
  174. package/dist/components/cat-icon.d.ts +0 -11
  175. package/dist/components/cat-icon.js +0 -8
  176. package/dist/components/cat-icon.js.map +0 -1
  177. package/dist/components/cat-icon2.js +0 -48
  178. package/dist/components/cat-icon2.js.map +0 -1
  179. package/dist/components/cat-menu.d.ts +0 -11
  180. package/dist/components/cat-menu.js +0 -870
  181. package/dist/components/cat-menu.js.map +0 -1
  182. package/dist/components/cat-scrollable.d.ts +0 -11
  183. package/dist/components/cat-scrollable.js +0 -1363
  184. package/dist/components/cat-scrollable.js.map +0 -1
  185. package/dist/components/cat-skeleton.d.ts +0 -11
  186. package/dist/components/cat-skeleton.js +0 -78
  187. package/dist/components/cat-skeleton.js.map +0 -1
  188. package/dist/components/cat-spinner.d.ts +0 -11
  189. package/dist/components/cat-spinner.js +0 -8
  190. package/dist/components/cat-spinner.js.map +0 -1
  191. package/dist/components/cat-spinner2.js +0 -41
  192. package/dist/components/cat-spinner2.js.map +0 -1
  193. package/dist/components/cat-tooltip.d.ts +0 -11
  194. package/dist/components/cat-tooltip.js +0 -154
  195. package/dist/components/cat-tooltip.js.map +0 -1
  196. package/dist/components/first-tabbable.js +0 -1495
  197. package/dist/components/first-tabbable.js.map +0 -1
  198. package/dist/components/index.d.ts +0 -26
  199. package/dist/components/index.js +0 -173
  200. package/dist/components/index.js.map +0 -1
  201. package/dist/esm/app-globals-8af9b2cf.js +0 -171
  202. package/dist/esm/app-globals-8af9b2cf.js.map +0 -1
  203. package/dist/esm/cat-alert_9.entry.js +0 -4545
  204. package/dist/esm/cat-alert_9.entry.js.map +0 -1
  205. package/dist/esm/cat-icon-registry-59da2e37.js +0 -45
  206. package/dist/esm/cat-icon-registry-59da2e37.js.map +0 -1
  207. package/dist/esm/catalyst.js +0 -22
  208. package/dist/esm/catalyst.js.map +0 -1
  209. package/dist/esm/index-0ff35bca.js +0 -1320
  210. package/dist/esm/index-0ff35bca.js.map +0 -1
  211. package/dist/esm/index.js +0 -3
  212. package/dist/esm/index.js.map +0 -1
  213. package/dist/esm/loader.js +0 -22
  214. package/dist/esm/loader.js.map +0 -1
  215. package/dist/esm/polyfills/core-js.js +0 -11
  216. package/dist/esm/polyfills/css-shim.js +0 -1
  217. package/dist/esm/polyfills/dom.js +0 -79
  218. package/dist/esm/polyfills/es5-html-element.js +0 -1
  219. package/dist/esm/polyfills/index.js +0 -34
  220. package/dist/esm/polyfills/system.js +0 -6
  221. package/dist/index.cjs.js +0 -1
  222. package/dist/index.js +0 -1
  223. package/dist/types/components/cat-alert/cat-alert.d.ts +0 -12
  224. package/dist/types/components/cat-badge/cat-badge.d.ts +0 -28
  225. package/dist/types/components/cat-button/cat-button.d.ts +0 -129
  226. package/dist/types/components/cat-icon/cat-icon-registry.d.ts +0 -15
  227. package/dist/types/components/cat-icon/cat-icon.d.ts +0 -23
  228. package/dist/types/components/cat-menu/cat-menu.d.ts +0 -31
  229. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +0 -50
  230. package/dist/types/components/cat-skeleton/cat-skeleton.d.ts +0 -28
  231. package/dist/types/components/cat-spinner/cat-spinner.d.ts +0 -15
  232. package/dist/types/components/cat-tooltip/cat-tooltip.d.ts +0 -46
  233. package/dist/types/components.d.ts +0 -552
  234. package/dist/types/index.d.ts +0 -2
  235. package/dist/types/init.d.ts +0 -1
  236. package/dist/types/stencil-public-runtime.d.ts +0 -1565
  237. package/dist/types/utils/breakpoints.d.ts +0 -7
  238. package/dist/types/utils/first-tabbable.d.ts +0 -4
  239. package/dist/types/utils/is-touch-screen.d.ts +0 -2
  240. package/dist/types/utils/media-matcher.d.ts +0 -13
  241. package/dist/types/utils/platform.d.ts +0 -18
  242. package/dist/types/utils/utils.d.ts +0 -1
  243. package/loader/cdn.js +0 -3
  244. package/loader/index.cjs.js +0 -3
  245. package/loader/index.d.ts +0 -12
  246. package/loader/index.es2017.js +0 -3
  247. package/loader/index.js +0 -4
  248. package/loader/package.json +0 -10
@@ -1,154 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { b as firstTabbable, c as autoUpdate, d as computePosition, o as offset, e as flip } from './first-tabbable.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;padding:0.25rem;background-color:rgba(0, 0, 0, 0.7);border-radius:0.125rem;color:white;white-space:nowrap;transition:0.13s linear;visibility:hidden;opacity:0}.tooltip-show{opacity:1;visibility:visible}.tooltip-trigger{display:inline-block}.tooltip-trigger:focus{outline:none}";
7
-
8
- let nextUniqueId = 0;
9
- const CatTooltip$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
10
- constructor() {
11
- super();
12
- this.__registerHost();
13
- this.__attachShadow();
14
- this.id = `cat-tooltip-${nextUniqueId++}`;
15
- /**
16
- * The content of the tooltip.
17
- */
18
- this.content = '';
19
- /**
20
- * Specifies that the tooltip should be disabled. A disabled tooltip is unusable,
21
- * and invisible. Corresponds with the native HTML disabled attribute.
22
- */
23
- this.disabled = false;
24
- /**
25
- * The placement of the tooltip.
26
- */
27
- this.placement = 'top';
28
- /**
29
- * The delay time for showing tooltip in ms.
30
- */
31
- this.showDelay = 1000;
32
- /**
33
- * The delay time for hiding tooltip in ms.
34
- */
35
- this.hideDelay = 0;
36
- /**
37
- * The duration of tap to show the tooltip.
38
- */
39
- this.longTouchDuration = 1000;
40
- }
41
- handleKeyDown({ key }) {
42
- key === 'Escape' && this.hideListener();
43
- }
44
- componentDidLoad() {
45
- var _a, _b, _c, _d, _e, _f, _g;
46
- this.trigger = firstTabbable(this.triggerElement) || this.triggerElement;
47
- if (!this.isTabbable) {
48
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.setAttribute('tabindex', '0');
49
- }
50
- if (this.trigger && this.tooltip) {
51
- autoUpdate(this.trigger, this.tooltip, () => this.update());
52
- }
53
- if (isTouchDevice) {
54
- (_b = this.trigger) === null || _b === void 0 ? void 0 : _b.addEventListener('touchstart', this.touchStartListener.bind(this));
55
- (_c = this.trigger) === null || _c === void 0 ? void 0 : _c.addEventListener('touchend', this.touchEndListener.bind(this));
56
- }
57
- else {
58
- (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.addEventListener('focusin', this.showListener.bind(this));
59
- (_e = this.trigger) === null || _e === void 0 ? void 0 : _e.addEventListener('focusout', this.hideListener.bind(this));
60
- (_f = this.trigger) === null || _f === void 0 ? void 0 : _f.addEventListener('mouseenter', this.showListener.bind(this));
61
- (_g = this.trigger) === null || _g === void 0 ? void 0 : _g.addEventListener('mouseleave', this.hideListener.bind(this));
62
- }
63
- }
64
- disconnectedCallback() {
65
- var _a, _b, _c, _d, _e, _f;
66
- if (isTouchDevice) {
67
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.removeEventListener('touchstart', this.touchStartListener.bind(this));
68
- (_b = this.trigger) === null || _b === void 0 ? void 0 : _b.removeEventListener('touchend', this.touchEndListener.bind(this));
69
- }
70
- else {
71
- (_c = this.trigger) === null || _c === void 0 ? void 0 : _c.removeEventListener('mouseenter', this.showListener.bind(this));
72
- (_d = this.trigger) === null || _d === void 0 ? void 0 : _d.removeEventListener('mouseleave', this.hideListener.bind(this));
73
- (_e = this.trigger) === null || _e === void 0 ? void 0 : _e.removeEventListener('focusin', this.showListener.bind(this));
74
- (_f = this.trigger) === null || _f === void 0 ? void 0 : _f.removeEventListener('focusout', this.hideListener.bind(this));
75
- }
76
- }
77
- render() {
78
- 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))));
79
- }
80
- get isTabbable() {
81
- return firstTabbable(this.trigger);
82
- }
83
- update() {
84
- if (this.trigger && this.tooltip) {
85
- computePosition(this.trigger, this.tooltip, {
86
- placement: this.placement,
87
- middleware: [offset(CatTooltip$1.OFFSET), flip()]
88
- }).then(({ x, y }) => {
89
- if (this.tooltip) {
90
- Object.assign(this.tooltip.style, {
91
- left: `${Math.max(0, x)}px`,
92
- top: `${y}px`
93
- });
94
- }
95
- });
96
- }
97
- }
98
- showListener() {
99
- window.clearTimeout(this.hideTimeout);
100
- this.showTimeout = window.setTimeout(() => {
101
- var _a, _b;
102
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.focus();
103
- (_b = this.tooltip) === null || _b === void 0 ? void 0 : _b.classList.add('tooltip-show');
104
- }, this.showDelay);
105
- }
106
- hideListener() {
107
- window.clearTimeout(this.showTimeout);
108
- this.hideTimeout = window.setTimeout(() => {
109
- var _a, _b;
110
- (_a = this.trigger) === null || _a === void 0 ? void 0 : _a.blur();
111
- (_b = this.tooltip) === null || _b === void 0 ? void 0 : _b.classList.remove('tooltip-show');
112
- }, this.hideDelay);
113
- }
114
- touchStartListener() {
115
- this.touchTimeout = window.setTimeout(() => {
116
- var _a;
117
- (_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.add('tooltip-show');
118
- }, this.longTouchDuration);
119
- }
120
- touchEndListener() {
121
- var _a;
122
- window.clearTimeout(this.touchTimeout);
123
- (_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.classList.remove('tooltip-show');
124
- }
125
- static get style() { return catTooltipCss; }
126
- }, [1, "cat-tooltip", {
127
- "content": [1],
128
- "disabled": [4],
129
- "placement": [1],
130
- "showDelay": [2, "show-delay"],
131
- "hideDelay": [2, "hide-delay"],
132
- "longTouchDuration": [2, "long-touch-duration"]
133
- }, [[0, "keydown", "handleKeyDown"]]]);
134
- CatTooltip$1.OFFSET = 4;
135
- function defineCustomElement$1() {
136
- if (typeof customElements === "undefined") {
137
- return;
138
- }
139
- const components = ["cat-tooltip"];
140
- components.forEach(tagName => { switch (tagName) {
141
- case "cat-tooltip":
142
- if (!customElements.get(tagName)) {
143
- customElements.define(tagName, CatTooltip$1);
144
- }
145
- break;
146
- } });
147
- }
148
-
149
- const CatTooltip = CatTooltip$1;
150
- const defineCustomElement = defineCustomElement$1;
151
-
152
- export { CatTooltip, defineCustomElement };
153
-
154
- //# sourceMappingURL=cat-tooltip.js.map
@@ -1 +0,0 @@
1
- {"file":"cat-tooltip.js","mappings":"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","names":["CatTooltip","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');\n padding: 0.25rem;\n background-color: rgba(cat-token('color.ui.background.tooltip'), cat-token('opacity.tooltip'));\n border-radius: cat-border-radius('s');\n color: cat-token('color.ui.font.tooltip');\n white-space: nowrap;\n transition: cat-token('time.transition.s') linear;\n visibility: hidden;\n opacity: 0;\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 = 1000;\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}