@react-spectrum/utils 3.5.2 → 3.6.3
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.
- package/dist/main.js +135 -56
- package/dist/main.js.map +1 -1
- package/dist/module.js +119 -53
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +31 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/BreakpointProvider.tsx +91 -0
- package/src/Slots.tsx +4 -3
- package/src/index.ts +1 -0
- package/src/styleProps.ts +48 -8
- package/src/useValueEffect.ts +2 -49
package/dist/module.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { mergeProps, useLayoutEffect, useResizeObserver } from "@react-aria/utils";
|
|
2
|
-
export { useResizeObserver };
|
|
1
|
+
import { mergeProps, useLayoutEffect, useResizeObserver, useValueEffect } from "@react-aria/utils";
|
|
2
|
+
export { useResizeObserver, useValueEffect };
|
|
3
3
|
import { useLocale } from "@react-aria/i18n";
|
|
4
4
|
import _babelRuntimeHelpersEsmObjectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
5
|
import _babelRuntimeHelpersEsmExtends from "@babel/runtime/helpers/esm/extends";
|
|
6
6
|
import { useIsSSR } from "@react-aria/ssr";
|
|
7
|
-
import _react, { useEffect, useState, useImperativeHandle, useMemo, useRef, useContext
|
|
7
|
+
import _react, { useEffect, useState, useImperativeHandle, useMemo, useRef, useContext } from "react";
|
|
8
8
|
import _clsx from "clsx";
|
|
9
9
|
export let shouldKeepSpectrumClassNames = false;
|
|
10
10
|
export function keepSpectrumClassNames() {
|
|
@@ -126,6 +126,78 @@ export function unwrapDOMRef(ref) {
|
|
|
126
126
|
export function useUnwrapDOMRef(ref) {
|
|
127
127
|
return useMemo(() => unwrapDOMRef(ref), [ref]);
|
|
128
128
|
}
|
|
129
|
+
|
|
130
|
+
const $f838b598b03ac1d3fd85d427f7d189$var$Context = /*#__PURE__*/_react.createContext(null);
|
|
131
|
+
|
|
132
|
+
$f838b598b03ac1d3fd85d427f7d189$var$Context.displayName = 'BreakpointContext';
|
|
133
|
+
export function BreakpointProvider(props) {
|
|
134
|
+
let {
|
|
135
|
+
children,
|
|
136
|
+
matchedBreakpoints
|
|
137
|
+
} = props;
|
|
138
|
+
return /*#__PURE__*/_react.createElement($f838b598b03ac1d3fd85d427f7d189$var$Context.Provider, {
|
|
139
|
+
value: {
|
|
140
|
+
matchedBreakpoints
|
|
141
|
+
}
|
|
142
|
+
}, children);
|
|
143
|
+
}
|
|
144
|
+
export function useMatchedBreakpoints(breakpoints) {
|
|
145
|
+
let entries = Object.entries(breakpoints).sort((_ref, _ref2) => {
|
|
146
|
+
let [, valueA] = _ref;
|
|
147
|
+
let [, valueB] = _ref2;
|
|
148
|
+
return valueB - valueA;
|
|
149
|
+
});
|
|
150
|
+
let breakpointQueries = entries.map((_ref3) => {
|
|
151
|
+
let [, value] = _ref3;
|
|
152
|
+
return "(min-width: " + value + "px)";
|
|
153
|
+
});
|
|
154
|
+
let supportsMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia === 'function';
|
|
155
|
+
|
|
156
|
+
let getBreakpointHandler = () => {
|
|
157
|
+
let matched = [];
|
|
158
|
+
|
|
159
|
+
for (let i in breakpointQueries) {
|
|
160
|
+
let query = breakpointQueries[i];
|
|
161
|
+
|
|
162
|
+
if (window.matchMedia(query).matches) {
|
|
163
|
+
matched.push(entries[i][0]);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
matched.push('base');
|
|
168
|
+
return matched;
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
let [breakpoint, setBreakpoint] = useState(() => supportsMatchMedia ? getBreakpointHandler() : ['base']);
|
|
172
|
+
useEffect(() => {
|
|
173
|
+
if (!supportsMatchMedia) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
let onResize = () => {
|
|
178
|
+
const breakpointHandler = getBreakpointHandler();
|
|
179
|
+
setBreakpoint(previousBreakpointHandler => {
|
|
180
|
+
if (previousBreakpointHandler.length !== breakpointHandler.length || previousBreakpointHandler.some((breakpoint, idx) => breakpoint !== breakpointHandler[idx])) {
|
|
181
|
+
return [...breakpointHandler]; // Return a new array to force state change
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return previousBreakpointHandler;
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
window.addEventListener('resize', onResize);
|
|
189
|
+
return () => {
|
|
190
|
+
window.removeEventListener('resize', onResize);
|
|
191
|
+
};
|
|
192
|
+
}, [supportsMatchMedia]); // If in SSR, the media query should never match. Once the page hydrates,
|
|
193
|
+
// this will update and the real value will be returned.
|
|
194
|
+
|
|
195
|
+
let isSSR = useIsSSR();
|
|
196
|
+
return isSSR ? ['base'] : breakpoint;
|
|
197
|
+
}
|
|
198
|
+
export function useBreakpoint() {
|
|
199
|
+
return useContext($f838b598b03ac1d3fd85d427f7d189$var$Context);
|
|
200
|
+
}
|
|
129
201
|
export const baseStyleProps = {
|
|
130
202
|
margin: ['margin', dimensionValue],
|
|
131
203
|
marginStart: [$e8ff0135e78060c4cd2a3148981a7a3$var$rtl('marginLeft', 'marginRight'), dimensionValue],
|
|
@@ -219,6 +291,8 @@ function $e8ff0135e78060c4cd2a3148981a7a3$var$rtl(ltr, rtl) {
|
|
|
219
291
|
}
|
|
220
292
|
|
|
221
293
|
const $e8ff0135e78060c4cd2a3148981a7a3$var$UNIT_RE = /(%|px|em|rem|vw|vh|auto|cm|mm|in|pt|pc|ex|ch|rem|vmin|vmax|fr)$/;
|
|
294
|
+
const $e8ff0135e78060c4cd2a3148981a7a3$var$FUNC_RE = /^\s*\w+\(/;
|
|
295
|
+
const $e8ff0135e78060c4cd2a3148981a7a3$var$SPECTRUM_VARIABLE_RE = /(static-)?size-\d+|single-line-(height|width)/g;
|
|
222
296
|
export function dimensionValue(value) {
|
|
223
297
|
if (typeof value === 'number') {
|
|
224
298
|
return value + 'px';
|
|
@@ -228,8 +302,16 @@ export function dimensionValue(value) {
|
|
|
228
302
|
return value;
|
|
229
303
|
}
|
|
230
304
|
|
|
305
|
+
if ($e8ff0135e78060c4cd2a3148981a7a3$var$FUNC_RE.test(value)) {
|
|
306
|
+
return value.replace($e8ff0135e78060c4cd2a3148981a7a3$var$SPECTRUM_VARIABLE_RE, 'var(--spectrum-global-dimension-$&, var(--spectrum-alias-$&))');
|
|
307
|
+
}
|
|
308
|
+
|
|
231
309
|
return "var(--spectrum-global-dimension-" + value + ", var(--spectrum-alias-" + value + "))";
|
|
232
310
|
}
|
|
311
|
+
export function responsiveDimensionValue(value, matchedBreakpoints) {
|
|
312
|
+
value = getResponsiveProp(value, matchedBreakpoints);
|
|
313
|
+
return dimensionValue(value);
|
|
314
|
+
}
|
|
233
315
|
|
|
234
316
|
function $e8ff0135e78060c4cd2a3148981a7a3$var$colorValue(value, type) {
|
|
235
317
|
if (type === void 0) {
|
|
@@ -275,7 +357,7 @@ function $e8ff0135e78060c4cd2a3148981a7a3$var$flexValue(value) {
|
|
|
275
357
|
return '' + value;
|
|
276
358
|
}
|
|
277
359
|
|
|
278
|
-
export function convertStyleProps(props, handlers, direction) {
|
|
360
|
+
export function convertStyleProps(props, handlers, direction, matchedBreakpoints) {
|
|
279
361
|
let style = {};
|
|
280
362
|
|
|
281
363
|
for (let key in props) {
|
|
@@ -291,7 +373,8 @@ export function convertStyleProps(props, handlers, direction) {
|
|
|
291
373
|
name = name(direction);
|
|
292
374
|
}
|
|
293
375
|
|
|
294
|
-
let
|
|
376
|
+
let prop = getResponsiveProp(props[key], matchedBreakpoints);
|
|
377
|
+
let value = convert(prop);
|
|
295
378
|
|
|
296
379
|
if (Array.isArray(name)) {
|
|
297
380
|
for (let k of name) {
|
|
@@ -311,32 +394,40 @@ export function convertStyleProps(props, handlers, direction) {
|
|
|
311
394
|
|
|
312
395
|
return style;
|
|
313
396
|
}
|
|
314
|
-
export function useStyleProps(props, handlers) {
|
|
397
|
+
export function useStyleProps(props, handlers, options) {
|
|
315
398
|
if (handlers === void 0) {
|
|
316
399
|
handlers = baseStyleProps;
|
|
317
400
|
}
|
|
318
401
|
|
|
402
|
+
if (options === void 0) {
|
|
403
|
+
options = {};
|
|
404
|
+
}
|
|
405
|
+
|
|
319
406
|
let {
|
|
320
407
|
UNSAFE_className,
|
|
321
408
|
UNSAFE_style
|
|
322
409
|
} = props,
|
|
323
410
|
otherProps = _babelRuntimeHelpersEsmObjectWithoutPropertiesLoose(props, ["UNSAFE_className", "UNSAFE_style"]);
|
|
324
411
|
|
|
412
|
+
let breakpointProvider = useBreakpoint();
|
|
325
413
|
let {
|
|
326
414
|
direction
|
|
327
415
|
} = useLocale();
|
|
328
|
-
let
|
|
416
|
+
let {
|
|
417
|
+
matchedBreakpoints = (breakpointProvider == null ? void 0 : breakpointProvider.matchedBreakpoints) || ['base']
|
|
418
|
+
} = options;
|
|
419
|
+
let styles = convertStyleProps(props, handlers, direction, matchedBreakpoints);
|
|
329
420
|
|
|
330
421
|
let style = _babelRuntimeHelpersEsmExtends({}, UNSAFE_style, styles); // @ts-ignore
|
|
331
422
|
|
|
332
423
|
|
|
333
424
|
if (otherProps.className) {
|
|
334
|
-
console.warn('The className prop is unsafe and is unsupported in React Spectrum v3. ' + 'Please use style props with Spectrum variables, or UNSAFE_className if you absolutely must
|
|
425
|
+
console.warn('The className prop is unsafe and is unsupported in React Spectrum v3. ' + 'Please use style props with Spectrum variables, or UNSAFE_className if you absolutely must do something custom. ' + 'Note that this may break in future versions due to DOM structure changes.');
|
|
335
426
|
} // @ts-ignore
|
|
336
427
|
|
|
337
428
|
|
|
338
429
|
if (otherProps.style) {
|
|
339
|
-
console.warn('The style prop is unsafe and is unsupported in React Spectrum v3. ' + 'Please use style props with Spectrum variables, or UNSAFE_style if you absolutely must
|
|
430
|
+
console.warn('The style prop is unsafe and is unsupported in React Spectrum v3. ' + 'Please use style props with Spectrum variables, or UNSAFE_style if you absolutely must do something custom. ' + 'Note that this may break in future versions due to DOM structure changes.');
|
|
340
431
|
}
|
|
341
432
|
|
|
342
433
|
let styleProps = {
|
|
@@ -344,7 +435,7 @@ export function useStyleProps(props, handlers) {
|
|
|
344
435
|
className: UNSAFE_className
|
|
345
436
|
};
|
|
346
437
|
|
|
347
|
-
if (props.isHidden) {
|
|
438
|
+
if (getResponsiveProp(props.isHidden, matchedBreakpoints)) {
|
|
348
439
|
styleProps.hidden = true;
|
|
349
440
|
}
|
|
350
441
|
|
|
@@ -355,6 +446,21 @@ export function useStyleProps(props, handlers) {
|
|
|
355
446
|
export function passthroughStyle(value) {
|
|
356
447
|
return value;
|
|
357
448
|
}
|
|
449
|
+
export function getResponsiveProp(prop, matchedBreakpoints) {
|
|
450
|
+
if (prop && typeof prop === 'object' && !Array.isArray(prop)) {
|
|
451
|
+
for (let i = 0; i < matchedBreakpoints.length; i++) {
|
|
452
|
+
let breakpoint = matchedBreakpoints[i];
|
|
453
|
+
|
|
454
|
+
if (prop[breakpoint] != null) {
|
|
455
|
+
return prop[breakpoint];
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
return prop.base;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
return prop;
|
|
463
|
+
}
|
|
358
464
|
|
|
359
465
|
let $e1c64f5d291c45a968556986464cdba1$var$SlotContext = /*#__PURE__*/_react.createContext(null);
|
|
360
466
|
|
|
@@ -363,7 +469,9 @@ export function useSlotProps(props, defaultSlot) {
|
|
|
363
469
|
let {
|
|
364
470
|
[slot]: slotProps = {}
|
|
365
471
|
} = useContext($e1c64f5d291c45a968556986464cdba1$var$SlotContext) || {};
|
|
366
|
-
return mergeProps(slotProps,
|
|
472
|
+
return mergeProps(props, mergeProps(slotProps, {
|
|
473
|
+
id: props.id
|
|
474
|
+
}));
|
|
367
475
|
}
|
|
368
476
|
export function cssModuleToSlots(cssModule) {
|
|
369
477
|
return Object.keys(cssModule).reduce((acc, slot) => {
|
|
@@ -423,46 +531,4 @@ export function useIsMobileDevice() {
|
|
|
423
531
|
|
|
424
532
|
return window.screen.width <= $db7f8d67f553ae22a3f659d9cb2a$var$MOBILE_SCREEN_WIDTH;
|
|
425
533
|
}
|
|
426
|
-
// This hook works like `useState`, but when setting the value, you pass a generator function
|
|
427
|
-
// that can yield multiple values. Each yielded value updates the state and waits for the next
|
|
428
|
-
// layout effect, then continues the generator. This allows sequential updates to state to be
|
|
429
|
-
// written linearly.
|
|
430
|
-
export function useValueEffect(defaultValue) {
|
|
431
|
-
let [value, setValue] = useState(defaultValue);
|
|
432
|
-
let effect = useRef(null); // Store the function in a ref so we can always access the current version
|
|
433
|
-
// which has the proper `value` in scope.
|
|
434
|
-
|
|
435
|
-
let nextRef = useRef(null);
|
|
436
|
-
|
|
437
|
-
nextRef.current = () => {
|
|
438
|
-
// Run the generator to the next yield.
|
|
439
|
-
let newValue = effect.current.next(); // If the generator is done, reset the effect.
|
|
440
|
-
|
|
441
|
-
if (newValue.done) {
|
|
442
|
-
effect.current = null;
|
|
443
|
-
return;
|
|
444
|
-
} // If the value is the same as the current value,
|
|
445
|
-
// then continue to the next yield. Otherwise,
|
|
446
|
-
// set the value in state and wait for the next layout effect.
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
if (value === newValue.value) {
|
|
450
|
-
nextRef.current();
|
|
451
|
-
} else {
|
|
452
|
-
setValue(newValue.value);
|
|
453
|
-
}
|
|
454
|
-
};
|
|
455
|
-
|
|
456
|
-
useLayoutEffect(() => {
|
|
457
|
-
// If there is an effect currently running, continue to the next yield.
|
|
458
|
-
if (effect.current) {
|
|
459
|
-
nextRef.current();
|
|
460
|
-
}
|
|
461
|
-
});
|
|
462
|
-
let queue = useCallback(fn => {
|
|
463
|
-
effect.current = fn();
|
|
464
|
-
nextRef.current();
|
|
465
|
-
}, [effect, nextRef]);
|
|
466
|
-
return [value, queue];
|
|
467
|
-
}
|
|
468
534
|
//# sourceMappingURL=module.js.map
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["./packages/@react-spectrum/utils/src/classNames.ts","./packages/@react-spectrum/utils/src/getWrappedElement.tsx","./packages/@react-spectrum/utils/src/useMediaQuery.ts","./packages/@react-spectrum/utils/src/useDOMRef.ts","./packages/@react-spectrum/utils/src/styleProps.ts","./packages/@react-spectrum/utils/src/Slots.tsx","./packages/@react-spectrum/utils/src/useHasChild.ts","./packages/@react-spectrum/utils/src/useIsMobileDevice.ts","./packages/@react-spectrum/utils/src/useValueEffect.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport _clsx from 'clsx';\n\nexport let shouldKeepSpectrumClassNames = false;\n\nexport function keepSpectrumClassNames() {\n shouldKeepSpectrumClassNames = true;\n console.warn(\n 'Legacy spectrum-prefixed class names enabled for backward compatibility. ' +\n 'We recommend replacing instances of CSS overrides targeting spectrum selectors ' +\n 'in your app with custom class names of your own, and disabling this flag.'\n );\n}\n\nexport function classNames(cssModule: {[key: string]: string}, ...values: Array<string | Object>): string {\n let classes = [];\n for (let value of values) {\n if (typeof value === 'object' && value) {\n let mapped = {};\n for (let key in value) {\n if (cssModule[key]) {\n mapped[cssModule[key]] = value[key];\n }\n\n if (shouldKeepSpectrumClassNames || !cssModule[key]) {\n mapped[key] = value[key];\n }\n }\n\n classes.push(mapped);\n } else if (typeof value === 'string') {\n if (cssModule[value]) {\n classes.push(cssModule[value]);\n }\n\n if (shouldKeepSpectrumClassNames || !cssModule[value]) {\n classes.push(value);\n }\n } else {\n classes.push(value);\n }\n }\n\n return _clsx(...classes);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport React, {ReactElement, ReactNode} from 'react';\n\nexport function getWrappedElement(children: string | ReactElement | ReactNode): ReactElement {\n let element;\n if (typeof children === 'string') {\n element = <span>{children}</span>;\n } else {\n element = React.Children.only(children);\n }\n return element;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {useEffect, useState} from 'react';\nimport {useIsSSR} from '@react-aria/ssr';\n\nexport function useMediaQuery(query: string) {\n let supportsMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia === 'function';\n let [matches, setMatches] = useState(() =>\n supportsMatchMedia\n ? window.matchMedia(query).matches\n : false\n );\n\n useEffect(() => {\n if (!supportsMatchMedia) {\n return;\n }\n\n let mq = window.matchMedia(query);\n let onChange = (evt) => {\n setMatches(evt.matches);\n };\n\n mq.addListener(onChange);\n return () => {\n mq.removeListener(onChange);\n };\n }, [supportsMatchMedia, query]);\n\n // If in SSR, the media query should never match. Once the page hydrates,\n // this will update and the real value will be returned.\n let isSSR = useIsSSR();\n return isSSR ? false : matches;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DOMRef, DOMRefValue, FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {RefObject, useImperativeHandle, useMemo, useRef} from 'react';\n\nexport function createDOMRef<T extends HTMLElement = HTMLElement>(ref: RefObject<T>): DOMRefValue<T> {\n return {\n UNSAFE_getDOMNode() {\n return ref.current;\n }\n };\n}\n\nexport function createFocusableRef<T extends HTMLElement = HTMLElement>(domRef: RefObject<T>, focusableRef: RefObject<HTMLElement> = domRef): FocusableRefValue<T> {\n return {\n ...createDOMRef(domRef),\n focus() {\n if (focusableRef.current) {\n focusableRef.current.focus();\n }\n }\n };\n}\n\nexport function useDOMRef<T extends HTMLElement = HTMLElement>(ref: DOMRef<T>): RefObject<T> {\n let domRef = useRef<T>(null);\n useImperativeHandle(ref, () => createDOMRef(domRef));\n return domRef;\n}\n\nexport function useFocusableRef<T extends HTMLElement = HTMLElement>(ref: FocusableRef<T>, focusableRef?: RefObject<HTMLElement>): RefObject<T> {\n let domRef = useRef<T>(null);\n useImperativeHandle(ref, () => createFocusableRef(domRef, focusableRef));\n return domRef;\n}\n\nexport function unwrapDOMRef<T extends HTMLElement>(ref: RefObject<DOMRefValue<T>>): RefObject<T> {\n return {\n get current() {\n return ref.current && ref.current.UNSAFE_getDOMNode();\n }\n };\n}\n\nexport function useUnwrapDOMRef<T extends HTMLElement>(ref: RefObject<DOMRefValue<T>>) : RefObject<T> {\n return useMemo(() => unwrapDOMRef(ref), [ref]);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {BackgroundColorValue, BorderColorValue, BorderRadiusValue, BorderSizeValue, ColorValue, DimensionValue, Direction, StyleProps, ViewStyleProps} from '@react-types/shared';\nimport {CSSProperties, HTMLAttributes} from 'react';\nimport {useLocale} from '@react-aria/i18n';\n\ntype StyleName = string | string[] | ((dir: Direction) => string);\ntype StyleHandler = (value: any) => string;\nexport interface StyleHandlers {\n [key: string]: [StyleName, StyleHandler]\n}\n\nexport const baseStyleProps: StyleHandlers = {\n margin: ['margin', dimensionValue],\n marginStart: [rtl('marginLeft', 'marginRight'), dimensionValue],\n marginEnd: [rtl('marginRight', 'marginLeft'), dimensionValue],\n // marginLeft: ['marginLeft', dimensionValue],\n // marginRight: ['marginRight', dimensionValue],\n marginTop: ['marginTop', dimensionValue],\n marginBottom: ['marginBottom', dimensionValue],\n marginX: [['marginLeft', 'marginRight'], dimensionValue],\n marginY: [['marginTop', 'marginBottom'], dimensionValue],\n width: ['width', dimensionValue],\n height: ['height', dimensionValue],\n minWidth: ['minWidth', dimensionValue],\n minHeight: ['minHeight', dimensionValue],\n maxWidth: ['maxWidth', dimensionValue],\n maxHeight: ['maxHeight', dimensionValue],\n isHidden: ['display', hiddenValue],\n alignSelf: ['alignSelf', passthroughStyle],\n justifySelf: ['justifySelf', passthroughStyle],\n position: ['position', anyValue],\n zIndex: ['zIndex', anyValue],\n top: ['top', dimensionValue],\n bottom: ['bottom', dimensionValue],\n start: [rtl('left', 'right'), dimensionValue],\n end: [rtl('right', 'left'), dimensionValue],\n left: ['left', dimensionValue],\n right: ['right', dimensionValue],\n order: ['order', anyValue],\n flex: ['flex', flexValue],\n flexGrow: ['flexGrow', passthroughStyle],\n flexShrink: ['flexShrink', passthroughStyle],\n flexBasis: ['flexBasis', passthroughStyle],\n gridArea: ['gridArea', passthroughStyle],\n gridColumn: ['gridColumn', passthroughStyle],\n gridColumnEnd: ['gridColumnEnd', passthroughStyle],\n gridColumnStart: ['gridColumnStart', passthroughStyle],\n gridRow: ['gridRow', passthroughStyle],\n gridRowEnd: ['gridRowEnd', passthroughStyle],\n gridRowStart: ['gridRowStart', passthroughStyle]\n};\n\nexport const viewStyleProps: StyleHandlers = {\n ...baseStyleProps,\n backgroundColor: ['backgroundColor', backgroundColorValue],\n borderWidth: ['borderWidth', borderSizeValue],\n borderStartWidth: [rtl('borderLeftWidth', 'borderRightWidth'), borderSizeValue],\n borderEndWidth: [rtl('borderRightWidth', 'borderLeftWidth'), borderSizeValue],\n borderLeftWidth: ['borderLeftWidth', borderSizeValue],\n borderRightWidth: ['borderRightWidth', borderSizeValue],\n borderTopWidth: ['borderTopWidth', borderSizeValue],\n borderBottomWidth: ['borderBottomWidth', borderSizeValue],\n borderXWidth: [['borderLeftWidth', 'borderRightWidth'], borderSizeValue],\n borderYWidth: [['borderTopWidth', 'borderBottomWidth'], borderSizeValue],\n borderColor: ['borderColor', borderColorValue],\n borderStartColor: [rtl('borderLeftColor', 'borderRightColor'), borderColorValue],\n borderEndColor: [rtl('borderRightColor', 'borderLeftColor'), borderColorValue],\n borderLeftColor: ['borderLeftColor', borderColorValue],\n borderRightColor: ['borderRightColor', borderColorValue],\n borderTopColor: ['borderTopColor', borderColorValue],\n borderBottomColor: ['borderBottomColor', borderColorValue],\n borderXColor: [['borderLeftColor', 'borderRightColor'], borderColorValue],\n borderYColor: [['borderTopColor', 'borderBottomColor'], borderColorValue],\n borderRadius: ['borderRadius', borderRadiusValue],\n borderTopStartRadius: [rtl('borderTopLeftRadius', 'borderTopRightRadius'), borderRadiusValue],\n borderTopEndRadius: [rtl('borderTopRightRadius', 'borderTopLeftRadius'), borderRadiusValue],\n borderBottomStartRadius: [rtl('borderBottomLeftRadius', 'borderBottomRightRadius'), borderRadiusValue],\n borderBottomEndRadius: [rtl('borderBottomRightRadius', 'borderBottomLeftRadius'), borderRadiusValue],\n borderTopLeftRadius: ['borderTopLeftRadius', borderRadiusValue],\n borderTopRightRadius: ['borderTopRightRadius', borderRadiusValue],\n borderBottomLeftRadius: ['borderBottomLeftRadius', borderRadiusValue],\n borderBottomRightRadius: ['borderBottomRightRadius', borderRadiusValue],\n padding: ['padding', dimensionValue],\n paddingStart: [rtl('paddingLeft', 'paddingRight'), dimensionValue],\n paddingEnd: [rtl('paddingRight', 'paddingLeft'), dimensionValue],\n paddingLeft: ['paddingLeft', dimensionValue],\n paddingRight: ['paddingRight', dimensionValue],\n paddingTop: ['paddingTop', dimensionValue],\n paddingBottom: ['paddingBottom', dimensionValue],\n paddingX: [['paddingLeft', 'paddingRight'], dimensionValue],\n paddingY: [['paddingTop', 'paddingBottom'], dimensionValue],\n overflow: ['overflow', passthroughStyle]\n};\n\nconst borderStyleProps = {\n borderWidth: 'borderStyle',\n borderLeftWidth: 'borderLeftStyle',\n borderRightWidth: 'borderRightStyle',\n borderTopWidth: 'borderTopStyle',\n borderBottomWidth: 'borderBottomStyle'\n};\n\nfunction rtl(ltr: string, rtl: string) {\n return (direction: Direction) => (\n direction === 'rtl' ? rtl : ltr\n );\n}\n\nconst UNIT_RE = /(%|px|em|rem|vw|vh|auto|cm|mm|in|pt|pc|ex|ch|rem|vmin|vmax|fr)$/;\nexport function dimensionValue(value: DimensionValue) {\n if (typeof value === 'number') {\n return value + 'px';\n }\n\n if (UNIT_RE.test(value)) {\n return value;\n }\n\n return `var(--spectrum-global-dimension-${value}, var(--spectrum-alias-${value}))`;\n}\n\ntype ColorType = 'default' | 'background' | 'border' | 'icon' | 'status';\nfunction colorValue(value: ColorValue, type: ColorType = 'default') {\n return `var(--spectrum-global-color-${value}, var(--spectrum-semantic-${value}-color-${type}))`;\n}\n\nfunction backgroundColorValue(value: BackgroundColorValue) {\n return `var(--spectrum-alias-background-color-${value}, ${colorValue(value as ColorValue, 'background')})`;\n}\n\nfunction borderColorValue(value: BorderColorValue) {\n if (value === 'default') {\n return 'var(--spectrum-alias-border-color)';\n }\n\n return `var(--spectrum-alias-border-color-${value}, ${colorValue(value as ColorValue, 'border')})`;\n}\n\nfunction borderSizeValue(value: BorderSizeValue) {\n return `var(--spectrum-alias-border-size-${value})`;\n}\n\nfunction borderRadiusValue(value: BorderRadiusValue) {\n return `var(--spectrum-alias-border-radius-${value})`;\n}\n\nfunction hiddenValue(value: boolean) {\n return value ? 'none' : undefined;\n}\n\nfunction anyValue(value: any) {\n return value;\n}\n\nfunction flexValue(value: boolean | number | string) {\n if (typeof value === 'boolean') {\n return value ? '1' : undefined;\n }\n\n return '' + value;\n}\n\nexport function convertStyleProps(props: ViewStyleProps, handlers: StyleHandlers, direction: Direction) {\n let style: CSSProperties = {};\n for (let key in props) {\n let styleProp = handlers[key];\n if (!styleProp || props[key] == null) {\n continue;\n }\n\n let [name, convert] = styleProp;\n if (typeof name === 'function') {\n name = name(direction);\n }\n\n let value = convert(props[key]);\n if (Array.isArray(name)) {\n for (let k of name) {\n style[k] = value;\n }\n } else {\n style[name] = value;\n }\n }\n\n for (let prop in borderStyleProps) {\n if (style[prop]) {\n style[borderStyleProps[prop]] = 'solid';\n style.boxSizing = 'border-box';\n }\n }\n\n return style;\n}\n\nexport function useStyleProps<T extends StyleProps>(props: T, handlers: StyleHandlers = baseStyleProps) {\n let {\n UNSAFE_className,\n UNSAFE_style,\n ...otherProps\n } = props;\n let {direction} = useLocale();\n let styles = convertStyleProps(props, handlers, direction);\n let style = {...UNSAFE_style, ...styles};\n\n // @ts-ignore\n if (otherProps.className) {\n console.warn(\n 'The className prop is unsafe and is unsupported in React Spectrum v3. ' +\n 'Please use style props with Spectrum variables, or UNSAFE_className if you absolutely must to something custom. ' +\n 'Note that this may break in future versions due to DOM structure changes.'\n );\n }\n\n // @ts-ignore\n if (otherProps.style) {\n console.warn(\n 'The style prop is unsafe and is unsupported in React Spectrum v3. ' +\n 'Please use style props with Spectrum variables, or UNSAFE_style if you absolutely must to something custom. ' +\n 'Note that this may break in future versions due to DOM structure changes.'\n );\n }\n\n let styleProps: HTMLAttributes<HTMLElement> = {\n style,\n className: UNSAFE_className\n };\n\n if (props.isHidden) {\n styleProps.hidden = true;\n }\n\n return {\n styleProps\n };\n}\n\nexport function passthroughStyle(value) {\n return value;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {mergeProps} from '@react-aria/utils';\nimport React, {useContext, useMemo} from 'react';\n\ninterface SlotProps {\n slot?: string\n}\n\nlet SlotContext = React.createContext(null);\n\nexport function useSlotProps<T>(props: T, defaultSlot?: string): T {\n let slot = (props as SlotProps).slot || defaultSlot;\n let {[slot]: slotProps = {}} = useContext(SlotContext) || {};\n return mergeProps(slotProps, props);\n}\n\nexport function cssModuleToSlots(cssModule) {\n return Object.keys(cssModule).reduce((acc, slot) => {\n acc[slot] = {UNSAFE_className: cssModule[slot]};\n return acc;\n }, {});\n}\n\nexport function SlotProvider(props) {\n let parentSlots = useContext(SlotContext) || {};\n let {slots = {}, children} = props;\n\n // Merge props for each slot from parent context and props\n let value = useMemo(() => \n Object.keys(parentSlots)\n .concat(Object.keys(slots))\n .reduce((o, p) => ({\n ...o,\n [p]: mergeProps(parentSlots[p] || {}, slots[p] || {})}), {})\n , [parentSlots, slots]);\n\n return (\n <SlotContext.Provider value={value}>\n {children}\n </SlotContext.Provider>\n );\n}\n\nexport function ClearSlots(props) {\n let {children, ...otherProps} = props;\n let content = children;\n if (React.Children.toArray(children).length <= 1) {\n if (typeof children === 'function') { // need to know if the node is a string or something else that react can render that doesn't get props\n content = React.cloneElement(React.Children.only(children), otherProps);\n }\n }\n return (\n <SlotContext.Provider value={{}}>\n {content}\n </SlotContext.Provider>\n );\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {RefObject, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\nexport function useHasChild(query: string, ref: RefObject<HTMLElement>) {\n let [hasChild, setHasChild] = useState(true);\n useLayoutEffect(() => {\n setHasChild(!!(ref.current && ref.current.querySelector(query)));\n }, [setHasChild, query, ref]);\n return hasChild;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {useIsSSR} from '@react-aria/ssr';\n\nconst MOBILE_SCREEN_WIDTH = 700;\n\nexport function useIsMobileDevice(): boolean {\n let isSSR = useIsSSR();\n if (isSSR || typeof window === 'undefined') {\n return false;\n }\n\n return window.screen.width <= MOBILE_SCREEN_WIDTH;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {Dispatch, useCallback, useRef, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\ntype SetValueAction = () => Generator<any, void, unknown>;\n\n// This hook works like `useState`, but when setting the value, you pass a generator function\n// that can yield multiple values. Each yielded value updates the state and waits for the next\n// layout effect, then continues the generator. This allows sequential updates to state to be\n// written linearly.\nexport function useValueEffect<S>(defaultValue: S | (() => S)): [S, Dispatch<SetValueAction>] {\n let [value, setValue] = useState(defaultValue);\n let effect = useRef(null);\n\n // Store the function in a ref so we can always access the current version\n // which has the proper `value` in scope.\n let nextRef = useRef(null);\n nextRef.current = () => {\n // Run the generator to the next yield.\n let newValue = effect.current.next();\n\n // If the generator is done, reset the effect.\n if (newValue.done) {\n effect.current = null;\n return;\n }\n\n // If the value is the same as the current value,\n // then continue to the next yield. Otherwise,\n // set the value in state and wait for the next layout effect.\n if (value === newValue.value) {\n nextRef.current();\n } else {\n setValue(newValue.value);\n }\n };\n\n useLayoutEffect(() => {\n // If there is an effect currently running, continue to the next yield.\n if (effect.current) {\n nextRef.current();\n }\n });\n\n let queue = useCallback(fn => {\n effect.current = fn();\n nextRef.current();\n }, [effect, nextRef]);\n\n return [value, queue];\n}\n"],"names":["shouldKeepSpectrumClassNames","keepSpectrumClassNames","console","warn","classNames","cssModule","classes","values","value","mapped","key","push","_clsx","getWrappedElement","children","element","React","Children","only","useMediaQuery","query","supportsMatchMedia","window","matchMedia","matches","setMatches","useState","useEffect","mq","onChange","evt","addListener","removeListener","isSSR","useIsSSR","createDOMRef","ref","UNSAFE_getDOMNode","current","createFocusableRef","domRef","focusableRef","focus","useDOMRef","useRef","useImperativeHandle","useFocusableRef","unwrapDOMRef","useUnwrapDOMRef","useMemo","baseStyleProps","margin","dimensionValue","marginStart","rtl","marginEnd","marginTop","marginBottom","marginX","marginY","width","height","minWidth","minHeight","maxWidth","maxHeight","isHidden","hiddenValue","alignSelf","passthroughStyle","justifySelf","position","anyValue","zIndex","top","bottom","start","end","left","right","order","flex","flexValue","flexGrow","flexShrink","flexBasis","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","viewStyleProps","backgroundColor","backgroundColorValue","borderWidth","borderSizeValue","borderStartWidth","borderEndWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderXWidth","borderYWidth","borderColor","borderColorValue","borderStartColor","borderEndColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderXColor","borderYColor","borderRadius","borderRadiusValue","borderTopStartRadius","borderTopEndRadius","borderBottomStartRadius","borderBottomEndRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","padding","paddingStart","paddingEnd","paddingLeft","paddingRight","paddingTop","paddingBottom","paddingX","paddingY","overflow","borderStyleProps","ltr","direction","UNIT_RE","test","colorValue","type","undefined","convertStyleProps","props","handlers","style","styleProp","name","convert","Array","isArray","k","prop","boxSizing","useStyleProps","UNSAFE_className","UNSAFE_style","otherProps","useLocale","styles","className","styleProps","hidden","SlotContext","createContext","useSlotProps","defaultSlot","slot","slotProps","useContext","mergeProps","cssModuleToSlots","Object","keys","reduce","acc","SlotProvider","parentSlots","slots","concat","o","p","ClearSlots","content","toArray","length","cloneElement","useHasChild","hasChild","setHasChild","useLayoutEffect","querySelector","MOBILE_SCREEN_WIDTH","useIsMobileDevice","screen","useValueEffect","defaultValue","setValue","effect","nextRef","newValue","next","done","queue","useCallback","fn"],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["./packages/@react-spectrum/utils/src/classNames.ts","./packages/@react-spectrum/utils/src/getWrappedElement.tsx","./packages/@react-spectrum/utils/src/useMediaQuery.ts","./packages/@react-spectrum/utils/src/useDOMRef.ts","./packages/@react-spectrum/utils/src/BreakpointProvider.tsx","./packages/@react-spectrum/utils/src/styleProps.ts","./packages/@react-spectrum/utils/src/Slots.tsx","./packages/@react-spectrum/utils/src/useHasChild.ts","./packages/@react-spectrum/utils/src/useIsMobileDevice.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport _clsx from 'clsx';\n\nexport let shouldKeepSpectrumClassNames = false;\n\nexport function keepSpectrumClassNames() {\n shouldKeepSpectrumClassNames = true;\n console.warn(\n 'Legacy spectrum-prefixed class names enabled for backward compatibility. ' +\n 'We recommend replacing instances of CSS overrides targeting spectrum selectors ' +\n 'in your app with custom class names of your own, and disabling this flag.'\n );\n}\n\nexport function classNames(cssModule: {[key: string]: string}, ...values: Array<string | Object>): string {\n let classes = [];\n for (let value of values) {\n if (typeof value === 'object' && value) {\n let mapped = {};\n for (let key in value) {\n if (cssModule[key]) {\n mapped[cssModule[key]] = value[key];\n }\n\n if (shouldKeepSpectrumClassNames || !cssModule[key]) {\n mapped[key] = value[key];\n }\n }\n\n classes.push(mapped);\n } else if (typeof value === 'string') {\n if (cssModule[value]) {\n classes.push(cssModule[value]);\n }\n\n if (shouldKeepSpectrumClassNames || !cssModule[value]) {\n classes.push(value);\n }\n } else {\n classes.push(value);\n }\n }\n\n return _clsx(...classes);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport React, {ReactElement, ReactNode} from 'react';\n\nexport function getWrappedElement(children: string | ReactElement | ReactNode): ReactElement {\n let element;\n if (typeof children === 'string') {\n element = <span>{children}</span>;\n } else {\n element = React.Children.only(children);\n }\n return element;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {useEffect, useState} from 'react';\nimport {useIsSSR} from '@react-aria/ssr';\n\nexport function useMediaQuery(query: string) {\n let supportsMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia === 'function';\n let [matches, setMatches] = useState(() =>\n supportsMatchMedia\n ? window.matchMedia(query).matches\n : false\n );\n\n useEffect(() => {\n if (!supportsMatchMedia) {\n return;\n }\n\n let mq = window.matchMedia(query);\n let onChange = (evt) => {\n setMatches(evt.matches);\n };\n\n mq.addListener(onChange);\n return () => {\n mq.removeListener(onChange);\n };\n }, [supportsMatchMedia, query]);\n\n // If in SSR, the media query should never match. Once the page hydrates,\n // this will update and the real value will be returned.\n let isSSR = useIsSSR();\n return isSSR ? false : matches;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {DOMRef, DOMRefValue, FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {RefObject, useImperativeHandle, useMemo, useRef} from 'react';\n\nexport function createDOMRef<T extends HTMLElement = HTMLElement>(ref: RefObject<T>): DOMRefValue<T> {\n return {\n UNSAFE_getDOMNode() {\n return ref.current;\n }\n };\n}\n\nexport function createFocusableRef<T extends HTMLElement = HTMLElement>(domRef: RefObject<T>, focusableRef: RefObject<HTMLElement> = domRef): FocusableRefValue<T> {\n return {\n ...createDOMRef(domRef),\n focus() {\n if (focusableRef.current) {\n focusableRef.current.focus();\n }\n }\n };\n}\n\nexport function useDOMRef<T extends HTMLElement = HTMLElement>(ref: DOMRef<T>): RefObject<T> {\n let domRef = useRef<T>(null);\n useImperativeHandle(ref, () => createDOMRef(domRef));\n return domRef;\n}\n\nexport function useFocusableRef<T extends HTMLElement = HTMLElement>(ref: FocusableRef<T>, focusableRef?: RefObject<HTMLElement>): RefObject<T> {\n let domRef = useRef<T>(null);\n useImperativeHandle(ref, () => createFocusableRef(domRef, focusableRef));\n return domRef;\n}\n\nexport function unwrapDOMRef<T extends HTMLElement>(ref: RefObject<DOMRefValue<T>>): RefObject<T> {\n return {\n get current() {\n return ref.current && ref.current.UNSAFE_getDOMNode();\n }\n };\n}\n\nexport function useUnwrapDOMRef<T extends HTMLElement>(ref: RefObject<DOMRefValue<T>>) : RefObject<T> {\n return useMemo(() => unwrapDOMRef(ref), [ref]);\n}\n","import React, {ReactNode, useContext, useEffect, useState} from 'react';\nimport {useIsSSR} from '@react-aria/ssr';\n\ninterface Breakpoints {\n S?: number,\n M?: number,\n L?: number,\n [custom: string]: number | undefined\n}\n\ninterface BreakpointContext {\n matchedBreakpoints: string[]\n}\n\nconst Context = React.createContext<BreakpointContext>(null);\nContext.displayName = 'BreakpointContext';\n\ninterface BreakpointProviderProps {\n children?: ReactNode,\n matchedBreakpoints: string[]\n}\n\nexport function BreakpointProvider(props: BreakpointProviderProps) {\n let {\n children,\n matchedBreakpoints\n } = props;\n return (\n <Context.Provider\n value={{matchedBreakpoints}} >\n {children}\n </Context.Provider>\n );\n}\n\nexport function useMatchedBreakpoints(breakpoints: Breakpoints): string[] {\n let entries = Object.entries(breakpoints).sort(([, valueA], [, valueB]) => valueB - valueA);\n let breakpointQueries = entries.map(([, value]) => `(min-width: ${value}px)`);\n\n let supportsMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia === 'function';\n let getBreakpointHandler = () => {\n let matched = [];\n for (let i in breakpointQueries) {\n let query = breakpointQueries[i];\n if (window.matchMedia(query).matches) {\n matched.push(entries[i][0]);\n }\n }\n matched.push('base');\n return matched;\n };\n\n let [breakpoint, setBreakpoint] = useState(() =>\n supportsMatchMedia\n ? getBreakpointHandler()\n : ['base']\n );\n\n useEffect(() => {\n if (!supportsMatchMedia) {\n return;\n }\n\n let onResize = () => {\n const breakpointHandler = getBreakpointHandler();\n\n setBreakpoint(previousBreakpointHandler => {\n if (previousBreakpointHandler.length !== breakpointHandler.length ||\n previousBreakpointHandler.some((breakpoint, idx) => breakpoint !== breakpointHandler[idx])) {\n return [...breakpointHandler]; // Return a new array to force state change\n }\n\n return previousBreakpointHandler;\n });\n };\n\n window.addEventListener('resize', onResize);\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [supportsMatchMedia]);\n\n // If in SSR, the media query should never match. Once the page hydrates,\n // this will update and the real value will be returned.\n let isSSR = useIsSSR();\n return isSSR ? ['base'] : breakpoint;\n}\n\nexport function useBreakpoint(): BreakpointContext {\n return useContext(Context);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {BackgroundColorValue, BorderColorValue, BorderRadiusValue, BorderSizeValue, ColorValue, DimensionValue, Direction, Responsive, ResponsiveProp, StyleProps, ViewStyleProps} from '@react-types/shared';\nimport {CSSProperties, HTMLAttributes} from 'react';\nimport {useBreakpoint} from './BreakpointProvider';\nimport {useLocale} from '@react-aria/i18n';\n\ntype Breakpoint = 'base' | 'S' | 'M' | 'L' | string;\ntype StyleName = string | string[] | ((dir: Direction) => string);\ntype StyleHandler = (value: any) => string;\nexport interface StyleHandlers {\n [key: string]: [StyleName, StyleHandler]\n}\n\nexport const baseStyleProps: StyleHandlers = {\n margin: ['margin', dimensionValue],\n marginStart: [rtl('marginLeft', 'marginRight'), dimensionValue],\n marginEnd: [rtl('marginRight', 'marginLeft'), dimensionValue],\n // marginLeft: ['marginLeft', dimensionValue],\n // marginRight: ['marginRight', dimensionValue],\n marginTop: ['marginTop', dimensionValue],\n marginBottom: ['marginBottom', dimensionValue],\n marginX: [['marginLeft', 'marginRight'], dimensionValue],\n marginY: [['marginTop', 'marginBottom'], dimensionValue],\n width: ['width', dimensionValue],\n height: ['height', dimensionValue],\n minWidth: ['minWidth', dimensionValue],\n minHeight: ['minHeight', dimensionValue],\n maxWidth: ['maxWidth', dimensionValue],\n maxHeight: ['maxHeight', dimensionValue],\n isHidden: ['display', hiddenValue],\n alignSelf: ['alignSelf', passthroughStyle],\n justifySelf: ['justifySelf', passthroughStyle],\n position: ['position', anyValue],\n zIndex: ['zIndex', anyValue],\n top: ['top', dimensionValue],\n bottom: ['bottom', dimensionValue],\n start: [rtl('left', 'right'), dimensionValue],\n end: [rtl('right', 'left'), dimensionValue],\n left: ['left', dimensionValue],\n right: ['right', dimensionValue],\n order: ['order', anyValue],\n flex: ['flex', flexValue],\n flexGrow: ['flexGrow', passthroughStyle],\n flexShrink: ['flexShrink', passthroughStyle],\n flexBasis: ['flexBasis', passthroughStyle],\n gridArea: ['gridArea', passthroughStyle],\n gridColumn: ['gridColumn', passthroughStyle],\n gridColumnEnd: ['gridColumnEnd', passthroughStyle],\n gridColumnStart: ['gridColumnStart', passthroughStyle],\n gridRow: ['gridRow', passthroughStyle],\n gridRowEnd: ['gridRowEnd', passthroughStyle],\n gridRowStart: ['gridRowStart', passthroughStyle]\n};\n\nexport const viewStyleProps: StyleHandlers = {\n ...baseStyleProps,\n backgroundColor: ['backgroundColor', backgroundColorValue],\n borderWidth: ['borderWidth', borderSizeValue],\n borderStartWidth: [rtl('borderLeftWidth', 'borderRightWidth'), borderSizeValue],\n borderEndWidth: [rtl('borderRightWidth', 'borderLeftWidth'), borderSizeValue],\n borderLeftWidth: ['borderLeftWidth', borderSizeValue],\n borderRightWidth: ['borderRightWidth', borderSizeValue],\n borderTopWidth: ['borderTopWidth', borderSizeValue],\n borderBottomWidth: ['borderBottomWidth', borderSizeValue],\n borderXWidth: [['borderLeftWidth', 'borderRightWidth'], borderSizeValue],\n borderYWidth: [['borderTopWidth', 'borderBottomWidth'], borderSizeValue],\n borderColor: ['borderColor', borderColorValue],\n borderStartColor: [rtl('borderLeftColor', 'borderRightColor'), borderColorValue],\n borderEndColor: [rtl('borderRightColor', 'borderLeftColor'), borderColorValue],\n borderLeftColor: ['borderLeftColor', borderColorValue],\n borderRightColor: ['borderRightColor', borderColorValue],\n borderTopColor: ['borderTopColor', borderColorValue],\n borderBottomColor: ['borderBottomColor', borderColorValue],\n borderXColor: [['borderLeftColor', 'borderRightColor'], borderColorValue],\n borderYColor: [['borderTopColor', 'borderBottomColor'], borderColorValue],\n borderRadius: ['borderRadius', borderRadiusValue],\n borderTopStartRadius: [rtl('borderTopLeftRadius', 'borderTopRightRadius'), borderRadiusValue],\n borderTopEndRadius: [rtl('borderTopRightRadius', 'borderTopLeftRadius'), borderRadiusValue],\n borderBottomStartRadius: [rtl('borderBottomLeftRadius', 'borderBottomRightRadius'), borderRadiusValue],\n borderBottomEndRadius: [rtl('borderBottomRightRadius', 'borderBottomLeftRadius'), borderRadiusValue],\n borderTopLeftRadius: ['borderTopLeftRadius', borderRadiusValue],\n borderTopRightRadius: ['borderTopRightRadius', borderRadiusValue],\n borderBottomLeftRadius: ['borderBottomLeftRadius', borderRadiusValue],\n borderBottomRightRadius: ['borderBottomRightRadius', borderRadiusValue],\n padding: ['padding', dimensionValue],\n paddingStart: [rtl('paddingLeft', 'paddingRight'), dimensionValue],\n paddingEnd: [rtl('paddingRight', 'paddingLeft'), dimensionValue],\n paddingLeft: ['paddingLeft', dimensionValue],\n paddingRight: ['paddingRight', dimensionValue],\n paddingTop: ['paddingTop', dimensionValue],\n paddingBottom: ['paddingBottom', dimensionValue],\n paddingX: [['paddingLeft', 'paddingRight'], dimensionValue],\n paddingY: [['paddingTop', 'paddingBottom'], dimensionValue],\n overflow: ['overflow', passthroughStyle]\n};\n\nconst borderStyleProps = {\n borderWidth: 'borderStyle',\n borderLeftWidth: 'borderLeftStyle',\n borderRightWidth: 'borderRightStyle',\n borderTopWidth: 'borderTopStyle',\n borderBottomWidth: 'borderBottomStyle'\n};\n\nfunction rtl(ltr: string, rtl: string) {\n return (direction: Direction) => (\n direction === 'rtl' ? rtl : ltr\n );\n}\n\nconst UNIT_RE = /(%|px|em|rem|vw|vh|auto|cm|mm|in|pt|pc|ex|ch|rem|vmin|vmax|fr)$/;\nconst FUNC_RE = /^\\s*\\w+\\(/;\nconst SPECTRUM_VARIABLE_RE = /(static-)?size-\\d+|single-line-(height|width)/g;\n\nexport function dimensionValue(value: DimensionValue) {\n if (typeof value === 'number') {\n return value + 'px';\n }\n\n if (UNIT_RE.test(value)) {\n return value;\n }\n\n if (FUNC_RE.test(value)) {\n return value.replace(SPECTRUM_VARIABLE_RE, 'var(--spectrum-global-dimension-$&, var(--spectrum-alias-$&))');\n }\n\n return `var(--spectrum-global-dimension-${value}, var(--spectrum-alias-${value}))`;\n}\n\nexport function responsiveDimensionValue(value: Responsive<DimensionValue>, matchedBreakpoints: Breakpoint[]) {\n value = getResponsiveProp(value, matchedBreakpoints);\n return dimensionValue(value);\n}\n\ntype ColorType = 'default' | 'background' | 'border' | 'icon' | 'status';\nfunction colorValue(value: ColorValue, type: ColorType = 'default') {\n return `var(--spectrum-global-color-${value}, var(--spectrum-semantic-${value}-color-${type}))`;\n}\n\nfunction backgroundColorValue(value: BackgroundColorValue) {\n return `var(--spectrum-alias-background-color-${value}, ${colorValue(value as ColorValue, 'background')})`;\n}\n\nfunction borderColorValue(value: BorderColorValue) {\n if (value === 'default') {\n return 'var(--spectrum-alias-border-color)';\n }\n\n return `var(--spectrum-alias-border-color-${value}, ${colorValue(value as ColorValue, 'border')})`;\n}\n\nfunction borderSizeValue(value: BorderSizeValue) {\n return `var(--spectrum-alias-border-size-${value})`;\n}\n\nfunction borderRadiusValue(value: BorderRadiusValue) {\n return `var(--spectrum-alias-border-radius-${value})`;\n}\n\nfunction hiddenValue(value: boolean) {\n return value ? 'none' : undefined;\n}\n\nfunction anyValue(value: any) {\n return value;\n}\n\nfunction flexValue(value: boolean | number | string) {\n if (typeof value === 'boolean') {\n return value ? '1' : undefined;\n }\n\n return '' + value;\n}\n\nexport function convertStyleProps(props: ViewStyleProps, handlers: StyleHandlers, direction: Direction, matchedBreakpoints: Breakpoint[]) {\n let style: CSSProperties = {};\n for (let key in props) {\n let styleProp = handlers[key];\n if (!styleProp || props[key] == null) {\n continue;\n }\n\n let [name, convert] = styleProp;\n if (typeof name === 'function') {\n name = name(direction);\n }\n\n let prop = getResponsiveProp(props[key], matchedBreakpoints);\n let value = convert(prop);\n if (Array.isArray(name)) {\n for (let k of name) {\n style[k] = value;\n }\n } else {\n style[name] = value;\n }\n }\n\n for (let prop in borderStyleProps) {\n if (style[prop]) {\n style[borderStyleProps[prop]] = 'solid';\n style.boxSizing = 'border-box';\n }\n }\n\n return style;\n}\n\ntype StylePropsOptions = {\n matchedBreakpoints?: Breakpoint[]\n};\n\nexport function useStyleProps<T extends StyleProps>(\n props: T,\n handlers: StyleHandlers = baseStyleProps,\n options: StylePropsOptions = {}\n) {\n let {\n UNSAFE_className,\n UNSAFE_style,\n ...otherProps\n } = props;\n let breakpointProvider = useBreakpoint();\n let {direction} = useLocale();\n let {\n matchedBreakpoints = breakpointProvider?.matchedBreakpoints || ['base']\n } = options;\n let styles = convertStyleProps(props, handlers, direction, matchedBreakpoints);\n let style = {...UNSAFE_style, ...styles};\n\n // @ts-ignore\n if (otherProps.className) {\n console.warn(\n 'The className prop is unsafe and is unsupported in React Spectrum v3. ' +\n 'Please use style props with Spectrum variables, or UNSAFE_className if you absolutely must do something custom. ' +\n 'Note that this may break in future versions due to DOM structure changes.'\n );\n }\n\n // @ts-ignore\n if (otherProps.style) {\n console.warn(\n 'The style prop is unsafe and is unsupported in React Spectrum v3. ' +\n 'Please use style props with Spectrum variables, or UNSAFE_style if you absolutely must do something custom. ' +\n 'Note that this may break in future versions due to DOM structure changes.'\n );\n }\n\n let styleProps: HTMLAttributes<HTMLElement> = {\n style,\n className: UNSAFE_className\n };\n\n if (getResponsiveProp(props.isHidden, matchedBreakpoints)) {\n styleProps.hidden = true;\n }\n\n return {\n styleProps\n };\n}\n\nexport function passthroughStyle(value) {\n return value;\n}\n\nexport function getResponsiveProp<T>(prop: Responsive<T>, matchedBreakpoints: Breakpoint[]): T {\n if (prop && typeof prop === 'object' && !Array.isArray(prop)) {\n for (let i = 0; i < matchedBreakpoints.length; i++) {\n let breakpoint = matchedBreakpoints[i];\n if (prop[breakpoint] != null) {\n return prop[breakpoint];\n }\n }\n return (prop as ResponsiveProp<T>).base;\n }\n return prop as T;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {mergeProps} from '@react-aria/utils';\nimport React, {useContext, useMemo} from 'react';\n\ninterface SlotProps {\n slot?: string\n}\n\nlet SlotContext = React.createContext(null);\n\nexport function useSlotProps<T>(props: T & {id?: string}, defaultSlot?: string): T {\n let slot = (props as SlotProps).slot || defaultSlot;\n let {[slot]: slotProps = {}} = useContext(SlotContext) || {};\n\n return mergeProps(props, mergeProps(slotProps, {id: props.id}));\n}\n\nexport function cssModuleToSlots(cssModule) {\n return Object.keys(cssModule).reduce((acc, slot) => {\n acc[slot] = {UNSAFE_className: cssModule[slot]};\n return acc;\n }, {});\n}\n\nexport function SlotProvider(props) {\n let parentSlots = useContext(SlotContext) || {};\n let {slots = {}, children} = props;\n\n // Merge props for each slot from parent context and props\n let value = useMemo(() =>\n Object.keys(parentSlots)\n .concat(Object.keys(slots))\n .reduce((o, p) => ({\n ...o,\n [p]: mergeProps(parentSlots[p] || {}, slots[p] || {})}), {})\n , [parentSlots, slots]);\n\n return (\n <SlotContext.Provider value={value}>\n {children}\n </SlotContext.Provider>\n );\n}\n\nexport function ClearSlots(props) {\n let {children, ...otherProps} = props;\n let content = children;\n if (React.Children.toArray(children).length <= 1) {\n if (typeof children === 'function') { // need to know if the node is a string or something else that react can render that doesn't get props\n content = React.cloneElement(React.Children.only(children), otherProps);\n }\n }\n return (\n <SlotContext.Provider value={{}}>\n {content}\n </SlotContext.Provider>\n );\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {RefObject, useState} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\nexport function useHasChild(query: string, ref: RefObject<HTMLElement>) {\n let [hasChild, setHasChild] = useState(true);\n useLayoutEffect(() => {\n setHasChild(!!(ref.current && ref.current.querySelector(query)));\n }, [setHasChild, query, ref]);\n return hasChild;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {useIsSSR} from '@react-aria/ssr';\n\nconst MOBILE_SCREEN_WIDTH = 700;\n\nexport function useIsMobileDevice(): boolean {\n let isSSR = useIsSSR();\n if (isSSR || typeof window === 'undefined') {\n return false;\n }\n\n return window.screen.width <= MOBILE_SCREEN_WIDTH;\n}\n"],"names":["shouldKeepSpectrumClassNames","keepSpectrumClassNames","console","warn","classNames","cssModule","classes","values","value","mapped","key","push","_clsx","getWrappedElement","children","element","React","Children","only","useMediaQuery","query","supportsMatchMedia","window","matchMedia","matches","setMatches","useState","useEffect","mq","onChange","evt","addListener","removeListener","isSSR","useIsSSR","createDOMRef","ref","UNSAFE_getDOMNode","current","createFocusableRef","domRef","focusableRef","focus","useDOMRef","useRef","useImperativeHandle","useFocusableRef","unwrapDOMRef","useUnwrapDOMRef","useMemo","Context","createContext","displayName","BreakpointProvider","props","matchedBreakpoints","useMatchedBreakpoints","breakpoints","entries","Object","sort","valueA","valueB","breakpointQueries","map","getBreakpointHandler","matched","i","breakpoint","setBreakpoint","onResize","breakpointHandler","previousBreakpointHandler","length","some","idx","addEventListener","removeEventListener","useBreakpoint","useContext","baseStyleProps","margin","dimensionValue","marginStart","rtl","marginEnd","marginTop","marginBottom","marginX","marginY","width","height","minWidth","minHeight","maxWidth","maxHeight","isHidden","hiddenValue","alignSelf","passthroughStyle","justifySelf","position","anyValue","zIndex","top","bottom","start","end","left","right","order","flex","flexValue","flexGrow","flexShrink","flexBasis","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","viewStyleProps","backgroundColor","backgroundColorValue","borderWidth","borderSizeValue","borderStartWidth","borderEndWidth","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderXWidth","borderYWidth","borderColor","borderColorValue","borderStartColor","borderEndColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderXColor","borderYColor","borderRadius","borderRadiusValue","borderTopStartRadius","borderTopEndRadius","borderBottomStartRadius","borderBottomEndRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","padding","paddingStart","paddingEnd","paddingLeft","paddingRight","paddingTop","paddingBottom","paddingX","paddingY","overflow","borderStyleProps","ltr","direction","UNIT_RE","FUNC_RE","SPECTRUM_VARIABLE_RE","test","replace","responsiveDimensionValue","getResponsiveProp","colorValue","type","undefined","convertStyleProps","handlers","style","styleProp","name","convert","prop","Array","isArray","k","boxSizing","useStyleProps","options","UNSAFE_className","UNSAFE_style","otherProps","breakpointProvider","useLocale","styles","className","styleProps","hidden","base","SlotContext","useSlotProps","defaultSlot","slot","slotProps","mergeProps","id","cssModuleToSlots","keys","reduce","acc","SlotProvider","parentSlots","slots","concat","o","p","ClearSlots","content","toArray","cloneElement","useHasChild","hasChild","setHasChild","useLayoutEffect","querySelector","MOBILE_SCREEN_WIDTH","useIsMobileDevice","screen"],"version":3,"file":"module.js.map"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ReactElement, ReactNode, RefObject, CSSProperties, HTMLAttributes
|
|
2
|
-
import { DOMRef, DOMRefValue, FocusableRef, FocusableRefValue, DimensionValue, Direction, StyleProps, ViewStyleProps } from "@react-types/shared";
|
|
1
|
+
import { ReactElement, ReactNode, RefObject, CSSProperties, HTMLAttributes } from "react";
|
|
2
|
+
import { DOMRef, DOMRefValue, FocusableRef, FocusableRefValue, DimensionValue, Direction, Responsive, StyleProps, ViewStyleProps } from "@react-types/shared";
|
|
3
|
+
import { useValueEffect } from "@react-aria/utils";
|
|
3
4
|
export let shouldKeepSpectrumClassNames: boolean;
|
|
4
5
|
export function keepSpectrumClassNames(): void;
|
|
5
6
|
export function classNames(cssModule: {
|
|
@@ -13,6 +14,23 @@ export function useDOMRef<T extends HTMLElement = HTMLElement>(ref: DOMRef<T>):
|
|
|
13
14
|
export function useFocusableRef<T extends HTMLElement = HTMLElement>(ref: FocusableRef<T>, focusableRef?: RefObject<HTMLElement>): RefObject<T>;
|
|
14
15
|
export function unwrapDOMRef<T extends HTMLElement>(ref: RefObject<DOMRefValue<T>>): RefObject<T>;
|
|
15
16
|
export function useUnwrapDOMRef<T extends HTMLElement>(ref: RefObject<DOMRefValue<T>>): RefObject<T>;
|
|
17
|
+
interface Breakpoints {
|
|
18
|
+
S?: number;
|
|
19
|
+
M?: number;
|
|
20
|
+
L?: number;
|
|
21
|
+
[custom: string]: number | undefined;
|
|
22
|
+
}
|
|
23
|
+
interface BreakpointContext {
|
|
24
|
+
matchedBreakpoints: string[];
|
|
25
|
+
}
|
|
26
|
+
interface BreakpointProviderProps {
|
|
27
|
+
children?: ReactNode;
|
|
28
|
+
matchedBreakpoints: string[];
|
|
29
|
+
}
|
|
30
|
+
export function BreakpointProvider(props: BreakpointProviderProps): JSX.Element;
|
|
31
|
+
export function useMatchedBreakpoints(breakpoints: Breakpoints): string[];
|
|
32
|
+
export function useBreakpoint(): BreakpointContext;
|
|
33
|
+
type Breakpoint = 'base' | 'S' | 'M' | 'L' | string;
|
|
16
34
|
type StyleName = string | string[] | ((dir: Direction) => string);
|
|
17
35
|
type StyleHandler = (value: any) => string;
|
|
18
36
|
export interface StyleHandlers {
|
|
@@ -21,19 +39,25 @@ export interface StyleHandlers {
|
|
|
21
39
|
export const baseStyleProps: StyleHandlers;
|
|
22
40
|
export const viewStyleProps: StyleHandlers;
|
|
23
41
|
export function dimensionValue(value: DimensionValue): string;
|
|
24
|
-
export function
|
|
25
|
-
export function
|
|
42
|
+
export function responsiveDimensionValue(value: Responsive<DimensionValue>, matchedBreakpoints: Breakpoint[]): string;
|
|
43
|
+
export function convertStyleProps(props: ViewStyleProps, handlers: StyleHandlers, direction: Direction, matchedBreakpoints: Breakpoint[]): CSSProperties;
|
|
44
|
+
type StylePropsOptions = {
|
|
45
|
+
matchedBreakpoints?: Breakpoint[];
|
|
46
|
+
};
|
|
47
|
+
export function useStyleProps<T extends StyleProps>(props: T, handlers?: StyleHandlers, options?: StylePropsOptions): {
|
|
26
48
|
styleProps: HTMLAttributes<HTMLElement>;
|
|
27
49
|
};
|
|
28
50
|
export function passthroughStyle(value: any): any;
|
|
29
|
-
export function
|
|
51
|
+
export function getResponsiveProp<T>(prop: Responsive<T>, matchedBreakpoints: Breakpoint[]): T;
|
|
52
|
+
export function useSlotProps<T>(props: T & {
|
|
53
|
+
id?: string;
|
|
54
|
+
}, defaultSlot?: string): T;
|
|
30
55
|
export function cssModuleToSlots(cssModule: any): {};
|
|
31
56
|
export function SlotProvider(props: any): JSX.Element;
|
|
32
57
|
export function ClearSlots(props: any): JSX.Element;
|
|
33
58
|
export function useHasChild(query: string, ref: RefObject<HTMLElement>): boolean;
|
|
34
59
|
export { useResizeObserver } from '@react-aria/utils';
|
|
35
60
|
export function useIsMobileDevice(): boolean;
|
|
36
|
-
|
|
37
|
-
export function useValueEffect<S>(defaultValue: S | (() => S)): [S, Dispatch<SetValueAction>];
|
|
61
|
+
export { useValueEffect };
|
|
38
62
|
|
|
39
63
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A;A;AAcA,OAAO,IAAI,qCAAoC,CAAC;AAEhD,+CAOC;AAED,2BAA2B,SAAS,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CA8BxG;ACzCD,kCAAkC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAQ3F;ACPD,8BAA8B,KAAK,EAAE,MAAM,WA4B1C;AC5BD,6BAA6B,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAMnG;AAED,mCAAmC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,GAAE,UAAU,WAAW,CAAU,GAAG,kBAAkB,CAAC,CAAC,CASjK;AAED,0BAA0B,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAI3F;AAED,gCAAgC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,UAAU,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC,CAI9I;AAED,6BAA6B,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,UAAU,YAAY,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAMhG;AAED,gCAAgC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,UAAU,YAAY,CAAC,CAAC,CAAC,GAAI,UAAU,CAAC,CAAC,CAEpG;
|
|
1
|
+
{"mappings":"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","sources":["./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/classNames.ts","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/getWrappedElement.tsx","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/useMediaQuery.ts","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/useDOMRef.ts","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/BreakpointProvider.tsx","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/styleProps.ts","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/Slots.tsx","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/useHasChild.ts","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/useResizeObserver.ts","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/useIsMobileDevice.ts","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/useValueEffect.ts","./packages/@react-spectrum/utils/src/packages/@react-spectrum/utils/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/utils",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.3",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@babel/runtime": "^7.6.2",
|
|
23
|
-
"@react-aria/i18n": "^3.3.
|
|
24
|
-
"@react-aria/ssr": "^3.0.
|
|
25
|
-
"@react-aria/utils": "^3.
|
|
26
|
-
"@react-types/shared": "^3.
|
|
23
|
+
"@react-aria/i18n": "^3.3.3",
|
|
24
|
+
"@react-aria/ssr": "^3.0.3",
|
|
25
|
+
"@react-aria/utils": "^3.10.0",
|
|
26
|
+
"@react-types/shared": "^3.10.0",
|
|
27
27
|
"clsx": "^1.1.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "896eabe5521a0349a675c4773ed7629addd4b8c4"
|
|
36
36
|
}
|