overview-components 1.0.98 → 1.0.100

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 (282) hide show
  1. package/dist/assets/generated/locales/de.js +70 -72
  2. package/dist/assets/generated/locales/de.js.map +1 -0
  3. package/dist/assets/generated/locales/en.js +70 -72
  4. package/dist/assets/generated/locales/en.js.map +1 -0
  5. package/dist/assets/generated/locales/fr.js +70 -72
  6. package/dist/assets/generated/locales/fr.js.map +1 -0
  7. package/dist/assets/generated/locales/hr.js +70 -72
  8. package/dist/assets/generated/locales/hr.js.map +1 -0
  9. package/dist/assets/generated/locales/it.js +70 -72
  10. package/dist/assets/generated/locales/it.js.map +1 -0
  11. package/dist/assets/generated/locales/pl.js +70 -72
  12. package/dist/assets/generated/locales/pl.js.map +1 -0
  13. package/dist/assets/generated/locales/ro.js +70 -72
  14. package/dist/assets/generated/locales/ro.js.map +1 -0
  15. package/dist/assets/generated/locales/sk.js +70 -72
  16. package/dist/assets/generated/locales/sk.js.map +1 -0
  17. package/dist/assets/generated/locales/sr.js +70 -72
  18. package/dist/assets/generated/locales/sr.js.map +1 -0
  19. package/dist/assets/icons/iconGlyphs.js +678 -679
  20. package/dist/assets/icons/iconGlyphs.js.map +1 -0
  21. package/dist/assets/illustration/delete-illustration.js +96 -0
  22. package/dist/assets/illustration/delete-illustration.js.map +1 -0
  23. package/dist/assets/illustration/no-content.js +167 -0
  24. package/dist/assets/illustration/no-content.js.map +1 -0
  25. package/dist/assets/illustration/no-preview.js +133 -0
  26. package/dist/assets/illustration/no-preview.js.map +1 -0
  27. package/dist/assets/illustration/not-found.js +19 -22
  28. package/dist/assets/illustration/not-found.js.map +1 -0
  29. package/dist/assets/illustration/settings-illustration.js +176 -0
  30. package/dist/assets/illustration/settings-illustration.js.map +1 -0
  31. package/dist/components/components-settings/attachments-tab-settings.js +226 -0
  32. package/dist/components/components-settings/attachments-tab-settings.js.map +1 -0
  33. package/dist/components/components-settings/data-grid-settings.js +212 -182
  34. package/dist/components/components-settings/data-grid-settings.js.map +1 -0
  35. package/dist/components/components-settings/section-tab-settings.js +269 -0
  36. package/dist/components/components-settings/section-tab-settings.js.map +1 -0
  37. package/dist/components/components-settings/tabs-overview-settings.js +439 -0
  38. package/dist/components/components-settings/tabs-overview-settings.js.map +1 -0
  39. package/dist/components/lit-attachments-tab.js +432 -271
  40. package/dist/components/lit-attachments-tab.js.map +1 -0
  41. package/dist/components/lit-badge.js +40 -40
  42. package/dist/components/lit-badge.js.map +1 -0
  43. package/dist/components/lit-case-variables-tab.js +497 -382
  44. package/dist/components/lit-case-variables-tab.js.map +1 -0
  45. package/dist/components/lit-chart.js +406 -378
  46. package/dist/components/lit-chart.js.map +1 -0
  47. package/dist/components/lit-data-grid-tanstack.js +1663 -1150
  48. package/dist/components/lit-data-grid-tanstack.js.map +1 -0
  49. package/dist/components/lit-filter-modal.js +230 -198
  50. package/dist/components/lit-filter-modal.js.map +1 -0
  51. package/dist/components/lit-multiselect-item.js +477 -301
  52. package/dist/components/lit-multiselect-item.js.map +1 -0
  53. package/dist/components/lit-section-tab.js +85 -73
  54. package/dist/components/lit-section-tab.js.map +1 -0
  55. package/dist/components/lit-tabs-overview.js +232 -191
  56. package/dist/components/lit-tabs-overview.js.map +1 -0
  57. package/dist/components/modals/lit-confirm-modal.js +120 -0
  58. package/dist/components/modals/lit-confirm-modal.js.map +1 -0
  59. package/dist/components/modals/lit-delete-modal.js +128 -0
  60. package/dist/components/modals/lit-delete-modal.js.map +1 -0
  61. package/dist/components/react-wrappers/attachments-tab.js +8 -13
  62. package/dist/components/react-wrappers/attachments-tab.js.map +1 -0
  63. package/dist/components/react-wrappers/badge.js +8 -13
  64. package/dist/components/react-wrappers/badge.js.map +1 -0
  65. package/dist/components/react-wrappers/button.js +8 -13
  66. package/dist/components/react-wrappers/button.js.map +1 -0
  67. package/dist/components/react-wrappers/case-variables-tab.js +8 -13
  68. package/dist/components/react-wrappers/case-variables-tab.js.map +1 -0
  69. package/dist/components/react-wrappers/chart.js +8 -13
  70. package/dist/components/react-wrappers/chart.js.map +1 -0
  71. package/dist/components/react-wrappers/data-grid-tanstack.js +8 -13
  72. package/dist/components/react-wrappers/data-grid-tanstack.js.map +1 -0
  73. package/dist/components/react-wrappers/filter-modal.js +8 -13
  74. package/dist/components/react-wrappers/filter-modal.js.map +1 -0
  75. package/dist/components/react-wrappers/progress-bar.js +8 -13
  76. package/dist/components/react-wrappers/progress-bar.js.map +1 -0
  77. package/dist/components/react-wrappers/section-tab.js +8 -13
  78. package/dist/components/react-wrappers/section-tab.js.map +1 -0
  79. package/dist/components/react-wrappers/tabs-overview.js +8 -13
  80. package/dist/components/react-wrappers/tabs-overview.js.map +1 -0
  81. package/dist/data/translations.js +2763 -0
  82. package/dist/data/translations.js.map +1 -0
  83. package/dist/index.js +72 -80
  84. package/dist/index.js.map +1 -0
  85. package/dist/schemas/index.js +17 -0
  86. package/dist/schemas/index.js.map +1 -0
  87. package/dist/schemas/lit-attachments-tab-document.schema.js +20 -0
  88. package/dist/schemas/lit-attachments-tab-document.schema.js.map +1 -0
  89. package/dist/schemas/lit-attachments-tab-settings-value.schema.js +15 -0
  90. package/dist/schemas/lit-attachments-tab-settings-value.schema.js.map +1 -0
  91. package/dist/schemas/lit-attachments-tab.schema.js +32 -0
  92. package/dist/schemas/lit-attachments-tab.schema.js.map +1 -0
  93. package/dist/schemas/lit-case-variables-tab-cell.schema.js +43 -0
  94. package/dist/schemas/lit-case-variables-tab-cell.schema.js.map +1 -0
  95. package/dist/schemas/lit-case-variables-tab-rows.schema.js +6 -0
  96. package/dist/schemas/lit-case-variables-tab-rows.schema.js.map +1 -0
  97. package/dist/schemas/lit-case-variables-tab.schema.js +24 -0
  98. package/dist/schemas/lit-case-variables-tab.schema.js.map +1 -0
  99. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js +6 -0
  100. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js.map +1 -0
  101. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js +6 -0
  102. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js.map +1 -0
  103. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js +11 -0
  104. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js.map +1 -0
  105. package/dist/schemas/lit-data-grid-tanstack-column.schema.js +55 -0
  106. package/dist/schemas/lit-data-grid-tanstack-column.schema.js.map +1 -0
  107. package/dist/schemas/lit-data-grid-tanstack.schema.js +99 -0
  108. package/dist/schemas/lit-data-grid-tanstack.schema.js.map +1 -0
  109. package/dist/schemas/lit-section-tab-schema.js +24 -0
  110. package/dist/schemas/lit-section-tab-schema.js.map +1 -0
  111. package/dist/schemas/lit-tabs-overview-tab-array.schema.js +6 -0
  112. package/dist/schemas/lit-tabs-overview-tab-array.schema.js.map +1 -0
  113. package/dist/schemas/lit-tabs-overview-tab.schema.js +32 -0
  114. package/dist/schemas/lit-tabs-overview-tab.schema.js.map +1 -0
  115. package/dist/schemas/lit-tabs-overview.schema.js +29 -0
  116. package/dist/schemas/lit-tabs-overview.schema.js.map +1 -0
  117. package/dist/scripts/translate-locales.js +69 -0
  118. package/dist/scripts/translate-locales.js.map +1 -0
  119. package/dist/shared/filter-inputs.js +335 -234
  120. package/dist/shared/filter-inputs.js.map +1 -0
  121. package/dist/shared/lit-button.js +80 -66
  122. package/dist/shared/lit-button.js.map +1 -0
  123. package/dist/shared/lit-case-variables-tab-cell.js +226 -0
  124. package/dist/shared/lit-case-variables-tab-cell.js.map +1 -0
  125. package/dist/shared/lit-checkbox.js +94 -78
  126. package/dist/shared/lit-checkbox.js.map +1 -0
  127. package/dist/shared/lit-custom-popper.js +117 -0
  128. package/dist/shared/lit-custom-popper.js.map +1 -0
  129. package/dist/shared/lit-data-grid-action-buttons-popover.js +178 -141
  130. package/dist/shared/lit-data-grid-action-buttons-popover.js.map +1 -0
  131. package/dist/shared/lit-data-grid-density-popover.js +54 -49
  132. package/dist/shared/lit-data-grid-density-popover.js.map +1 -0
  133. package/dist/shared/lit-data-grid-export-popover.js +43 -41
  134. package/dist/shared/lit-data-grid-export-popover.js.map +1 -0
  135. package/dist/shared/lit-data-grid-operators-popover.js +114 -0
  136. package/dist/shared/lit-data-grid-operators-popover.js.map +1 -0
  137. package/dist/shared/lit-data-grid-row-actions.js +54 -51
  138. package/dist/shared/lit-data-grid-row-actions.js.map +1 -0
  139. package/dist/shared/lit-date-picker.js +606 -0
  140. package/dist/shared/lit-date-picker.js.map +1 -0
  141. package/dist/shared/lit-icon-button.js +66 -52
  142. package/dist/shared/lit-icon-button.js.map +1 -0
  143. package/dist/shared/lit-icon.js +261 -259
  144. package/dist/shared/lit-icon.js.map +1 -0
  145. package/dist/shared/lit-input.js +239 -0
  146. package/dist/shared/lit-input.js.map +1 -0
  147. package/dist/shared/lit-label.js +104 -0
  148. package/dist/shared/lit-label.js.map +1 -0
  149. package/dist/shared/lit-loader.js +69 -0
  150. package/dist/shared/lit-loader.js.map +1 -0
  151. package/dist/shared/lit-loading-bar.js +57 -24
  152. package/dist/shared/lit-loading-bar.js.map +1 -0
  153. package/dist/shared/lit-menu-item.js +99 -0
  154. package/dist/shared/lit-menu-item.js.map +1 -0
  155. package/dist/shared/lit-menu.js +42 -0
  156. package/dist/shared/lit-menu.js.map +1 -0
  157. package/dist/shared/lit-modal-body.js +22 -0
  158. package/dist/shared/lit-modal-body.js.map +1 -0
  159. package/dist/shared/lit-modal-footer.js +29 -0
  160. package/dist/shared/lit-modal-footer.js.map +1 -0
  161. package/dist/shared/lit-modal-header.js +36 -0
  162. package/dist/shared/lit-modal-header.js.map +1 -0
  163. package/dist/shared/lit-modal.js +169 -0
  164. package/dist/shared/lit-modal.js.map +1 -0
  165. package/dist/shared/lit-overflow-tooltip.js +86 -68
  166. package/dist/shared/lit-overflow-tooltip.js.map +1 -0
  167. package/dist/shared/lit-pill.js +88 -0
  168. package/dist/shared/lit-pill.js.map +1 -0
  169. package/dist/shared/lit-progress-bar.js +33 -35
  170. package/dist/shared/lit-progress-bar.js.map +1 -0
  171. package/dist/shared/lit-responsive-button.js +74 -64
  172. package/dist/shared/lit-responsive-button.js.map +1 -0
  173. package/dist/shared/lit-select-field.js +459 -0
  174. package/dist/shared/lit-select-field.js.map +1 -0
  175. package/dist/shared/lit-select.js +413 -0
  176. package/dist/shared/lit-select.js.map +1 -0
  177. package/dist/shared/lit-settings.js +77 -0
  178. package/dist/shared/lit-settings.js.map +1 -0
  179. package/dist/shared/lit-text-field.js +222 -0
  180. package/dist/shared/lit-text-field.js.map +1 -0
  181. package/dist/shared/lit-toggle.js +222 -0
  182. package/dist/shared/lit-toggle.js.map +1 -0
  183. package/dist/shared/lit-tooltip.js +166 -0
  184. package/dist/shared/lit-tooltip.js.map +1 -0
  185. package/dist/shared/simple-popper.js +266 -0
  186. package/dist/shared/simple-popper.js.map +1 -0
  187. package/dist/shared/simple-tooltip.js +198 -124
  188. package/dist/shared/simple-tooltip.js.map +1 -0
  189. package/dist/shared/styles/button-shared-styles.js +4 -8
  190. package/dist/shared/styles/button-shared-styles.js.map +1 -0
  191. package/dist/styles.js +3 -8
  192. package/dist/styles.js.map +1 -0
  193. package/dist/utils/currency.js +15 -12
  194. package/dist/utils/currency.js.map +1 -0
  195. package/dist/utils/custom-filters.js +80 -46
  196. package/dist/utils/custom-filters.js.map +1 -0
  197. package/dist/utils/date.js +21 -14
  198. package/dist/utils/date.js.map +1 -0
  199. package/dist/utils/getOperatorByType.js +65 -51
  200. package/dist/utils/getOperatorByType.js.map +1 -0
  201. package/dist/utils/getOverviewValue.js +177 -0
  202. package/dist/utils/getOverviewValue.js.map +1 -0
  203. package/dist/utils/localization.js +431 -29
  204. package/dist/utils/localization.js.map +1 -0
  205. package/dist/utils/utils.js +12 -10
  206. package/dist/utils/utils.js.map +1 -0
  207. package/dist/utils/validate-json-schema.js +8 -0
  208. package/dist/utils/validate-json-schema.js.map +1 -0
  209. package/dist/validators/validator.js +7 -0
  210. package/dist/validators/validator.js.map +1 -0
  211. package/package.json +2 -2
  212. package/dist/_virtual/FileSaver.min.js +0 -4
  213. package/dist/_virtual/_commonjsHelpers.js +0 -8
  214. package/dist/_virtual/lodash.js +0 -4
  215. package/dist/libs/xlsx.mini.min.js +0 -10
  216. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -432
  217. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -306
  218. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -127
  219. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -127
  220. package/dist/node_modules/@kurkle/color/dist/color.esm.js +0 -448
  221. package/dist/node_modules/@lit/localize/init/install.js +0 -11
  222. package/dist/node_modules/@lit/localize/init/runtime.js +0 -42
  223. package/dist/node_modules/@lit/localize/internal/default-msg.js +0 -10
  224. package/dist/node_modules/@lit/localize/internal/deferred.js +0 -21
  225. package/dist/node_modules/@lit/localize/internal/fnv1a64.js +0 -17
  226. package/dist/node_modules/@lit/localize/internal/id-generation.js +0 -14
  227. package/dist/node_modules/@lit/localize/internal/locale-status-event.js +0 -9
  228. package/dist/node_modules/@lit/localize/internal/runtime-msg.js +0 -42
  229. package/dist/node_modules/@lit/localize/internal/str-tag.js +0 -15
  230. package/dist/node_modules/@lit/react/create-component.js +0 -35
  231. package/dist/node_modules/@lit/reactive-element/css-tag.js +0 -50
  232. package/dist/node_modules/@lit/reactive-element/decorators/base.js +0 -9
  233. package/dist/node_modules/@lit/reactive-element/decorators/custom-element.js +0 -13
  234. package/dist/node_modules/@lit/reactive-element/decorators/property.js +0 -37
  235. package/dist/node_modules/@lit/reactive-element/decorators/query.js +0 -20
  236. package/dist/node_modules/@lit/reactive-element/decorators/state.js +0 -12
  237. package/dist/node_modules/@lit/reactive-element/reactive-element.js +0 -250
  238. package/dist/node_modules/@tanstack/lit-table/build/lib/index.js +0 -104
  239. package/dist/node_modules/@tanstack/lit-virtual/dist/esm/index.js +0 -40
  240. package/dist/node_modules/@tanstack/table-core/build/lib/index.js +0 -1956
  241. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js +0 -490
  242. package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js +0 -52
  243. package/dist/node_modules/chart.js/dist/chart.js +0 -7122
  244. package/dist/node_modules/chart.js/dist/chunks/helpers.segment.js +0 -1691
  245. package/dist/node_modules/file-saver/dist/FileSaver.min.js +0 -74
  246. package/dist/node_modules/lit-element/lit-element.js +0 -51
  247. package/dist/node_modules/lit-html/async-directive.js +0 -69
  248. package/dist/node_modules/lit-html/directive-helpers.js +0 -45
  249. package/dist/node_modules/lit-html/directive.js +0 -27
  250. package/dist/node_modules/lit-html/directives/class-map.js +0 -34
  251. package/dist/node_modules/lit-html/directives/ref.js +0 -42
  252. package/dist/node_modules/lit-html/directives/repeat.js +0 -61
  253. package/dist/node_modules/lit-html/directives/style-map.js +0 -36
  254. package/dist/node_modules/lit-html/directives/unsafe-html.js +0 -27
  255. package/dist/node_modules/lit-html/lit-html.js +0 -243
  256. package/dist/node_modules/lodash/lodash.js +0 -3678
  257. package/dist/node_modules/luxon/src/datetime.js +0 -1793
  258. package/dist/node_modules/luxon/src/duration.js +0 -723
  259. package/dist/node_modules/luxon/src/errors.js +0 -40
  260. package/dist/node_modules/luxon/src/impl/conversions.js +0 -92
  261. package/dist/node_modules/luxon/src/impl/diff.js +0 -36
  262. package/dist/node_modules/luxon/src/impl/digits.js +0 -74
  263. package/dist/node_modules/luxon/src/impl/english.js +0 -138
  264. package/dist/node_modules/luxon/src/impl/formats.js +0 -150
  265. package/dist/node_modules/luxon/src/impl/formatter.js +0 -245
  266. package/dist/node_modules/luxon/src/impl/invalid.js +0 -11
  267. package/dist/node_modules/luxon/src/impl/locale.js +0 -282
  268. package/dist/node_modules/luxon/src/impl/regexParser.js +0 -202
  269. package/dist/node_modules/luxon/src/impl/tokenParser.js +0 -329
  270. package/dist/node_modules/luxon/src/impl/util.js +0 -206
  271. package/dist/node_modules/luxon/src/impl/zoneUtil.js +0 -19
  272. package/dist/node_modules/luxon/src/info.js +0 -180
  273. package/dist/node_modules/luxon/src/interval.js +0 -466
  274. package/dist/node_modules/luxon/src/settings.js +0 -150
  275. package/dist/node_modules/luxon/src/zone.js +0 -88
  276. package/dist/node_modules/luxon/src/zones/IANAZone.js +0 -178
  277. package/dist/node_modules/luxon/src/zones/fixedOffsetZone.js +0 -125
  278. package/dist/node_modules/luxon/src/zones/invalidZone.js +0 -41
  279. package/dist/node_modules/luxon/src/zones/systemZone.js +0 -47
  280. package/dist/node_modules/sortablejs/modular/sortable.esm.js +0 -1261
  281. package/dist/style.css +0 -1
  282. package/dist/vite.svg +0 -1
@@ -0,0 +1,266 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, css, LitElement } from 'lit';
8
+ import { customElement, property } from 'lit/decorators.js';
9
+ import { Directive, directive } from 'lit/directive.js';
10
+ import { render } from 'lit';
11
+ // Positioning library
12
+ import { computePosition, autoUpdate, offset, shift, arrow, size, hide, flip, } from '@floating-ui/dom';
13
+ // Events to turn on/off the popper
14
+ const enterEvents = ['click'];
15
+ const leaveEvents = ['blur'];
16
+ let SimplePopper = class SimplePopper extends LitElement {
17
+ // Lazy creation
18
+ static lazy(target, callback) {
19
+ const createPopper = () => {
20
+ const popper = document.createElement('simple-popper');
21
+ callback(popper);
22
+ target.parentNode.insertBefore(popper, target.nextSibling);
23
+ popper.show();
24
+ // We only need to create the tooltip once, so ignore all future events.
25
+ enterEvents.forEach((eventName) => target.removeEventListener(eventName, createPopper));
26
+ };
27
+ enterEvents.forEach((eventName) => target.addEventListener(eventName, createPopper));
28
+ }
29
+ constructor() {
30
+ super();
31
+ // Attribute for styling "showing"
32
+ this.showing = false;
33
+ this.manualOpening = false;
34
+ this.maxWidthAsTarget = false;
35
+ this.placement = 'top';
36
+ // Position offset
37
+ this.offset = 4;
38
+ this.onClose = () => { };
39
+ this.arrowElement = null;
40
+ // Target for which to show tooltip
41
+ this._target = null;
42
+ this.cleanupAutoUpdate = null;
43
+ this.show = () => {
44
+ document.addEventListener('click', this.hideOnOutsideClick, { capture: true });
45
+ if (!this.manualOpening) {
46
+ this.addEventListener('click', this.hideOnSlotClick);
47
+ }
48
+ this.style.cssText = '';
49
+ this.style.zIndex = '99999';
50
+ this.style.width = `${this.maxWidthAsTarget ? `${this.target?.clientWidth}px` || '0px' : undefined}`;
51
+ this.style.maxWidth = `${this.maxWidthAsTarget ? undefined : 'max-content'}`;
52
+ // Setup autoUpdate to follow parent scroll/resize
53
+ if (this.target && this.arrowElement) {
54
+ if (this.cleanupAutoUpdate) {
55
+ this.cleanupAutoUpdate();
56
+ this.cleanupAutoUpdate = null;
57
+ }
58
+ this.cleanupAutoUpdate = autoUpdate(this.target, this, () => {
59
+ computePosition(this.target, this, {
60
+ placement: this.placement,
61
+ strategy: 'absolute',
62
+ middleware: [
63
+ offset(this.offset),
64
+ shift(),
65
+ flip(),
66
+ hide(),
67
+ size({
68
+ padding: 20,
69
+ apply({ availableWidth, availableHeight, elements }) {
70
+ // Clamp maxWidth to availableWidth
71
+ elements.floating.style.maxWidth = `${Math.max(0, availableWidth)}px`;
72
+ // Determine the maximum allowed height
73
+ const computedMaxHeight = Math.min(400, Math.max(0, availableHeight));
74
+ // If everything fits, remove maxHeight restriction. Otherwise, apply the clamp.
75
+ if (elements.floating.scrollHeight <= computedMaxHeight) {
76
+ elements.floating.style.maxHeight = '';
77
+ }
78
+ else {
79
+ elements.floating.style.maxHeight = `${computedMaxHeight}px`;
80
+ }
81
+ },
82
+ }),
83
+ arrow({ element: this.arrowElement }),
84
+ ],
85
+ }).then(({ x, y, middlewareData, placement, }) => {
86
+ if (middlewareData.hide) {
87
+ Object.assign(this.style, {
88
+ display: (middlewareData.hide.referenceHidden || !this.showing) ? 'none' : 'block',
89
+ });
90
+ }
91
+ this.style.left = `${x}px`;
92
+ this.style.top = `${y}px`;
93
+ const { x: arrowX, y: arrowY } = middlewareData.arrow;
94
+ const staticSide = {
95
+ top: 'bottom',
96
+ right: 'left',
97
+ bottom: 'top',
98
+ left: 'right',
99
+ }[placement.split('-')[0]] || 'top';
100
+ if (this.arrowElement) {
101
+ Object.assign(this.arrowElement.style, {
102
+ left: arrowX != null ? `${arrowX}px` : '',
103
+ top: arrowY != null ? `${arrowY}px` : '',
104
+ right: '',
105
+ bottom: '',
106
+ [staticSide]: '-4px',
107
+ });
108
+ }
109
+ });
110
+ });
111
+ }
112
+ this.showing = true;
113
+ document.body.appendChild(this);
114
+ };
115
+ this.hide = () => {
116
+ this.showing = false;
117
+ if (this.cleanupAutoUpdate) {
118
+ this.cleanupAutoUpdate();
119
+ this.cleanupAutoUpdate = null;
120
+ }
121
+ document.removeEventListener('click', this.hideOnOutsideClick, { capture: true });
122
+ this.removeEventListener('click', this.hideOnSlotClick);
123
+ this.onClose?.();
124
+ };
125
+ this.hideOnOutsideClick = (event) => {
126
+ // Use composedPath to reliably detect if click was inside popper or target
127
+ const path = (event.composedPath && event.composedPath()) || [];
128
+ if (!path.includes(this) && !path.includes(this.target)) {
129
+ this.hide();
130
+ }
131
+ };
132
+ this.hideOnSlotClick = (event) => {
133
+ event.stopPropagation(); // Prevent click bubbling
134
+ this.hide();
135
+ };
136
+ this.finishHide = () => {
137
+ if (!this.showing) {
138
+ this.style.display = 'none';
139
+ }
140
+ };
141
+ // Finish hiding at end of animation
142
+ this.addEventListener('transitionend', this.finishHide);
143
+ }
144
+ firstUpdated() {
145
+ this.arrowElement = this.shadowRoot?.querySelector('#arrow');
146
+ }
147
+ updated(_changedProperties) {
148
+ if (_changedProperties.has('showing') && this.manualOpening) {
149
+ if (this.showing) {
150
+ this.show();
151
+ }
152
+ }
153
+ }
154
+ connectedCallback() {
155
+ super.connectedCallback();
156
+ // Setup target if needed
157
+ this.target ??= this.previousElementSibling;
158
+ // Ensure hidden at start
159
+ this.finishHide();
160
+ }
161
+ get target() {
162
+ return this._target;
163
+ }
164
+ set target(target) {
165
+ // Remove events from existing target
166
+ if (this.target && !this.manualOpening) {
167
+ enterEvents.forEach((name) => this.target.removeEventListener(name, this.show));
168
+ leaveEvents.forEach((name) => this.target.removeEventListener(name, this.hide));
169
+ }
170
+ if (target && !this.manualOpening) {
171
+ // Add events to new target
172
+ enterEvents.forEach((name) => target.addEventListener(name, this.show));
173
+ leaveEvents.forEach((name) => target.addEventListener(name, this.hide));
174
+ }
175
+ this._target = target;
176
+ }
177
+ render() {
178
+ return html `<div id="arrow"></div>
179
+ <slot></slot>`;
180
+ }
181
+ };
182
+ SimplePopper.styles = css `
183
+ :host {
184
+ position: absolute;
185
+ max-height: 50vh;
186
+ top: 0;
187
+ left: 0;
188
+ background-color: var(--background-paper, #fff);
189
+ border-radius: 0.5rem;
190
+ padding: 0.375rem;
191
+ box-shadow: var(--box-shadow, 0px 4px 6px rgba(0, 0, 0, 0.1));
192
+ /* Animate in */
193
+ opacity: 0;
194
+ transform: scale(0.75);
195
+ transition: opacity, transform;
196
+ transition-duration: 0.33s;
197
+ color: var(--text-primary, #111827);
198
+ overflow-y: auto;
199
+ overflow-x: hidden;
200
+ border: 0.0625rem solid var(--color-divider, #e5e7eb);
201
+ }
202
+
203
+ :host([showing]) {
204
+ pointer-events: auto;
205
+ opacity: 1;
206
+ transform: scale(1);
207
+ }
208
+ #arrow {
209
+ position: absolute;
210
+ background: var(--background-paper, #fff);
211
+ width: 0.5rem;
212
+ height: 0.5rem;
213
+ transform: rotate(45deg);
214
+ }
215
+ `;
216
+ __decorate([
217
+ property({ reflect: true, type: Boolean })
218
+ ], SimplePopper.prototype, "showing", void 0);
219
+ __decorate([
220
+ property({ reflect: true, type: Boolean })
221
+ ], SimplePopper.prototype, "manualOpening", void 0);
222
+ __decorate([
223
+ property({ reflect: true, type: Boolean })
224
+ ], SimplePopper.prototype, "maxWidthAsTarget", void 0);
225
+ __decorate([
226
+ property({ reflect: true, type: String })
227
+ ], SimplePopper.prototype, "placement", void 0);
228
+ __decorate([
229
+ property({ type: Number })
230
+ ], SimplePopper.prototype, "offset", void 0);
231
+ __decorate([
232
+ property({ type: Function })
233
+ ], SimplePopper.prototype, "onClose", void 0);
234
+ SimplePopper = __decorate([
235
+ customElement('simple-popper')
236
+ ], SimplePopper);
237
+ export { SimplePopper };
238
+ class PopperDirective extends Directive {
239
+ constructor() {
240
+ super(...arguments);
241
+ this.didSetupLazy = false;
242
+ }
243
+ render(popperContent = '') { }
244
+ update(part, [popperContent]) {
245
+ this.popperContent = popperContent;
246
+ this.part = part;
247
+ if (!this.didSetupLazy) {
248
+ this.setupLazy();
249
+ }
250
+ if (this.popper) {
251
+ this.renderTooltipContent();
252
+ }
253
+ }
254
+ setupLazy() {
255
+ this.didSetupLazy = true;
256
+ SimplePopper.lazy(this.part.element, (popper) => {
257
+ this.popper = popper;
258
+ this.renderTooltipContent();
259
+ });
260
+ }
261
+ renderTooltipContent() {
262
+ render(this.popperContent, this.popper, this.part.options);
263
+ }
264
+ }
265
+ export const popper = directive(PopperDirective);
266
+ //# sourceMappingURL=simple-popper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-popper.js","sourceRoot":"","sources":["../../src/shared/simple-popper.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAuB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAe,MAAM,EAAE,MAAM,KAAK,CAAC;AAE1C,sBAAsB;AACtB,OAAO,EACH,eAAe,EACf,UAAU,EACV,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,GACP,MAAM,kBAAkB,CAAC;AAE1B,mCAAmC;AACnC,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9B,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC;AAGtB,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IACxC,gBAAgB;IAChB,MAAM,CAAC,IAAI,CAAC,MAAe,EAAE,QAAwC;QACjE,MAAM,YAAY,GAAG,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAiB,CAAC;YACvE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,MAAM,CAAC,UAAW,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,wEAAwE;YACxE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC;QACF,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IACzF,CAAC;IAmED;QACI,KAAK,EAAE,CAAC;QA/BZ,kCAAkC;QAElC,YAAO,GAAG,KAAK,CAAC;QAEhB,kBAAa,GAAG,KAAK,CAAC;QAEtB,qBAAgB,GAAG,KAAK,CAAC;QAEzB,cAAS,GAYU,KAAK,CAAC;QAEzB,kBAAkB;QAElB,WAAM,GAAG,CAAC,CAAC;QAEX,YAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAEX,iBAAY,GAAmC,IAAI,CAAC;QA0B5D,mCAAmC;QACnC,YAAO,GAAmB,IAAI,CAAC;QAiBvB,sBAAiB,GAAwB,IAAI,CAAC;QAEtD,SAAI,GAAG,GAAG,EAAE;YACR,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACrG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAE7E,kDAAkD;YAClD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAClC,CAAC;gBAED,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE;oBACxD,eAAe,CAAC,IAAI,CAAC,MAAO,EAAE,IAAI,EAAE;wBAChC,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE;4BACR,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;4BACnB,KAAK,EAAE;4BACP,IAAI,EAAE;4BACN,IAAI,EAAE;4BACN,IAAI,CAAC;gCACD,OAAO,EAAE,EAAE;gCACX,KAAK,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE;oCAC/C,mCAAmC;oCACnC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC;oCAEtE,uCAAuC;oCACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAC9B,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAC/B,CAAC;oCAEF,gFAAgF;oCAChF,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,iBAAiB,EAAE,CAAC;wCACtD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;oCAC3C,CAAC;yCAAM,CAAC;wCACJ,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,iBAAiB,IAAI,CAAC;oCACjE,CAAC;gCACL,CAAC;6BACJ,CAAC;4BACF,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAa,EAAE,CAAC;yBACzC;qBACJ,CAAC,CAAC,IAAI,CACH,CAAC,EACG,CAAC,EACD,CAAC,EACD,cAAc,EACd,SAAS,GAMZ,EAAE,EAAE;wBACD,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;4BACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;gCACtB,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;6BACtF,CAAC,CAAC;wBACP,CAAC;wBACD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;wBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;wBAE1B,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,KAG/C,CAAC;wBAEF,MAAM,UAAU,GACZ;4BACI,GAAG,EAAE,QAAQ;4BACb,KAAK,EAAE,MAAM;4BACb,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,OAAO;yBAChB,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;wBACxC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;4BACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gCACnC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;gCACzC,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;gCACxC,KAAK,EAAE,EAAE;gCACT,MAAM,EAAE,EAAE;gCACV,CAAC,UAAU,CAAC,EAAE,MAAM;6BACvB,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC,CACJ,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,SAAI,GAAG,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAClC,CAAC;YACD,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,uBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE;YAClC,2EAA2E;YAC3E,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,KAAY,EAAE,EAAE;YAC/B,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,yBAAyB;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAChC,CAAC;QACL,CAAC,CAAC;QAzKE,oCAAoC;QACpC,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,YAAY;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IACS,OAAO,CAAC,kBAAkC;QAChD,IAAI,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IACD,iBAAiB;QACb,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,yBAAyB;QACzB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,CAAC;QAC5C,yBAAyB;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAID,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,IAAI,MAAM,CAAC,MAAsB;QAC7B,qCAAqC;QACrC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjF,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,2BAA2B;YAC3B,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAoID,MAAM;QACF,OAAO,IAAI,CAAA;0BACO,CAAC;IACvB,CAAC;;AAjPM,mBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiClB,AAjCY,CAiCX;AAIF;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAC3B;AAEhB;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACrB;AAEtB;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDAClB;AAEzB;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAajB;AAIzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAChB;AAEX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;6CACV;AA3EV,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CAgQxB;;AAED,MAAM,eAAgB,SAAQ,SAAS;IAAvC;;QACI,iBAAY,GAAG,KAAK,CAAC;IAyBzB,CAAC;IArBG,MAAM,CAAC,gBAAyB,EAAE,IAAG,CAAC;IACtC,MAAM,CAAC,IAAiB,EAAE,CAAC,aAAa,CAA4B;QAChE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;IACL,CAAC;IACD,SAAS;QACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,OAAO,EAAE,CAAC,MAAoB,EAAE,EAAE;YAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IACD,oBAAoB;QAChB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAO,EAAE,IAAI,CAAC,IAAK,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC"}
@@ -1,91 +1,135 @@
1
- import "../node_modules/@lit/reactive-element/reactive-element.js";
2
- import { html as d, render as p } from "../node_modules/lit-html/lit-html.js";
3
- import { LitElement as f } from "../node_modules/lit-element/lit-element.js";
4
- import { customElement as u } from "../node_modules/@lit/reactive-element/decorators/custom-element.js";
5
- import { property as h } from "../node_modules/@lit/reactive-element/decorators/property.js";
6
- import { directive as g, Directive as v } from "../node_modules/lit-html/directive.js";
7
- import { computePosition as w, offset as y, flip as E, shift as b, size as x, arrow as T } from "../node_modules/@floating-ui/dom/dist/floating-ui.dom.js";
8
- import { css as _ } from "../node_modules/@lit/reactive-element/css-tag.js";
9
- var k = Object.defineProperty, L = Object.getOwnPropertyDescriptor, a = (i, t, n, r) => {
10
- for (var o = r > 1 ? void 0 : r ? L(t, n) : t, e = i.length - 1, s; e >= 0; e--)
11
- (s = i[e]) && (o = (r ? s(t, n, o) : s(o)) || o);
12
- return r && o && k(t, n, o), o;
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
6
  };
14
- const m = ["pointerenter", "mouseenter"], c = ["pointerleave", "mouseleave", "blur", "keydown", "click", "scroll"];
15
- let l = class extends f {
16
- constructor() {
17
- super(...arguments), this.showing = !1, this.placement = "top", this.offset = 8, this.openDelayMs = 300, this._target = null, this.openTimeout = null, this.isHoveringTarget = !1, this.scheduleShow = () => {
18
- this.clearOpenTimeout(), this.openTimeout = window.setTimeout(() => {
19
- this._target && this.isHoveringTarget && this.showTooltipNow();
20
- }, this.openDelayMs);
21
- }, this.showTooltipNow = () => {
22
- this.style.removeProperty("display"), this.style.zIndex = "100000", this.showing = !0, !(!this.target || !this.arrowElement) && w(this.target, this, {
23
- placement: this.placement,
24
- strategy: "absolute",
25
- middleware: [
26
- y(this.offset),
27
- E(),
28
- b({ padding: 8 }),
29
- x({ padding: 8 }),
30
- T({ element: this.arrowElement })
31
- ]
32
- }).then(({ x: i, y: t, placement: n, middlewareData: r }) => {
33
- r.hide && Object.assign(this.style, {
34
- display: r.hide.referenceHidden || !this.showing ? "none" : "block"
35
- }), Object.assign(this.style, {
36
- left: `${i}px`,
37
- top: `${t}px`
38
- });
39
- const o = {
40
- top: "bottom",
41
- bottom: "top",
42
- left: "right",
43
- right: "left"
44
- }[n.split("-")[0]], { x: e, y: s } = r.arrow || {};
45
- Object.assign(this.arrowElement.style, {
46
- left: e != null ? `${e}px` : "",
47
- top: s != null ? `${s}px` : "",
48
- right: "",
49
- bottom: "",
50
- [o]: "-4px"
51
- });
52
- });
53
- }, this.clearOpenTimeout = () => {
54
- this.openTimeout !== null && (clearTimeout(this.openTimeout), this.openTimeout = null);
55
- }, this.markHovering = () => {
56
- this.isHoveringTarget = !0;
57
- }, this.markNotHovering = () => {
58
- this.isHoveringTarget = !1, this.clearOpenTimeout();
59
- }, this.hide = () => {
60
- this.showing = !1, this.style.display = "none";
61
- };
62
- }
63
- get target() {
64
- return this._target;
65
- }
66
- set target(i) {
67
- this._target && (m.forEach((t) => {
68
- this._target.removeEventListener(t, this.scheduleShow), this._target.removeEventListener(t, this.markHovering);
69
- }), c.forEach((t) => this._target.removeEventListener(t, this.hide))), i && (m.forEach((t) => {
70
- i.addEventListener(t, this.scheduleShow), i.addEventListener(t, this.markHovering);
71
- }), c.forEach((t) => {
72
- i.addEventListener(t, this.markNotHovering), i.addEventListener(t, this.hide);
73
- })), this._target = i;
74
- }
75
- connectedCallback() {
76
- super.connectedCallback(), this.style.display = "none";
77
- }
78
- firstUpdated() {
79
- this.arrowElement = this.shadowRoot.getElementById("arrow");
80
- }
81
- render() {
82
- return d`
7
+ import { html, css, LitElement } from 'lit';
8
+ import { customElement, property } from 'lit/decorators.js';
9
+ import { directive, Directive } from 'lit/directive.js';
10
+ import { render } from 'lit/html.js';
11
+ import { computePosition, offset, shift, flip, size, arrow } from '@floating-ui/dom';
12
+ const ENTER_EVENTS = ['pointerenter', 'mouseenter'];
13
+ const LEAVE_EVENTS = ['pointerleave', 'mouseleave', 'blur', 'keydown', 'click', 'scroll'];
14
+ let SimpleTooltip = class SimpleTooltip extends LitElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.showing = false;
18
+ this.placement = 'top';
19
+ this.offset = 8;
20
+ this.openDelayMs = 300;
21
+ this._target = null;
22
+ this.openTimeout = null;
23
+ this.isHoveringTarget = false;
24
+ this.scheduleShow = () => {
25
+ this.clearOpenTimeout();
26
+ this.openTimeout = window.setTimeout(() => {
27
+ if (this._target && this.isHoveringTarget) {
28
+ this.showTooltipNow();
29
+ }
30
+ }, this.openDelayMs);
31
+ };
32
+ this.showTooltipNow = () => {
33
+ this.style.removeProperty('display');
34
+ this.style.zIndex = '100000';
35
+ this.showing = true;
36
+ // if (!document.body.contains(this)) {
37
+ // document.body.appendChild(this);
38
+ // }
39
+ if (!this.target || !this.arrowElement)
40
+ return;
41
+ computePosition(this.target, this, {
42
+ placement: this.placement,
43
+ strategy: 'absolute',
44
+ middleware: [
45
+ offset(this.offset),
46
+ flip(),
47
+ shift({ padding: 8 }),
48
+ size({ padding: 8 }),
49
+ arrow({ element: this.arrowElement }),
50
+ ],
51
+ }).then(({ x, y, placement, middlewareData }) => {
52
+ if (middlewareData.hide) {
53
+ Object.assign(this.style, {
54
+ display: middlewareData.hide.referenceHidden || !this.showing ? 'none' : 'block',
55
+ });
56
+ }
57
+ Object.assign(this.style, {
58
+ left: `${x}px`,
59
+ top: `${y}px`,
60
+ });
61
+ const staticSide = {
62
+ top: 'bottom',
63
+ bottom: 'top',
64
+ left: 'right',
65
+ right: 'left',
66
+ }[placement.split('-')[0]];
67
+ const { x: arrowX, y: arrowY } = middlewareData.arrow || {};
68
+ Object.assign(this.arrowElement.style, {
69
+ left: arrowX != null ? `${arrowX}px` : '',
70
+ top: arrowY != null ? `${arrowY}px` : '',
71
+ right: '',
72
+ bottom: '',
73
+ [staticSide]: '-4px',
74
+ });
75
+ });
76
+ };
77
+ this.clearOpenTimeout = () => {
78
+ if (this.openTimeout !== null) {
79
+ clearTimeout(this.openTimeout);
80
+ this.openTimeout = null;
81
+ }
82
+ };
83
+ this.markHovering = () => {
84
+ this.isHoveringTarget = true;
85
+ };
86
+ this.markNotHovering = () => {
87
+ this.isHoveringTarget = false;
88
+ this.clearOpenTimeout();
89
+ };
90
+ this.hide = () => {
91
+ this.showing = false;
92
+ this.style.display = 'none';
93
+ };
94
+ }
95
+ get target() {
96
+ return this._target;
97
+ }
98
+ set target(el) {
99
+ if (this._target) {
100
+ ENTER_EVENTS.forEach((evt) => {
101
+ this._target.removeEventListener(evt, this.scheduleShow);
102
+ this._target.removeEventListener(evt, this.markHovering);
103
+ });
104
+ LEAVE_EVENTS.forEach((evt) => this._target.removeEventListener(evt, this.hide));
105
+ }
106
+ if (el) {
107
+ ENTER_EVENTS.forEach((evt) => {
108
+ el.addEventListener(evt, this.scheduleShow);
109
+ el.addEventListener(evt, this.markHovering);
110
+ });
111
+ LEAVE_EVENTS.forEach((evt) => {
112
+ el.addEventListener(evt, this.markNotHovering);
113
+ el.addEventListener(evt, this.hide);
114
+ });
115
+ }
116
+ this._target = el;
117
+ }
118
+ connectedCallback() {
119
+ super.connectedCallback();
120
+ this.style.display = 'none';
121
+ }
122
+ firstUpdated() {
123
+ this.arrowElement = this.shadowRoot.getElementById('arrow');
124
+ }
125
+ render() {
126
+ return html `
83
127
  <div id="arrow"></div>
84
128
  <slot></slot>
85
129
  `;
86
- }
130
+ }
87
131
  };
88
- l.styles = _`
132
+ SimpleTooltip.styles = css `
89
133
  :host {
90
134
  position: absolute;
91
135
  display: inline-block;
@@ -129,46 +173,76 @@ l.styles = _`
129
173
  max-height: 70vh;
130
174
  }
131
175
  `;
132
- a([
133
- h({ type: Boolean, reflect: !0 })
134
- ], l.prototype, "showing", 2);
135
- a([
136
- h({ type: String, reflect: !0 })
137
- ], l.prototype, "placement", 2);
138
- a([
139
- h({ type: Number })
140
- ], l.prototype, "offset", 2);
141
- a([
142
- h({ type: Number })
143
- ], l.prototype, "openDelayMs", 2);
144
- l = a([
145
- u("simple-tooltip")
146
- ], l);
147
- class H extends v {
148
- constructor() {
149
- super(...arguments), this.initialized = !1;
150
- }
151
- disconnect() {
152
- this.tooltip && (this.tooltip.hide(), this.tooltip.parentElement && this.tooltip.parentElement.removeChild(this.tooltip), this.tooltip = void 0, this.initialized = !1);
153
- }
154
- render() {
155
- }
156
- // required override
157
- update(t, [n, r = "top", o = 200]) {
158
- this.part = t, this.content = n, this.placement = r, this.delay = o;
159
- const e = this.part.element;
160
- if (!this.initialized) {
161
- this.initialized = !0;
162
- const s = () => {
163
- this.tooltip || (this.tooltip = document.createElement("simple-tooltip"), this.tooltip.placement = this.placement, this.tooltip.openDelayMs = this.delay, document.body.appendChild(this.tooltip), p(this.content, this.tooltip, this.part.options)), this.tooltip.target = e, this.tooltip.openDelayMs = this.delay, this.tooltip.placement = this.placement, this.tooltip.scheduleShow(), e.removeEventListener("mouseenter", s), e.removeEventListener("pointerenter", s);
164
- };
165
- e.addEventListener("mouseenter", s), e.addEventListener("pointerenter", s);
176
+ __decorate([
177
+ property({ type: Boolean, reflect: true })
178
+ ], SimpleTooltip.prototype, "showing", void 0);
179
+ __decorate([
180
+ property({ type: String, reflect: true })
181
+ ], SimpleTooltip.prototype, "placement", void 0);
182
+ __decorate([
183
+ property({ type: Number })
184
+ ], SimpleTooltip.prototype, "offset", void 0);
185
+ __decorate([
186
+ property({ type: Number })
187
+ ], SimpleTooltip.prototype, "openDelayMs", void 0);
188
+ SimpleTooltip = __decorate([
189
+ customElement('simple-tooltip')
190
+ ], SimpleTooltip);
191
+ export { SimpleTooltip };
192
+ class TooltipDirective extends Directive {
193
+ constructor() {
194
+ super(...arguments);
195
+ this.initialized = false;
196
+ }
197
+ disconnect() {
198
+ if (this.tooltip) {
199
+ this.tooltip.hide();
200
+ // Remove from DOM to avoid leaks if desired
201
+ if (this.tooltip.parentElement) {
202
+ this.tooltip.parentElement.removeChild(this.tooltip);
203
+ }
204
+ this.tooltip = undefined;
205
+ this.initialized = false;
206
+ }
207
+ }
208
+ render() { } // required override
209
+ update(part, [content, placement = 'top', delay = 200]) {
210
+ this.part = part;
211
+ this.content = content;
212
+ this.placement = placement;
213
+ this.delay = delay;
214
+ const target = this.part.element;
215
+ if (!this.initialized) {
216
+ this.initialized = true;
217
+ const onEnter = () => {
218
+ if (!this.tooltip) {
219
+ this.tooltip = document.createElement('simple-tooltip');
220
+ this.tooltip.placement = this.placement;
221
+ this.tooltip.openDelayMs = this.delay;
222
+ document.body.appendChild(this.tooltip);
223
+ render(this.content, this.tooltip, this.part.options);
224
+ }
225
+ this.tooltip.target = target;
226
+ this.tooltip.openDelayMs = this.delay;
227
+ this.tooltip.placement = this.placement;
228
+ this.tooltip.scheduleShow();
229
+ // Lazy mounting done — clean up listener
230
+ target.removeEventListener('mouseenter', onEnter);
231
+ target.removeEventListener('pointerenter', onEnter);
232
+ };
233
+ target.addEventListener('mouseenter', onEnter);
234
+ target.addEventListener('pointerenter', onEnter);
235
+ }
236
+ if (this.tooltip) {
237
+ this.tooltip.openDelayMs = this.delay;
238
+ this.tooltip.placement = this.placement;
239
+ render(this.content, this.tooltip, this.part.options);
240
+ // Hide tooltip if target is not in DOM
241
+ if (!document.body.contains(target)) {
242
+ this.tooltip.hide();
243
+ }
244
+ }
166
245
  }
167
- this.tooltip && (this.tooltip.openDelayMs = this.delay, this.tooltip.placement = this.placement, p(this.content, this.tooltip, this.part.options), document.body.contains(e) || this.tooltip.hide());
168
- }
169
246
  }
170
- const j = g(H);
171
- export {
172
- l as SimpleTooltip,
173
- j as tooltip
174
- };
247
+ export const tooltip = directive(TooltipDirective);
248
+ //# sourceMappingURL=simple-tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-tooltip.js","sourceRoot":"","sources":["../../src/shared/simple-tooltip.ts"],"names":[],"mappings":"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"}