@brightspot/ui 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts +57 -0
  2. package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts.map +1 -0
  3. package/dist/components/copy-to-clipboard/CopyToClipboard.js +84 -0
  4. package/dist/components/copy-to-clipboard/CopyToClipboard.js.map +1 -0
  5. package/dist/custom-elements.json +114 -0
  6. package/dist/global.d.ts +10 -0
  7. package/dist/storybook/assets/{Avatar.stories-BlxrclP0.js → Avatar.stories-DrhezTR1.js} +2 -2
  8. package/dist/storybook/assets/{AvatarGroup.stories-E3VUvBae.js → AvatarGroup.stories-DrlxT-mF.js} +1 -1
  9. package/dist/storybook/assets/{Badge.stories-f4YvPz0W.js → Badge.stories-DtJcBfOR.js} +1 -1
  10. package/dist/storybook/assets/{Button.stories-N66xrq4q.js → Button.stories-BKUfLgSY.js} +1 -1
  11. package/dist/storybook/assets/{CircularProgress.stories-zWyELtfc.js → CircularProgress.stories-dpmD-XJT.js} +1 -1
  12. package/dist/storybook/assets/ClipboardMixin.stories-C0pnQ7BY.js +228 -0
  13. package/dist/storybook/assets/Color-64QXVMR3-Dnd9S2a1.js +1 -0
  14. package/dist/storybook/assets/{Colors.stories-nEoNeHhf.js → Colors.stories-bKK25qgF.js} +1 -1
  15. package/dist/storybook/assets/ComponentStatesMixin-C2HZ9ZFb.js +1 -0
  16. package/dist/storybook/assets/ComponentStatesMixin.stories-9mRp2zuB.js +313 -0
  17. package/dist/storybook/assets/CopyToClipboard.stories-BW3oaT1i.js +277 -0
  18. package/dist/storybook/assets/Debounce.stories-BXx3CKvQ.js +199 -0
  19. package/dist/storybook/assets/{Events.stories-BP3ensxX.js → Events.stories-PBeiuWQn.js} +1 -1
  20. package/dist/storybook/assets/{Heading.stories-DGqWaBpi.js → Heading.stories-Djkl0MoC.js} +1 -1
  21. package/dist/storybook/assets/{Icon.stories-BWWjh4NZ.js → Icon.stories-Cam1fyud.js} +1 -1
  22. package/dist/storybook/assets/{LinearProgress.stories-DMVolkoE.js → LinearProgress.stories-BDNoYIJu.js} +1 -1
  23. package/dist/storybook/assets/Rtc.stories-BrTAIAi1.js +281 -0
  24. package/dist/storybook/assets/{ScrollShadow.stories-BmwSRNje.js → ScrollShadow.stories-DHcKhkag.js} +1 -1
  25. package/dist/storybook/assets/{Throttle.stories-DBj-9rhV.js → Throttle.stories-cSYT_BXu.js} +1 -1
  26. package/dist/storybook/assets/{WithTooltip-SK46ZJ2J-DW4NXFWt.js → WithTooltip-SK46ZJ2J-Df0E-KJO.js} +43 -43
  27. package/dist/storybook/assets/_commonjsHelpers-CqkleIqs.js +1 -0
  28. package/dist/storybook/assets/formatter-OMEEQ6HG-DFa_WTfb.js +1 -0
  29. package/dist/storybook/assets/{iframe-CxsKJSj-.css → iframe-BMxUFmpF.css} +1 -1
  30. package/dist/storybook/assets/{iframe-Z4F0Cgki.js → iframe-lTczLWsL.js} +76 -76
  31. package/dist/storybook/assets/index-yMswRDPh.js +1 -0
  32. package/dist/storybook/assets/onFind-C6olvKHR.js +1 -0
  33. package/dist/storybook/assets/onFind.stories-DfW54CDE.js +284 -0
  34. package/dist/storybook/assets/onRemove.stories-C7W9KyRr.js +234 -0
  35. package/dist/storybook/assets/onVisible.stories-CIl6R0q4.js +187 -0
  36. package/dist/storybook/assets/syntaxhighlighter-CAVLW7PM-DoI0ixeu.js +6 -0
  37. package/dist/storybook/iframe.html +2 -2
  38. package/dist/storybook/index.json +1 -1
  39. package/dist/storybook/project.json +1 -1
  40. package/dist/tailwind-plugin-button.js +3 -0
  41. package/dist/tailwind-plugin-button.js.map +1 -1
  42. package/dist/tailwind-plugin-button.ts +4 -0
  43. package/dist/util/ClipboardMixin.d.ts +39 -0
  44. package/dist/util/ClipboardMixin.d.ts.map +1 -0
  45. package/dist/util/ClipboardMixin.js +77 -0
  46. package/dist/util/ClipboardMixin.js.map +1 -0
  47. package/dist/util/ComponentStatesMixin.d.ts +54 -0
  48. package/dist/util/ComponentStatesMixin.d.ts.map +1 -0
  49. package/dist/util/ComponentStatesMixin.js +58 -0
  50. package/dist/util/ComponentStatesMixin.js.map +1 -0
  51. package/dist/util/EventEmitterMixin.d.ts +5 -3
  52. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  53. package/dist/util/EventEmitterMixin.js.map +1 -1
  54. package/dist/util/Socket.d.ts +29 -0
  55. package/dist/util/Socket.d.ts.map +1 -0
  56. package/dist/util/Socket.js +153 -0
  57. package/dist/util/Socket.js.map +1 -0
  58. package/dist/util/Tether.d.ts +18 -0
  59. package/dist/util/Tether.d.ts.map +1 -0
  60. package/dist/util/Tether.js +102 -0
  61. package/dist/util/Tether.js.map +1 -0
  62. package/dist/util/TetherLayout.d.ts +12 -0
  63. package/dist/util/TetherLayout.d.ts.map +1 -0
  64. package/dist/util/TetherLayout.js +121 -0
  65. package/dist/util/TetherLayout.js.map +1 -0
  66. package/dist/util/debounce.d.ts +3 -0
  67. package/dist/util/debounce.d.ts.map +1 -0
  68. package/dist/util/debounce.js +15 -0
  69. package/dist/util/debounce.js.map +1 -0
  70. package/dist/util/focusable.d.ts +9 -0
  71. package/dist/util/focusable.d.ts.map +1 -0
  72. package/dist/util/focusable.js +19 -0
  73. package/dist/util/focusable.js.map +1 -0
  74. package/dist/util/getComponentKey.d.ts +2 -0
  75. package/dist/util/getComponentKey.d.ts.map +1 -0
  76. package/dist/util/getComponentKey.js +21 -0
  77. package/dist/util/getComponentKey.js.map +1 -0
  78. package/dist/util/keyboard.d.ts +8 -0
  79. package/dist/util/keyboard.d.ts.map +1 -0
  80. package/dist/util/keyboard.js +138 -0
  81. package/dist/util/keyboard.js.map +1 -0
  82. package/dist/util/noise.d.ts +6 -0
  83. package/dist/util/noise.d.ts.map +1 -0
  84. package/dist/util/noise.js +43 -0
  85. package/dist/util/noise.js.map +1 -0
  86. package/dist/util/onFind.d.ts +11 -0
  87. package/dist/util/onFind.d.ts.map +1 -0
  88. package/dist/util/onFind.js +210 -0
  89. package/dist/util/onFind.js.map +1 -0
  90. package/dist/util/onFindOnce.d.ts +3 -0
  91. package/dist/util/onFindOnce.d.ts.map +1 -0
  92. package/dist/util/onFindOnce.js +25 -0
  93. package/dist/util/onFindOnce.js.map +1 -0
  94. package/dist/util/onRTEReady.d.ts +22 -0
  95. package/dist/util/onRTEReady.d.ts.map +1 -0
  96. package/dist/util/onRTEReady.js +69 -0
  97. package/dist/util/onRTEReady.js.map +1 -0
  98. package/dist/util/onRemove.d.ts +7 -0
  99. package/dist/util/onRemove.d.ts.map +1 -0
  100. package/dist/util/onRemove.js +24 -0
  101. package/dist/util/onRemove.js.map +1 -0
  102. package/dist/util/onVisible.d.ts +3 -0
  103. package/dist/util/onVisible.d.ts.map +1 -0
  104. package/dist/util/onVisible.js +22 -0
  105. package/dist/util/onVisible.js.map +1 -0
  106. package/dist/util/previousUntil.d.ts +2 -0
  107. package/dist/util/previousUntil.d.ts.map +1 -0
  108. package/dist/util/previousUntil.js +21 -0
  109. package/dist/util/previousUntil.js.map +1 -0
  110. package/dist/util/repaint.d.ts +3 -0
  111. package/dist/util/repaint.d.ts.map +1 -0
  112. package/dist/util/repaint.js +14 -0
  113. package/dist/util/repaint.js.map +1 -0
  114. package/dist/util/rtc.d.ts +10 -0
  115. package/dist/util/rtc.d.ts.map +1 -0
  116. package/dist/util/rtc.js +184 -0
  117. package/dist/util/rtc.js.map +1 -0
  118. package/dist/util/storage.d.ts +6 -0
  119. package/dist/util/storage.d.ts.map +1 -0
  120. package/dist/util/storage.js +18 -0
  121. package/dist/util/storage.js.map +1 -0
  122. package/dist/util/transition.d.ts +2 -0
  123. package/dist/util/transition.d.ts.map +1 -0
  124. package/dist/util/transition.js +4 -0
  125. package/dist/util/transition.js.map +1 -0
  126. package/dist/util/types.d.ts +10 -0
  127. package/dist/util/types.d.ts.map +1 -0
  128. package/dist/util/types.js +2 -0
  129. package/dist/util/types.js.map +1 -0
  130. package/package.json +7 -2
  131. package/dist/storybook/assets/Color-64QXVMR3-B3Y5c9dl.js +0 -1
  132. package/dist/storybook/assets/formatter-OMEEQ6HG-BBn014aZ.js +0 -1
  133. package/dist/storybook/assets/index-BUj5S-B7.js +0 -1
  134. package/dist/storybook/assets/syntaxhighlighter-CAVLW7PM-CsQveU1N.js +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-plugin-button.js","sourceRoot":"","sources":["../src/tailwind-plugin-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwind-plugin-button.js","sourceRoot":"","sources":["../src/tailwind-plugin-button.ts"],"names":[],"mappings":"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"}
@@ -241,6 +241,10 @@ module.exports = plugin(function ({ addComponents, addUtilities, theme }) {
241
241
  display: 'inline-flex',
242
242
  backgroundColor: 'transparent',
243
243
  color: 'var(--button-pressed-text-color, var(--button-disabled-text-color, var(--button-fill-none-text-color)))',
244
+ '&:hover': {
245
+ color:
246
+ 'var(--button-pressed-text-color, var(--button-disabled-text-color, var(--button-fill-none-text-color)))',
247
+ },
244
248
  },
245
249
  }
246
250
  addUtilities(noContainerButton)
@@ -0,0 +1,39 @@
1
+ import { LitElement } from 'lit';
2
+ import type { ComponentStatesMixinInterface } from './ComponentStatesMixin.js';
3
+ import type { EventEmitterMixinInterface } from './EventEmitterMixin.js';
4
+ type Constructor<T = object> = new (...args: any[]) => T;
5
+ export declare class ClipboardMixinInterface {
6
+ copy(text: string, timeout?: number): Promise<void>;
7
+ }
8
+ /**
9
+ * Mixin that adds clipboard copy functionality with visual feedback.
10
+ *
11
+ * Provides a `copy()` method that:
12
+ * - Writes text to the system clipboard
13
+ * - Adds a temporary 'btu-clipboard-copied' state for 3 seconds
14
+ * - Emits a 'btu-clipboard-copied' event
15
+ * - Prevents duplicate copy operations while in success state
16
+ *
17
+ * @mixin
18
+ *
19
+ * @requires ComponentStatesMixin - For state management
20
+ * @requires EventEmitterMixin - For event emission
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * class MyComponent extends ClipboardMixin(
25
+ * ComponentStatesMixin(
26
+ * EventEmitterMixin(
27
+ * ReadyMixin(LitElement)
28
+ * )
29
+ * )
30
+ * ) {
31
+ * async handleCopy() {
32
+ * await this.copy('Hello, World!')
33
+ * }
34
+ * }
35
+ * ```
36
+ */
37
+ export declare const ClipboardMixin: <T extends Constructor<LitElement & ComponentStatesMixinInterface & EventEmitterMixinInterface>>(superClass: T) => Constructor<ClipboardMixinInterface> & T;
38
+ export {};
39
+ //# sourceMappingURL=ClipboardMixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClipboardMixin.d.ts","sourceRoot":"","sources":["../../src/util/ClipboardMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEhC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAExE,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAC1C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,WAAW,CAAC,UAAU,GAAG,6BAA6B,GAAG,0BAA0B,CAAC,EAE9F,YAAY,CAAC,KA+CiB,WAAW,CAAC,uBAAuB,CAAC,GAAG,CACtE,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { LitElement } from 'lit';
2
+ import { announce } from '../util/aria.js';
3
+ /**
4
+ * Mixin that adds clipboard copy functionality with visual feedback.
5
+ *
6
+ * Provides a `copy()` method that:
7
+ * - Writes text to the system clipboard
8
+ * - Adds a temporary 'btu-clipboard-copied' state for 3 seconds
9
+ * - Emits a 'btu-clipboard-copied' event
10
+ * - Prevents duplicate copy operations while in success state
11
+ *
12
+ * @mixin
13
+ *
14
+ * @requires ComponentStatesMixin - For state management
15
+ * @requires EventEmitterMixin - For event emission
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * class MyComponent extends ClipboardMixin(
20
+ * ComponentStatesMixin(
21
+ * EventEmitterMixin(
22
+ * ReadyMixin(LitElement)
23
+ * )
24
+ * )
25
+ * ) {
26
+ * async handleCopy() {
27
+ * await this.copy('Hello, World!')
28
+ * }
29
+ * }
30
+ * ```
31
+ */
32
+ export const ClipboardMixin = (superClass) => {
33
+ class ClipboardMixinClass extends superClass {
34
+ /**
35
+ * Copies text to the system clipboard with visual feedback.
36
+ *
37
+ * @param text - The text to copy to clipboard
38
+ * @param timeout - Duration in milliseconds to show success state (default: 3000)
39
+ * @returns Promise that resolves when copy operation is complete
40
+ */
41
+ async copy(text, timeout = 3000) {
42
+ if (!text)
43
+ return;
44
+ // Prevent duplicate operations
45
+ if (this.states.has('btu-clipboard-copied'))
46
+ return;
47
+ // Write to clipboard with error handling
48
+ try {
49
+ if (!navigator.clipboard || typeof navigator.clipboard.writeText !== 'function') {
50
+ throw new Error('Clipboard API is not available in this environment.');
51
+ }
52
+ await navigator.clipboard.writeText(text);
53
+ }
54
+ catch (error) {
55
+ // Handle clipboard write failures gracefully
56
+ // Avoid setting success state or emitting success events on failure
57
+ // eslint-disable-next-line no-console
58
+ console.error('Failed to copy text to clipboard:', error);
59
+ announce('Copy failed');
60
+ return;
61
+ }
62
+ // Add success state
63
+ this.states.add('btu-clipboard-copied');
64
+ this.requestUpdate();
65
+ // Emit success event
66
+ this.emit('btu-clipboard-copied');
67
+ announce('Copied!');
68
+ // Remove success state after timeout
69
+ setTimeout(() => {
70
+ this.states.delete('btu-clipboard-copied');
71
+ this.requestUpdate();
72
+ }, timeout);
73
+ }
74
+ }
75
+ return ClipboardMixinClass;
76
+ };
77
+ //# sourceMappingURL=ClipboardMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClipboardMixin.js","sourceRoot":"","sources":["../../src/util/ClipboardMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAU1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAG5B,UAAa,EACb,EAAE;IACF,MAAM,mBAAoB,SAAQ,UAAU;QAC1C;;;;;;WAMG;QACH,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAO,GAAG,IAAI;YACrC,IAAI,CAAC,IAAI;gBAAE,OAAM;YAEjB,+BAA+B;YAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;gBAAE,OAAM;YAEnD,yCAAyC;YACzC,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oBAChF,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;gBACxE,CAAC;gBAED,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,6CAA6C;gBAC7C,oEAAoE;gBACpE,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;gBACzD,QAAQ,CAAC,aAAa,CAAC,CAAA;gBACvB,OAAM;YACR,CAAC;YAED,oBAAoB;YACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;YACvC,IAAI,CAAC,aAAa,EAAE,CAAA;YAEpB,qBAAqB;YACrB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;YACjC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAEnB,qCAAqC;YACrC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;gBAC1C,IAAI,CAAC,aAAa,EAAE,CAAA;YACtB,CAAC,EAAE,OAAO,CAAC,CAAA;QACb,CAAC;KACF;IACD,OAAO,mBAA+D,CAAA;AACxE,CAAC,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { LitElement } from 'lit';
2
+ type Constructor<T = object> = new (...args: any[]) => T;
3
+ /**
4
+ * Default component states available across all Brightspot UI components.
5
+ * Components can extend this interface to add custom states.
6
+ */
7
+ export interface DefaultComponentStates {
8
+ 'btu-error': string;
9
+ 'btu-loading': string;
10
+ 'btu-expanded': string;
11
+ 'btu-clipboard-copied': string;
12
+ }
13
+ /**
14
+ * Interface for components using ComponentStatesMixin.
15
+ * Provides access to the Custom State API via ElementInternals.
16
+ */
17
+ export declare class ComponentStatesMixinInterface {
18
+ internals: ElementInternals;
19
+ states: CustomStateSet;
20
+ }
21
+ /**
22
+ * Mixin that provides access to the Custom State API for managing component states.
23
+ *
24
+ * Uses ElementInternals.states (Custom State API) to manage component-specific states
25
+ * that can be styled with the :state() pseudo-class in CSS.
26
+ *
27
+ * @mixin
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * // Define a component with custom states
32
+ * class MyComponent extends ComponentStatesMixin(EventEmitterMixin(LitElement)) {
33
+ * someAction() {
34
+ * this.states.add('btu-loading')
35
+ * // ... do work
36
+ * this.states.delete('btu-loading')
37
+ * }
38
+ * }
39
+ * ```
40
+ *
41
+ * @example
42
+ * ```css
43
+ * my-component:state(btu-loading) {
44
+ * opacity: 0.5;
45
+ * pointer-events: none;
46
+ * }
47
+ * ```
48
+ *
49
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/states
50
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/:state
51
+ */
52
+ export declare const ComponentStatesMixin: <T extends Constructor<LitElement>>(superclass: T) => Constructor<ComponentStatesMixinInterface> & T;
53
+ export {};
54
+ //# sourceMappingURL=ComponentStatesMixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentStatesMixin.d.ts","sourceRoot":"","sources":["../../src/util/ComponentStatesMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEhC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA6B;IAChD,SAAS,EAAE,gBAAgB,CAAA;IAC3B,MAAM,EAAE,cAAc,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAqB/C,WAAW,CAAC,6BAA6B,CAAC,GAAG,CAClF,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * Mixin that provides access to the Custom State API for managing component states.
4
+ *
5
+ * Uses ElementInternals.states (Custom State API) to manage component-specific states
6
+ * that can be styled with the :state() pseudo-class in CSS.
7
+ *
8
+ * @mixin
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Define a component with custom states
13
+ * class MyComponent extends ComponentStatesMixin(EventEmitterMixin(LitElement)) {
14
+ * someAction() {
15
+ * this.states.add('btu-loading')
16
+ * // ... do work
17
+ * this.states.delete('btu-loading')
18
+ * }
19
+ * }
20
+ * ```
21
+ *
22
+ * @example
23
+ * ```css
24
+ * my-component:state(btu-loading) {
25
+ * opacity: 0.5;
26
+ * pointer-events: none;
27
+ * }
28
+ * ```
29
+ *
30
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/states
31
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/:state
32
+ */
33
+ export const ComponentStatesMixin = (superclass) => {
34
+ class ComponentStatesMixinClass extends superclass {
35
+ constructor() {
36
+ super(...arguments);
37
+ /**
38
+ * ElementInternals provides access to internal element APIs like
39
+ * custom states, form-associated custom elements, and accessibility semantics.
40
+ * @internal
41
+ */
42
+ this.internals = this.attachInternals();
43
+ /**
44
+ * CustomStateSet for managing component states.
45
+ * States can be set/unset and styled with :state() pseudo-class.
46
+ * @example
47
+ * ```typescript
48
+ * this.states.add('btu-error')
49
+ * this.states.delete('btu-error')
50
+ * this.states.has('btu-error') // boolean
51
+ * ```
52
+ */
53
+ this.states = this.internals.states;
54
+ }
55
+ }
56
+ return ComponentStatesMixinClass;
57
+ };
58
+ //# sourceMappingURL=ComponentStatesMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentStatesMixin.js","sourceRoot":"","sources":["../../src/util/ComponentStatesMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAwBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAoC,UAAa,EAAE,EAAE;IACvF,MAAM,yBAA0B,SAAQ,UAAU;QAAlD;;YACE;;;;eAIG;YACH,cAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;YAElC;;;;;;;;;eASG;YACH,WAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA;QAChC,CAAC;KAAA;IACD,OAAO,yBAA2E,CAAA;AACpF,CAAC,CAAA"}
@@ -11,9 +11,6 @@ export interface CustomEventMap {
11
11
  'btu-element-error': CustomEvent<{
12
12
  error: Error;
13
13
  }>;
14
- 'btu-badge-ready': CustomEvent<unknown>;
15
- 'btu-progress-ready': CustomEvent<unknown>;
16
- 'btu-progress-complete': CustomEvent<unknown>;
17
14
  'btu-avatar-ready': CustomEvent<unknown>;
18
15
  'btu-avatar-image-loaded': CustomEvent<{
19
16
  src: string;
@@ -26,7 +23,12 @@ export interface CustomEventMap {
26
23
  'btu-avatar-group-overflow': CustomEvent<{
27
24
  hidden: number;
28
25
  }>;
26
+ 'btu-badge-ready': CustomEvent<unknown>;
27
+ 'btu-clipboard-copied': CustomEvent<unknown>;
28
+ 'btu-clipboard-ready': CustomEvent<unknown>;
29
29
  'btu-icon-ready': CustomEvent<unknown>;
30
+ 'btu-progress-ready': CustomEvent<unknown>;
31
+ 'btu-progress-complete': CustomEvent<unknown>;
30
32
  }
31
33
  interface CombinedEventMap extends HTMLElementEventMap, CustomEventMap {
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitterMixin.d.ts","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEhC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AACxD,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEtE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7C,0BAA0B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAChD,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;IAClD,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACvC,oBAAoB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC1C,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7C,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,yBAAyB,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvD,wBAAwB,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;IACpE,wBAAwB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC9C,2BAA2B,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CACvC;AAED,UAAU,gBAAiB,SAAQ,mBAAmB,EAAE,cAAc;CAAG;AAEzE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACtG,gBAAgB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC/C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IACP,mBAAmB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAClD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI;CACR;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAqD/C,WAAW,CAAC,0BAA0B,CAAC,GAAG,CAC5E,CAAA"}
1
+ {"version":3,"file":"EventEmitterMixin.d.ts","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEhC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AACxD,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEtE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7C,0BAA0B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAChD,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;IAClD,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,yBAAyB,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvD,wBAAwB,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;IACpE,wBAAwB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC9C,2BAA2B,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACvC,sBAAsB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC5C,qBAAqB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3C,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACtC,oBAAoB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC1C,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAC9C;AAED,UAAU,gBAAiB,SAAQ,mBAAmB,EAAE,cAAc;CAAG;AAEzE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACtG,gBAAgB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC/C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI;IACP,mBAAmB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAClD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACvC,IAAI;CACR;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAqD/C,WAAW,CAAC,0BAA0B,CAAC,GAAG,CAC5E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitterMixin.js","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AA4ChC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAoC,UAAa,EAAE,EAAE;IACpF,MAAM,sBAAuB,SAAQ,UAAU;QAC7C;;;;WAIG;QACH,iBAAiB;YACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,EAC5C,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CACnD,CAAA;QACH,CAAC;QAED;;;;WAIG;QACH,oBAAoB;YAClB,KAAK,CAAC,oBAAoB,EAAE,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACvC,CAAC;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,IAAI,CAAiC,IAAO,EAAE,MAA6C;YACzF,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,WAAW,CAAC,IAAI,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;gBACd,MAAM;aACP,CAAC,CACH,CAAA;QACH,CAAC;KACF;IACD,OAAO,sBAAqE,CAAA;AAC9E,CAAC,CAAA"}
1
+ {"version":3,"file":"EventEmitterMixin.js","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AA8ChC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAoC,UAAa,EAAE,EAAE;IACpF,MAAM,sBAAuB,SAAQ,UAAU;QAC7C;;;;WAIG;QACH,iBAAiB;YACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,EAC5C,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CACnD,CAAA;QACH,CAAC;QAED;;;;WAIG;QACH,oBAAoB;YAClB,KAAK,CAAC,oBAAoB,EAAE,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACvC,CAAC;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,IAAI,CAAiC,IAAO,EAAE,MAA6C;YACzF,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,WAAW,CAAC,IAAI,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;gBACd,MAAM;aACP,CAAC,CACH,CAAA;QACH,CAAC;KACF;IACD,OAAO,sBAAqE,CAAA;AAC9E,CAAC,CAAA"}
@@ -0,0 +1,29 @@
1
+ import type { JSONObject } from './types.js';
2
+ export declare class Socket {
3
+ private _url;
4
+ private _requests;
5
+ private _sending;
6
+ private _sessionId?;
7
+ private _onConnect;
8
+ private _onReceive;
9
+ private _ensureConnectionInterval?;
10
+ private _receiver?;
11
+ private _lastMessageReceived;
12
+ private _messageInterval?;
13
+ private _pingInterval?;
14
+ constructor(url: string);
15
+ send(message: {
16
+ type: string;
17
+ [key: string]: unknown;
18
+ }, callback?: (data?: unknown) => void, wait?: boolean): void;
19
+ _processRequests(): Promise<void>;
20
+ connect(options: {
21
+ onConnect: () => void;
22
+ onReceive: (data: JSONObject) => void;
23
+ }): void;
24
+ private _ensureConnection;
25
+ disconnect(): void;
26
+ _reset(): void;
27
+ reconnect(): void;
28
+ }
29
+ //# sourceMappingURL=Socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Socket.d.ts","sourceRoot":"","sources":["../../src/util/Socket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,SAAS,CAId;IACH,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAsD;IACxE,OAAO,CAAC,yBAAyB,CAAC,CAAgC;IAClE,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,gBAAgB,CAAC,CAAgC;IACzD,OAAO,CAAC,aAAa,CAAC,CAAgC;gBAE1C,GAAG,EAAE,MAAM;IAOvB,IAAI,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO;IAWrG,gBAAgB;IA6DtB,OAAO,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,IAAI,CAAC;QAAC,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;KAAE;IAUjF,OAAO,CAAC,iBAAiB;IAmDzB,UAAU;IASV,MAAM;IAoBN,SAAS;CAIV"}
@@ -0,0 +1,153 @@
1
+ import { throttle } from './throttle.js';
2
+ // For server/client communication.
3
+ export class Socket {
4
+ constructor(url) {
5
+ this._sending = false;
6
+ this._onConnect = () => { };
7
+ this._onReceive = () => { };
8
+ this._lastMessageReceived = Date.now();
9
+ this._url = url;
10
+ this._ensureConnection = throttle(5000, this._ensureConnection.bind(this));
11
+ this._requests = [];
12
+ }
13
+ // Sends a message to the server.
14
+ send(message, callback, wait) {
15
+ if (message) {
16
+ this._requests.push({ message, callback, wait });
17
+ if (!this._sending) {
18
+ this._sending = true;
19
+ this._processRequests();
20
+ }
21
+ }
22
+ }
23
+ async _processRequests() {
24
+ // Session not available yet so try again in a bit.
25
+ if (!this._sessionId) {
26
+ setTimeout(() => this._processRequests(), 100);
27
+ return;
28
+ }
29
+ // All done sending for now.
30
+ if (this._requests.length <= 0) {
31
+ this._sending = false;
32
+ return;
33
+ }
34
+ const request = this._requests.shift();
35
+ if (!request) {
36
+ return;
37
+ }
38
+ const { message, callback, wait } = request;
39
+ // Query string only used for logging.
40
+ const body = new URLSearchParams();
41
+ body.append('sessionId', this._sessionId);
42
+ body.append('message', JSON.stringify(message));
43
+ const type = message.type;
44
+ fetch(`${this._url}${type ? `?${encodeURIComponent(type)}` : ''}`, {
45
+ method: 'post',
46
+ cache: 'no-store',
47
+ body,
48
+ credentials: 'include',
49
+ })
50
+ .then(response => {
51
+ if (!response.ok) {
52
+ throw '';
53
+ }
54
+ return response.text();
55
+ })
56
+ .then(text => {
57
+ if (callback) {
58
+ callback(text ? JSON.parse(text) : null);
59
+ }
60
+ })
61
+ .catch(() => {
62
+ this._requests.unshift(request);
63
+ this.reconnect();
64
+ })
65
+ .finally(() => {
66
+ this._processRequests();
67
+ });
68
+ if (wait) {
69
+ const start = +Date.now();
70
+ while (Date.now() - start < 500) { }
71
+ }
72
+ }
73
+ // Connects to the server for receiving messages.
74
+ connect(options) {
75
+ this._onConnect = options.onConnect || (() => { });
76
+ this._onReceive = options.onReceive || (() => { });
77
+ if (!this._ensureConnectionInterval) {
78
+ this._ensureConnectionInterval = setInterval(this._ensureConnection, 100);
79
+ this._ensureConnection();
80
+ }
81
+ }
82
+ _ensureConnection() {
83
+ if (this._receiver) {
84
+ const state = this._receiver.readyState;
85
+ if (state === EventSource.CONNECTING) {
86
+ return;
87
+ }
88
+ else if (state === EventSource.OPEN && this._sessionId) {
89
+ return;
90
+ }
91
+ }
92
+ this._reset();
93
+ // Connect...
94
+ this._receiver = new EventSource(this._url);
95
+ this._receiver.onmessage = event => {
96
+ this._lastMessageReceived = Date.now();
97
+ const data = JSON.parse(event.data);
98
+ // First message along with the session ID.
99
+ if (data._first) {
100
+ if (typeof data.sessionId === 'string') {
101
+ this._sessionId = data.sessionId;
102
+ }
103
+ if (this._receiver) {
104
+ this._receiver.onerror = () => this.reconnect();
105
+ }
106
+ // There should be a message from the server at least
107
+ // every 5 seconds, so if not, reconnect.
108
+ this._messageInterval = setInterval(() => {
109
+ if (Date.now() > this._lastMessageReceived + 6000) {
110
+ this.reconnect();
111
+ }
112
+ }, 1000);
113
+ // Ping roughly every minute to prevent the server from
114
+ // forcibly disconnecting the session.
115
+ this._pingInterval = setInterval(() => this.send({ type: 'ping' }), 55000);
116
+ }
117
+ else if (!data._ping) {
118
+ // Broadcast regular message.
119
+ this._onReceive(data);
120
+ }
121
+ };
122
+ this._onConnect();
123
+ }
124
+ // Disconnects from the server.
125
+ disconnect() {
126
+ if (this._ensureConnectionInterval) {
127
+ clearInterval(this._ensureConnectionInterval);
128
+ this._ensureConnectionInterval = undefined;
129
+ }
130
+ this._reset();
131
+ }
132
+ _reset() {
133
+ this._sessionId = undefined;
134
+ if (this._receiver) {
135
+ this._receiver.close();
136
+ this._receiver = undefined;
137
+ }
138
+ if (this._messageInterval) {
139
+ clearInterval(this._messageInterval);
140
+ this._messageInterval = undefined;
141
+ }
142
+ if (this._pingInterval) {
143
+ clearInterval(this._pingInterval);
144
+ this._pingInterval = undefined;
145
+ }
146
+ }
147
+ // Reconnects to the server.
148
+ reconnect() {
149
+ this._reset();
150
+ this._ensureConnection();
151
+ }
152
+ }
153
+ //# sourceMappingURL=Socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Socket.js","sourceRoot":"","sources":["../../src/util/Socket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ type ToggleFn = () => boolean;
2
+ type ToggleFnOrBoolean = ToggleFn | boolean;
3
+ interface Toggle {
4
+ tether: Tether;
5
+ closeListener?: (evt: Event) => void;
6
+ }
7
+ export default class Tether {
8
+ #private;
9
+ static get toggles(): WeakMap<HTMLElement, Toggle>;
10
+ static toggle(reference: HTMLElement, element: HTMLElement, toggle: ToggleFnOrBoolean): boolean;
11
+ static getReference(element: HTMLElement): HTMLElement | null;
12
+ get element(): HTMLElement;
13
+ get reference(): HTMLElement;
14
+ constructor(reference: HTMLElement, element: HTMLElement);
15
+ destroy(): void;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=Tether.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tether.d.ts","sourceRoot":"","sources":["../../src/util/Tether.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,GAAG,MAAM,OAAO,CAAA;AAC7B,KAAK,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE3C,UAAU,MAAM;IACd,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;CACrC;AAOD,MAAM,CAAC,OAAO,OAAO,MAAM;;IAIzB,MAAM,KAAK,OAAO,iCAEjB;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB;IAgErF,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW;IAaxC,IAAI,OAAO,gBAEV;IAED,IAAI,SAAS,gBAEZ;gBAEW,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW;IAkBxD,OAAO;CAGR"}