@lumx/react 3.20.1-alpha.36 → 3.20.1-alpha.38

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 (106) hide show
  1. package/index.d.ts +4 -15
  2. package/index.js +13966 -64
  3. package/index.js.map +1 -0
  4. package/package.json +3 -3
  5. package/utils/index.js +159 -3
  6. package/utils/index.js.map +1 -0
  7. package/_internal/035c132d.js +0 -314
  8. package/_internal/0b9c76cb.js +0 -5
  9. package/_internal/0ea95af1.js +0 -819
  10. package/_internal/230173a8.js +0 -12
  11. package/_internal/2a3d237c.js +0 -11
  12. package/_internal/2c2b6a89.js +0 -51
  13. package/_internal/3181f000.js +0 -13
  14. package/_internal/36bd7352.js +0 -218
  15. package/_internal/3864a6c1.js +0 -436
  16. package/_internal/3a1facc0.js +0 -17
  17. package/_internal/49bbeed3.js +0 -5
  18. package/_internal/4daccdd5.js +0 -24
  19. package/_internal/4f4c0582.js +0 -2169
  20. package/_internal/5cef5e8c.js +0 -74
  21. package/_internal/6a60381c.js +0 -117
  22. package/_internal/6f084a40.js +0 -111
  23. package/_internal/76ddefd4.js +0 -61
  24. package/_internal/78df9309.js +0 -19
  25. package/_internal/7ad474e4.js +0 -98
  26. package/_internal/7b293665.js +0 -19
  27. package/_internal/7daf0f24.js +0 -76
  28. package/_internal/825ac334.js +0 -129
  29. package/_internal/827b804a.js +0 -5
  30. package/_internal/8bce732e.js +0 -8
  31. package/_internal/9d1336a1.js +0 -18
  32. package/_internal/a38bdcd0.js +0 -49
  33. package/_internal/b326655a.js +0 -682
  34. package/_internal/b83e864b.js +0 -76
  35. package/_internal/bace1bf1.js +0 -103
  36. package/_internal/c57190eb.js +0 -146
  37. package/_internal/components/alert-dialog/index-284fed80.js +0 -163
  38. package/_internal/components/autocomplete/__mockData__/index-96fc7ea7.js +0 -27
  39. package/_internal/components/autocomplete/index-27a49d5d.js +0 -261
  40. package/_internal/components/avatar/index-b8bc3cae.js +0 -83
  41. package/_internal/components/badge/index-9880f056.js +0 -81
  42. package/_internal/components/button/index-d919f96d.js +0 -47
  43. package/_internal/components/checkbox/index-dd478de9.js +0 -143
  44. package/_internal/components/chip/index-7f84cdbd.js +0 -102
  45. package/_internal/components/comment-block/index-e942de30.js +0 -138
  46. package/_internal/components/date-picker/index-a258d3ce.js +0 -596
  47. package/_internal/components/dialog/index-c7066813.js +0 -238
  48. package/_internal/components/divider/index-b6934baf.js +0 -50
  49. package/_internal/components/drag-handle/index-80e5af6c.js +0 -52
  50. package/_internal/components/dropdown/index-cebfc268.js +0 -147
  51. package/_internal/components/expansion-panel/index-9d45a211.js +0 -167
  52. package/_internal/components/flag/index-33e9d909.js +0 -59
  53. package/_internal/components/flex-box/index-0d6b6b43.js +0 -56
  54. package/_internal/components/generic-block/index-836c4352.js +0 -124
  55. package/_internal/components/grid/index-8c16a4f1.js +0 -104
  56. package/_internal/components/grid-column/index-4a2f56bb.js +0 -59
  57. package/_internal/components/heading/index-fd558a9a.js +0 -53
  58. package/_internal/components/icon/index-e7b9b40e.js +0 -1
  59. package/_internal/components/image-block/index-7021c2f1.js +0 -110
  60. package/_internal/components/image-lightbox/index-27017547.js +0 -759
  61. package/_internal/components/inline-list/index-52efec7f.js +0 -74
  62. package/_internal/components/input-helper/index-5a837e7c.js +0 -71
  63. package/_internal/components/input-label/index-0113f382.js +0 -59
  64. package/_internal/components/lightbox/index-fad5a9f2.js +0 -155
  65. package/_internal/components/link/index-008bae4b.js +0 -72
  66. package/_internal/components/link-preview/index-3e9c32f2.js +0 -117
  67. package/_internal/components/list/index-da88c6e9.js +0 -71
  68. package/_internal/components/message/index-17b568f2.js +0 -98
  69. package/_internal/components/mosaic/index-2d40e01c.js +0 -95
  70. package/_internal/components/navigation/index-dc17c639.js +0 -225
  71. package/_internal/components/notification/index-a1101015.js +0 -146
  72. package/_internal/components/popover/index-dbca63f1.js +0 -2
  73. package/_internal/components/popover-dialog/index-654d2abc.js +0 -66
  74. package/_internal/components/post-block/index-4b6b4dcb.js +0 -109
  75. package/_internal/components/progress/index-6f578c31.js +0 -182
  76. package/_internal/components/progress-tracker/index-700bc4c2.js +0 -309
  77. package/_internal/components/radio-button/index-89b725af.js +0 -149
  78. package/_internal/components/select/index-2755aa32.js +0 -458
  79. package/_internal/components/side-navigation/index-0bbe1fdd.js +0 -165
  80. package/_internal/components/skeleton/index-b2f8501c.js +0 -166
  81. package/_internal/components/slider/index-4f9b891b.js +0 -311
  82. package/_internal/components/slideshow/index-d4604589.js +0 -150
  83. package/_internal/components/switch/index-58fe0f0c.js +0 -122
  84. package/_internal/components/table/index-d541aa88.js +0 -297
  85. package/_internal/components/tabs/index-af1538d6.js +0 -298
  86. package/_internal/components/text/index-5bfc6d5e.js +0 -1
  87. package/_internal/components/text-field/index-47c98d09.js +0 -360
  88. package/_internal/components/thumbnail/index-71545d95.js +0 -41
  89. package/_internal/components/toolbar/index-7041a5a6.js +0 -61
  90. package/_internal/components/tooltip/index-8bb97e60.js +0 -327
  91. package/_internal/components/uploader/index-8f6f55de.js +0 -153
  92. package/_internal/components/user-block/index-70d4ce8f.js +0 -145
  93. package/_internal/d0e3f49e.js +0 -23
  94. package/_internal/de24f857.js +0 -3
  95. package/_internal/e806b848.js +0 -8
  96. package/_internal/e913a3af.js +0 -117
  97. package/_internal/ea04260d.js +0 -28
  98. package/_internal/eaf6c45a.js +0 -3
  99. package/_internal/ebdcb0c7.js +0 -60
  100. package/_internal/ef5d1aac.js +0 -3
  101. package/_internal/f0d7d6ea.js +0 -29
  102. package/_internal/utils/ClickAwayProvider/index-1234ce76.js +0 -94
  103. package/_internal/utils/MaterialThemeSwitcher/index-8d22de5a.js +0 -48
  104. package/_internal/utils/Portal/index-6e0a7404.js +0 -44
  105. package/_internal/utils/disabled/index-075b99c3.js +0 -36
  106. package/_internal/utils/type/index-ea9fc197.js +0 -2
@@ -1,12 +0,0 @@
1
- /** CSS selector listing all tabbable elements. */
2
- const TABBABLE_ELEMENTS_SELECTOR = 'a[href], button, textarea, input:not([type="hidden"]):not([hidden]), [tabindex]';
3
-
4
- /** CSS selector matching element that are disabled (should not receive focus). */
5
- const DISABLED_SELECTOR = '[hidden], [tabindex="-1"], [disabled]:not([disabled="false"]), [aria-disabled]:not([aria-disabled="false"])';
6
-
7
- const isNotDisabled = element => !element.matches(DISABLED_SELECTOR);
8
- function getFocusableElements(element) {
9
- return Array.from(element.querySelectorAll(TABBABLE_ELEMENTS_SELECTOR)).filter(isNotDisabled);
10
- }
11
-
12
- export { getFocusableElements as g };
@@ -1,11 +0,0 @@
1
- import { useState, useCallback } from 'react';
2
-
3
- const useBooleanState = defaultValue => {
4
- const [booleanValue, setBoolean] = useState(defaultValue);
5
- const setToFalse = useCallback(() => setBoolean(false), []);
6
- const setToTrue = useCallback(() => setBoolean(true), []);
7
- const toggleBoolean = useCallback(() => setBoolean(previousValue => !previousValue), []);
8
- return [booleanValue, setToFalse, setToTrue, toggleBoolean];
9
- };
10
-
11
- export { useBooleanState as u };
@@ -1,51 +0,0 @@
1
- import React__default from 'react';
2
- import { jsx } from 'react/jsx-runtime';
3
-
4
- /** Same as `React.forwardRef` but inferring Ref type from the `as` prop. */
5
- const forwardRefPolymorphic = React__default.forwardRef;
6
-
7
- /**
8
- * Render clickable element (link, button or custom element)
9
- * (also does some basic disabled state handling)
10
- */
11
- const RawClickable = forwardRefPolymorphic((props, ref) => {
12
- const {
13
- children,
14
- onClick,
15
- disabled,
16
- isDisabled = disabled,
17
- 'aria-disabled': ariaDisabled,
18
- as,
19
- ...forwardedProps
20
- } = props;
21
- const isAnyDisabled = isDisabled || ariaDisabled === 'true' || ariaDisabled === true;
22
- const Component = as;
23
- let clickableProps;
24
- if (Component === 'button') {
25
- clickableProps = {
26
- type: forwardedProps.type || 'button',
27
- disabled: isDisabled
28
- };
29
- } else {
30
- clickableProps = {
31
- tabIndex: isDisabled ? '-1' : forwardedProps.tabIndex
32
- };
33
- }
34
- return /*#__PURE__*/jsx(Component, {
35
- ref: ref,
36
- "aria-disabled": isAnyDisabled || undefined,
37
- ...forwardedProps,
38
- ...clickableProps,
39
- onClick: event => {
40
- if (isAnyDisabled) {
41
- event.stopPropagation();
42
- event.preventDefault();
43
- return;
44
- }
45
- onClick?.(event);
46
- },
47
- children: children
48
- });
49
- });
50
-
51
- export { RawClickable as R, forwardRefPolymorphic as f };
@@ -1,13 +0,0 @@
1
- import React__default from 'react';
2
-
3
- const ThemeContext = /*#__PURE__*/React__default.createContext(undefined);
4
-
5
- /** Provide a theme context to all children. */
6
- const ThemeProvider = ThemeContext.Provider;
7
-
8
- /** Get the theme in the current context. */
9
- function useTheme() {
10
- return React__default.useContext(ThemeContext);
11
- }
12
-
13
- export { ThemeProvider as T, useTheme as u };
@@ -1,218 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
4
-
5
- // Older browsers don't support event options, feature detect it.
6
-
7
- // Adopted and modified solution from Bohdan Didukh (2017)
8
- // https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi
9
-
10
- var hasPassiveEvents = false;
11
- if (typeof window !== 'undefined') {
12
- var passiveTestOptions = {
13
- get passive() {
14
- hasPassiveEvents = true;
15
- return undefined;
16
- }
17
- };
18
- window.addEventListener('testPassive', null, passiveTestOptions);
19
- window.removeEventListener('testPassive', null, passiveTestOptions);
20
- }
21
-
22
- var isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);
23
-
24
-
25
- var locks = [];
26
- var documentListenerAdded = false;
27
- var initialClientY = -1;
28
- var previousBodyOverflowSetting = void 0;
29
- var previousBodyPaddingRight = void 0;
30
-
31
- // returns true if `el` should be allowed to receive touchmove events.
32
- var allowTouchMove = function allowTouchMove(el) {
33
- return locks.some(function (lock) {
34
- if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {
35
- return true;
36
- }
37
-
38
- return false;
39
- });
40
- };
41
-
42
- var preventDefault = function preventDefault(rawEvent) {
43
- var e = rawEvent || window.event;
44
-
45
- // For the case whereby consumers adds a touchmove event listener to document.
46
- // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })
47
- // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then
48
- // the touchmove event on document will break.
49
- if (allowTouchMove(e.target)) {
50
- return true;
51
- }
52
-
53
- // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).
54
- if (e.touches.length > 1) return true;
55
-
56
- if (e.preventDefault) e.preventDefault();
57
-
58
- return false;
59
- };
60
-
61
- var setOverflowHidden = function setOverflowHidden(options) {
62
- // If previousBodyPaddingRight is already set, don't set it again.
63
- if (previousBodyPaddingRight === undefined) {
64
- var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;
65
- var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;
66
-
67
- if (_reserveScrollBarGap && scrollBarGap > 0) {
68
- previousBodyPaddingRight = document.body.style.paddingRight;
69
- document.body.style.paddingRight = scrollBarGap + 'px';
70
- }
71
- }
72
-
73
- // If previousBodyOverflowSetting is already set, don't set it again.
74
- if (previousBodyOverflowSetting === undefined) {
75
- previousBodyOverflowSetting = document.body.style.overflow;
76
- document.body.style.overflow = 'hidden';
77
- }
78
- };
79
-
80
- var restoreOverflowSetting = function restoreOverflowSetting() {
81
- if (previousBodyPaddingRight !== undefined) {
82
- document.body.style.paddingRight = previousBodyPaddingRight;
83
-
84
- // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it
85
- // can be set again.
86
- previousBodyPaddingRight = undefined;
87
- }
88
-
89
- if (previousBodyOverflowSetting !== undefined) {
90
- document.body.style.overflow = previousBodyOverflowSetting;
91
-
92
- // Restore previousBodyOverflowSetting to undefined
93
- // so setOverflowHidden knows it can be set again.
94
- previousBodyOverflowSetting = undefined;
95
- }
96
- };
97
-
98
- // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions
99
- var isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {
100
- return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;
101
- };
102
-
103
- var handleScroll = function handleScroll(event, targetElement) {
104
- var clientY = event.targetTouches[0].clientY - initialClientY;
105
-
106
- if (allowTouchMove(event.target)) {
107
- return false;
108
- }
109
-
110
- if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {
111
- // element is at the top of its scroll.
112
- return preventDefault(event);
113
- }
114
-
115
- if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {
116
- // element is at the bottom of its scroll.
117
- return preventDefault(event);
118
- }
119
-
120
- event.stopPropagation();
121
- return true;
122
- };
123
-
124
- var disableBodyScroll = function disableBodyScroll(targetElement, options) {
125
- // targetElement must be provided
126
- if (!targetElement) {
127
- // eslint-disable-next-line no-console
128
- console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');
129
- return;
130
- }
131
-
132
- // disableBodyScroll must not have been called on this targetElement before
133
- if (locks.some(function (lock) {
134
- return lock.targetElement === targetElement;
135
- })) {
136
- return;
137
- }
138
-
139
- var lock = {
140
- targetElement: targetElement,
141
- options: options || {}
142
- };
143
-
144
- locks = [].concat(_toConsumableArray(locks), [lock]);
145
-
146
- if (isIosDevice) {
147
- targetElement.ontouchstart = function (event) {
148
- if (event.targetTouches.length === 1) {
149
- // detect single touch.
150
- initialClientY = event.targetTouches[0].clientY;
151
- }
152
- };
153
- targetElement.ontouchmove = function (event) {
154
- if (event.targetTouches.length === 1) {
155
- // detect single touch.
156
- handleScroll(event, targetElement);
157
- }
158
- };
159
-
160
- if (!documentListenerAdded) {
161
- document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);
162
- documentListenerAdded = true;
163
- }
164
- } else {
165
- setOverflowHidden(options);
166
- }
167
- };
168
-
169
- var enableBodyScroll = function enableBodyScroll(targetElement) {
170
- if (!targetElement) {
171
- // eslint-disable-next-line no-console
172
- console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');
173
- return;
174
- }
175
-
176
- locks = locks.filter(function (lock) {
177
- return lock.targetElement !== targetElement;
178
- });
179
-
180
- if (isIosDevice) {
181
- targetElement.ontouchstart = null;
182
- targetElement.ontouchmove = null;
183
-
184
- if (documentListenerAdded && locks.length === 0) {
185
- document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);
186
- documentListenerAdded = false;
187
- }
188
- } else if (!locks.length) {
189
- restoreOverflowSetting();
190
- }
191
- };
192
-
193
- /**
194
- * Disables the scroll on the body to make it only usable in the current modal element.
195
- * When the modal element is not provided anymore, the scroll is restored.
196
- *
197
- * @param modalElement The modal element.
198
- */
199
- const useDisableBodyScroll = modalElement => {
200
- useEffect(() => {
201
- if (!modalElement) {
202
- return undefined;
203
- }
204
- // Fixing the document overflow style to prevent a bug that scrolls the window to the top.
205
- const previousDocumentOverflow = document.documentElement.style.overflow;
206
- document.documentElement.style.overflow = 'visible';
207
- disableBodyScroll(modalElement);
208
- return () => {
209
- enableBodyScroll(modalElement);
210
- // Restore the previous overflow style.
211
- requestAnimationFrame(() => {
212
- document.documentElement.style.overflow = previousDocumentOverflow;
213
- });
214
- };
215
- }, [modalElement]);
216
- };
217
-
218
- export { useDisableBodyScroll as u };