igniteui-webcomponents 5.4.0-rc.0 → 5.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 (98) hide show
  1. package/CHANGELOG.md +94 -13
  2. package/animations/player.d.ts +1 -0
  3. package/animations/player.js +7 -0
  4. package/animations/player.js.map +1 -1
  5. package/animations/presets/scale/index.d.ts +2 -0
  6. package/animations/presets/scale/index.js +12 -0
  7. package/animations/presets/scale/index.js.map +1 -0
  8. package/components/calendar/days-view/days-view.js +5 -1
  9. package/components/calendar/days-view/days-view.js.map +1 -1
  10. package/components/carousel/themes/shared/carousel.bootstrap.css.js +1 -1
  11. package/components/carousel/themes/shared/carousel.bootstrap.css.js.map +1 -1
  12. package/components/carousel/themes/shared/carousel.common.css.js +1 -1
  13. package/components/carousel/themes/shared/carousel.common.css.js.map +1 -1
  14. package/components/carousel/themes/shared/carousel.fluent.css.js +1 -1
  15. package/components/carousel/themes/shared/carousel.fluent.css.js.map +1 -1
  16. package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
  17. package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
  18. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  19. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  20. package/components/combo/combo.d.ts +2 -2
  21. package/components/combo/combo.js +23 -12
  22. package/components/combo/combo.js.map +1 -1
  23. package/components/common/definitions/defineAllComponents.js +2 -0
  24. package/components/common/definitions/defineAllComponents.js.map +1 -1
  25. package/components/common/util.d.ts +7 -3
  26. package/components/common/util.js +110 -3
  27. package/components/common/util.js.map +1 -1
  28. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  29. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  30. package/components/icon/icon.registry.js +2 -2
  31. package/components/icon/icon.registry.js.map +1 -1
  32. package/components/input/themes/shared/input.fluent.css.js +1 -1
  33. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  34. package/components/popover/popover.d.ts +17 -1
  35. package/components/popover/popover.js +58 -9
  36. package/components/popover/popover.js.map +1 -1
  37. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  38. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  39. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  40. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  41. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  42. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  43. package/components/tooltip/controller.d.ts +87 -0
  44. package/components/tooltip/controller.js +172 -0
  45. package/components/tooltip/controller.js.map +1 -0
  46. package/components/tooltip/service.d.ts +12 -0
  47. package/components/tooltip/service.js +42 -0
  48. package/components/tooltip/service.js.map +1 -0
  49. package/components/tooltip/themes/dark/tooltip.bootstrap.css.d.ts +1 -0
  50. package/components/tooltip/themes/dark/tooltip.bootstrap.css.js +3 -0
  51. package/components/tooltip/themes/dark/tooltip.bootstrap.css.js.map +1 -0
  52. package/components/tooltip/themes/dark/tooltip.fluent.css.d.ts +1 -0
  53. package/components/tooltip/themes/dark/tooltip.fluent.css.js +3 -0
  54. package/components/tooltip/themes/dark/tooltip.fluent.css.js.map +1 -0
  55. package/components/tooltip/themes/dark/tooltip.indigo.css.d.ts +1 -0
  56. package/components/tooltip/themes/dark/tooltip.indigo.css.js +3 -0
  57. package/components/tooltip/themes/dark/tooltip.indigo.css.js.map +1 -0
  58. package/components/tooltip/themes/dark/tooltip.material.css.d.ts +1 -0
  59. package/components/tooltip/themes/dark/tooltip.material.css.js +3 -0
  60. package/components/tooltip/themes/dark/tooltip.material.css.js.map +1 -0
  61. package/components/tooltip/themes/light/tooltip.bootstrap.css.d.ts +1 -0
  62. package/components/tooltip/themes/light/tooltip.bootstrap.css.js +3 -0
  63. package/components/tooltip/themes/light/tooltip.bootstrap.css.js.map +1 -0
  64. package/components/tooltip/themes/light/tooltip.fluent.css.d.ts +1 -0
  65. package/components/tooltip/themes/light/tooltip.fluent.css.js +3 -0
  66. package/components/tooltip/themes/light/tooltip.fluent.css.js.map +1 -0
  67. package/components/tooltip/themes/light/tooltip.indigo.css.d.ts +1 -0
  68. package/components/tooltip/themes/light/tooltip.indigo.css.js +3 -0
  69. package/components/tooltip/themes/light/tooltip.indigo.css.js.map +1 -0
  70. package/components/tooltip/themes/light/tooltip.material.css.d.ts +1 -0
  71. package/components/tooltip/themes/light/tooltip.material.css.js +3 -0
  72. package/components/tooltip/themes/light/tooltip.material.css.js.map +1 -0
  73. package/components/tooltip/themes/light/tooltip.shared.css.d.ts +1 -0
  74. package/components/tooltip/themes/light/tooltip.shared.css.js +3 -0
  75. package/components/tooltip/themes/light/tooltip.shared.css.js.map +1 -0
  76. package/components/tooltip/themes/shared/tooltip.common.css.d.ts +1 -0
  77. package/components/tooltip/themes/shared/tooltip.common.css.js +3 -0
  78. package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -0
  79. package/components/tooltip/themes/shared/tooltip.indigo.css.d.ts +1 -0
  80. package/components/tooltip/themes/shared/tooltip.indigo.css.js +3 -0
  81. package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -0
  82. package/components/tooltip/themes/themes.d.ts +2 -0
  83. package/components/tooltip/themes/themes.js +47 -0
  84. package/components/tooltip/themes/themes.js.map +1 -0
  85. package/components/tooltip/themes/tooltip.base.css.d.ts +1 -0
  86. package/components/tooltip/themes/tooltip.base.css.js +3 -0
  87. package/components/tooltip/themes/tooltip.base.css.js.map +1 -0
  88. package/components/tooltip/tooltip.d.ts +154 -0
  89. package/components/tooltip/tooltip.js +284 -0
  90. package/components/tooltip/tooltip.js.map +1 -0
  91. package/custom-elements.json +1080 -29
  92. package/igniteui-webcomponents.css-data.json +1 -1
  93. package/igniteui-webcomponents.html-data.json +1 -1
  94. package/index.d.ts +2 -0
  95. package/index.js +1 -0
  96. package/index.js.map +1 -1
  97. package/package.json +1 -1
  98. package/web-types.json +2 -2
@@ -0,0 +1,172 @@
1
+ import { addWeakEventListener, getElementByIdFromRoot, isString, } from '../common/util.js';
2
+ import service from './service.js';
3
+ class TooltipController {
4
+ get open() {
5
+ return this._open;
6
+ }
7
+ set open(value) {
8
+ this._open = value;
9
+ if (this._open) {
10
+ this._addTooltipListeners();
11
+ service.add(this._host, this._options.onEscape);
12
+ }
13
+ else {
14
+ if (this._isTransient) {
15
+ this._isTransient = false;
16
+ this.setAnchor(this._initialAnchor?.deref());
17
+ }
18
+ this._removeTooltipListeners();
19
+ service.remove(this._host);
20
+ }
21
+ }
22
+ get anchor() {
23
+ return this._isTransient
24
+ ? this._anchor?.deref()
25
+ : this._initialAnchor?.deref();
26
+ }
27
+ get hideTriggers() {
28
+ return Array.from(this._hideTriggers).join();
29
+ }
30
+ set hideTriggers(value) {
31
+ this._hideTriggers = parseTriggers(value);
32
+ this._removeAnchorListeners();
33
+ this._addAnchorListeners();
34
+ }
35
+ get showTriggers() {
36
+ return Array.from(this._showTriggers).join();
37
+ }
38
+ set showTriggers(value) {
39
+ this._showTriggers = parseTriggers(value);
40
+ this._removeAnchorListeners();
41
+ this._addAnchorListeners();
42
+ }
43
+ constructor(tooltip, options) {
44
+ this._hostAbortController = null;
45
+ this._anchorAbortController = null;
46
+ this._showTriggers = new Set(['pointerenter']);
47
+ this._hideTriggers = new Set(['pointerleave', 'click']);
48
+ this._anchor = null;
49
+ this._initialAnchor = null;
50
+ this._isTransient = false;
51
+ this._open = false;
52
+ this._host = tooltip;
53
+ this._options = options;
54
+ this._host.addController(this);
55
+ }
56
+ _addAnchorListeners() {
57
+ const anchor = this.anchor;
58
+ if (!anchor) {
59
+ return;
60
+ }
61
+ this._anchorAbortController = new AbortController();
62
+ const signal = this._anchorAbortController.signal;
63
+ for (const each of this._showTriggers) {
64
+ addWeakEventListener(anchor, each, this, { passive: true, signal });
65
+ }
66
+ for (const each of this._hideTriggers) {
67
+ addWeakEventListener(anchor, each, this, { passive: true, signal });
68
+ }
69
+ }
70
+ _removeAnchorListeners() {
71
+ this._anchorAbortController?.abort();
72
+ this._anchorAbortController = null;
73
+ }
74
+ _addTooltipListeners() {
75
+ this._hostAbortController = new AbortController();
76
+ const signal = this._hostAbortController.signal;
77
+ for (const event of TooltipController._listeners) {
78
+ this._host.addEventListener(event, this, { passive: true, signal });
79
+ }
80
+ }
81
+ _removeTooltipListeners() {
82
+ this._hostAbortController?.abort();
83
+ this._hostAbortController = null;
84
+ }
85
+ async _handleTooltipEvent(event) {
86
+ switch (event.type) {
87
+ case 'pointerenter':
88
+ await this._options.onShow.call(this._host);
89
+ break;
90
+ case 'pointerleave':
91
+ await this._options.onHide.call(this._host);
92
+ break;
93
+ default:
94
+ return;
95
+ }
96
+ }
97
+ async _handleAnchorEvent(event) {
98
+ if (!this._open && this._showTriggers.has(event.type)) {
99
+ await this._options.onShow.call(this._host);
100
+ }
101
+ if (this._open && this._hideTriggers.has(event.type)) {
102
+ await this._options.onHide.call(this._host);
103
+ }
104
+ }
105
+ handleEvent(event) {
106
+ if (event.target === this._host) {
107
+ this._handleTooltipEvent(event);
108
+ }
109
+ else if (event.target === this._anchor?.deref()) {
110
+ this._handleAnchorEvent(event);
111
+ }
112
+ else if (event.target === this._initialAnchor?.deref()) {
113
+ this.open = false;
114
+ this._handleAnchorEvent(event);
115
+ }
116
+ }
117
+ _dispose() {
118
+ this._removeAnchorListeners();
119
+ this._removeTooltipListeners();
120
+ service.remove(this._host);
121
+ this._anchor = null;
122
+ this._initialAnchor = null;
123
+ }
124
+ setAnchor(value, transient = false) {
125
+ const newAnchor = isString(value)
126
+ ? getElementByIdFromRoot(this._host, value)
127
+ : value;
128
+ if (this._anchor?.deref() === newAnchor) {
129
+ return;
130
+ }
131
+ if (transient && this._open) {
132
+ this.open = false;
133
+ }
134
+ if (this._anchor?.deref() !== this._initialAnchor?.deref()) {
135
+ this._removeAnchorListeners();
136
+ }
137
+ this._anchor = newAnchor ? new WeakRef(newAnchor) : null;
138
+ this._isTransient = transient;
139
+ this._addAnchorListeners();
140
+ }
141
+ resolveAnchor(value) {
142
+ const resolvedElement = isString(value)
143
+ ? getElementByIdFromRoot(this._host, value)
144
+ : value;
145
+ this._initialAnchor = resolvedElement ? new WeakRef(resolvedElement) : null;
146
+ this.setAnchor(resolvedElement);
147
+ }
148
+ hostConnected() {
149
+ this.resolveAnchor(this._host.anchor);
150
+ }
151
+ hostDisconnected() {
152
+ this._dispose();
153
+ }
154
+ }
155
+ TooltipController._listeners = [
156
+ 'pointerenter',
157
+ 'pointerleave',
158
+ ];
159
+ function parseTriggers(string) {
160
+ return new Set((string ?? '').split(TooltipRegexes.triggers).filter((s) => s.trim()));
161
+ }
162
+ export const TooltipRegexes = Object.freeze({
163
+ triggers: /[,\s]+/,
164
+ horizontalStart: /^(left|right)-start$/,
165
+ horizontalEnd: /^(left|right)-end$/,
166
+ start: /start$/,
167
+ end: /end$/,
168
+ });
169
+ export function addTooltipController(host, options) {
170
+ return new TooltipController(host, options);
171
+ }
172
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/components/tooltip/controller.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController } from 'lit';\nimport {\n addWeakEventListener,\n getElementByIdFromRoot,\n isString,\n} from '../common/util.js';\nimport service from './service.js';\nimport type IgcTooltipComponent from './tooltip.js';\n\nclass TooltipController implements ReactiveController {\n //#region Internal properties and state\n\n private static readonly _listeners = [\n 'pointerenter',\n 'pointerleave',\n ] as const;\n\n private readonly _host: IgcTooltipComponent;\n private readonly _options: TooltipCallbacks;\n\n private _hostAbortController: AbortController | null = null;\n private _anchorAbortController: AbortController | null = null;\n\n private _showTriggers = new Set(['pointerenter']);\n private _hideTriggers = new Set(['pointerleave', 'click']);\n\n private _anchor: WeakRef<Element> | null = null;\n private _initialAnchor: WeakRef<Element> | null = null;\n\n private _isTransient = false;\n private _open = false;\n\n //#endregion\n\n //#region Public properties\n\n /** Whether the tooltip is in shown state. */\n public get open(): boolean {\n return this._open;\n }\n\n /** Sets the shown state of the current tooltip. */\n public set open(value: boolean) {\n this._open = value;\n\n if (this._open) {\n this._addTooltipListeners();\n service.add(this._host, this._options.onEscape);\n } else {\n if (this._isTransient) {\n this._isTransient = false;\n this.setAnchor(this._initialAnchor?.deref());\n }\n\n this._removeTooltipListeners();\n service.remove(this._host);\n }\n }\n\n /**\n * Returns the current tooltip anchor target if any.\n */\n public get anchor(): TooltipAnchor {\n return this._isTransient\n ? this._anchor?.deref()\n : this._initialAnchor?.deref();\n }\n\n /**\n * Returns the current set of hide triggers as a comma-separated string.\n */\n public get hideTriggers(): string {\n return Array.from(this._hideTriggers).join();\n }\n\n /**\n * Sets a new set of hide triggers from a comma-separated string.\n *\n * @remarks\n * If the tooltip already has an `anchor` bound it will remove the old\n * set of triggers from it and rebind it with the new one.\n */\n public set hideTriggers(value: string) {\n this._hideTriggers = parseTriggers(value);\n this._removeAnchorListeners();\n this._addAnchorListeners();\n }\n\n /**\n * Returns the current set of show triggers as a comma-separated string.\n */\n public get showTriggers(): string {\n return Array.from(this._showTriggers).join();\n }\n\n /**\n * Sets a new set of show triggers from a comma-separated string.\n *\n * @remarks\n * If the tooltip already has an `anchor` bound it will remove the old\n * set of triggers from it and rebind it with the new one.\n */\n public set showTriggers(value: string) {\n this._showTriggers = parseTriggers(value);\n this._removeAnchorListeners();\n this._addAnchorListeners();\n }\n\n //#endregion\n\n constructor(tooltip: IgcTooltipComponent, options: TooltipCallbacks) {\n this._host = tooltip;\n this._options = options;\n this._host.addController(this);\n }\n\n //#region Internal event listeners state\n\n private _addAnchorListeners(): void {\n const anchor = this.anchor;\n\n if (!anchor) {\n return;\n }\n\n this._anchorAbortController = new AbortController();\n const signal = this._anchorAbortController.signal;\n\n for (const each of this._showTriggers) {\n addWeakEventListener(anchor, each, this, { passive: true, signal });\n }\n\n for (const each of this._hideTriggers) {\n addWeakEventListener(anchor, each, this, { passive: true, signal });\n }\n }\n\n private _removeAnchorListeners(): void {\n this._anchorAbortController?.abort();\n this._anchorAbortController = null;\n }\n\n private _addTooltipListeners(): void {\n this._hostAbortController = new AbortController();\n const signal = this._hostAbortController.signal;\n\n for (const event of TooltipController._listeners) {\n this._host.addEventListener(event, this, { passive: true, signal });\n }\n }\n\n private _removeTooltipListeners(): void {\n this._hostAbortController?.abort();\n this._hostAbortController = null;\n }\n\n //#endregion\n\n //#region Event handlers\n\n private async _handleTooltipEvent(event: Event): Promise<void> {\n switch (event.type) {\n case 'pointerenter':\n await this._options.onShow.call(this._host);\n break;\n case 'pointerleave':\n await this._options.onHide.call(this._host);\n break;\n default:\n return;\n }\n }\n\n private async _handleAnchorEvent(event: Event): Promise<void> {\n if (!this._open && this._showTriggers.has(event.type)) {\n await this._options.onShow.call(this._host);\n }\n\n if (this._open && this._hideTriggers.has(event.type)) {\n await this._options.onHide.call(this._host);\n }\n }\n\n /** @internal */\n public handleEvent(event: Event): void {\n if (event.target === this._host) {\n this._handleTooltipEvent(event);\n } else if (event.target === this._anchor?.deref()) {\n this._handleAnchorEvent(event);\n } else if (event.target === this._initialAnchor?.deref()) {\n this.open = false;\n this._handleAnchorEvent(event);\n }\n }\n\n //#endregion\n\n private _dispose(): void {\n this._removeAnchorListeners();\n this._removeTooltipListeners();\n service.remove(this._host);\n this._anchor = null;\n this._initialAnchor = null;\n }\n\n //#region Public API\n\n /**\n * Removes all triggers from the previous `anchor` target and rebinds the current\n * sets back to the new value if it exists.\n */\n public setAnchor(value: TooltipAnchor | string, transient = false): void {\n const newAnchor = isString(value)\n ? getElementByIdFromRoot(this._host, value)\n : value;\n\n if (this._anchor?.deref() === newAnchor) {\n return;\n }\n\n // Tooltip `show()` method called with a target. Set to hidden state.\n if (transient && this._open) {\n this.open = false;\n }\n\n if (this._anchor?.deref() !== this._initialAnchor?.deref()) {\n this._removeAnchorListeners();\n }\n\n this._anchor = newAnchor ? new WeakRef(newAnchor) : null;\n this._isTransient = transient;\n this._addAnchorListeners();\n }\n\n public resolveAnchor(value: TooltipAnchor | string): void {\n const resolvedElement = isString(value)\n ? getElementByIdFromRoot(this._host, value)\n : value;\n\n this._initialAnchor = resolvedElement ? new WeakRef(resolvedElement) : null;\n this.setAnchor(resolvedElement);\n }\n\n //#endregion\n\n //#region ReactiveController interface\n\n /** @internal */\n public hostConnected(): void {\n this.resolveAnchor(this._host.anchor);\n }\n\n /** @internal */\n public hostDisconnected(): void {\n this._dispose();\n }\n\n //#endregion\n}\n\nfunction parseTriggers(string: string): Set<string> {\n return new Set(\n (string ?? '').split(TooltipRegexes.triggers).filter((s) => s.trim())\n );\n}\n\nexport const TooltipRegexes = Object.freeze({\n /** Used for parsing the strings passed in the tooltip `show/hide-trigger` properties. */\n triggers: /[,\\s]+/,\n\n /** Matches horizontal `PopoverPlacement` start positions. */\n horizontalStart: /^(left|right)-start$/,\n\n /** Matches horizontal `PopoverPlacement` end positions. */\n horizontalEnd: /^(left|right)-end$/,\n\n /** Matches vertical `PopoverPlacement` start positions. */\n start: /start$/,\n\n /** Matches vertical `PopoverPlacement` end positions. */\n end: /end$/,\n});\n\nexport function addTooltipController(\n host: IgcTooltipComponent,\n options: TooltipCallbacks\n): TooltipController {\n return new TooltipController(host, options);\n}\n\ntype TooltipAnchor = Element | null | undefined;\n\ntype TooltipCallbacks = {\n onShow: (event?: Event) => unknown;\n onHide: (event?: Event) => unknown;\n onEscape: (event?: Event) => unknown;\n};\n"]}
@@ -0,0 +1,12 @@
1
+ import type IgcTooltipComponent from './tooltip.js';
2
+ type TooltipHideCallback = () => unknown;
3
+ declare class TooltipEscapeCallbacks {
4
+ private _collection;
5
+ private _setListener;
6
+ add(instance: IgcTooltipComponent, hideCallback: TooltipHideCallback): void;
7
+ remove(instance: IgcTooltipComponent): void;
8
+ /** @internal */
9
+ handleEvent(event: KeyboardEvent): Promise<void>;
10
+ }
11
+ declare const service: TooltipEscapeCallbacks;
12
+ export default service;
@@ -0,0 +1,42 @@
1
+ import { isServer } from 'lit';
2
+ import { escapeKey } from '../common/controllers/key-bindings.js';
3
+ import { isEmpty, last } from '../common/util.js';
4
+ class TooltipEscapeCallbacks {
5
+ constructor() {
6
+ this._collection = new Map();
7
+ }
8
+ _setListener(state = true) {
9
+ if (isServer) {
10
+ return;
11
+ }
12
+ if (isEmpty(this._collection)) {
13
+ state
14
+ ? globalThis.addEventListener('keydown', this)
15
+ : globalThis.removeEventListener('keydown', this);
16
+ }
17
+ }
18
+ add(instance, hideCallback) {
19
+ if (this._collection.has(instance)) {
20
+ return;
21
+ }
22
+ this._setListener();
23
+ this._collection.set(instance, hideCallback);
24
+ }
25
+ remove(instance) {
26
+ if (!this._collection.has(instance)) {
27
+ return;
28
+ }
29
+ this._collection.delete(instance);
30
+ this._setListener(false);
31
+ }
32
+ async handleEvent(event) {
33
+ if (event.key !== escapeKey) {
34
+ return;
35
+ }
36
+ const [tooltip, callback] = last(Array.from(this._collection.entries()));
37
+ await callback?.call(tooltip);
38
+ }
39
+ }
40
+ const service = new TooltipEscapeCallbacks();
41
+ export default service;
42
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/components/tooltip/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAKlD,MAAM,sBAAsB;IAA5B;QACU,gBAAW,GAAG,IAAI,GAAG,EAA4C,CAAC;IA6C5E,CAAC;IA3CS,YAAY,CAAC,KAAK,GAAG,IAAI;QAE/B,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,KAAK;gBACH,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC;gBAC9C,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAEM,GAAG,CACR,QAA6B,EAC7B,YAAiC;QAEjC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,QAA6B;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAGM,KAAK,CAAC,WAAW,CAAC,KAAoB;QAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAC7C,eAAe,OAAO,CAAC","sourcesContent":["import { isServer } from 'lit';\nimport { escapeKey } from '../common/controllers/key-bindings.js';\nimport { isEmpty, last } from '../common/util.js';\nimport type IgcTooltipComponent from './tooltip.js';\n\ntype TooltipHideCallback = () => unknown;\n\nclass TooltipEscapeCallbacks {\n private _collection = new Map<IgcTooltipComponent, TooltipHideCallback>();\n\n private _setListener(state = true): void {\n /* c8 ignore next 3 */\n if (isServer) {\n return;\n }\n\n if (isEmpty(this._collection)) {\n state\n ? globalThis.addEventListener('keydown', this)\n : globalThis.removeEventListener('keydown', this);\n }\n }\n\n public add(\n instance: IgcTooltipComponent,\n hideCallback: TooltipHideCallback\n ): void {\n if (this._collection.has(instance)) {\n return;\n }\n\n this._setListener();\n this._collection.set(instance, hideCallback);\n }\n\n public remove(instance: IgcTooltipComponent): void {\n if (!this._collection.has(instance)) {\n return;\n }\n\n this._collection.delete(instance);\n this._setListener(false);\n }\n\n /** @internal */\n public async handleEvent(event: KeyboardEvent): Promise<void> {\n if (event.key !== escapeKey) {\n return;\n }\n\n const [tooltip, callback] = last(Array.from(this._collection.entries()));\n await callback?.call(tooltip);\n }\n}\n\nconst service = new TooltipEscapeCallbacks();\nexport default service;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-900) h s l/0.8));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-900-contrast));--ig-theme: bootstrap}`;
3
+ //# sourceMappingURL=tooltip.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/dark/tooltip.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,yLAAyL,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-900) h s l/0.8));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-900-contrast));--ig-theme: bootstrap}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-900) h s l/0.8));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-900-contrast));--border-radius: var(--ig-tooltip-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.125) * 1rem), 1rem));--ig-theme: fluent}`;
3
+ //# sourceMappingURL=tooltip.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/dark/tooltip.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,uSAAuS,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-900) h s l/0.8));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-900-contrast));--border-radius: var(--ig-tooltip-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.125) * 1rem), 1rem));--ig-theme: fluent}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--elevation: var(--ig-tooltip-elevation, var(--ig-elevation-9));--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-300) h s l/0.9));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-50-contrast));--ig-theme: indigo}`;
3
+ //# sourceMappingURL=tooltip.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/dark/tooltip.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qPAAqP,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--elevation: var(--ig-tooltip-elevation, var(--ig-elevation-9));--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-300) h s l/0.9));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-50-contrast));--ig-theme: indigo}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: material}`;
3
+ //# sourceMappingURL=tooltip.material.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.material.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/dark/tooltip.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6BAA6B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--ig-theme: material}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-900) h s l/0.8));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-900-contrast));--ig-theme: bootstrap}`;
3
+ //# sourceMappingURL=tooltip.bootstrap.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/light/tooltip.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,yLAAyL,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-900) h s l/0.8));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-900-contrast));--ig-theme: bootstrap}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-900) h s l/0.8));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-900-contrast));--border-radius: var(--ig-tooltip-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.125) * 1rem), 1rem));--ig-theme: fluent}`;
3
+ //# sourceMappingURL=tooltip.fluent.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/light/tooltip.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,uSAAuS,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-900) h s l/0.8));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-900-contrast));--border-radius: var(--ig-tooltip-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.125) * 1rem), 1rem));--ig-theme: fluent}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--elevation: var(--ig-tooltip-elevation, var(--ig-elevation-8));--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-600) h s l/0.9));--ig-theme: indigo}`;
3
+ //# sourceMappingURL=tooltip.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/light/tooltip.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8KAA8K,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--elevation: var(--ig-tooltip-elevation, var(--ig-elevation-8));--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-600) h s l/0.9));--ig-theme: indigo}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--ig-theme: material}`;
3
+ //# sourceMappingURL=tooltip.material.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.material.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/light/tooltip.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,6BAA6B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--ig-theme: material}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--elevation: var(--ig-tooltip-elevation, var(--ig-elevation-0));--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-700) h s l/0.9));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-700-contrast));--border-radius: var(--ig-tooltip-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.25) * 1rem), 1rem))}`;
3
+ //# sourceMappingURL=tooltip.shared.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.shared.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/light/tooltip.shared.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mVAAmV,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--elevation: var(--ig-tooltip-elevation, var(--ig-elevation-0));--background: var(--ig-tooltip-background, hsl(from var(--ig-gray-700) h s l/0.9));--text-color: var(--ig-tooltip-text-color, var(--ig-gray-700-contrast));--border-radius: var(--ig-tooltip-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.25) * 1rem), 1rem))}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part=base]{background:var(--background);color:var(--text-color);border-radius:var(--border-radius);box-shadow:var(--elevation)}#arrow[part=top],#arrow[part=bottom]{border-left:.25rem solid rgba(0,0,0,0);border-right:.25rem solid rgba(0,0,0,0)}#arrow[part=top]{border-top:.25rem solid var(--background)}#arrow[part=bottom]{border-bottom:.25rem solid var(--background)}#arrow[part=left],#arrow[part=right]{border-top:.25rem solid rgba(0,0,0,0);border-bottom:.25rem solid rgba(0,0,0,0)}#arrow[part=left]{border-left:.25rem solid var(--background)}#arrow[part=right]{border-right:.25rem solid var(--background)}`;
3
+ //# sourceMappingURL=tooltip.common.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.common.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/shared/tooltip.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kmBAAkmB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=base]{background:var(--background);color:var(--text-color);border-radius:var(--border-radius);box-shadow:var(--elevation)}#arrow[part=top],#arrow[part=bottom]{border-left:.25rem solid rgba(0,0,0,0);border-right:.25rem solid rgba(0,0,0,0)}#arrow[part=top]{border-top:.25rem solid var(--background)}#arrow[part=bottom]{border-bottom:.25rem solid var(--background)}#arrow[part=left],#arrow[part=right]{border-top:.25rem solid rgba(0,0,0,0);border-bottom:.25rem solid rgba(0,0,0,0)}#arrow[part=left]{border-left:.25rem solid var(--background)}#arrow[part=right]{border-right:.25rem solid var(--background)}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `[part=base]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}`;
3
+ //# sourceMappingURL=tooltip.indigo.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/shared/tooltip.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kcAAkc,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part=base]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}`;\n"]}
@@ -0,0 +1,2 @@
1
+ import type { Themes } from '../../../theming/types.js';
2
+ export declare const all: Themes;
@@ -0,0 +1,47 @@
1
+ import { css } from 'lit';
2
+ import { styles as indigo } from './shared/tooltip.indigo.css.js';
3
+ import { styles as bootstrapDark } from './dark/tooltip.bootstrap.css.js';
4
+ import { styles as fluentDark } from './dark/tooltip.fluent.css.js';
5
+ import { styles as indigoDark } from './dark/tooltip.indigo.css.js';
6
+ import { styles as materialDark } from './dark/tooltip.material.css.js';
7
+ import { styles as bootstrapLight } from './light/tooltip.bootstrap.css.js';
8
+ import { styles as fluentLight } from './light/tooltip.fluent.css.js';
9
+ import { styles as indigoLight } from './light/tooltip.indigo.css.js';
10
+ import { styles as materialLight } from './light/tooltip.material.css.js';
11
+ import { styles as shared } from './light/tooltip.shared.css.js';
12
+ const light = {
13
+ shared: css `
14
+ ${shared}
15
+ `,
16
+ bootstrap: css `
17
+ ${bootstrapLight}
18
+ `,
19
+ material: css `
20
+ ${materialLight}
21
+ `,
22
+ fluent: css `
23
+ ${fluentLight}
24
+ `,
25
+ indigo: css `
26
+ ${indigo} ${indigoLight}
27
+ `,
28
+ };
29
+ const dark = {
30
+ shared: css `
31
+ ${shared}
32
+ `,
33
+ bootstrap: css `
34
+ ${bootstrapDark}
35
+ `,
36
+ material: css `
37
+ ${materialDark}
38
+ `,
39
+ fluent: css `
40
+ ${fluentDark}
41
+ `,
42
+ indigo: css `
43
+ ${indigo} ${indigoDark}
44
+ `,
45
+ };
46
+ export const all = { light, dark };
47
+ //# sourceMappingURL=themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/tooltip/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,cAAc;GACjB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,aAAa;GAChB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,UAAU;GACb;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '../../../theming/types.js';\nimport { styles as indigo } from './shared/tooltip.indigo.css.js';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/tooltip.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/tooltip.fluent.css.js';\nimport { styles as indigoDark } from './dark/tooltip.indigo.css.js';\nimport { styles as materialDark } from './dark/tooltip.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/tooltip.bootstrap.css.js';\nimport { styles as fluentLight } from './light/tooltip.fluent.css.js';\nimport { styles as indigoLight } from './light/tooltip.indigo.css.js';\nimport { styles as materialLight } from './light/tooltip.material.css.js';\nimport { styles as shared } from './light/tooltip.shared.css.js';\n\nconst light = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{position:fixed;display:flex;align-items:center;text-align:center}[part=base]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);padding:.25rem .5rem;font-size:.625rem;font-weight:600;line-height:1rem;text-align:start;max-width:200px;display:flex;align-items:flex-start;gap:.5rem;position:relative}#arrow{position:absolute;width:0;height:0}igc-popover::part(container){background-color:rgba(0,0,0,0)}slot[name=close-button] igc-icon{--component-size: 1}`;
3
+ //# sourceMappingURL=tooltip.base.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.base.css.js","sourceRoot":"","sources":["../../../../src/components/tooltip/themes/tooltip.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ivDAAivD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{position:fixed;display:flex;align-items:center;text-align:center}[part=base]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);padding:.25rem .5rem;font-size:.625rem;font-weight:600;line-height:1rem;text-align:start;max-width:200px;display:flex;align-items:flex-start;gap:.5rem;position:relative}#arrow{position:absolute;width:0;height:0}igc-popover::part(container){background-color:rgba(0,0,0,0)}slot[name=close-button] igc-icon{--component-size: 1}`;\n"]}