@jobber/components 8.14.1 → 8.16.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.
- package/dist/Autocomplete-es.js +1 -1
- package/dist/BottomSheet-cjs.js +109 -77
- package/dist/BottomSheet-es.js +103 -75
- package/dist/Card/index.cjs +2 -3
- package/dist/Card/index.mjs +2 -3
- package/dist/DataDump/index.cjs +2 -3
- package/dist/DataDump/index.mjs +2 -3
- package/dist/InputNumberExperimental-cjs.js +16 -17
- package/dist/InputNumberExperimental-es.js +2 -3
- package/dist/Menu/index.cjs +2 -3
- package/dist/Menu/index.mjs +2 -3
- package/dist/Menu-cjs.js +11 -56
- package/dist/Menu-es.js +4 -49
- package/dist/MenuSubmenuTrigger-cjs.js +1608 -1793
- package/dist/MenuSubmenuTrigger-es.js +1340 -1522
- package/dist/Modal/index.mjs +1 -1
- package/dist/NumberFieldInput-cjs.js +53 -54
- package/dist/NumberFieldInput-es.js +2 -3
- package/dist/Page/index.cjs +2 -3
- package/dist/Page/index.mjs +2 -3
- package/dist/{DrawerRoot-cjs.js → ScrollAreaViewport-cjs.js} +5488 -4449
- package/dist/{DrawerRoot-es.js → ScrollAreaViewport-es.js} +5423 -4393
- package/dist/{useValueChanged-cjs.js → clamp-cjs.js} +573 -321
- package/dist/{useValueChanged-es.js → clamp-es.js} +569 -322
- package/dist/floating-ui.react-es.js +1 -1
- package/dist/index.cjs +2 -3
- package/dist/index.mjs +2 -3
- package/dist/primitives/BottomSheet/BottomSheet.d.ts +15 -16
- package/dist/primitives/BottomSheet/BottomSheet.types.d.ts +27 -0
- package/dist/primitives/BottomSheet/BottomSheet.utils.d.ts +6 -0
- package/dist/primitives/BottomSheet/index.cjs +8 -3
- package/dist/primitives/BottomSheet/index.d.ts +1 -0
- package/dist/primitives/BottomSheet/index.mjs +8 -3
- package/dist/primitives/InputNumberExperimental/index.cjs +2 -3
- package/dist/primitives/InputNumberExperimental/index.mjs +2 -3
- package/dist/primitives/index.cjs +8 -9
- package/dist/primitives/index.mjs +8 -9
- package/dist/styles.css +62 -1
- package/dist/unstyledPrimitives/index.cjs +6373 -5868
- package/dist/unstyledPrimitives/index.d.ts +2 -0
- package/dist/unstyledPrimitives/index.mjs +6325 -5822
- package/dist/useRenderElement-cjs.js +30 -30
- package/dist/useRenderElement-es.js +31 -31
- package/package.json +2 -2
- package/dist/useBaseUiId-cjs.js +0 -275
- package/dist/useBaseUiId-es.js +0 -251
package/dist/Menu/index.mjs
CHANGED
|
@@ -19,9 +19,8 @@ import '../useFormFieldFocus-es.js';
|
|
|
19
19
|
import '../maxHeight-es.js';
|
|
20
20
|
import '../useRenderElement-es.js';
|
|
21
21
|
import '../BottomSheet-es.js';
|
|
22
|
-
import '../
|
|
23
|
-
import '../
|
|
22
|
+
import '../ScrollAreaViewport-es.js';
|
|
23
|
+
import '../clamp-es.js';
|
|
24
24
|
import '../OverlaySeparator-es.js';
|
|
25
25
|
import '../Separator-es.js';
|
|
26
26
|
import '../MenuSubmenuTrigger-es.js';
|
|
27
|
-
import '../useBaseUiId-es.js';
|
package/dist/Menu-cjs.js
CHANGED
|
@@ -12,9 +12,9 @@ var useFormFieldFocus = require('./useFormFieldFocus-cjs.js');
|
|
|
12
12
|
var maxHeight = require('./maxHeight-cjs.js');
|
|
13
13
|
var floatingUi_reactDom = require('./floating-ui.react-dom-cjs.js');
|
|
14
14
|
var useRenderElement = require('./useRenderElement-cjs.js');
|
|
15
|
-
var tslib_es6 = require('./tslib.es6-cjs.js');
|
|
16
15
|
var BottomSheet = require('./BottomSheet-cjs.js');
|
|
17
16
|
var OverlaySeparator = require('./OverlaySeparator-cjs.js');
|
|
17
|
+
var ScrollAreaViewport = require('./ScrollAreaViewport-cjs.js');
|
|
18
18
|
var MenuSubmenuTrigger$1 = require('./MenuSubmenuTrigger-cjs.js');
|
|
19
19
|
|
|
20
20
|
var styles$2 = {"wrapper":"h-nk89U2n6Q-","floatingContainer":"krpkWzoaVcc-","menu":"_7sU7mp1w0jM-","legacySection":"_4x-vvEmn4gM-","separator":"i0QNcs4S-wk-","triggerWrapper":"_7CsejipGrzM-","ariaMenu":"bO7lGVQC42c-","ariaItem":"u6fDgbWmPck-","ariaSection":"-TSNrZBKZJI-","ariaSectionHeader":"zs7dS2pKjEw-","sectionHeader":"MZJgunQcmdQ-","legacyAction":"_-1GOlrzd098-","action":"NYXV5w4pd0c-","destructive":"baYK2zQ6-GA-","overlay":"A7T14ALVEKg-","fullWidth":"Lgbn9IRPI5Y-","screenReaderOnly":"o-ps580KdWI-","spinning":"f1oTdSTeUOM-"};
|
|
@@ -212,51 +212,6 @@ function mergeUnsafeProps(props) {
|
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
function assignRef(ref, instance) {
|
|
216
|
-
if (!ref) {
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
if (typeof ref === "function") {
|
|
220
|
-
ref(instance);
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
|
-
ref.current = instance;
|
|
224
|
-
}
|
|
225
|
-
function mergeRefs(...refs) {
|
|
226
|
-
return (instance) => {
|
|
227
|
-
refs.forEach(ref => {
|
|
228
|
-
assignRef(ref, instance);
|
|
229
|
-
});
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
function getElementRef(element) {
|
|
233
|
-
return element.ref;
|
|
234
|
-
}
|
|
235
|
-
function normalizeBaseUiButtonProps(props) {
|
|
236
|
-
const rest = tslib_es6.__rest(props, ["type"]);
|
|
237
|
-
return rest;
|
|
238
|
-
}
|
|
239
|
-
function isAtlantisButtonRenderTarget(element) {
|
|
240
|
-
return React.isValidElement(element) && element.type === Button.Button;
|
|
241
|
-
}
|
|
242
|
-
function renderAtlantisButtonTarget(element) {
|
|
243
|
-
return function renderButtonTarget(props) {
|
|
244
|
-
const mergedProps = useRenderElement.mergeProps(normalizeBaseUiButtonProps(props), element.props);
|
|
245
|
-
return (React.createElement(Button.Button, Object.assign({}, mergedProps, { ref: mergeRefs(props.ref, getElementRef(element)), key: element.key })));
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
function stripNativeTypeFromButtonRenderTarget(element) {
|
|
249
|
-
const nativeType = element.props.type;
|
|
250
|
-
if (nativeType !== "button" &&
|
|
251
|
-
nativeType !== "submit" &&
|
|
252
|
-
nativeType !== "reset") {
|
|
253
|
-
return element;
|
|
254
|
-
}
|
|
255
|
-
return React.cloneElement(element, {
|
|
256
|
-
type: undefined,
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
|
|
260
215
|
// New composable menu pieces prefer standard DOM props, but we still accept the
|
|
261
216
|
// old UNSAFE_* names during the migration window. Base UI's merge semantics let
|
|
262
217
|
// either API path continue to work while standard props still win on conflicts.
|
|
@@ -282,23 +237,23 @@ function resolveMenuTriggerRender({ children, render, }) {
|
|
|
282
237
|
if (render) {
|
|
283
238
|
if (typeof render === "function") {
|
|
284
239
|
return (props) => {
|
|
285
|
-
const renderedElement = render(normalizeBaseUiButtonProps(props));
|
|
286
|
-
return isAtlantisButtonRenderTarget(renderedElement)
|
|
287
|
-
? stripNativeTypeFromButtonRenderTarget(renderedElement)
|
|
240
|
+
const renderedElement = render(BottomSheet.normalizeBaseUiButtonProps(props));
|
|
241
|
+
return BottomSheet.isAtlantisButtonRenderTarget(renderedElement)
|
|
242
|
+
? BottomSheet.stripNativeTypeFromButtonRenderTarget(renderedElement)
|
|
288
243
|
: renderedElement;
|
|
289
244
|
};
|
|
290
245
|
}
|
|
291
|
-
return isAtlantisButtonRenderTarget(render)
|
|
292
|
-
? renderAtlantisButtonTarget(render)
|
|
246
|
+
return BottomSheet.isAtlantisButtonRenderTarget(render)
|
|
247
|
+
? BottomSheet.renderAtlantisButtonTarget(render)
|
|
293
248
|
: render;
|
|
294
249
|
}
|
|
295
|
-
if (isAtlantisButtonRenderTarget(children)) {
|
|
296
|
-
return renderAtlantisButtonTarget(children);
|
|
250
|
+
if (BottomSheet.isAtlantisButtonRenderTarget(children)) {
|
|
251
|
+
return BottomSheet.renderAtlantisButtonTarget(children);
|
|
297
252
|
}
|
|
298
253
|
if (React.isValidElement(children)) {
|
|
299
254
|
return children;
|
|
300
255
|
}
|
|
301
|
-
return renderAtlantisButtonTarget(React.createElement(Button.Button, { type: "secondary" },
|
|
256
|
+
return BottomSheet.renderAtlantisButtonTarget(React.createElement(Button.Button, { type: "secondary" },
|
|
302
257
|
React.createElement(Button.Button.Label, null, children)));
|
|
303
258
|
}
|
|
304
259
|
const MenuItemContext = React.createContext(null);
|
|
@@ -529,7 +484,7 @@ const BottomSheetTrigger = React.forwardRef(function BottomSheetTrigger({ ariaLa
|
|
|
529
484
|
UNSAFE_className,
|
|
530
485
|
UNSAFE_style,
|
|
531
486
|
});
|
|
532
|
-
return (React.createElement(
|
|
487
|
+
return (React.createElement(ScrollAreaViewport.DrawerTrigger, { "aria-label": ariaLabel, className: classnames(styles.triggerWrapper, resolvedBaseProps.className), style: resolvedBaseProps.style, render: resolveMenuTriggerRender({ children, render }), ref: ref }));
|
|
533
488
|
});
|
|
534
489
|
function BottomSheetContent({ children, style, className, UNSAFE_style, UNSAFE_className, }) {
|
|
535
490
|
const { focusModalityRef, submenuOpen } = useBottomSheetContext();
|
|
@@ -675,7 +630,7 @@ const BottomSheetSubmenuTrigger = React.forwardRef(function BottomSheetSubmenuTr
|
|
|
675
630
|
// header can read it the moment it mounts. Prefer the explicit textValue
|
|
676
631
|
// used for type-to-select, and fall back to the rendered text content.
|
|
677
632
|
titleRef.current = textValue !== null && textValue !== void 0 ? textValue : getTextContent(children).trim();
|
|
678
|
-
return (React.createElement(
|
|
633
|
+
return (React.createElement(ScrollAreaViewport.DrawerTrigger, Object.assign({ ref: ref, role: "menuitem", "aria-haspopup": "menu", "data-highlighted": isHighlighted ? "" : undefined, className: classnames(styles.action, styles.composableItem, {
|
|
679
634
|
[styles.composableItemNoLeadingSlot]: !hasLeadingContent,
|
|
680
635
|
}, resolvedBaseProps.className), style: resolvedBaseProps.style, nativeButton: true }, interactionProps, { render: React.createElement("button", { type: "button" }) }),
|
|
681
636
|
children,
|
package/dist/Menu-es.js
CHANGED
|
@@ -2,7 +2,7 @@ import React__default, { useState, useRef, useId, useMemo } from 'react';
|
|
|
2
2
|
import { useWindowDimensions, useRefocusOnActivator } from '@jobber/hooks';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { AnimatePresence, motion } from 'framer-motion';
|
|
5
|
-
import { u as useFloating, c as useDismiss,
|
|
5
|
+
import { u as useFloating, c as useDismiss, g as useListNavigation, d as useInteractions, F as FloatingPortal } from './floating-ui.react-es.js';
|
|
6
6
|
import { B as Button } from './Button-es.js';
|
|
7
7
|
import { T as Typography } from './Typography-es.js';
|
|
8
8
|
import { I as Icon } from './Icon-es.js';
|
|
@@ -10,10 +10,10 @@ import { f as formFieldFocusAttribute } from './useFormFieldFocus-es.js';
|
|
|
10
10
|
import { c as calculateMaxHeight } from './maxHeight-es.js';
|
|
11
11
|
import { o as offset, f as flip, d as size, b as autoUpdate } from './floating-ui.react-dom-es.js';
|
|
12
12
|
import { m as mergeProps } from './useRenderElement-es.js';
|
|
13
|
-
import {
|
|
14
|
-
import { B as BottomSheet } from './BottomSheet-es.js';
|
|
13
|
+
import { n as normalizeBaseUiButtonProps, i as isAtlantisButtonRenderTarget, s as stripNativeTypeFromButtonRenderTarget, r as renderAtlantisButtonTarget, B as BottomSheet } from './BottomSheet-es.js';
|
|
15
14
|
import { O as OverlaySeparator } from './OverlaySeparator-es.js';
|
|
16
|
-
import { D as DrawerTrigger
|
|
15
|
+
import { D as DrawerTrigger } from './ScrollAreaViewport-es.js';
|
|
16
|
+
import { D as DrawerTitle, a as DrawerClose, M as MenuTrigger$1, b as MenuLinkItem, c as MenuItem$1, d as MenuRadioItem$1, e as MenuRadioItemIndicator, f as MenuSubmenuTrigger$1, g as MenuRoot, h as MenuPortal$1, i as MenuPositioner, j as MenuPopup, k as MenuRadioGroup$1, l as MenuGroup$1, m as MenuSubmenuRoot, n as MenuGroupLabel$1 } from './MenuSubmenuTrigger-es.js';
|
|
17
17
|
|
|
18
18
|
var styles$2 = {"wrapper":"h-nk89U2n6Q-","floatingContainer":"krpkWzoaVcc-","menu":"_7sU7mp1w0jM-","legacySection":"_4x-vvEmn4gM-","separator":"i0QNcs4S-wk-","triggerWrapper":"_7CsejipGrzM-","ariaMenu":"bO7lGVQC42c-","ariaItem":"u6fDgbWmPck-","ariaSection":"-TSNrZBKZJI-","ariaSectionHeader":"zs7dS2pKjEw-","sectionHeader":"MZJgunQcmdQ-","legacyAction":"_-1GOlrzd098-","action":"NYXV5w4pd0c-","destructive":"baYK2zQ6-GA-","overlay":"A7T14ALVEKg-","fullWidth":"Lgbn9IRPI5Y-","screenReaderOnly":"o-ps580KdWI-","spinning":"f1oTdSTeUOM-"};
|
|
19
19
|
|
|
@@ -210,51 +210,6 @@ function mergeUnsafeProps(props) {
|
|
|
210
210
|
});
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
function assignRef(ref, instance) {
|
|
214
|
-
if (!ref) {
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
if (typeof ref === "function") {
|
|
218
|
-
ref(instance);
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
ref.current = instance;
|
|
222
|
-
}
|
|
223
|
-
function mergeRefs(...refs) {
|
|
224
|
-
return (instance) => {
|
|
225
|
-
refs.forEach(ref => {
|
|
226
|
-
assignRef(ref, instance);
|
|
227
|
-
});
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
function getElementRef(element) {
|
|
231
|
-
return element.ref;
|
|
232
|
-
}
|
|
233
|
-
function normalizeBaseUiButtonProps(props) {
|
|
234
|
-
const rest = __rest(props, ["type"]);
|
|
235
|
-
return rest;
|
|
236
|
-
}
|
|
237
|
-
function isAtlantisButtonRenderTarget(element) {
|
|
238
|
-
return React__default.isValidElement(element) && element.type === Button;
|
|
239
|
-
}
|
|
240
|
-
function renderAtlantisButtonTarget(element) {
|
|
241
|
-
return function renderButtonTarget(props) {
|
|
242
|
-
const mergedProps = mergeProps(normalizeBaseUiButtonProps(props), element.props);
|
|
243
|
-
return (React__default.createElement(Button, Object.assign({}, mergedProps, { ref: mergeRefs(props.ref, getElementRef(element)), key: element.key })));
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
function stripNativeTypeFromButtonRenderTarget(element) {
|
|
247
|
-
const nativeType = element.props.type;
|
|
248
|
-
if (nativeType !== "button" &&
|
|
249
|
-
nativeType !== "submit" &&
|
|
250
|
-
nativeType !== "reset") {
|
|
251
|
-
return element;
|
|
252
|
-
}
|
|
253
|
-
return React__default.cloneElement(element, {
|
|
254
|
-
type: undefined,
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
|
|
258
213
|
// New composable menu pieces prefer standard DOM props, but we still accept the
|
|
259
214
|
// old UNSAFE_* names during the migration window. Base UI's merge semantics let
|
|
260
215
|
// either API path continue to work while standard props still win on conflicts.
|