@limetech/lime-elements 37.14.1 → 37.15.1

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 (36) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/limel-markdown.cjs.entry.js +1302 -2907
  3. package/dist/cjs/limel-markdown.cjs.entry.js.map +1 -1
  4. package/dist/cjs/limel-portal_3.cjs.entry.js +34 -16
  5. package/dist/cjs/limel-portal_3.cjs.entry.js.map +1 -1
  6. package/dist/collection/components/markdown/allowed-css-properties.js +13 -0
  7. package/dist/collection/components/markdown/allowed-css-properties.js.map +1 -0
  8. package/dist/collection/components/markdown/markdown-parser.js +15 -1
  9. package/dist/collection/components/markdown/markdown-parser.js.map +1 -1
  10. package/dist/collection/components/markdown/sanitize-style.js +65 -0
  11. package/dist/collection/components/markdown/sanitize-style.js.map +1 -0
  12. package/dist/collection/components/tooltip/getOwnerElement.js +10 -0
  13. package/dist/collection/components/tooltip/getOwnerElement.js.map +1 -0
  14. package/dist/collection/components/tooltip/tooltip.js +6 -16
  15. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  16. package/dist/collection/components/tooltip/tooltipTimer.js +20 -0
  17. package/dist/collection/components/tooltip/tooltipTimer.js.map +1 -0
  18. package/dist/esm/limel-markdown.entry.js +1302 -2907
  19. package/dist/esm/limel-markdown.entry.js.map +1 -1
  20. package/dist/esm/limel-portal_3.entry.js +34 -16
  21. package/dist/esm/limel-portal_3.entry.js.map +1 -1
  22. package/dist/lime-elements/lime-elements.esm.js +1 -1
  23. package/dist/lime-elements/p-ae978098.entry.js +2 -0
  24. package/dist/lime-elements/p-ae978098.entry.js.map +1 -0
  25. package/dist/lime-elements/p-bc582bc6.entry.js +8 -0
  26. package/dist/lime-elements/p-bc582bc6.entry.js.map +1 -0
  27. package/dist/types/components/markdown/allowed-css-properties.d.ts +2 -0
  28. package/dist/types/components/markdown/sanitize-style.d.ts +36 -0
  29. package/dist/types/components/tooltip/getOwnerElement.d.ts +2 -0
  30. package/dist/types/components/tooltip/tooltip.d.ts +1 -2
  31. package/dist/types/components/tooltip/tooltipTimer.d.ts +10 -0
  32. package/package.json +6 -3
  33. package/dist/lime-elements/p-264bf26c.entry.js +0 -2
  34. package/dist/lime-elements/p-264bf26c.entry.js.map +0 -1
  35. package/dist/lime-elements/p-66c9403f.entry.js +0 -2
  36. package/dist/lime-elements/p-66c9403f.entry.js.map +0 -1
@@ -2004,6 +2004,36 @@ const Portal = class {
2004
2004
  };
2005
2005
  Portal.style = portalCss;
2006
2006
 
2007
+ function getOwnerElement(id, startingPoint) {
2008
+ let element = startingPoint;
2009
+ do {
2010
+ element = element.parentNode;
2011
+ } while (element &&
2012
+ element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE &&
2013
+ element.nodeType !== Node.DOCUMENT_NODE);
2014
+ return element === null || element === void 0 ? void 0 : element.getElementById(id);
2015
+ }
2016
+
2017
+ const DEFAULT_DELAY_FOR_SHOWING = 500;
2018
+ class TooltipTimer {
2019
+ constructor(showCallback, hideCallback, delayForShowing = DEFAULT_DELAY_FOR_SHOWING) {
2020
+ this.timerHandle = null;
2021
+ this.showCallback = showCallback;
2022
+ this.hideCallback = hideCallback;
2023
+ this.delayForShowing = delayForShowing;
2024
+ }
2025
+ showAfterDelay() {
2026
+ if (!this.timerHandle) {
2027
+ this.timerHandle = setTimeout(this.showCallback, this.delayForShowing);
2028
+ }
2029
+ }
2030
+ hide() {
2031
+ clearTimeout(this.timerHandle);
2032
+ this.timerHandle = null;
2033
+ this.hideCallback();
2034
+ }
2035
+ }
2036
+
2007
2037
  const tooltipCss = ":host(limel-tooltip){position:absolute;pointer-events:none}";
2008
2038
 
2009
2039
  const DEFAULT_MAX_LENGTH = 50;
@@ -2011,14 +2041,10 @@ const Tooltip = class {
2011
2041
  constructor(hostRef) {
2012
2042
  registerInstance(this, hostRef);
2013
2043
  this.showTooltip = () => {
2014
- const tooltipDelay = 500;
2015
- this.showTooltipTimeoutHandle = window.setTimeout(() => {
2016
- this.open = true;
2017
- }, tooltipDelay);
2044
+ this.tooltipTimer.showAfterDelay();
2018
2045
  };
2019
2046
  this.hideTooltip = () => {
2020
- clearTimeout(this.showTooltipTimeoutHandle);
2021
- this.open = false;
2047
+ this.tooltipTimer.hide();
2022
2048
  };
2023
2049
  this.elementId = undefined;
2024
2050
  this.label = undefined;
@@ -2028,9 +2054,10 @@ const Tooltip = class {
2028
2054
  this.open = undefined;
2029
2055
  this.portalId = createRandomString();
2030
2056
  this.tooltipId = createRandomString();
2057
+ this.tooltipTimer = new TooltipTimer(() => (this.open = true), () => (this.open = false));
2031
2058
  }
2032
2059
  connectedCallback() {
2033
- this.ownerElement = this.getOwnerElement();
2060
+ this.ownerElement = getOwnerElement(this.elementId, this.host);
2034
2061
  this.setOwnerAriaLabel();
2035
2062
  this.addListeners();
2036
2063
  }
@@ -2062,15 +2089,6 @@ const Tooltip = class {
2062
2089
  (_c = this.ownerElement) === null || _c === void 0 ? void 0 : _c.removeEventListener('focus', this.showTooltip);
2063
2090
  (_d = this.ownerElement) === null || _d === void 0 ? void 0 : _d.removeEventListener('blur', this.hideTooltip);
2064
2091
  }
2065
- getOwnerElement() {
2066
- let element = this.host;
2067
- do {
2068
- element = element.parentNode;
2069
- } while (element &&
2070
- element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE &&
2071
- element.nodeType !== Node.DOCUMENT_NODE);
2072
- return element === null || element === void 0 ? void 0 : element.getElementById(this.elementId);
2073
- }
2074
2092
  get host() { return getElement(this); }
2075
2093
  };
2076
2094
  Tooltip.style = tooltipCss;