@hitachivantara/uikit-react-core 5.85.1 → 5.86.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 (66) hide show
  1. package/dist/cjs/Banner/BannerContent/BannerContent.cjs +60 -28
  2. package/dist/cjs/Banner/BannerContent/BannerContent.styles.cjs +30 -1
  3. package/dist/cjs/{ScrollTo/Horizontal → ScrollToHorizontal}/HorizontalScrollListItem/HorizontalScrollListItem.cjs +2 -2
  4. package/dist/cjs/{ScrollTo/Horizontal → ScrollToHorizontal}/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +1 -1
  5. package/dist/cjs/{ScrollTo/Horizontal → ScrollToHorizontal}/ScrollToHorizontal.cjs +3 -3
  6. package/dist/cjs/{ScrollTo/Vertical → ScrollToVertical}/ScrollToVertical.cjs +3 -3
  7. package/dist/cjs/{ScrollTo/Vertical → ScrollToVertical}/VerticalScrollListItem/VerticalScrollListItem.cjs +1 -1
  8. package/dist/cjs/{ScrollTo/Vertical → ScrollToVertical}/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +1 -1
  9. package/dist/cjs/{ScrollTo → hooks}/useScrollTo.cjs +14 -10
  10. package/dist/cjs/index.cjs +9 -9
  11. package/dist/cjs/{ScrollTo/utils.cjs → utils/scroll.cjs} +12 -0
  12. package/dist/esm/Banner/BannerContent/BannerContent.js +61 -29
  13. package/dist/esm/Banner/BannerContent/BannerContent.js.map +1 -1
  14. package/dist/esm/Banner/BannerContent/BannerContent.styles.js +30 -1
  15. package/dist/esm/Banner/BannerContent/BannerContent.styles.js.map +1 -1
  16. package/dist/esm/Box/Box.js.map +1 -1
  17. package/dist/esm/Focus/Focus.js.map +1 -1
  18. package/dist/esm/Kpi/Kpi.js.map +1 -1
  19. package/dist/esm/Link/Link.js.map +1 -1
  20. package/dist/esm/List/List.js.map +1 -1
  21. package/dist/esm/{ScrollTo/Horizontal → ScrollToHorizontal}/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
  22. package/dist/esm/ScrollToHorizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -0
  23. package/dist/esm/{ScrollTo/Horizontal → ScrollToHorizontal}/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +1 -1
  24. package/dist/esm/ScrollToHorizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +1 -0
  25. package/dist/esm/{ScrollTo/Horizontal → ScrollToHorizontal}/ScrollToHorizontal.js +3 -3
  26. package/dist/esm/{ScrollTo/Horizontal → ScrollToHorizontal}/ScrollToHorizontal.js.map +1 -1
  27. package/dist/esm/ScrollToHorizontal/ScrollToHorizontal.styles.js.map +1 -0
  28. package/dist/esm/{ScrollTo/Vertical → ScrollToVertical}/ScrollToVertical.js +3 -3
  29. package/dist/esm/{ScrollTo/Vertical → ScrollToVertical}/ScrollToVertical.js.map +1 -1
  30. package/dist/esm/ScrollToVertical/ScrollToVertical.styles.js.map +1 -0
  31. package/dist/esm/{ScrollTo/Vertical → ScrollToVertical}/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
  32. package/dist/esm/ScrollToVertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -0
  33. package/dist/esm/{ScrollTo/Vertical → ScrollToVertical}/VerticalScrollListItem/VerticalScrollListItem.styles.js +1 -1
  34. package/dist/esm/ScrollToVertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -0
  35. package/dist/esm/hocs/withTooltip.js.map +1 -1
  36. package/dist/esm/{ScrollTo → hooks}/useScrollTo.js +9 -5
  37. package/dist/esm/hooks/useScrollTo.js.map +1 -0
  38. package/dist/esm/index.js +10 -10
  39. package/dist/esm/{ScrollTo/utils.js → utils/scroll.js} +12 -0
  40. package/dist/esm/utils/scroll.js.map +1 -0
  41. package/dist/types/index.d.ts +337 -351
  42. package/package.json +2 -2
  43. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.cjs +0 -46
  44. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +0 -31
  45. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.cjs +0 -44
  46. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +0 -23
  47. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.js +0 -47
  48. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.js.map +0 -1
  49. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +0 -31
  50. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +0 -1
  51. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.js +0 -45
  52. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.js.map +0 -1
  53. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +0 -23
  54. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.styles.js.map +0 -1
  55. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +0 -1
  56. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +0 -1
  57. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js.map +0 -1
  58. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.styles.js.map +0 -1
  59. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +0 -1
  60. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +0 -1
  61. package/dist/esm/ScrollTo/useScrollTo.js.map +0 -1
  62. package/dist/esm/ScrollTo/utils.js.map +0 -1
  63. /package/dist/cjs/{ScrollTo/Horizontal → ScrollToHorizontal}/ScrollToHorizontal.styles.cjs +0 -0
  64. /package/dist/cjs/{ScrollTo/Vertical → ScrollToVertical}/ScrollToVertical.styles.cjs +0 -0
  65. /package/dist/esm/{ScrollTo/Horizontal → ScrollToHorizontal}/ScrollToHorizontal.styles.js +0 -0
  66. /package/dist/esm/{ScrollTo/Vertical → ScrollToVertical}/ScrollToVertical.styles.js +0 -0
@@ -1,4 +1,7 @@
1
1
  const getScrollTop = (c = window) => {
2
+ if (c === null) {
3
+ return 0;
4
+ }
2
5
  if (c === window) {
3
6
  return window.scrollY || window.pageYOffset || document.documentElement?.scrollTop || document.body.scrollTop;
4
7
  }
@@ -23,6 +26,9 @@ const horizontalScrollOffset = (t, c = window) => {
23
26
  return t.offsetLeft - c.offsetLeft;
24
27
  };
25
28
  const scrollElement = (element, container, offset = 0, direction) => {
29
+ if (container === null) {
30
+ return;
31
+ }
26
32
  if (direction === "row") {
27
33
  const elemLeft = horizontalScrollOffset(element, container);
28
34
  container?.scrollTo?.({
@@ -39,6 +45,9 @@ const scrollElement = (element, container, offset = 0, direction) => {
39
45
  element.focus({ preventScroll: true });
40
46
  };
41
47
  const isScrolledToTheBottom = (container) => {
48
+ if (container === null) {
49
+ return false;
50
+ }
42
51
  const containerScrollTop = getScrollTop(container);
43
52
  if (container === window) {
44
53
  const scrollHeight = document.documentElement?.scrollHeight || document.body.scrollHeight;
@@ -47,6 +56,9 @@ const isScrolledToTheBottom = (container) => {
47
56
  return containerScrollTop + container.offsetHeight >= container.scrollHeight;
48
57
  };
49
58
  const findFirstVisibleElement = (container, options, offset) => {
59
+ if (container === null) {
60
+ return -1;
61
+ }
50
62
  const boundsTop = verticalScrollOffset(container);
51
63
  let i = 0;
52
64
  for (; i < options.length; i += 1) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.js","sources":["../../../src/utils/scroll.ts"],"sourcesContent":["import { HvScrollToOption } from \"../types/scroll\";\n\ntype ExtendedWindow = Window & typeof globalThis & HTMLElement;\n\nexport const getScrollTop = (\n c: HTMLElement | (Window & typeof globalThis) | null = window,\n) => {\n if (c === null) {\n return 0;\n }\n\n if (c === window) {\n return (\n window.scrollY ||\n window.pageYOffset ||\n document.documentElement?.scrollTop ||\n document.body.scrollTop\n );\n }\n\n return (c as ExtendedWindow).scrollTop;\n};\n\nexport const verticalScrollOffset = (\n t: HTMLElement | (Window & typeof globalThis),\n c: HTMLElement | (Window & typeof globalThis) = window,\n) => {\n if (c === window) {\n return (\n ((t as ExtendedWindow)?.getBoundingClientRect?.().top || 0) +\n (window.scrollY || window.pageYOffset)\n );\n }\n if (getComputedStyle(c as ExtendedWindow).position !== \"static\") {\n return (t as ExtendedWindow).offsetTop;\n }\n\n return (t as ExtendedWindow).offsetTop - (c as ExtendedWindow).offsetTop;\n};\n\nexport const horizontalScrollOffset = (\n t: HTMLElement,\n c: HTMLElement | (Window & typeof globalThis) = window,\n) => {\n if (c === window) {\n return (\n (t?.getBoundingClientRect?.().left || 0) +\n (window.scrollX || window.pageXOffset)\n );\n }\n if (getComputedStyle(c as ExtendedWindow).position !== \"static\") {\n return t.offsetLeft;\n }\n\n return t.offsetLeft - (c as ExtendedWindow).offsetLeft;\n};\n\nexport const scrollElement = (\n element: HTMLElement,\n container: HTMLElement | (Window & typeof globalThis) | null,\n offset = 0,\n direction?: \"row\" | \"column\",\n) => {\n if (container === null) {\n return;\n }\n\n if (direction === \"row\") {\n const elemLeft = horizontalScrollOffset(element, container);\n container?.scrollTo?.({\n left: elemLeft - offset,\n behavior: \"smooth\",\n });\n } else {\n const elemTop = verticalScrollOffset(element, container);\n container?.scrollTo?.({\n top: elemTop - offset,\n behavior: \"smooth\",\n });\n }\n element.focus({ preventScroll: true });\n};\n\nexport const isScrolledToTheBottom = (\n container: HTMLElement | (Window & typeof globalThis) | null,\n) => {\n if (container === null) {\n return false;\n }\n\n const containerScrollTop = getScrollTop(container);\n\n if (container === window) {\n // Accounting for cases where html/body are set to height:100%\n const scrollHeight =\n document.documentElement?.scrollHeight || document.body.scrollHeight;\n\n return containerScrollTop + window.innerHeight >= scrollHeight;\n }\n\n return (\n containerScrollTop + (container as ExtendedWindow).offsetHeight >=\n (container as ExtendedWindow).scrollHeight\n );\n};\n\nexport const findFirstVisibleElement = (\n container: HTMLElement | (Window & typeof globalThis) | null,\n options: HvScrollToOption[],\n offset: number,\n) => {\n if (container === null) {\n return -1;\n }\n const boundsTop = verticalScrollOffset(container);\n\n let i = 0;\n\n // Find index of first element whose top is still visible inside the container\n for (; i < options.length; i += 1) {\n const ele = document.getElementById(options[i].value);\n\n if (ele) {\n const elemTop = verticalScrollOffset(ele) - (options[i].offset || offset);\n\n if (elemTop > boundsTop) {\n break;\n }\n }\n }\n\n // Return the previous index, the element that last scrolled past the top\n return i - 1;\n};\n"],"names":[],"mappings":"AAIa,MAAA,eAAe,CAC1B,IAAuD,WACpD;AACH,MAAI,MAAM,MAAM;AACP,WAAA;AAAA,EAAA;AAGT,MAAI,MAAM,QAAQ;AAEd,WAAA,OAAO,WACP,OAAO,eACP,SAAS,iBAAiB,aAC1B,SAAS,KAAK;AAAA,EAAA;AAIlB,SAAQ,EAAqB;AAC/B;AAEO,MAAM,uBAAuB,CAClC,GACA,IAAgD,WAC7C;AACH,MAAI,MAAM,QAAQ;AAChB,YACI,GAAsB,wBAAwB,EAAE,OAAO,MACxD,OAAO,WAAW,OAAO;AAAA,EAAA;AAG9B,MAAI,iBAAiB,CAAmB,EAAE,aAAa,UAAU;AAC/D,WAAQ,EAAqB;AAAA,EAAA;AAGvB,SAAA,EAAqB,YAAa,EAAqB;AACjE;AAEO,MAAM,yBAAyB,CACpC,GACA,IAAgD,WAC7C;AACH,MAAI,MAAM,QAAQ;AAChB,YACG,GAAG,wBAAwB,EAAE,QAAQ,MACrC,OAAO,WAAW,OAAO;AAAA,EAAA;AAG9B,MAAI,iBAAiB,CAAmB,EAAE,aAAa,UAAU;AAC/D,WAAO,EAAE;AAAA,EAAA;AAGJ,SAAA,EAAE,aAAc,EAAqB;AAC9C;AAEO,MAAM,gBAAgB,CAC3B,SACA,WACA,SAAS,GACT,cACG;AACH,MAAI,cAAc,MAAM;AACtB;AAAA,EAAA;AAGF,MAAI,cAAc,OAAO;AACjB,UAAA,WAAW,uBAAuB,SAAS,SAAS;AAC1D,eAAW,WAAW;AAAA,MACpB,MAAM,WAAW;AAAA,MACjB,UAAU;AAAA,IAAA,CACX;AAAA,EAAA,OACI;AACC,UAAA,UAAU,qBAAqB,SAAS,SAAS;AACvD,eAAW,WAAW;AAAA,MACpB,KAAK,UAAU;AAAA,MACf,UAAU;AAAA,IAAA,CACX;AAAA,EAAA;AAEH,UAAQ,MAAM,EAAE,eAAe,KAAA,CAAM;AACvC;AAEa,MAAA,wBAAwB,CACnC,cACG;AACH,MAAI,cAAc,MAAM;AACf,WAAA;AAAA,EAAA;AAGH,QAAA,qBAAqB,aAAa,SAAS;AAEjD,MAAI,cAAc,QAAQ;AAExB,UAAM,eACJ,SAAS,iBAAiB,gBAAgB,SAAS,KAAK;AAEnD,WAAA,qBAAqB,OAAO,eAAe;AAAA,EAAA;AAIlD,SAAA,qBAAsB,UAA6B,gBAClD,UAA6B;AAElC;AAEO,MAAM,0BAA0B,CACrC,WACA,SACA,WACG;AACH,MAAI,cAAc,MAAM;AACf,WAAA;AAAA,EAAA;AAEH,QAAA,YAAY,qBAAqB,SAAS;AAEhD,MAAI,IAAI;AAGR,SAAO,IAAI,QAAQ,QAAQ,KAAK,GAAG;AACjC,UAAM,MAAM,SAAS,eAAe,QAAQ,CAAC,EAAE,KAAK;AAEpD,QAAI,KAAK;AACP,YAAM,UAAU,qBAAqB,GAAG,KAAK,QAAQ,CAAC,EAAE,UAAU;AAElE,UAAI,UAAU,WAAW;AACvB;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAIF,SAAO,IAAI;AACb;"}