@eightshift/ui-components 4.0.0 → 5.0.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 (144) hide show
  1. package/package.json +101 -101
  2. package/dist/Button-CvzGKGCo.js +0 -185
  3. package/dist/Collection-ddre1L5v.js +0 -2332
  4. package/dist/Color-MV5kBVXr.js +0 -2452
  5. package/dist/ColorSwatch-BqQfVu4L.js +0 -64
  6. package/dist/ComboBox-jQ-dk95U.js +0 -1906
  7. package/dist/Dialog-DX1aiYyE.js +0 -2300
  8. package/dist/FieldError-52GVSGgC.js +0 -42
  9. package/dist/FocusScope-Cri5BFRz.js +0 -831
  10. package/dist/Form-Cq3fu75_.js +0 -5
  11. package/dist/Group-_emcIVxI.js +0 -48
  12. package/dist/Heading-B2153VXe.js +0 -16
  13. package/dist/Hidden-rE6uR-lr.js +0 -41
  14. package/dist/Input-BxpFEIXV.js +0 -133
  15. package/dist/Label-icmbmNdI.js +0 -17
  16. package/dist/List-BYNHbol3.js +0 -593
  17. package/dist/ListBox-mJ4nQaL7.js +0 -581
  18. package/dist/NumberFormatter-DA8u1Ot7.js +0 -140
  19. package/dist/OverlayArrow-BB0CWwdq.js +0 -629
  20. package/dist/RSPContexts-2lR5GG9p.js +0 -14
  21. package/dist/Select-aab027f3.esm--EmXjiL3.js +0 -2469
  22. package/dist/Separator-D9moUgP8.js +0 -322
  23. package/dist/Slider-rz2XRMGm.js +0 -853
  24. package/dist/Text-DVSAPY-K.js +0 -16
  25. package/dist/VisuallyHidden-f9zX67a_.js +0 -48
  26. package/dist/_commonjsHelpers-CUmg6egw.js +0 -6
  27. package/dist/assets/index.css +0 -37
  28. package/dist/assets/style-admin.css +0 -5255
  29. package/dist/assets/style-editor.css +0 -5255
  30. package/dist/assets/style.css +0 -5261
  31. package/dist/assets/wp-font-enhancements.css +0 -8
  32. package/dist/assets/wp-ui-enhancements.css +0 -299
  33. package/dist/components/animated-visibility/animated-visibility.js +0 -105
  34. package/dist/components/base-control/base-control.js +0 -86
  35. package/dist/components/breakpoint-preview/breakpoint-preview.js +0 -161
  36. package/dist/components/button/button.js +0 -387
  37. package/dist/components/checkbox/checkbox.js +0 -320
  38. package/dist/components/color-pickers/color-picker.js +0 -272
  39. package/dist/components/color-pickers/color-swatch.js +0 -58
  40. package/dist/components/color-pickers/gradient-editor.js +0 -534
  41. package/dist/components/color-pickers/solid-color-picker.js +0 -1567
  42. package/dist/components/component-toggle/component-toggle.js +0 -158
  43. package/dist/components/container-panel/container-panel.js +0 -131
  44. package/dist/components/draggable/draggable-context.js +0 -5
  45. package/dist/components/draggable/draggable-handle.js +0 -46
  46. package/dist/components/draggable/draggable.js +0 -6207
  47. package/dist/components/draggable-list/draggable-list-context.js +0 -5
  48. package/dist/components/draggable-list/draggable-list-item.js +0 -77
  49. package/dist/components/draggable-list/draggable-list.js +0 -151
  50. package/dist/components/expandable/expandable.js +0 -342
  51. package/dist/components/index.js +0 -137
  52. package/dist/components/input-field/input-field.js +0 -231
  53. package/dist/components/item-collection/item-collection.js +0 -59
  54. package/dist/components/layout/hstack.js +0 -30
  55. package/dist/components/layout/vstack.js +0 -30
  56. package/dist/components/link-input/link-input.js +0 -293
  57. package/dist/components/matrix-align/matrix-align.js +0 -134
  58. package/dist/components/menu/menu.js +0 -285
  59. package/dist/components/modal/modal.js +0 -305
  60. package/dist/components/notice/notice.js +0 -123
  61. package/dist/components/number-picker/number-picker.js +0 -292
  62. package/dist/components/option-select/option-select.js +0 -264
  63. package/dist/components/options-panel/options-panel.js +0 -158
  64. package/dist/components/placeholders/file-placeholder.js +0 -42
  65. package/dist/components/placeholders/image-placeholder.js +0 -88
  66. package/dist/components/placeholders/media-placeholder.js +0 -63
  67. package/dist/components/popover/popover.js +0 -207
  68. package/dist/components/radio/radio.js +0 -579
  69. package/dist/components/repeater/repeater-context.js +0 -5
  70. package/dist/components/repeater/repeater-item.js +0 -119
  71. package/dist/components/repeater/repeater.js +0 -280
  72. package/dist/components/responsive/mini-responsive.js +0 -498
  73. package/dist/components/responsive/responsive-legacy.js +0 -343
  74. package/dist/components/responsive/responsive.js +0 -580
  75. package/dist/components/responsive-preview/responsive-preview.js +0 -123
  76. package/dist/components/rich-label/rich-label.js +0 -66
  77. package/dist/components/select/async-multi-select.js +0 -157
  78. package/dist/components/select/async-single-select.js +0 -137
  79. package/dist/components/select/custom-select-default-components.js +0 -38
  80. package/dist/components/select/multi-select-components.js +0 -8
  81. package/dist/components/select/multi-select.js +0 -151
  82. package/dist/components/select/react-select-component-wrappers.js +0 -90
  83. package/dist/components/select/shared.js +0 -26
  84. package/dist/components/select/single-select.js +0 -131
  85. package/dist/components/select/styles.js +0 -49
  86. package/dist/components/select/v2/async-select.js +0 -297
  87. package/dist/components/select/v2/shared.js +0 -24
  88. package/dist/components/select/v2/single-select.js +0 -990
  89. package/dist/components/slider/column-config-slider.js +0 -210
  90. package/dist/components/slider/slider.js +0 -343
  91. package/dist/components/slider/utils.js +0 -84
  92. package/dist/components/spacer/spacer.js +0 -97
  93. package/dist/components/tabs/tabs.js +0 -702
  94. package/dist/components/toggle/switch.js +0 -155
  95. package/dist/components/toggle/toggle.js +0 -64
  96. package/dist/components/toggle-button/toggle-button.js +0 -324
  97. package/dist/components/tooltip/tooltip.js +0 -525
  98. package/dist/context-D2KUdwNL.js +0 -92
  99. package/dist/default-i18n-CT_oS1Fy.js +0 -922
  100. package/dist/filterDOMProps-EDDcM64A.js +0 -28
  101. package/dist/icons/block-icon.js +0 -42
  102. package/dist/icons/generic-color-swatch.js +0 -113
  103. package/dist/icons/icons.js +0 -30371
  104. package/dist/icons/index.js +0 -11
  105. package/dist/icons/jsx-svg.js +0 -50
  106. package/dist/index-641ee5b8.esm-BPz6U6sJ.js +0 -3137
  107. package/dist/index-BKGQ6jGS.js +0 -44
  108. package/dist/index-BYHhzLf-.js +0 -444
  109. package/dist/index.js +0 -139
  110. package/dist/lite-DVmmD_-j.js +0 -7
  111. package/dist/modifiers.esm-BuJQPI1X.js +0 -31
  112. package/dist/multi-select-components-BlZZoNXC.js +0 -3744
  113. package/dist/number-GajL10e1.js +0 -36
  114. package/dist/react-jsx-parser.min-DZCiis5V.js +0 -11753
  115. package/dist/react-select-async.esm-CwUoej5h.js +0 -107
  116. package/dist/react-select.esm-DcwYxadV.js +0 -15
  117. package/dist/style-admin.js +0 -1
  118. package/dist/style-editor.js +0 -1
  119. package/dist/style.js +0 -1
  120. package/dist/textSelection-0UUS8Yfg.js +0 -46
  121. package/dist/useButton-BpOKDWEN.js +0 -71
  122. package/dist/useEvent-B0b-6KBr.js +0 -23
  123. package/dist/useFocusRing-CV5l3lf6.js +0 -107
  124. package/dist/useFormReset-C5OggHsw.js +0 -22
  125. package/dist/useFormValidation-DhDNSjws.js +0 -224
  126. package/dist/useHover-DwDr6ozG.js +0 -900
  127. package/dist/useLabel-D7HkNEHT.js +0 -27
  128. package/dist/useLabels-D8cxd1Z8.js +0 -23
  129. package/dist/useListState-UGlN5-7P.js +0 -161
  130. package/dist/useLocalizedStringFormatter-CFP1YZWQ.js +0 -121
  131. package/dist/useNumberField-CEAj7Mrj.js +0 -1204
  132. package/dist/useNumberFormatter-321rAb4J.js +0 -13
  133. package/dist/usePress-DNW8qpY6.js +0 -664
  134. package/dist/useSingleSelectListState-DC0wWTUM.js +0 -38
  135. package/dist/useToggle-BrpmSOB-.js +0 -59
  136. package/dist/useToggleState-CmQX3SoX.js +0 -19
  137. package/dist/utilities/array-helpers.js +0 -56
  138. package/dist/utilities/debounce-throttle.js +0 -123
  139. package/dist/utilities/es-dash.js +0 -376
  140. package/dist/utilities/index.js +0 -27
  141. package/dist/utilities/text-helpers.js +0 -136
  142. package/dist/utils-DkCSC521.js +0 -370
  143. package/dist/wp/wp-font-enhancements.js +0 -1
  144. package/dist/wp/wp-ui-enhancements.js +0 -1
@@ -1,525 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { $ as $fc909762b330b746$export$61c6a8c84e605fb6, a as $d3f049242431219c$export$45fda7c47f93fd48, c as $2a41e45df1593e64$export$d39e1813b3bdd0e1, b as $d3f049242431219c$export$6d3443f2c48bfc20, d as $44f671af83e7d9e0$export$2de4954e8ae13b9f, e as $44f671af83e7d9e0$export$746d02f47f4d381 } from "../../OverlayArrow-BB0CWwdq.js";
3
- import { n as $b5e257d569688ac6$export$535bd6ca7f90a273, d as $3ef42575df84b30b$export$9d1611c77c2fe928, e as $bdb11010cef70236$export$f680877a34711e37, i as $64fa3d84918910a7$export$2881499e37b75b9a, a as $64fa3d84918910a7$export$29f1550f4b0d4415, k as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, b as $64fa3d84918910a7$export$4d86445c2cf5e3 } from "../../utils-DkCSC521.js";
4
- import { $ as $6179b936705e76d3$export$ae780daf29e6d456, a as $f645667febf57a63$export$4c014de7c8940b4c, w as $507fabe10e71c6fb$export$630ff653c5ada6a9, m as $507fabe10e71c6fb$export$b9b3dfddab17db27, x as $f645667febf57a63$export$13f3202a3e5ddd5 } from "../../useHover-DwDr6ozG.js";
5
- import React__default, { useContext, useState, useMemo, useRef, useEffect, forwardRef, createContext } from "react";
6
- import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-EDDcM64A.js";
7
- import { $ as $dbSRa$reactdom } from "../../index-BYHhzLf-.js";
8
- import { c as clsx } from "../../lite-DVmmD_-j.js";
9
- const $f57aed4a881a3485$var$Context = /* @__PURE__ */ React__default.createContext(null);
10
- function $f57aed4a881a3485$export$178405afcd8c5eb(props) {
11
- let { children } = props;
12
- let parent = useContext($f57aed4a881a3485$var$Context);
13
- let [modalCount, setModalCount] = useState(0);
14
- let context = useMemo(() => ({
15
- parent,
16
- modalCount,
17
- addModal() {
18
- setModalCount((count) => count + 1);
19
- if (parent) parent.addModal();
20
- },
21
- removeModal() {
22
- setModalCount((count) => count - 1);
23
- if (parent) parent.removeModal();
24
- }
25
- }), [
26
- parent,
27
- modalCount
28
- ]);
29
- return /* @__PURE__ */ React__default.createElement($f57aed4a881a3485$var$Context.Provider, {
30
- value: context
31
- }, children);
32
- }
33
- function $f57aed4a881a3485$export$d9aaed4c3ece1bc0() {
34
- let context = useContext($f57aed4a881a3485$var$Context);
35
- return {
36
- modalProviderProps: {
37
- "aria-hidden": context && context.modalCount > 0 ? true : void 0
38
- }
39
- };
40
- }
41
- function $f57aed4a881a3485$var$OverlayContainerDOM(props) {
42
- let { modalProviderProps } = $f57aed4a881a3485$export$d9aaed4c3ece1bc0();
43
- return /* @__PURE__ */ React__default.createElement("div", {
44
- "data-overlay-container": true,
45
- ...props,
46
- ...modalProviderProps
47
- });
48
- }
49
- function $f57aed4a881a3485$export$bf688221f59024e5(props) {
50
- return /* @__PURE__ */ React__default.createElement($f57aed4a881a3485$export$178405afcd8c5eb, null, /* @__PURE__ */ React__default.createElement($f57aed4a881a3485$var$OverlayContainerDOM, props));
51
- }
52
- function $f57aed4a881a3485$export$b47c3594eab58386(props) {
53
- let isSSR = $b5e257d569688ac6$export$535bd6ca7f90a273();
54
- let { portalContainer = isSSR ? null : document.body, ...rest } = props;
55
- React__default.useEffect(() => {
56
- if (portalContainer === null || portalContainer === void 0 ? void 0 : portalContainer.closest("[data-overlay-container]")) throw new Error("An OverlayContainer must not be inside another container. Please change the portalContainer prop.");
57
- }, [
58
- portalContainer
59
- ]);
60
- if (!portalContainer) return null;
61
- let contents = /* @__PURE__ */ React__default.createElement($f57aed4a881a3485$export$bf688221f59024e5, rest);
62
- return /* @__PURE__ */ $dbSRa$reactdom.createPortal(contents, portalContainer);
63
- }
64
- function $326e436e94273fe1$export$1c4b08e0eca38426(props, state) {
65
- let domProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
66
- labelable: true
67
- });
68
- let { hoverProps } = $6179b936705e76d3$export$ae780daf29e6d456({
69
- onHoverStart: () => state === null || state === void 0 ? void 0 : state.open(true),
70
- onHoverEnd: () => state === null || state === void 0 ? void 0 : state.close()
71
- });
72
- return {
73
- tooltipProps: $3ef42575df84b30b$export$9d1611c77c2fe928(domProps, hoverProps, {
74
- role: "tooltip"
75
- })
76
- };
77
- }
78
- function $4e1b34546679e357$export$a6da6c504e4bba8b(props, state, ref) {
79
- let { isDisabled, trigger } = props;
80
- let tooltipId = $bdb11010cef70236$export$f680877a34711e37();
81
- let isHovered = useRef(false);
82
- let isFocused = useRef(false);
83
- let handleShow = () => {
84
- if (isHovered.current || isFocused.current) state.open(isFocused.current);
85
- };
86
- let handleHide = (immediate) => {
87
- if (!isHovered.current && !isFocused.current) state.close(immediate);
88
- };
89
- useEffect(() => {
90
- let onKeyDown = (e) => {
91
- if (ref && ref.current) {
92
- if (e.key === "Escape") {
93
- e.stopPropagation();
94
- state.close(true);
95
- }
96
- }
97
- };
98
- if (state.isOpen) {
99
- document.addEventListener("keydown", onKeyDown, true);
100
- return () => {
101
- document.removeEventListener("keydown", onKeyDown, true);
102
- };
103
- }
104
- }, [
105
- ref,
106
- state
107
- ]);
108
- let onHoverStart = () => {
109
- if (trigger === "focus") return;
110
- if ($507fabe10e71c6fb$export$630ff653c5ada6a9() === "pointer") isHovered.current = true;
111
- else isHovered.current = false;
112
- handleShow();
113
- };
114
- let onHoverEnd = () => {
115
- if (trigger === "focus") return;
116
- isFocused.current = false;
117
- isHovered.current = false;
118
- handleHide();
119
- };
120
- let onPressStart = () => {
121
- isFocused.current = false;
122
- isHovered.current = false;
123
- handleHide(true);
124
- };
125
- let onFocus = () => {
126
- let isVisible = $507fabe10e71c6fb$export$b9b3dfddab17db27();
127
- if (isVisible) {
128
- isFocused.current = true;
129
- handleShow();
130
- }
131
- };
132
- let onBlur = () => {
133
- isFocused.current = false;
134
- isHovered.current = false;
135
- handleHide(true);
136
- };
137
- let { hoverProps } = $6179b936705e76d3$export$ae780daf29e6d456({
138
- isDisabled,
139
- onHoverStart,
140
- onHoverEnd
141
- });
142
- let { focusableProps } = $f645667febf57a63$export$4c014de7c8940b4c({
143
- isDisabled,
144
- onFocus,
145
- onBlur
146
- }, ref);
147
- return {
148
- triggerProps: {
149
- "aria-describedby": state.isOpen ? tooltipId : void 0,
150
- ...$3ef42575df84b30b$export$9d1611c77c2fe928(focusableProps, hoverProps, {
151
- onPointerDown: onPressStart,
152
- onKeyDown: onPressStart,
153
- tabIndex: void 0
154
- })
155
- },
156
- tooltipProps: {
157
- id: tooltipId
158
- }
159
- };
160
- }
161
- const $8796f90736e175cb$var$TOOLTIP_DELAY = 1500;
162
- const $8796f90736e175cb$var$TOOLTIP_COOLDOWN = 500;
163
- let $8796f90736e175cb$var$tooltips = {};
164
- let $8796f90736e175cb$var$tooltipId = 0;
165
- let $8796f90736e175cb$var$globalWarmedUp = false;
166
- let $8796f90736e175cb$var$globalWarmUpTimeout = null;
167
- let $8796f90736e175cb$var$globalCooldownTimeout = null;
168
- function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
169
- let { delay = $8796f90736e175cb$var$TOOLTIP_DELAY, closeDelay = $8796f90736e175cb$var$TOOLTIP_COOLDOWN } = props;
170
- let { isOpen, open, close } = $fc909762b330b746$export$61c6a8c84e605fb6(props);
171
- let id = useMemo(() => `${++$8796f90736e175cb$var$tooltipId}`, []);
172
- let closeTimeout = useRef(null);
173
- let closeCallback = useRef(close);
174
- let ensureTooltipEntry = () => {
175
- $8796f90736e175cb$var$tooltips[id] = hideTooltip;
176
- };
177
- let closeOpenTooltips = () => {
178
- for (let hideTooltipId in $8796f90736e175cb$var$tooltips) if (hideTooltipId !== id) {
179
- $8796f90736e175cb$var$tooltips[hideTooltipId](true);
180
- delete $8796f90736e175cb$var$tooltips[hideTooltipId];
181
- }
182
- };
183
- let showTooltip = () => {
184
- if (closeTimeout.current) clearTimeout(closeTimeout.current);
185
- closeTimeout.current = null;
186
- closeOpenTooltips();
187
- ensureTooltipEntry();
188
- $8796f90736e175cb$var$globalWarmedUp = true;
189
- open();
190
- if ($8796f90736e175cb$var$globalWarmUpTimeout) {
191
- clearTimeout($8796f90736e175cb$var$globalWarmUpTimeout);
192
- $8796f90736e175cb$var$globalWarmUpTimeout = null;
193
- }
194
- if ($8796f90736e175cb$var$globalCooldownTimeout) {
195
- clearTimeout($8796f90736e175cb$var$globalCooldownTimeout);
196
- $8796f90736e175cb$var$globalCooldownTimeout = null;
197
- }
198
- };
199
- let hideTooltip = (immediate) => {
200
- if (immediate || closeDelay <= 0) {
201
- if (closeTimeout.current) clearTimeout(closeTimeout.current);
202
- closeTimeout.current = null;
203
- closeCallback.current();
204
- } else if (!closeTimeout.current) closeTimeout.current = setTimeout(() => {
205
- closeTimeout.current = null;
206
- closeCallback.current();
207
- }, closeDelay);
208
- if ($8796f90736e175cb$var$globalWarmUpTimeout) {
209
- clearTimeout($8796f90736e175cb$var$globalWarmUpTimeout);
210
- $8796f90736e175cb$var$globalWarmUpTimeout = null;
211
- }
212
- if ($8796f90736e175cb$var$globalWarmedUp) {
213
- if ($8796f90736e175cb$var$globalCooldownTimeout) clearTimeout($8796f90736e175cb$var$globalCooldownTimeout);
214
- $8796f90736e175cb$var$globalCooldownTimeout = setTimeout(() => {
215
- delete $8796f90736e175cb$var$tooltips[id];
216
- $8796f90736e175cb$var$globalCooldownTimeout = null;
217
- $8796f90736e175cb$var$globalWarmedUp = false;
218
- }, Math.max($8796f90736e175cb$var$TOOLTIP_COOLDOWN, closeDelay));
219
- }
220
- };
221
- let warmupTooltip = () => {
222
- closeOpenTooltips();
223
- ensureTooltipEntry();
224
- if (!isOpen && !$8796f90736e175cb$var$globalWarmUpTimeout && !$8796f90736e175cb$var$globalWarmedUp) $8796f90736e175cb$var$globalWarmUpTimeout = setTimeout(() => {
225
- $8796f90736e175cb$var$globalWarmUpTimeout = null;
226
- $8796f90736e175cb$var$globalWarmedUp = true;
227
- showTooltip();
228
- }, delay);
229
- else if (!isOpen) showTooltip();
230
- };
231
- useEffect(() => {
232
- closeCallback.current = close;
233
- }, [
234
- close
235
- ]);
236
- useEffect(() => {
237
- return () => {
238
- if (closeTimeout.current) clearTimeout(closeTimeout.current);
239
- let tooltip = $8796f90736e175cb$var$tooltips[id];
240
- if (tooltip) delete $8796f90736e175cb$var$tooltips[id];
241
- };
242
- }, [
243
- id
244
- ]);
245
- return {
246
- isOpen,
247
- open: (immediate) => {
248
- if (!immediate && delay > 0 && !closeTimeout.current) warmupTooltip();
249
- else showTooltip();
250
- },
251
- close: hideTooltip
252
- };
253
- }
254
- const $4e3b923658d69c60$export$7a7623236eec67fa = /* @__PURE__ */ createContext(null);
255
- const $4e3b923658d69c60$export$39ae08fa83328b12 = /* @__PURE__ */ createContext(null);
256
- function $4e3b923658d69c60$export$8c610744efcf8a1d(props) {
257
- let state = $8796f90736e175cb$export$4d40659c25ecb50b(props);
258
- let ref = useRef(null);
259
- let { triggerProps, tooltipProps } = $4e1b34546679e357$export$a6da6c504e4bba8b(props, state, ref);
260
- return /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
261
- values: [
262
- [
263
- $4e3b923658d69c60$export$7a7623236eec67fa,
264
- state
265
- ],
266
- [
267
- $4e3b923658d69c60$export$39ae08fa83328b12,
268
- {
269
- ...tooltipProps,
270
- triggerRef: ref
271
- }
272
- ]
273
- ]
274
- }, /* @__PURE__ */ React__default.createElement($f645667febf57a63$export$13f3202a3e5ddd5, {
275
- ...triggerProps,
276
- ref
277
- }, props.children));
278
- }
279
- const $4e3b923658d69c60$export$28c660c63b792dea = /* @__PURE__ */ forwardRef(function Tooltip({ UNSTABLE_portalContainer, ...props }, ref) {
280
- [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $4e3b923658d69c60$export$39ae08fa83328b12);
281
- let contextState = useContext($4e3b923658d69c60$export$7a7623236eec67fa);
282
- let localState = $8796f90736e175cb$export$4d40659c25ecb50b(props);
283
- let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;
284
- let isExiting = $d3f049242431219c$export$45fda7c47f93fd48(ref, state.isOpen) || props.isExiting || false;
285
- if (!state.isOpen && !isExiting) return null;
286
- return /* @__PURE__ */ React__default.createElement($f57aed4a881a3485$export$b47c3594eab58386, {
287
- portalContainer: UNSTABLE_portalContainer
288
- }, /* @__PURE__ */ React__default.createElement($4e3b923658d69c60$var$TooltipInner, {
289
- ...props,
290
- tooltipRef: ref,
291
- isExiting
292
- }));
293
- });
294
- function $4e3b923658d69c60$var$TooltipInner(props) {
295
- let state = useContext($4e3b923658d69c60$export$7a7623236eec67fa);
296
- let arrowRef = useRef(null);
297
- let [arrowWidth, setArrowWidth] = useState(0);
298
- $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
299
- if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);
300
- }, [
301
- state.isOpen,
302
- arrowRef
303
- ]);
304
- let { overlayProps, arrowProps, placement } = $2a41e45df1593e64$export$d39e1813b3bdd0e1({
305
- placement: props.placement || "top",
306
- targetRef: props.triggerRef,
307
- overlayRef: props.tooltipRef,
308
- offset: props.offset,
309
- crossOffset: props.crossOffset,
310
- isOpen: state.isOpen,
311
- arrowSize: arrowWidth,
312
- arrowBoundaryOffset: props.arrowBoundaryOffset,
313
- shouldFlip: props.shouldFlip,
314
- onClose: () => state.close(true)
315
- });
316
- let isEntering = $d3f049242431219c$export$6d3443f2c48bfc20(props.tooltipRef, !!placement) || props.isEntering || false;
317
- let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
318
- ...props,
319
- defaultClassName: "react-aria-Tooltip",
320
- values: {
321
- placement,
322
- isEntering,
323
- isExiting: props.isExiting,
324
- state
325
- }
326
- });
327
- props = $3ef42575df84b30b$export$9d1611c77c2fe928(props, overlayProps);
328
- let { tooltipProps } = $326e436e94273fe1$export$1c4b08e0eca38426(props, state);
329
- return /* @__PURE__ */ React__default.createElement("div", {
330
- ...tooltipProps,
331
- ref: props.tooltipRef,
332
- ...renderProps,
333
- style: {
334
- ...overlayProps.style,
335
- ...renderProps.style
336
- },
337
- "data-placement": placement !== null && placement !== void 0 ? placement : void 0,
338
- "data-entering": isEntering || void 0,
339
- "data-exiting": props.isExiting || void 0
340
- }, /* @__PURE__ */ React__default.createElement($44f671af83e7d9e0$export$2de4954e8ae13b9f.Provider, {
341
- value: {
342
- ...arrowProps,
343
- placement,
344
- ref: arrowRef
345
- }
346
- }, renderProps.children));
347
- }
348
- /**
349
- * A simple tooltip component.
350
- *
351
- * It can be used in two modes:
352
- * - **Controlled mode**: You can control the tooltip with the `open` prop.
353
- * - **Uncontrolled mode**: The tooltip will be open by default with the `defaultOpen` prop.
354
- *
355
- * @component
356
- * @param {Object} props - Component props.
357
- * @param {string|JSX.Element} props.text - The text to display in the tooltip.
358
- * @param {TooltipTheme} [props.theme='dark'] - The theme of the tooltip.
359
- * @param {number} [props.offset=0] - Additional offset between the tooltip and the element on the main axis (same axis as element).
360
- * @param {number} [props.crossOffset=0] - Additional offset between the tooltip and the element on the cross axis (opposite axis as element).
361
- * @param {number} [props.containerPadding=12] - Space that should be left between the tooltip and the main containing element (usually browser window).
362
- * @param {number} [props.openDelay=1500] - Duration before the tooltip is shown, in milliseconds.
363
- * @param {number} [props.closeDelay=500] - Duration before the tooltip is hidden, in milliseconds.
364
- * @param {boolean} [props.shouldFlip=true] - If `false`, the tooltip will not flip to the opposite side if there is not enough space.
365
- * @param {boolean} [props.defaultOpen] - (**Uncontrolled mode**) Whether the tooltip is initially open.
366
- * @param {boolean} [props.open] - (**Controlled mode**) Whether the tooltip is open.
367
- * @param {Function} [props.onOpenChange] - (**Controlled mode**) Function to run when the tooltip is opened or closed.
368
- * @param {TooltipPlacement} [props.placement] - The side of the trigger element where the tooltip will be displayed.
369
- * @param {string} [props.className] - Classes to pass to the tooltip.
370
- * @param {RefObject<Element>} [props.triggerRef] - Ref to anchor the tooltip to. If not provided, the tooltip will be anchored to the trigger element.
371
- * @param {boolean} [props.arrow] - If `true`, an arrow is shown on the tooltip.
372
- *
373
- * @returns {JSX.Element} The Tooltip component.
374
- *
375
- * @typedef {'light' | 'dark'} TooltipTheme
376
- * @typedef {'bottom' | 'bottom left' | 'bottom right' | 'bottom start' | 'bottom end' | 'top' | 'top left' | 'top right' | 'top start' | 'top end' | 'left' | 'left top' | 'left bottom' | 'start' | 'start top' | 'start bottom' | 'right' | 'right top' | 'right bottom' | 'end' | 'end top' | 'end bottom'} TooltipPlacement
377
- *
378
- * @example
379
- * <Tooltip text='My tooltip'>
380
- * <Button>Hover me</Button>
381
- * </Tooltip>
382
- *
383
- * @preserve
384
- */
385
- const Tooltip2 = (props) => {
386
- const {
387
- children,
388
- text,
389
- theme = "dark",
390
- offset = 0,
391
- crossOffset = 0,
392
- containerPadding = 12,
393
- openDelay = 1500,
394
- closeDelay = 500,
395
- shouldFlip = true,
396
- arrow,
397
- open,
398
- defaultOpen,
399
- onOpenChange,
400
- placement,
401
- className,
402
- triggerRef,
403
- disabled
404
- } = props;
405
- return /* @__PURE__ */ jsxs(
406
- $4e3b923658d69c60$export$8c610744efcf8a1d,
407
- {
408
- delay: openDelay,
409
- closeDelay,
410
- isDisabled: disabled,
411
- isOpen: open,
412
- onOpenChange,
413
- defaultOpen,
414
- children: [
415
- children,
416
- /* @__PURE__ */ jsxs(
417
- $4e3b923658d69c60$export$28c660c63b792dea,
418
- {
419
- containerPadding,
420
- placement,
421
- shouldFlip,
422
- triggerRef,
423
- offset,
424
- crossOffset,
425
- className: ({ isEntering, isExiting }) => clsx(
426
- "es:group es:pointer-events-none",
427
- "es:z-20 es:select-none es:rounded-md es:border es:px-1.5 es:py-0.5 es:text-sm es:shadow es:backdrop-blur-3xl es:will-change-[transform,opacity] es:fill-mode-forwards",
428
- theme === "light" && "es:border-secondary-200 es:bg-white/90 es:text-secondary-700",
429
- theme === "dark" && "es:border-secondary-600 es:bg-black/80 es:text-secondary-100",
430
- isEntering && "es:motion-opacity-in es:motion-duration-300 es:motion-safe:data-[placement=left]:motion-translate-x-in-[5%] es:motion-safe:data-[placement=right]:-motion-translate-x-in-[5%] es:motion-safe:data-[placement=top]:motion-translate-y-in-[5%] es:motion-safe:data-[placement=bottom]:-motion-translate-y-in-[5%] es:motion-ease-spring-smooth es:motion-ease-linear/opacity",
431
- isExiting && "es:motion-opacity-out es:motion-duration-200 es:motion-safe:data-[placement=left]:motion-translate-x-out-[12.5%] es:motion-safe:data-[placement=right]:motion-translate-x-out-[-12.5%] es:motion-safe:data-[placement=top]:motion-translate-y-out-[12.5%] es:motion-safe:data-[placement=bottom]:motion-translate-y-out-[-12.5%] es:motion-ease-spring-smooth es:motion-ease-linear/opacity",
432
- className
433
- ),
434
- children: [
435
- arrow && /* @__PURE__ */ jsx($44f671af83e7d9e0$export$746d02f47f4d381, { children: /* @__PURE__ */ jsx(
436
- "svg",
437
- {
438
- width: 8,
439
- height: 8,
440
- viewBox: "0 0 8 8",
441
- className: clsx(
442
- "es:m-px es:stroke-none es:drop-shadow-sm",
443
- "es:pointer-events-none",
444
- theme === "light" && "es:fill-secondary-200",
445
- theme === "dark" && "es:fill-secondary-600",
446
- "es:group-data-[placement=left]:-rotate-90 es:group-data-[placement=right]:rotate-90 es:group-data-[placement=bottom]:rotate-180",
447
- "es:forced-colors:fill-[Canvas] es:forced-colors:stroke-[ButtonBorder]"
448
- ),
449
- children: /* @__PURE__ */ jsx("path", { d: "M0 0 L4 4 L8 0" })
450
- }
451
- ) }),
452
- text
453
- ]
454
- }
455
- )
456
- ]
457
- }
458
- );
459
- };
460
- /**
461
- * A "decorative" tooltip than can be used with element that usually don't support tooltips.
462
- * Usually the only elements that support tooltips are interactive elements like buttons or links.
463
- *
464
- * This component will wrap the element and add the tooltip functionality to it.
465
- * The tooltip will be shown when the element is hovered or anything within is focused.
466
- *
467
- * **Note**: This is not officially supported by the ARIA spec, so use with caution.
468
- *
469
- * @see {@link Tooltip} before using this component.
470
- *
471
- * @component
472
- * @param {Object} props - Component props.
473
- * @param {string|JSX.Element} props.text - The text to display in the tooltip.
474
- * @param {TooltipTheme} [props.theme='dark'] - The theme of the tooltip.
475
- * @param {number} [props.offset=0] - Additional offset between the tooltip and the element on the main axis (same axis as element).
476
- * @param {number} [props.crossOffset=0] - Additional offset between the tooltip and the element on the cross axis (opposite axis as element).
477
- * @param {number} [props.containerPadding=12] - Space that should be left between the tooltip and the main containing element (usually browser window).
478
- * @param {number} [props.openDelay=1500] - Duration before the tooltip is shown, in milliseconds.
479
- * @param {number} [props.closeDelay=500] - Duration before the tooltip is hidden, in milliseconds.
480
- * @param {boolean} [props.shouldFlip=true] - If `false`, the tooltip will not flip to the opposite side if there is not enough space.
481
- * @param {TooltipPlacement} [props.placement] - The side of the trigger element where the tooltip will be displayed.
482
- * @param {string} [props.className] - Classes to pass to the tooltip.
483
- * @param {string} [props.wrapperClassName] - Classes to pass to the tooltip wrapper (if `doNotReplaceChild` is `false`).
484
- * @param {boolean} [props.arrow] - If `true`, an arrow is shown on the tooltip.
485
- *
486
- * @returns {JSX.Element} The DecorativeTooltip component.
487
- *
488
- * @typedef {'light' | 'dark'} TooltipTheme
489
- * @typedef {'bottom' | 'bottom left' | 'bottom right' | 'bottom start' | 'bottom end' | 'top' | 'top left' | 'top right' | 'top start' | 'top end' | 'left' | 'left top' | 'left bottom' | 'start' | 'start top' | 'start bottom' | 'right' | 'right top' | 'right bottom' | 'end' | 'end top' | 'end bottom'} TooltipPlacement
490
- *
491
- * @example
492
- * <DecorativeTooltip text='My tooltip'>
493
- * <span>Hover me</span>
494
- * </DecorativeTooltip>
495
- *
496
- * @preserve
497
- */
498
- const DecorativeTooltip = (props) => {
499
- const { openDelay, closeDelay, children, text, wrapperClassName, ...rest } = props;
500
- const state = $8796f90736e175cb$export$4d40659c25ecb50b(props);
501
- const ref = useRef(null);
502
- const { triggerProps } = $4e1b34546679e357$export$a6da6c504e4bba8b(props, state, ref);
503
- return /* @__PURE__ */ jsx(
504
- Tooltip2,
505
- {
506
- triggerRef: ref,
507
- text,
508
- open: state.isOpen,
509
- ...rest,
510
- children: /* @__PURE__ */ jsx(
511
- "div",
512
- {
513
- ref,
514
- ...triggerProps,
515
- className: wrapperClassName,
516
- children
517
- }
518
- )
519
- }
520
- );
521
- };
522
- export {
523
- DecorativeTooltip,
524
- Tooltip2 as Tooltip
525
- };
@@ -1,92 +0,0 @@
1
- import React__default, { useState, useEffect, useContext } from "react";
2
- import { n as $b5e257d569688ac6$export$535bd6ca7f90a273 } from "./utils-DkCSC521.js";
3
- const $148a7a147e38ea7f$var$RTL_SCRIPTS = /* @__PURE__ */ new Set([
4
- "Arab",
5
- "Syrc",
6
- "Samr",
7
- "Mand",
8
- "Thaa",
9
- "Mend",
10
- "Nkoo",
11
- "Adlm",
12
- "Rohg",
13
- "Hebr"
14
- ]);
15
- const $148a7a147e38ea7f$var$RTL_LANGS = /* @__PURE__ */ new Set([
16
- "ae",
17
- "ar",
18
- "arc",
19
- "bcc",
20
- "bqi",
21
- "ckb",
22
- "dv",
23
- "fa",
24
- "glk",
25
- "he",
26
- "ku",
27
- "mzn",
28
- "nqo",
29
- "pnb",
30
- "ps",
31
- "sd",
32
- "ug",
33
- "ur",
34
- "yi"
35
- ]);
36
- function $148a7a147e38ea7f$export$702d680b21cbd764(localeString) {
37
- if (Intl.Locale) {
38
- let locale = new Intl.Locale(localeString).maximize();
39
- let textInfo = typeof locale.getTextInfo === "function" ? locale.getTextInfo() : locale.textInfo;
40
- if (textInfo) return textInfo.direction === "rtl";
41
- if (locale.script) return $148a7a147e38ea7f$var$RTL_SCRIPTS.has(locale.script);
42
- }
43
- let lang = localeString.split("-")[0];
44
- return $148a7a147e38ea7f$var$RTL_LANGS.has(lang);
45
- }
46
- const $1e5a04cdaf7d1af8$var$localeSymbol = Symbol.for("react-aria.i18n.locale");
47
- function $1e5a04cdaf7d1af8$export$f09106e7c6677ec5() {
48
- let locale = typeof window !== "undefined" && window[$1e5a04cdaf7d1af8$var$localeSymbol] || typeof navigator !== "undefined" && (navigator.language || navigator.userLanguage) || "en-US";
49
- try {
50
- Intl.DateTimeFormat.supportedLocalesOf([
51
- locale
52
- ]);
53
- } catch {
54
- locale = "en-US";
55
- }
56
- return {
57
- locale,
58
- direction: $148a7a147e38ea7f$export$702d680b21cbd764(locale) ? "rtl" : "ltr"
59
- };
60
- }
61
- let $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();
62
- let $1e5a04cdaf7d1af8$var$listeners = /* @__PURE__ */ new Set();
63
- function $1e5a04cdaf7d1af8$var$updateLocale() {
64
- $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();
65
- for (let listener of $1e5a04cdaf7d1af8$var$listeners) listener($1e5a04cdaf7d1af8$var$currentLocale);
66
- }
67
- function $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a() {
68
- let isSSR = $b5e257d569688ac6$export$535bd6ca7f90a273();
69
- let [defaultLocale, setDefaultLocale] = useState($1e5a04cdaf7d1af8$var$currentLocale);
70
- useEffect(() => {
71
- if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.addEventListener("languagechange", $1e5a04cdaf7d1af8$var$updateLocale);
72
- $1e5a04cdaf7d1af8$var$listeners.add(setDefaultLocale);
73
- return () => {
74
- $1e5a04cdaf7d1af8$var$listeners.delete(setDefaultLocale);
75
- if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.removeEventListener("languagechange", $1e5a04cdaf7d1af8$var$updateLocale);
76
- };
77
- }, []);
78
- if (isSSR) return {
79
- locale: "en-US",
80
- direction: "ltr"
81
- };
82
- return defaultLocale;
83
- }
84
- const $18f2051aff69b9bf$var$I18nContext = /* @__PURE__ */ React__default.createContext(null);
85
- function $18f2051aff69b9bf$export$43bb16f9c6d9e3f7() {
86
- let defaultLocale = $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a();
87
- let context = useContext($18f2051aff69b9bf$var$I18nContext);
88
- return context || defaultLocale;
89
- }
90
- export {
91
- $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 as $
92
- };