@vuu-ui/vuu-utils 2.1.0-alpha.8 → 2.1.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 (182) hide show
  1. package/cjs/node_modules/@dnd-kit/react/hooks.js +3 -3
  2. package/cjs/packages/vuu-utils/src/ThemeProvider.js +2 -2
  3. package/cjs/packages/vuu-utils/src/ThemeProvider.js.map +1 -1
  4. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js +1 -0
  5. package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js.map +1 -1
  6. package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js +9 -6
  7. package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +1 -1
  8. package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js +3 -3
  9. package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js.map +1 -1
  10. package/cjs/packages/vuu-utils/src/data-editing/EditTracker.js +4 -1
  11. package/cjs/packages/vuu-utils/src/data-editing/EditTracker.js.map +1 -1
  12. package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js +19 -7
  13. package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js.map +1 -1
  14. package/cjs/packages/vuu-utils/src/data-utils.js +15 -0
  15. package/cjs/packages/vuu-utils/src/data-utils.js.map +1 -1
  16. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js +1 -0
  17. package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js.map +1 -1
  18. package/cjs/packages/vuu-utils/src/index.js +1 -0
  19. package/cjs/packages/vuu-utils/src/index.js.map +1 -1
  20. package/esm/packages/vuu-utils/src/ThemeProvider.js +2 -2
  21. package/esm/packages/vuu-utils/src/ThemeProvider.js.map +1 -1
  22. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js +1 -1
  23. package/esm/packages/vuu-utils/src/context-definitions/DataContext.js.map +1 -1
  24. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +2 -2
  25. package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +1 -1
  26. package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js +9 -6
  27. package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +1 -1
  28. package/esm/packages/vuu-utils/src/data-editing/EditButtons.js +1 -1
  29. package/esm/packages/vuu-utils/src/data-editing/EditTracker.js +4 -1
  30. package/esm/packages/vuu-utils/src/data-editing/EditTracker.js.map +1 -1
  31. package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js +20 -8
  32. package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js.map +1 -1
  33. package/esm/packages/vuu-utils/src/data-utils.js +15 -1
  34. package/esm/packages/vuu-utils/src/data-utils.js.map +1 -1
  35. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js +1 -0
  36. package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js.map +1 -1
  37. package/esm/packages/vuu-utils/src/feature-utils.js +2 -2
  38. package/esm/packages/vuu-utils/src/feature-utils.js.map +1 -1
  39. package/esm/packages/vuu-utils/src/index.js +1 -1
  40. package/package.json +9 -6
  41. package/types/context-definitions/DataContext.d.ts +3 -0
  42. package/types/data-editing/DataEditingProvider.d.ts +2 -1
  43. package/types/data-editing/EditTracker.d.ts +4 -4
  44. package/types/data-editing/useEditableTable.d.ts +7 -2
  45. package/types/data-utils.d.ts +2 -0
  46. package/types/filters/filter-utils.d.ts +2 -0
  47. package/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -492
  48. package/cjs/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +0 -1
  49. package/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.js +0 -987
  50. package/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +0 -1
  51. package/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +0 -130
  52. package/cjs/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +0 -1
  53. package/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -183
  54. package/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
  55. package/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -39
  56. package/cjs/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +0 -1
  57. package/cjs/node_modules/@salt-ds/core/dist-es/aria-announcer/AriaAnnouncerContext.js +0 -10
  58. package/cjs/node_modules/@salt-ds/core/dist-es/aria-announcer/AriaAnnouncerContext.js.map +0 -1
  59. package/cjs/node_modules/@salt-ds/core/dist-es/aria-announcer/AriaAnnouncerProvider.js +0 -76
  60. package/cjs/node_modules/@salt-ds/core/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +0 -1
  61. package/cjs/node_modules/@salt-ds/core/dist-es/aria-announcer/useAriaAnnouncer.js +0 -52
  62. package/cjs/node_modules/@salt-ds/core/dist-es/aria-announcer/useAriaAnnouncer.js.map +0 -1
  63. package/cjs/node_modules/@salt-ds/core/dist-es/breakpoints/BreakpointProvider.js +0 -59
  64. package/cjs/node_modules/@salt-ds/core/dist-es/breakpoints/BreakpointProvider.js.map +0 -1
  65. package/cjs/node_modules/@salt-ds/core/dist-es/breakpoints/Breakpoints.js +0 -12
  66. package/cjs/node_modules/@salt-ds/core/dist-es/breakpoints/Breakpoints.js.map +0 -1
  67. package/cjs/node_modules/@salt-ds/core/dist-es/button/Button.css.js +0 -6
  68. package/cjs/node_modules/@salt-ds/core/dist-es/button/Button.css.js.map +0 -1
  69. package/cjs/node_modules/@salt-ds/core/dist-es/button/Button.js +0 -96
  70. package/cjs/node_modules/@salt-ds/core/dist-es/button/Button.js.map +0 -1
  71. package/cjs/node_modules/@salt-ds/core/dist-es/button/useButton.js +0 -65
  72. package/cjs/node_modules/@salt-ds/core/dist-es/button/useButton.js.map +0 -1
  73. package/cjs/node_modules/@salt-ds/core/dist-es/salt-provider/ProviderContext.js +0 -11
  74. package/cjs/node_modules/@salt-ds/core/dist-es/salt-provider/ProviderContext.js.map +0 -1
  75. package/cjs/node_modules/@salt-ds/core/dist-es/salt-provider/SaltProvider.css.js +0 -6
  76. package/cjs/node_modules/@salt-ds/core/dist-es/salt-provider/SaltProvider.css.js.map +0 -1
  77. package/cjs/node_modules/@salt-ds/core/dist-es/salt-provider/SaltProvider.js +0 -160
  78. package/cjs/node_modules/@salt-ds/core/dist-es/salt-provider/SaltProvider.js.map +0 -1
  79. package/cjs/node_modules/@salt-ds/core/dist-es/salt-provider/ThemeApplicator.js +0 -115
  80. package/cjs/node_modules/@salt-ds/core/dist-es/salt-provider/ThemeApplicator.js.map +0 -1
  81. package/cjs/node_modules/@salt-ds/core/dist-es/spinner/Spinner.css.js +0 -6
  82. package/cjs/node_modules/@salt-ds/core/dist-es/spinner/Spinner.css.js.map +0 -1
  83. package/cjs/node_modules/@salt-ds/core/dist-es/spinner/Spinner.js +0 -86
  84. package/cjs/node_modules/@salt-ds/core/dist-es/spinner/Spinner.js.map +0 -1
  85. package/cjs/node_modules/@salt-ds/core/dist-es/spinner/svgSpinners/SpinnerSVG.js +0 -93
  86. package/cjs/node_modules/@salt-ds/core/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +0 -1
  87. package/cjs/node_modules/@salt-ds/core/dist-es/utils/createChainedFunction.js +0 -20
  88. package/cjs/node_modules/@salt-ds/core/dist-es/utils/createChainedFunction.js.map +0 -1
  89. package/cjs/node_modules/@salt-ds/core/dist-es/utils/createContext.js +0 -14
  90. package/cjs/node_modules/@salt-ds/core/dist-es/utils/createContext.js.map +0 -1
  91. package/cjs/node_modules/@salt-ds/core/dist-es/utils/debounce.js +0 -22
  92. package/cjs/node_modules/@salt-ds/core/dist-es/utils/debounce.js.map +0 -1
  93. package/cjs/node_modules/@salt-ds/core/dist-es/utils/makePrefixer.js +0 -6
  94. package/cjs/node_modules/@salt-ds/core/dist-es/utils/makePrefixer.js.map +0 -1
  95. package/cjs/node_modules/@salt-ds/core/dist-es/utils/useFloatingUI/useFloatingUI.js +0 -52
  96. package/cjs/node_modules/@salt-ds/core/dist-es/utils/useFloatingUI/useFloatingUI.js.map +0 -1
  97. package/cjs/node_modules/@salt-ds/core/dist-es/utils/useId.js +0 -45
  98. package/cjs/node_modules/@salt-ds/core/dist-es/utils/useId.js.map +0 -1
  99. package/cjs/node_modules/@salt-ds/core/dist-es/utils/useIsomorphicLayoutEffect.js +0 -8
  100. package/cjs/node_modules/@salt-ds/core/dist-es/utils/useIsomorphicLayoutEffect.js.map +0 -1
  101. package/cjs/node_modules/@salt-ds/core/dist-es/utils/usePreventScroll.js +0 -233
  102. package/cjs/node_modules/@salt-ds/core/dist-es/utils/usePreventScroll.js.map +0 -1
  103. package/cjs/node_modules/@salt-ds/core/dist-es/viewport/ViewportProvider.js +0 -35
  104. package/cjs/node_modules/@salt-ds/core/dist-es/viewport/ViewportProvider.js.map +0 -1
  105. package/cjs/node_modules/@salt-ds/styles/dist-es/style-injection-provider/index.js +0 -22
  106. package/cjs/node_modules/@salt-ds/styles/dist-es/style-injection-provider/index.js.map +0 -1
  107. package/cjs/node_modules/@salt-ds/styles/dist-es/use-style-injection/InsertionPointProvider.js +0 -16
  108. package/cjs/node_modules/@salt-ds/styles/dist-es/use-style-injection/InsertionPointProvider.js.map +0 -1
  109. package/cjs/node_modules/@salt-ds/styles/dist-es/use-style-injection/useStyleInjection.js +0 -75
  110. package/cjs/node_modules/@salt-ds/styles/dist-es/use-style-injection/useStyleInjection.js.map +0 -1
  111. package/cjs/node_modules/@salt-ds/window/dist-es/WindowProvider.js +0 -17
  112. package/cjs/node_modules/@salt-ds/window/dist-es/WindowProvider.js.map +0 -1
  113. package/cjs/node_modules/tabbable/dist/index.esm.js +0 -550
  114. package/cjs/node_modules/tabbable/dist/index.esm.js.map +0 -1
  115. package/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -489
  116. package/esm/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +0 -1
  117. package/esm/node_modules/@floating-ui/react/dist/floating-ui.react.js +0 -962
  118. package/esm/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +0 -1
  119. package/esm/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +0 -114
  120. package/esm/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +0 -1
  121. package/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -162
  122. package/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
  123. package/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -33
  124. package/esm/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +0 -1
  125. package/esm/node_modules/@salt-ds/core/dist-es/aria-announcer/AriaAnnouncerContext.js +0 -8
  126. package/esm/node_modules/@salt-ds/core/dist-es/aria-announcer/AriaAnnouncerContext.js.map +0 -1
  127. package/esm/node_modules/@salt-ds/core/dist-es/aria-announcer/AriaAnnouncerProvider.js +0 -73
  128. package/esm/node_modules/@salt-ds/core/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +0 -1
  129. package/esm/node_modules/@salt-ds/core/dist-es/aria-announcer/useAriaAnnouncer.js +0 -50
  130. package/esm/node_modules/@salt-ds/core/dist-es/aria-announcer/useAriaAnnouncer.js.map +0 -1
  131. package/esm/node_modules/@salt-ds/core/dist-es/breakpoints/BreakpointProvider.js +0 -56
  132. package/esm/node_modules/@salt-ds/core/dist-es/breakpoints/BreakpointProvider.js.map +0 -1
  133. package/esm/node_modules/@salt-ds/core/dist-es/breakpoints/Breakpoints.js +0 -10
  134. package/esm/node_modules/@salt-ds/core/dist-es/breakpoints/Breakpoints.js.map +0 -1
  135. package/esm/node_modules/@salt-ds/core/dist-es/button/Button.css.js +0 -4
  136. package/esm/node_modules/@salt-ds/core/dist-es/button/Button.css.js.map +0 -1
  137. package/esm/node_modules/@salt-ds/core/dist-es/button/Button.js +0 -94
  138. package/esm/node_modules/@salt-ds/core/dist-es/button/Button.js.map +0 -1
  139. package/esm/node_modules/@salt-ds/core/dist-es/button/useButton.js +0 -63
  140. package/esm/node_modules/@salt-ds/core/dist-es/button/useButton.js.map +0 -1
  141. package/esm/node_modules/@salt-ds/core/dist-es/salt-provider/ProviderContext.js +0 -9
  142. package/esm/node_modules/@salt-ds/core/dist-es/salt-provider/ProviderContext.js.map +0 -1
  143. package/esm/node_modules/@salt-ds/core/dist-es/salt-provider/SaltProvider.css.js +0 -4
  144. package/esm/node_modules/@salt-ds/core/dist-es/salt-provider/SaltProvider.css.js.map +0 -1
  145. package/esm/node_modules/@salt-ds/core/dist-es/salt-provider/SaltProvider.js +0 -151
  146. package/esm/node_modules/@salt-ds/core/dist-es/salt-provider/SaltProvider.js.map +0 -1
  147. package/esm/node_modules/@salt-ds/core/dist-es/salt-provider/ThemeApplicator.js +0 -113
  148. package/esm/node_modules/@salt-ds/core/dist-es/salt-provider/ThemeApplicator.js.map +0 -1
  149. package/esm/node_modules/@salt-ds/core/dist-es/spinner/Spinner.css.js +0 -4
  150. package/esm/node_modules/@salt-ds/core/dist-es/spinner/Spinner.css.js.map +0 -1
  151. package/esm/node_modules/@salt-ds/core/dist-es/spinner/Spinner.js +0 -84
  152. package/esm/node_modules/@salt-ds/core/dist-es/spinner/Spinner.js.map +0 -1
  153. package/esm/node_modules/@salt-ds/core/dist-es/spinner/svgSpinners/SpinnerSVG.js +0 -91
  154. package/esm/node_modules/@salt-ds/core/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +0 -1
  155. package/esm/node_modules/@salt-ds/core/dist-es/utils/createChainedFunction.js +0 -18
  156. package/esm/node_modules/@salt-ds/core/dist-es/utils/createChainedFunction.js.map +0 -1
  157. package/esm/node_modules/@salt-ds/core/dist-es/utils/createContext.js +0 -12
  158. package/esm/node_modules/@salt-ds/core/dist-es/utils/createContext.js.map +0 -1
  159. package/esm/node_modules/@salt-ds/core/dist-es/utils/debounce.js +0 -20
  160. package/esm/node_modules/@salt-ds/core/dist-es/utils/debounce.js.map +0 -1
  161. package/esm/node_modules/@salt-ds/core/dist-es/utils/makePrefixer.js +0 -4
  162. package/esm/node_modules/@salt-ds/core/dist-es/utils/makePrefixer.js.map +0 -1
  163. package/esm/node_modules/@salt-ds/core/dist-es/utils/useFloatingUI/useFloatingUI.js +0 -50
  164. package/esm/node_modules/@salt-ds/core/dist-es/utils/useFloatingUI/useFloatingUI.js.map +0 -1
  165. package/esm/node_modules/@salt-ds/core/dist-es/utils/useId.js +0 -24
  166. package/esm/node_modules/@salt-ds/core/dist-es/utils/useId.js.map +0 -1
  167. package/esm/node_modules/@salt-ds/core/dist-es/utils/useIsomorphicLayoutEffect.js +0 -6
  168. package/esm/node_modules/@salt-ds/core/dist-es/utils/useIsomorphicLayoutEffect.js.map +0 -1
  169. package/esm/node_modules/@salt-ds/core/dist-es/utils/usePreventScroll.js +0 -231
  170. package/esm/node_modules/@salt-ds/core/dist-es/utils/usePreventScroll.js.map +0 -1
  171. package/esm/node_modules/@salt-ds/core/dist-es/viewport/ViewportProvider.js +0 -32
  172. package/esm/node_modules/@salt-ds/core/dist-es/viewport/ViewportProvider.js.map +0 -1
  173. package/esm/node_modules/@salt-ds/styles/dist-es/style-injection-provider/index.js +0 -19
  174. package/esm/node_modules/@salt-ds/styles/dist-es/style-injection-provider/index.js.map +0 -1
  175. package/esm/node_modules/@salt-ds/styles/dist-es/use-style-injection/InsertionPointProvider.js +0 -14
  176. package/esm/node_modules/@salt-ds/styles/dist-es/use-style-injection/InsertionPointProvider.js.map +0 -1
  177. package/esm/node_modules/@salt-ds/styles/dist-es/use-style-injection/useStyleInjection.js +0 -54
  178. package/esm/node_modules/@salt-ds/styles/dist-es/use-style-injection/useStyleInjection.js.map +0 -1
  179. package/esm/node_modules/@salt-ds/window/dist-es/WindowProvider.js +0 -15
  180. package/esm/node_modules/@salt-ds/window/dist-es/WindowProvider.js.map +0 -1
  181. package/esm/node_modules/tabbable/dist/index.esm.js +0 -546
  182. package/esm/node_modules/tabbable/dist/index.esm.js.map +0 -1
@@ -1,233 +0,0 @@
1
- 'use strict';
2
-
3
- var createChainedFunction = require('./createChainedFunction.js');
4
- var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.js');
5
-
6
- const visualViewport = typeof document !== "undefined" && window.visualViewport;
7
- const nonTextInputTypes = /* @__PURE__ */ new Set([
8
- "checkbox",
9
- "radio",
10
- "range",
11
- "color",
12
- "file",
13
- "image",
14
- "button",
15
- "submit",
16
- "reset"
17
- ]);
18
- let preventScrollCount = 0;
19
- let restore;
20
- function usePreventScroll(options = {}) {
21
- const { isDisabled } = options;
22
- useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
23
- if (isDisabled) {
24
- return;
25
- }
26
- preventScrollCount++;
27
- if (preventScrollCount === 1) {
28
- if (isIOS()) {
29
- restore = preventScrollMobileSafari();
30
- } else {
31
- restore = preventScrollStandard();
32
- }
33
- }
34
- return () => {
35
- preventScrollCount--;
36
- if (preventScrollCount === 0) {
37
- restore();
38
- }
39
- };
40
- }, [isDisabled]);
41
- }
42
- function preventScrollStandard() {
43
- return createChainedFunction.createChainedFunction(
44
- setStyle(
45
- document.documentElement,
46
- "paddingRight",
47
- `${window.innerWidth - document.documentElement.clientWidth}px`
48
- ),
49
- setStyle(document.documentElement, "overflow", "hidden")
50
- );
51
- }
52
- function preventScrollMobileSafari() {
53
- let scrollable;
54
- let restoreScrollableStyles;
55
- const onTouchStart = (e) => {
56
- scrollable = getScrollParent(e.target, true);
57
- if (scrollable === document.documentElement && scrollable === document.body) {
58
- return;
59
- }
60
- if (scrollable instanceof HTMLElement && window.getComputedStyle(scrollable).overscrollBehavior === "auto") {
61
- restoreScrollableStyles = setStyle(
62
- scrollable,
63
- "overscrollBehavior",
64
- "contain"
65
- );
66
- }
67
- };
68
- const onTouchMove = (e) => {
69
- if (!scrollable || scrollable === document.documentElement || scrollable === document.body) {
70
- e.preventDefault();
71
- return;
72
- }
73
- if (scrollable.scrollHeight === scrollable.clientHeight && scrollable.scrollWidth === scrollable.clientWidth) {
74
- e.preventDefault();
75
- }
76
- };
77
- const onTouchEnd = () => {
78
- if (restoreScrollableStyles) {
79
- restoreScrollableStyles();
80
- }
81
- };
82
- const onFocus = (e) => {
83
- const target = e.target;
84
- if (willOpenKeyboard(target)) {
85
- setupStyles();
86
- target.style.transform = "translateY(-2000px)";
87
- requestAnimationFrame(() => {
88
- target.style.transform = "";
89
- if (visualViewport) {
90
- if (visualViewport.height < window.innerHeight) {
91
- requestAnimationFrame(() => {
92
- scrollIntoView(target);
93
- });
94
- } else {
95
- visualViewport.addEventListener(
96
- "resize",
97
- () => scrollIntoView(target),
98
- { once: true }
99
- );
100
- }
101
- }
102
- });
103
- }
104
- };
105
- let restoreStyles = null;
106
- const setupStyles = () => {
107
- if (restoreStyles) {
108
- return;
109
- }
110
- const onWindowScroll = () => {
111
- window.scrollTo(0, 0);
112
- };
113
- const scrollX = window.pageXOffset;
114
- const scrollY = window.pageYOffset;
115
- restoreStyles = createChainedFunction.createChainedFunction(
116
- addEvent(window, "scroll", onWindowScroll),
117
- setStyle(
118
- document.documentElement,
119
- "paddingRight",
120
- `${window.innerWidth - document.documentElement.clientWidth}px`
121
- ),
122
- setStyle(document.documentElement, "overflow", "hidden"),
123
- setStyle(document.body, "marginTop", `-${scrollY}px`),
124
- () => {
125
- window.scrollTo(scrollX, scrollY);
126
- }
127
- );
128
- window.scrollTo(0, 0);
129
- };
130
- const removeEvents = createChainedFunction.createChainedFunction(
131
- addEvent(document, "touchstart", onTouchStart, {
132
- passive: false,
133
- capture: true
134
- }),
135
- addEvent(document, "touchmove", onTouchMove, {
136
- passive: false,
137
- capture: true
138
- }),
139
- addEvent(document, "touchend", onTouchEnd, {
140
- passive: false,
141
- capture: true
142
- }),
143
- addEvent(document, "focus", onFocus, true)
144
- );
145
- return () => {
146
- restoreScrollableStyles == null ? void 0 : restoreScrollableStyles();
147
- restoreStyles == null ? void 0 : restoreStyles();
148
- removeEvents();
149
- };
150
- }
151
- function setStyle(element, style, value) {
152
- const cur = element.style[style];
153
- element.style[style] = value;
154
- return () => {
155
- element.style[style] = cur;
156
- };
157
- }
158
- function addEvent(target, event, handler, options) {
159
- target.addEventListener(event, handler, options);
160
- return () => {
161
- target.removeEventListener(event, handler, options);
162
- };
163
- }
164
- function scrollIntoView(target) {
165
- const root = document.scrollingElement || document.documentElement;
166
- let nextTarget = target;
167
- while (nextTarget && nextTarget !== root) {
168
- const scrollable = getScrollParent(nextTarget);
169
- if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== nextTarget) {
170
- const scrollableTop = scrollable.getBoundingClientRect().top;
171
- const targetTop = nextTarget.getBoundingClientRect().top;
172
- if (targetTop > scrollableTop + nextTarget.clientHeight) {
173
- scrollable.scrollTop += targetTop - scrollableTop;
174
- }
175
- }
176
- nextTarget = scrollable.parentElement;
177
- }
178
- }
179
- function willOpenKeyboard(target) {
180
- return target instanceof HTMLInputElement && !nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;
181
- }
182
- function isScrollable(node, checkForOverflow) {
183
- if (!node) {
184
- return false;
185
- }
186
- const style = window.getComputedStyle(node);
187
- let isScrollable2 = /(auto|scroll)/.test(
188
- style.overflow + style.overflowX + style.overflowY
189
- );
190
- if (isScrollable2 && checkForOverflow) {
191
- isScrollable2 = node.scrollHeight !== node.clientHeight || node.scrollWidth !== node.clientWidth;
192
- }
193
- return isScrollable2;
194
- }
195
- function getScrollParent(node, checkForOverflow) {
196
- let scrollableNode = node;
197
- if (isScrollable(scrollableNode, checkForOverflow)) {
198
- scrollableNode = scrollableNode.parentElement;
199
- }
200
- while (scrollableNode && !isScrollable(scrollableNode, checkForOverflow)) {
201
- scrollableNode = scrollableNode.parentElement;
202
- }
203
- return scrollableNode || document.scrollingElement || document.documentElement;
204
- }
205
- function testPlatform(re) {
206
- var _a;
207
- return typeof window !== "undefined" && window.navigator != null ? re.test(
208
- // @ts-expect-error userAgentData is only supported in Chrome 90+
209
- ((_a = window.navigator.userAgentData) == null ? void 0 : _a.platform) || window.navigator.platform
210
- ) : false;
211
- }
212
- function cached(fn) {
213
- if (process.env.NODE_ENV === "test") {
214
- return fn;
215
- }
216
- let res = null;
217
- return () => {
218
- if (res == null) {
219
- res = fn();
220
- }
221
- return res;
222
- };
223
- }
224
- const isMac = cached(() => testPlatform(/^Mac/i));
225
- const isIPhone = cached(() => testPlatform(/^iPhone/i));
226
- const isIPad = cached(
227
- () => testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
228
- isMac() && navigator.maxTouchPoints > 1
229
- );
230
- const isIOS = cached(() => isIPhone() || isIPad());
231
-
232
- exports.usePreventScroll = usePreventScroll;
233
- //# sourceMappingURL=usePreventScroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePreventScroll.js","sources":["../../../../../../../../node_modules/@salt-ds/core/dist-es/utils/usePreventScroll.js"],"sourcesContent":["import { createChainedFunction } from './createChainedFunction.js';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';\n\nconst visualViewport = typeof document !== \"undefined\" && window.visualViewport;\nconst nonTextInputTypes = /* @__PURE__ */ new Set([\n \"checkbox\",\n \"radio\",\n \"range\",\n \"color\",\n \"file\",\n \"image\",\n \"button\",\n \"submit\",\n \"reset\"\n]);\nlet preventScrollCount = 0;\nlet restore;\nfunction usePreventScroll(options = {}) {\n const { isDisabled } = options;\n useIsomorphicLayoutEffect(() => {\n if (isDisabled) {\n return;\n }\n preventScrollCount++;\n if (preventScrollCount === 1) {\n if (isIOS()) {\n restore = preventScrollMobileSafari();\n } else {\n restore = preventScrollStandard();\n }\n }\n return () => {\n preventScrollCount--;\n if (preventScrollCount === 0) {\n restore();\n }\n };\n }, [isDisabled]);\n}\nfunction preventScrollStandard() {\n return createChainedFunction(\n setStyle(\n document.documentElement,\n \"paddingRight\",\n `${window.innerWidth - document.documentElement.clientWidth}px`\n ),\n setStyle(document.documentElement, \"overflow\", \"hidden\")\n );\n}\nfunction preventScrollMobileSafari() {\n let scrollable;\n let restoreScrollableStyles;\n const onTouchStart = (e) => {\n scrollable = getScrollParent(e.target, true);\n if (scrollable === document.documentElement && scrollable === document.body) {\n return;\n }\n if (scrollable instanceof HTMLElement && window.getComputedStyle(scrollable).overscrollBehavior === \"auto\") {\n restoreScrollableStyles = setStyle(\n scrollable,\n \"overscrollBehavior\",\n \"contain\"\n );\n }\n };\n const onTouchMove = (e) => {\n if (!scrollable || scrollable === document.documentElement || scrollable === document.body) {\n e.preventDefault();\n return;\n }\n if (scrollable.scrollHeight === scrollable.clientHeight && scrollable.scrollWidth === scrollable.clientWidth) {\n e.preventDefault();\n }\n };\n const onTouchEnd = () => {\n if (restoreScrollableStyles) {\n restoreScrollableStyles();\n }\n };\n const onFocus = (e) => {\n const target = e.target;\n if (willOpenKeyboard(target)) {\n setupStyles();\n target.style.transform = \"translateY(-2000px)\";\n requestAnimationFrame(() => {\n target.style.transform = \"\";\n if (visualViewport) {\n if (visualViewport.height < window.innerHeight) {\n requestAnimationFrame(() => {\n scrollIntoView(target);\n });\n } else {\n visualViewport.addEventListener(\n \"resize\",\n () => scrollIntoView(target),\n { once: true }\n );\n }\n }\n });\n }\n };\n let restoreStyles = null;\n const setupStyles = () => {\n if (restoreStyles) {\n return;\n }\n const onWindowScroll = () => {\n window.scrollTo(0, 0);\n };\n const scrollX = window.pageXOffset;\n const scrollY = window.pageYOffset;\n restoreStyles = createChainedFunction(\n addEvent(window, \"scroll\", onWindowScroll),\n setStyle(\n document.documentElement,\n \"paddingRight\",\n `${window.innerWidth - document.documentElement.clientWidth}px`\n ),\n setStyle(document.documentElement, \"overflow\", \"hidden\"),\n setStyle(document.body, \"marginTop\", `-${scrollY}px`),\n () => {\n window.scrollTo(scrollX, scrollY);\n }\n );\n window.scrollTo(0, 0);\n };\n const removeEvents = createChainedFunction(\n addEvent(document, \"touchstart\", onTouchStart, {\n passive: false,\n capture: true\n }),\n addEvent(document, \"touchmove\", onTouchMove, {\n passive: false,\n capture: true\n }),\n addEvent(document, \"touchend\", onTouchEnd, {\n passive: false,\n capture: true\n }),\n addEvent(document, \"focus\", onFocus, true)\n );\n return () => {\n restoreScrollableStyles == null ? void 0 : restoreScrollableStyles();\n restoreStyles == null ? void 0 : restoreStyles();\n removeEvents();\n };\n}\nfunction setStyle(element, style, value) {\n const cur = element.style[style];\n element.style[style] = value;\n return () => {\n element.style[style] = cur;\n };\n}\nfunction addEvent(target, event, handler, options) {\n target.addEventListener(event, handler, options);\n return () => {\n target.removeEventListener(event, handler, options);\n };\n}\nfunction scrollIntoView(target) {\n const root = document.scrollingElement || document.documentElement;\n let nextTarget = target;\n while (nextTarget && nextTarget !== root) {\n const scrollable = getScrollParent(nextTarget);\n if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== nextTarget) {\n const scrollableTop = scrollable.getBoundingClientRect().top;\n const targetTop = nextTarget.getBoundingClientRect().top;\n if (targetTop > scrollableTop + nextTarget.clientHeight) {\n scrollable.scrollTop += targetTop - scrollableTop;\n }\n }\n nextTarget = scrollable.parentElement;\n }\n}\nfunction willOpenKeyboard(target) {\n return target instanceof HTMLInputElement && !nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;\n}\nfunction isScrollable(node, checkForOverflow) {\n if (!node) {\n return false;\n }\n const style = window.getComputedStyle(node);\n let isScrollable2 = /(auto|scroll)/.test(\n style.overflow + style.overflowX + style.overflowY\n );\n if (isScrollable2 && checkForOverflow) {\n isScrollable2 = node.scrollHeight !== node.clientHeight || node.scrollWidth !== node.clientWidth;\n }\n return isScrollable2;\n}\nfunction getScrollParent(node, checkForOverflow) {\n let scrollableNode = node;\n if (isScrollable(scrollableNode, checkForOverflow)) {\n scrollableNode = scrollableNode.parentElement;\n }\n while (scrollableNode && !isScrollable(scrollableNode, checkForOverflow)) {\n scrollableNode = scrollableNode.parentElement;\n }\n return scrollableNode || document.scrollingElement || document.documentElement;\n}\nfunction testPlatform(re) {\n var _a;\n return typeof window !== \"undefined\" && window.navigator != null ? re.test(\n // @ts-expect-error userAgentData is only supported in Chrome 90+\n ((_a = window.navigator.userAgentData) == null ? void 0 : _a.platform) || window.navigator.platform\n ) : false;\n}\nfunction cached(fn) {\n if (process.env.NODE_ENV === \"test\") {\n return fn;\n }\n let res = null;\n return () => {\n if (res == null) {\n res = fn();\n }\n return res;\n };\n}\nconst isMac = cached(() => testPlatform(/^Mac/i));\nconst isIPhone = cached(() => testPlatform(/^iPhone/i));\nconst isIPad = cached(\n () => testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n isMac() && navigator.maxTouchPoints > 1\n);\nconst isIOS = cached(() => isIPhone() || isIPad());\n\nexport { usePreventScroll };\n//# sourceMappingURL=usePreventScroll.js.map\n"],"names":["useIsomorphicLayoutEffect","createChainedFunction"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,35 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
5
- var useIsomorphicLayoutEffect = require('../utils/useIsomorphicLayoutEffect.js');
6
-
7
- const ViewportContext = React.createContext(null);
8
- const ViewportProvider = ({ children }) => {
9
- const existingViewport = React.useContext(ViewportContext);
10
- const [viewport, setViewport] = React.useState(existingViewport);
11
- const noExistingViewport = existingViewport === null;
12
- const viewportValue = existingViewport || viewport || 0;
13
- useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
14
- let observer = null;
15
- if (noExistingViewport) {
16
- observer = new ResizeObserver(
17
- (observerEntries) => {
18
- setViewport(observerEntries[0].contentRect.width);
19
- }
20
- );
21
- observer.observe(document.body);
22
- setViewport(document.body.getBoundingClientRect().width);
23
- }
24
- return () => {
25
- if (observer) {
26
- observer.disconnect();
27
- }
28
- };
29
- }, [noExistingViewport]);
30
- return /* @__PURE__ */ jsxRuntime.jsx(ViewportContext.Provider, { value: viewportValue, children });
31
- };
32
-
33
- exports.ViewportContext = ViewportContext;
34
- exports.ViewportProvider = ViewportProvider;
35
- //# sourceMappingURL=ViewportProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewportProvider.js","sources":["../../../../../../../../node_modules/@salt-ds/core/dist-es/viewport/ViewportProvider.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { createContext, useContext, useState } from 'react';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect.js';\n\nconst ViewportContext = createContext(null);\nconst ViewportProvider = ({ children }) => {\n const existingViewport = useContext(ViewportContext);\n const [viewport, setViewport] = useState(existingViewport);\n const noExistingViewport = existingViewport === null;\n const viewportValue = existingViewport || viewport || 0;\n useIsomorphicLayoutEffect(() => {\n let observer = null;\n if (noExistingViewport) {\n observer = new ResizeObserver(\n (observerEntries) => {\n setViewport(observerEntries[0].contentRect.width);\n }\n );\n observer.observe(document.body);\n setViewport(document.body.getBoundingClientRect().width);\n }\n return () => {\n if (observer) {\n observer.disconnect();\n }\n };\n }, [noExistingViewport]);\n return /* @__PURE__ */ jsx(ViewportContext.Provider, { value: viewportValue, children });\n};\nconst useViewport = () => {\n const value = useContext(ViewportContext);\n return value === null ? 0 : value;\n};\n\nexport { ViewportContext, ViewportProvider, useViewport };\n//# sourceMappingURL=ViewportProvider.js.map\n"],"names":["createContext","useContext","useState","useIsomorphicLayoutEffect","jsx"],"mappings":";;;;;;AAIK,MAAC,eAAe,GAAGA,mBAAa,CAAC,IAAI;AACrC,MAAC,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK;AAC3C,EAAE,MAAM,gBAAgB,GAAGC,gBAAU,CAAC,eAAe,CAAC;AACtD,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGC,cAAQ,CAAC,gBAAgB,CAAC;AAC5D,EAAE,MAAM,kBAAkB,GAAG,gBAAgB,KAAK,IAAI;AACtD,EAAE,MAAM,aAAa,GAAG,gBAAgB,IAAI,QAAQ,IAAI,CAAC;AACzD,EAAEC,mDAAyB,CAAC,MAAM;AAClC,IAAI,IAAI,QAAQ,GAAG,IAAI;AACvB,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAM,QAAQ,GAAG,IAAI,cAAc;AACnC,QAAQ,CAAC,eAAe,KAAK;AAC7B,UAAU,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;AAC3D;AACA,OAAO;AACP,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;AAC9D;AACA,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,QAAQ,CAAC,UAAU,EAAE;AAC7B;AACA,KAAK;AACL,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAC1B,EAAE,uBAAuBC,cAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC1F;;;;;","x_google_ignoreList":[0]}
@@ -1,22 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
5
-
6
- const StyleInjectionContext = React.createContext(true);
7
- function useStyleInjection(enableStyleInjection) {
8
- const enableStyleInjectionFromContext = React.useContext(StyleInjectionContext);
9
- return enableStyleInjection != null ? enableStyleInjection : enableStyleInjectionFromContext;
10
- }
11
- function StyleInjectionProvider(props) {
12
- const { value: enableStyleInjectionProp, children } = props;
13
- const value = useStyleInjection(enableStyleInjectionProp);
14
- return /* @__PURE__ */ jsxRuntime.jsx(StyleInjectionContext.Provider, {
15
- value,
16
- children
17
- });
18
- }
19
-
20
- exports.StyleInjectionProvider = StyleInjectionProvider;
21
- exports.useStyleInjection = useStyleInjection;
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/@salt-ds/styles/dist-es/style-injection-provider/index.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { createContext, useContext } from 'react';\n\nconst StyleInjectionContext = createContext(true);\nfunction useStyleInjection(enableStyleInjection) {\n const enableStyleInjectionFromContext = useContext(StyleInjectionContext);\n return enableStyleInjection != null ? enableStyleInjection : enableStyleInjectionFromContext;\n}\nfunction StyleInjectionProvider(props) {\n const { value: enableStyleInjectionProp, children } = props;\n const value = useStyleInjection(enableStyleInjectionProp);\n return /* @__PURE__ */ jsx(StyleInjectionContext.Provider, {\n value,\n children\n });\n}\n\nexport { StyleInjectionProvider, useStyleInjection };\n//# sourceMappingURL=index.js.map\n"],"names":["createContext","useContext","jsx"],"mappings":";;;;;AAGA,MAAM,qBAAqB,GAAGA,mBAAa,CAAC,IAAI,CAAC;AACjD,SAAS,iBAAiB,CAAC,oBAAoB,EAAE;AACjD,EAAE,MAAM,+BAA+B,GAAGC,gBAAU,CAAC,qBAAqB,CAAC;AAC3E,EAAE,OAAO,oBAAoB,IAAI,IAAI,GAAG,oBAAoB,GAAG,+BAA+B;AAC9F;AACA,SAAS,sBAAsB,CAAC,KAAK,EAAE;AACvC,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,GAAG,KAAK;AAC7D,EAAE,MAAM,KAAK,GAAG,iBAAiB,CAAC,wBAAwB,CAAC;AAC3D,EAAE,uBAAuBC,cAAG,CAAC,qBAAqB,CAAC,QAAQ,EAAE;AAC7D,IAAI,KAAK;AACT,IAAI;AACJ,GAAG,CAAC;AACJ;;;;;","x_google_ignoreList":[0]}
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- require('react/jsx-runtime');
4
- var React = require('react');
5
-
6
- const InsertionPointContext = React.createContext(null);
7
- if (process.env.NODE_ENV !== "production") {
8
- InsertionPointContext.displayName = "InsertionPointContext";
9
- }
10
- function useInsertionPoint() {
11
- const value = React.useContext(InsertionPointContext);
12
- return value;
13
- }
14
-
15
- exports.useInsertionPoint = useInsertionPoint;
16
- //# sourceMappingURL=InsertionPointProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InsertionPointProvider.js","sources":["../../../../../../../../node_modules/@salt-ds/styles/dist-es/use-style-injection/InsertionPointProvider.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { createContext, useMemo, useContext } from 'react';\n\nconst InsertionPointContext = createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n InsertionPointContext.displayName = \"InsertionPointContext\";\n}\nfunction InsertionPointProvider(props) {\n const { insertionPoint: insertionPointProp, children } = props;\n const value = useMemo(() => insertionPointProp, [insertionPointProp]);\n return /* @__PURE__ */ jsx(InsertionPointContext.Provider, {\n value,\n children\n });\n}\nfunction useInsertionPoint() {\n const value = useContext(InsertionPointContext);\n return value;\n}\n\nexport { InsertionPointProvider, useInsertionPoint };\n//# sourceMappingURL=InsertionPointProvider.js.map\n"],"names":["createContext","useContext"],"mappings":";;;;;AAGA,MAAM,qBAAqB,GAAGA,mBAAa,CAAC,IAAI,CAAC;AACjD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC3C,EAAE,qBAAqB,CAAC,WAAW,GAAG,uBAAuB;AAC7D;AASA,SAAS,iBAAiB,GAAG;AAC7B,EAAE,MAAM,KAAK,GAAGC,gBAAU,CAAC,qBAAqB,CAAC;AACjD,EAAE,OAAO,KAAK;AACd;;;;","x_google_ignoreList":[0]}
@@ -1,75 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var InsertionPointProvider = require('./InsertionPointProvider.js');
5
- var index = require('../style-injection-provider/index.js');
6
-
7
- function _interopNamespaceDefault(e) {
8
- var n = Object.create(null);
9
- if (e) {
10
- Object.keys(e).forEach(function (k) {
11
- if (k !== 'default') {
12
- var d = Object.getOwnPropertyDescriptor(e, k);
13
- Object.defineProperty(n, k, d.get ? d : {
14
- enumerable: true,
15
- get: function () { return e[k]; }
16
- });
17
- }
18
- });
19
- }
20
- n.default = e;
21
- return Object.freeze(n);
22
- }
23
-
24
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
25
-
26
- var _a;
27
- const maybeUseInsertionEffect = (_a = React__namespace["useInsertionEffect".toString()]) != null ? _a : React__namespace.useLayoutEffect;
28
- const windowSheetsMap = /* @__PURE__ */ new WeakMap();
29
- function useComponentCssInjection({
30
- testId,
31
- css,
32
- window: targetWindow
33
- }) {
34
- const styleInjectionEnabled = index.useStyleInjection();
35
- const insertionPoint = InsertionPointProvider.useInsertionPoint();
36
- maybeUseInsertionEffect(() => {
37
- var _a2, _b;
38
- if (!targetWindow || !styleInjectionEnabled) {
39
- return;
40
- }
41
- const sheetsMap = (_a2 = windowSheetsMap.get(targetWindow)) != null ? _a2 : /* @__PURE__ */ new Map();
42
- const styleMap = (_b = sheetsMap.get(css)) != null ? _b : { styleElement: null, count: 0 };
43
- if (styleMap.styleElement == null) {
44
- styleMap.styleElement = targetWindow.document.createElement("style");
45
- styleMap.styleElement.setAttribute("type", "text/css");
46
- styleMap.styleElement.setAttribute("data-salt-style", testId || "");
47
- styleMap.styleElement.textContent = css;
48
- styleMap.count = 1;
49
- targetWindow.document.head.insertBefore(
50
- styleMap.styleElement,
51
- insertionPoint || targetWindow.document.head.firstChild
52
- );
53
- } else {
54
- styleMap.styleElement.textContent = css;
55
- styleMap.count++;
56
- }
57
- sheetsMap.set(css, styleMap);
58
- windowSheetsMap.set(targetWindow, sheetsMap);
59
- return () => {
60
- const sheetsMap2 = windowSheetsMap.get(targetWindow);
61
- const styleMap2 = sheetsMap2 == null ? void 0 : sheetsMap2.get(css);
62
- if (styleMap2 == null ? void 0 : styleMap2.styleElement) {
63
- styleMap2.count--;
64
- if (styleMap2.count < 1) {
65
- targetWindow.document.head.removeChild(styleMap2.styleElement);
66
- styleMap2.styleElement = null;
67
- sheetsMap2 == null ? void 0 : sheetsMap2.delete(css);
68
- }
69
- }
70
- };
71
- }, [testId, css, targetWindow]);
72
- }
73
-
74
- exports.useComponentCssInjection = useComponentCssInjection;
75
- //# sourceMappingURL=useStyleInjection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStyleInjection.js","sources":["../../../../../../../../node_modules/@salt-ds/styles/dist-es/use-style-injection/useStyleInjection.js"],"sourcesContent":["import * as React from 'react';\nimport { useInsertionPoint } from './InsertionPointProvider.js';\nimport { useStyleInjection } from '../style-injection-provider/index.js';\n\nvar _a;\nconst maybeUseInsertionEffect = (_a = React[\"useInsertionEffect\".toString()]) != null ? _a : React.useLayoutEffect;\nconst windowSheetsMap = /* @__PURE__ */ new WeakMap();\nfunction useComponentCssInjection({\n testId,\n css,\n window: targetWindow\n}) {\n const styleInjectionEnabled = useStyleInjection();\n const insertionPoint = useInsertionPoint();\n maybeUseInsertionEffect(() => {\n var _a2, _b;\n if (!targetWindow || !styleInjectionEnabled) {\n return;\n }\n const sheetsMap = (_a2 = windowSheetsMap.get(targetWindow)) != null ? _a2 : /* @__PURE__ */ new Map();\n const styleMap = (_b = sheetsMap.get(css)) != null ? _b : { styleElement: null, count: 0 };\n if (styleMap.styleElement == null) {\n styleMap.styleElement = targetWindow.document.createElement(\"style\");\n styleMap.styleElement.setAttribute(\"type\", \"text/css\");\n styleMap.styleElement.setAttribute(\"data-salt-style\", testId || \"\");\n styleMap.styleElement.textContent = css;\n styleMap.count = 1;\n targetWindow.document.head.insertBefore(\n styleMap.styleElement,\n insertionPoint || targetWindow.document.head.firstChild\n );\n } else {\n styleMap.styleElement.textContent = css;\n styleMap.count++;\n }\n sheetsMap.set(css, styleMap);\n windowSheetsMap.set(targetWindow, sheetsMap);\n return () => {\n const sheetsMap2 = windowSheetsMap.get(targetWindow);\n const styleMap2 = sheetsMap2 == null ? void 0 : sheetsMap2.get(css);\n if (styleMap2 == null ? void 0 : styleMap2.styleElement) {\n styleMap2.count--;\n if (styleMap2.count < 1) {\n targetWindow.document.head.removeChild(styleMap2.styleElement);\n styleMap2.styleElement = null;\n sheetsMap2 == null ? void 0 : sheetsMap2.delete(css);\n }\n }\n };\n }, [testId, css, targetWindow]);\n}\n\nexport { useComponentCssInjection };\n//# sourceMappingURL=useStyleInjection.js.map\n"],"names":["React","useStyleInjection","useInsertionPoint"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAI,EAAE;AACN,MAAM,uBAAuB,GAAG,CAAC,EAAE,GAAGA,gBAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,GAAG,EAAE,GAAGA,gBAAK,CAAC,eAAe;AAClH,MAAM,eAAe,mBAAmB,IAAI,OAAO,EAAE;AACrD,SAAS,wBAAwB,CAAC;AAClC,EAAE,MAAM;AACR,EAAE,GAAG;AACL,EAAE,MAAM,EAAE;AACV,CAAC,EAAE;AACH,EAAE,MAAM,qBAAqB,GAAGC,uBAAiB,EAAE;AACnD,EAAE,MAAM,cAAc,GAAGC,wCAAiB,EAAE;AAC5C,EAAE,uBAAuB,CAAC,MAAM;AAChC,IAAI,IAAI,GAAG,EAAE,EAAE;AACf,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,qBAAqB,EAAE;AACjD,MAAM;AACN;AACA,IAAI,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,GAAG,mBAAmB,IAAI,GAAG,EAAE;AACzG,IAAI,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;AAC9F,IAAI,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;AACvC,MAAM,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC1E,MAAM,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;AAC5D,MAAM,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,IAAI,EAAE,CAAC;AACzE,MAAM,QAAQ,CAAC,YAAY,CAAC,WAAW,GAAG,GAAG;AAC7C,MAAM,QAAQ,CAAC,KAAK,GAAG,CAAC;AACxB,MAAM,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY;AAC7C,QAAQ,QAAQ,CAAC,YAAY;AAC7B,QAAQ,cAAc,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrD,OAAO;AACP,KAAK,MAAM;AACX,MAAM,QAAQ,CAAC,YAAY,CAAC,WAAW,GAAG,GAAG;AAC7C,MAAM,QAAQ,CAAC,KAAK,EAAE;AACtB;AACA,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;AAChC,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC;AAChD,IAAI,OAAO,MAAM;AACjB,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACzE,MAAM,IAAI,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,YAAY,EAAE;AAC/D,QAAQ,SAAS,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE;AACjC,UAAU,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC;AACxE,UAAU,SAAS,CAAC,YAAY,GAAG,IAAI;AACvC,UAAU,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC;AAC9D;AACA;AACA,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;AACjC;;;;","x_google_ignoreList":[0]}
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- require('react/jsx-runtime');
4
- var React = require('react');
5
-
6
- const WindowContext = React.createContext(
7
- typeof window !== "undefined" ? window : null
8
- );
9
- if (process.env.NODE_ENV !== "production") {
10
- WindowContext.displayName = "WindowContext";
11
- }
12
- function useWindow() {
13
- return React.useContext(WindowContext);
14
- }
15
-
16
- exports.useWindow = useWindow;
17
- //# sourceMappingURL=WindowProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WindowProvider.js","sources":["../../../../../../../node_modules/@salt-ds/window/dist-es/WindowProvider.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { createContext, useContext } from 'react';\n\nconst WindowContext = createContext(\n typeof window !== \"undefined\" ? window : null\n);\nif (process.env.NODE_ENV !== \"production\") {\n WindowContext.displayName = \"WindowContext\";\n}\nfunction WindowProvider(props) {\n const { window: targetWindow, children } = props;\n return /* @__PURE__ */ jsx(WindowContext.Provider, {\n value: targetWindow,\n children\n });\n}\nfunction useWindow() {\n return useContext(WindowContext);\n}\n\nexport { WindowProvider, useWindow };\n//# sourceMappingURL=WindowProvider.js.map\n"],"names":["createContext","useContext"],"mappings":";;;;;AAGA,MAAM,aAAa,GAAGA,mBAAa;AACnC,EAAE,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG;AAC3C,CAAC;AACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC3C,EAAE,aAAa,CAAC,WAAW,GAAG,eAAe;AAC7C;AAQA,SAAS,SAAS,GAAG;AACrB,EAAE,OAAOC,gBAAU,CAAC,aAAa,CAAC;AAClC;;;;","x_google_ignoreList":[0]}