igniteui-webcomponents 3.3.0 → 3.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 (167) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +7 -2
  3. package/components/accordion/accordion.js +3 -1
  4. package/components/accordion/accordion.js.map +1 -1
  5. package/components/button/button-base.js +7 -2
  6. package/components/button/button-base.js.map +1 -1
  7. package/components/button/themes/button/light/button.base.css.js +1 -1
  8. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  9. package/components/button/themes/button/light/button.material.css.js +1 -1
  10. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  11. package/components/calendar/common/calendar-base.js +3 -1
  12. package/components/calendar/common/calendar-base.js.map +1 -1
  13. package/components/calendar/days-view/days-view.d.ts +2 -0
  14. package/components/calendar/days-view/days-view.js +17 -5
  15. package/components/calendar/days-view/days-view.js.map +1 -1
  16. package/components/checkbox/checkbox-base.js +7 -2
  17. package/components/checkbox/checkbox-base.js.map +1 -1
  18. package/components/chip/chip.d.ts +1 -0
  19. package/components/chip/chip.js +9 -0
  20. package/components/chip/chip.js.map +1 -1
  21. package/components/common/decorators/blazorDeepImport.d.ts +4 -0
  22. package/components/common/decorators/blazorDeepImport.js +2 -0
  23. package/components/common/decorators/blazorDeepImport.js.map +1 -0
  24. package/components/common/util.d.ts +1 -0
  25. package/components/common/util.js +3 -0
  26. package/components/common/util.js.map +1 -1
  27. package/components/dialog/dialog.d.ts +69 -0
  28. package/components/dialog/dialog.js +168 -0
  29. package/components/dialog/dialog.js.map +1 -0
  30. package/components/dialog/themes/light/dialog.base.css.d.ts +1 -0
  31. package/components/dialog/themes/light/dialog.base.css.js +3 -0
  32. package/components/dialog/themes/light/dialog.base.css.js.map +1 -0
  33. package/components/dialog/themes/light/dialog.bootstrap.css.d.ts +1 -0
  34. package/components/dialog/themes/light/dialog.bootstrap.css.js +3 -0
  35. package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -0
  36. package/components/dialog/themes/light/dialog.fluent.css.d.ts +1 -0
  37. package/components/dialog/themes/light/dialog.fluent.css.js +3 -0
  38. package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -0
  39. package/components/dialog/themes/light/dialog.indigo.css.d.ts +1 -0
  40. package/components/dialog/themes/light/dialog.indigo.css.js +3 -0
  41. package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -0
  42. package/components/dialog/themes/light/dialog.material.css.d.ts +1 -0
  43. package/components/dialog/themes/light/dialog.material.css.js +3 -0
  44. package/components/dialog/themes/light/dialog.material.css.js.map +1 -0
  45. package/components/dropdown/dropdown-group.d.ts +2 -2
  46. package/components/dropdown/dropdown-group.js +1 -1
  47. package/components/dropdown/dropdown-group.js.map +1 -1
  48. package/components/dropdown/dropdown-header.d.ts +1 -1
  49. package/components/dropdown/dropdown-header.js.map +1 -1
  50. package/components/dropdown/dropdown-item.d.ts +1 -1
  51. package/components/dropdown/dropdown-item.js.map +1 -1
  52. package/components/dropdown/dropdown.d.ts +10 -8
  53. package/components/dropdown/dropdown.js +15 -10
  54. package/components/dropdown/dropdown.js.map +1 -1
  55. package/components/dropdown/themes/light/dropdown-group.base.css.js +1 -1
  56. package/components/dropdown/themes/light/dropdown-group.base.css.js.map +1 -1
  57. package/components/dropdown/themes/light/dropdown-group.fluent.css.js +1 -1
  58. package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +1 -1
  59. package/components/dropdown/themes/light/dropdown-item.base.css.js +1 -1
  60. package/components/dropdown/themes/light/dropdown-item.base.css.js.map +1 -1
  61. package/components/dropdown/themes/light/dropdown.base.css.js +1 -1
  62. package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
  63. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  64. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  65. package/components/form/form.js +4 -3
  66. package/components/form/form.js.map +1 -1
  67. package/components/icon/icon.js +3 -1
  68. package/components/icon/icon.js.map +1 -1
  69. package/components/input/input-base.js +3 -1
  70. package/components/input/input-base.js.map +1 -1
  71. package/components/input/input.d.ts +1 -0
  72. package/components/input/input.js +5 -0
  73. package/components/input/input.js.map +1 -1
  74. package/components/input/themes/light/input.base.css.js +1 -1
  75. package/components/input/themes/light/input.base.css.js.map +1 -1
  76. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  77. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  78. package/components/input/themes/light/input.fluent.css.js +1 -1
  79. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  80. package/components/input/themes/light/input.indigo.css.js +1 -1
  81. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  82. package/components/mask-input/mask-input-base.js +7 -2
  83. package/components/mask-input/mask-input-base.js.map +1 -1
  84. package/components/progress/linear-progress.js +1 -0
  85. package/components/progress/linear-progress.js.map +1 -1
  86. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  87. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  88. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  89. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  90. package/components/progress/themes/linear/linear.progress.bootstrap.css.js +1 -1
  91. package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
  92. package/components/progress/themes/linear/linear.progress.fluent.css.js +1 -1
  93. package/components/progress/themes/linear/linear.progress.fluent.css.js.map +1 -1
  94. package/components/progress/themes/linear/linear.progress.indigo.css.js +1 -1
  95. package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
  96. package/components/radio-group/radio-group.d.ts +0 -1
  97. package/components/radio-group/radio-group.js +7 -6
  98. package/components/radio-group/radio-group.js.map +1 -1
  99. package/components/rating/rating.d.ts +21 -9
  100. package/components/rating/rating.js +50 -33
  101. package/components/rating/rating.js.map +1 -1
  102. package/components/select/select-group.d.ts +31 -0
  103. package/components/select/select-group.js +69 -0
  104. package/components/select/select-group.js.map +1 -0
  105. package/components/select/select-header.d.ts +15 -0
  106. package/components/select/select-header.js +5 -0
  107. package/components/select/select-header.js.map +1 -0
  108. package/components/select/select-item.d.ts +30 -0
  109. package/components/select/select-item.js +39 -0
  110. package/components/select/select-item.js.map +1 -0
  111. package/components/select/select.d.ts +112 -0
  112. package/components/select/select.js +343 -0
  113. package/components/select/select.js.map +1 -0
  114. package/components/select/themes/dark/select.bootstrap.css.d.ts +1 -0
  115. package/components/select/themes/dark/select.bootstrap.css.js +3 -0
  116. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -0
  117. package/components/select/themes/dark/select.fluent.css.d.ts +1 -0
  118. package/components/select/themes/dark/select.fluent.css.js +3 -0
  119. package/components/select/themes/dark/select.fluent.css.js.map +1 -0
  120. package/components/select/themes/dark/select.indigo.css.d.ts +1 -0
  121. package/components/select/themes/dark/select.indigo.css.js +3 -0
  122. package/components/select/themes/dark/select.indigo.css.js.map +1 -0
  123. package/components/select/themes/dark/select.material.css.d.ts +1 -0
  124. package/components/select/themes/dark/select.material.css.js +3 -0
  125. package/components/select/themes/dark/select.material.css.js.map +1 -0
  126. package/components/select/themes/light/select.base.css.d.ts +1 -0
  127. package/components/select/themes/light/select.base.css.js +3 -0
  128. package/components/select/themes/light/select.base.css.js.map +1 -0
  129. package/components/select/themes/light/select.bootstrap.css.d.ts +1 -0
  130. package/components/select/themes/light/select.bootstrap.css.js +3 -0
  131. package/components/select/themes/light/select.bootstrap.css.js.map +1 -0
  132. package/components/select/themes/light/select.fluent.css.d.ts +1 -0
  133. package/components/select/themes/light/select.fluent.css.js +3 -0
  134. package/components/select/themes/light/select.fluent.css.js.map +1 -0
  135. package/components/select/themes/light/select.indigo.css.d.ts +1 -0
  136. package/components/select/themes/light/select.indigo.css.js +3 -0
  137. package/components/select/themes/light/select.indigo.css.js.map +1 -0
  138. package/components/select/themes/light/select.material.css.d.ts +1 -0
  139. package/components/select/themes/light/select.material.css.js +3 -0
  140. package/components/select/themes/light/select.material.css.js.map +1 -0
  141. package/components/slider/range-slider.d.ts +2 -0
  142. package/components/slider/range-slider.js +61 -0
  143. package/components/slider/range-slider.js.map +1 -1
  144. package/components/slider/slider-base.d.ts +7 -8
  145. package/components/slider/slider-base.js +8 -8
  146. package/components/slider/slider-base.js.map +1 -1
  147. package/components/tabs/tabs.d.ts +0 -1
  148. package/components/tabs/tabs.js +7 -9
  149. package/components/tabs/tabs.js.map +1 -1
  150. package/components/toast/toast.d.ts +1 -0
  151. package/components/toast/toast.js +9 -0
  152. package/components/toast/toast.js.map +1 -1
  153. package/components/toggle/toggle.controller.d.ts +7 -2
  154. package/components/toggle/toggle.controller.js +21 -20
  155. package/components/toggle/toggle.controller.js.map +1 -1
  156. package/components/tree/themes/light/tree.base.css.js +1 -1
  157. package/components/tree/themes/light/tree.base.css.js.map +1 -1
  158. package/custom-elements.json +613 -14
  159. package/index.d.ts +5 -0
  160. package/index.js +5 -0
  161. package/index.js.map +1 -1
  162. package/package.json +3 -3
  163. package/themes/dark/bootstrap.css +1 -1
  164. package/themes/dark/fluent.css +1 -1
  165. package/themes/dark/indigo.css +1 -1
  166. package/themes/dark/material.css +1 -1
  167. package/vscode-html-custom-data.json +282 -14
@@ -3,6 +3,7 @@ export class IgcToggleController {
3
3
  constructor(host, config) {
4
4
  this.initialScrollTop = 0;
5
5
  this.initialScrollLeft = 0;
6
+ this._abortController = new AbortController();
6
7
  this.blockScroll = (event) => {
7
8
  var _a, _b, _c, _d;
8
9
  event.preventDefault();
@@ -22,15 +23,11 @@ export class IgcToggleController {
22
23
  };
23
24
  this.documentClicked = (event) => {
24
25
  if (!this.host.keepOpenOnOutsideClick) {
25
- const target = event.composed ? event.composedPath() : [event.target];
26
- const isInsideClick = target.includes(this.host) ||
27
- (this.target !== undefined && target.includes(this.target));
28
- if (isInsideClick) {
26
+ const tree = event.composed ? event.composedPath() : [event.target];
27
+ if (tree.includes(this.host) || tree.includes(this.target)) {
29
28
  return;
30
29
  }
31
- else {
32
- this.hide();
33
- }
30
+ this.hide();
34
31
  }
35
32
  };
36
33
  this.handleScroll = (event) => {
@@ -54,6 +51,12 @@ export class IgcToggleController {
54
51
  }
55
52
  this.update();
56
53
  }
54
+ get abortController() {
55
+ if (this._abortController.signal.aborted) {
56
+ this._abortController = new AbortController();
57
+ }
58
+ return this._abortController;
59
+ }
57
60
  set target(value) {
58
61
  this._target = value;
59
62
  this.update();
@@ -61,30 +64,28 @@ export class IgcToggleController {
61
64
  get target() {
62
65
  return this._target;
63
66
  }
64
- hostConnected() {
65
- this.addEventListeners();
66
- }
67
67
  hostDisconnected() {
68
- this.removeEventListeners();
68
+ this.abortController.abort();
69
69
  }
70
70
  update() {
71
71
  this.toggleDirective = igcToggle(this.target, this.host, this);
72
- this.addEventListeners();
72
+ this.configureListeners();
73
73
  }
74
74
  hide() {
75
75
  this._hide ? this._hide() : this.host.hide();
76
76
  }
77
77
  addEventListeners() {
78
- if (this.host.open) {
79
- document.addEventListener('scroll', this.handleScroll, true);
80
- if (!this.host.keepOpenOnOutsideClick) {
81
- document.addEventListener('click', this.documentClicked, true);
82
- }
78
+ const options = {
79
+ capture: true,
80
+ signal: this.abortController.signal,
81
+ };
82
+ if (!this.host.keepOpenOnOutsideClick) {
83
+ document.addEventListener('click', this.documentClicked, options);
83
84
  }
85
+ document.addEventListener('scroll', this.handleScroll, options);
84
86
  }
85
- removeEventListeners() {
86
- document.removeEventListener('click', this.documentClicked, true);
87
- document.removeEventListener('scroll', this.handleScroll, true);
87
+ configureListeners() {
88
+ this.host.open ? this.addEventListeners() : this.abortController.abort();
88
89
  }
89
90
  }
90
91
  //# sourceMappingURL=toggle.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.controller.js","sourceRoot":"","sources":["../../../src/components/toggle/toggle.controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveController, ReactiveControllerHost } from 'lit';\nimport { igcToggle, IgcToggleDirective } from './toggle.directive.js';\nimport type { DirectiveResult } from 'lit/directive';\nimport type { IgcToggleComponent } from './types';\n\ntype ToggleHost = ReactiveControllerHost & IgcToggleComponent & HTMLElement;\n\n/**\n * Toggle controller configuration\n */\ninterface ToggleControllerConfig {\n /** The element, relative to which, the toggle will be positioned. */\n target?: HTMLElement;\n /**\n * The function to call when closing the toggle element from an user interaction (scroll, click).\n */\n closeCallback?: Function;\n}\n\n/**\n * Controller, bundling the creation of a toggle directive and handling global events,\n * related to the configuration of togglable components.\n */\nexport class IgcToggleController implements ReactiveController {\n private host: IgcToggleComponent & HTMLElement;\n private sourceElement?: Element;\n private initialScrollTop = 0;\n private initialScrollLeft = 0;\n private _target!: HTMLElement;\n private _hide?: Function;\n\n /** The directive that marks the toggle. */\n public toggleDirective!: DirectiveResult<typeof IgcToggleDirective>;\n public rendered!: Promise<void>;\n\n public set target(value: HTMLElement) {\n this._target = value;\n this.update();\n }\n\n /** The element, relative to which, the toggle will be positioned. */\n public get target() {\n return this._target;\n }\n\n constructor(host: ToggleHost, config?: ToggleControllerConfig) {\n (this.host = host).addController(this);\n\n if (config?.target) {\n this._target = config.target;\n }\n\n if (config?.closeCallback) {\n this._hide = config.closeCallback;\n }\n\n this.update();\n }\n\n public hostConnected() {\n this.addEventListeners();\n }\n\n public hostDisconnected() {\n this.removeEventListeners();\n }\n\n public update() {\n this.toggleDirective = igcToggle(this.target, this.host, this);\n this.addEventListeners();\n }\n\n protected hide() {\n this._hide ? this._hide() : this.host.hide();\n }\n\n private addEventListeners() {\n if (this.host.open) {\n document.addEventListener('scroll', this.handleScroll, true);\n if (!this.host.keepOpenOnOutsideClick) {\n document.addEventListener('click', this.documentClicked, true);\n }\n }\n }\n\n private removeEventListeners() {\n document.removeEventListener('click', this.documentClicked, true);\n document.removeEventListener('scroll', this.handleScroll, true);\n }\n\n private blockScroll = (event: Event) => {\n event.preventDefault();\n if (!this.sourceElement || this.sourceElement !== event.target) {\n this.sourceElement = event.target as Element;\n this.initialScrollTop =\n this.sourceElement.scrollTop ??\n this.sourceElement.firstElementChild?.scrollTop;\n this.initialScrollLeft =\n this.sourceElement.scrollLeft ??\n this.sourceElement.firstElementChild?.scrollLeft;\n }\n\n this.sourceElement.scrollTop = this.initialScrollTop;\n this.sourceElement.scrollLeft = this.initialScrollLeft;\n if (this.sourceElement.firstElementChild) {\n this.sourceElement.firstElementChild.scrollTop = this.initialScrollTop;\n this.sourceElement.firstElementChild.scrollLeft = this.initialScrollLeft;\n }\n };\n\n /** The document's click event handler to override in the host component if necessary. */\n private documentClicked = (event: MouseEvent) => {\n if (!this.host.keepOpenOnOutsideClick) {\n const target = event.composed ? event.composedPath() : [event.target];\n const isInsideClick: boolean =\n target.includes(this.host) ||\n (this.target !== undefined && target.includes(this.target));\n if (isInsideClick) {\n return;\n } else {\n this.hide();\n }\n }\n };\n\n /** The document's scroll event handler to override in the host component if necessary. */\n private handleScroll = (event: Event) => {\n switch (this.host.scrollStrategy) {\n case 'scroll':\n break;\n case 'block':\n this.blockScroll(event);\n break;\n case 'close':\n this.hide();\n break;\n }\n };\n}\n"]}
1
+ {"version":3,"file":"toggle.controller.js","sourceRoot":"","sources":["../../../src/components/toggle/toggle.controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveController, ReactiveControllerHost } from 'lit';\nimport { igcToggle, IgcToggleDirective } from './toggle.directive.js';\nimport type { DirectiveResult } from 'lit/directive';\nimport type { IgcToggleComponent } from './types';\n\ntype ToggleHost = ReactiveControllerHost & IgcToggleComponent & HTMLElement;\n\n/**\n * Toggle controller configuration\n */\ninterface ToggleControllerConfig {\n /** The element, relative to which, the toggle will be positioned. */\n target?: HTMLElement;\n /**\n * The function to call when closing the toggle element from an user interaction (scroll, click).\n */\n closeCallback?: Function;\n}\n\n/**\n * Controller, bundling the creation of a toggle directive and handling global events,\n * related to the configuration of togglable components.\n */\nexport class IgcToggleController implements ReactiveController {\n private host: IgcToggleComponent & HTMLElement;\n private sourceElement?: Element;\n private initialScrollTop = 0;\n private initialScrollLeft = 0;\n private _target!: HTMLElement;\n private _hide?: Function;\n private _abortController = new AbortController();\n\n /**\n * Abort controller used to clean up document level event listeners\n * See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#add_an_abortable_listener\n */\n protected get abortController() {\n if (this._abortController.signal.aborted) {\n this._abortController = new AbortController();\n }\n return this._abortController;\n }\n\n /** The directive that marks the toggle. */\n public toggleDirective!: DirectiveResult<typeof IgcToggleDirective>;\n public rendered!: Promise<void>;\n\n public set target(value: HTMLElement) {\n this._target = value;\n this.update();\n }\n\n /** The element, relative to which, the toggle will be positioned. */\n public get target() {\n return this._target;\n }\n\n constructor(host: ToggleHost, config?: ToggleControllerConfig) {\n (this.host = host).addController(this);\n\n if (config?.target) {\n this._target = config.target;\n }\n\n if (config?.closeCallback) {\n this._hide = config.closeCallback;\n }\n\n this.update();\n }\n\n public hostDisconnected() {\n this.abortController.abort();\n }\n\n public update() {\n this.toggleDirective = igcToggle(this.target, this.host, this);\n this.configureListeners();\n }\n\n protected hide() {\n this._hide ? this._hide() : this.host.hide();\n }\n\n private addEventListeners() {\n const options: AddEventListenerOptions = {\n capture: true,\n signal: this.abortController.signal,\n };\n\n if (!this.host.keepOpenOnOutsideClick) {\n document.addEventListener('click', this.documentClicked, options);\n }\n\n document.addEventListener('scroll', this.handleScroll, options);\n }\n\n private configureListeners() {\n this.host.open ? this.addEventListeners() : this.abortController.abort();\n }\n\n private blockScroll = (event: Event) => {\n event.preventDefault();\n if (!this.sourceElement || this.sourceElement !== event.target) {\n this.sourceElement = event.target as Element;\n this.initialScrollTop =\n this.sourceElement.scrollTop ??\n this.sourceElement.firstElementChild?.scrollTop;\n this.initialScrollLeft =\n this.sourceElement.scrollLeft ??\n this.sourceElement.firstElementChild?.scrollLeft;\n }\n\n this.sourceElement.scrollTop = this.initialScrollTop;\n this.sourceElement.scrollLeft = this.initialScrollLeft;\n if (this.sourceElement.firstElementChild) {\n this.sourceElement.firstElementChild.scrollTop = this.initialScrollTop;\n this.sourceElement.firstElementChild.scrollLeft = this.initialScrollLeft;\n }\n };\n\n /** The document's click event handler to override in the host component if necessary. */\n private documentClicked = (event: MouseEvent) => {\n if (!this.host.keepOpenOnOutsideClick) {\n const tree = event.composed ? event.composedPath() : [event.target];\n\n if (tree.includes(this.host) || tree.includes(this.target)) {\n return;\n }\n\n this.hide();\n }\n };\n\n /** The document's scroll event handler to override in the host component if necessary. */\n private handleScroll = (event: Event) => {\n switch (this.host.scrollStrategy) {\n case 'scroll':\n break;\n case 'block':\n this.blockScroll(event);\n break;\n case 'close':\n this.hide();\n break;\n }\n };\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:block;height:100%;overflow:auto;font-family:var(--igc-font-family)}`;
2
+ export const styles = css `:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:block;overflow:auto;font-family:var(--igc-font-family)}`;
3
3
  //# sourceMappingURL=tree.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.base.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/tree.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,izBAAizB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:block;height:100%;overflow:auto;font-family:var(--igc-font-family)}`;\n"]}
1
+ {"version":3,"file":"tree.base.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/tree.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qyBAAqyB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--scrolbar-size, 0.875rem);scrollbar-color:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a))) var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--scrolbar-size, 0.875rem);height:var(--scrolbar-size, 0.875rem);background:var(--igc-scrollbar-track-color, hsla(var(--igc-gray-200), var(--igc-gray-a)))}:host ::-webkit-scrollbar-thumb{background:var(--igc-scrollbar-thumb-color, hsla(var(--igc-gray-400), var(--igc-gray-a)))}[hidden]{display:none !important}:host{display:block;overflow:auto;font-family:var(--igc-font-family)}`;\n"]}