@jobber/components 8.21.1 → 8.22.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 (58) hide show
  1. package/Dialog.d.ts +1 -0
  2. package/Dialog.js +17 -0
  3. package/dist/BottomSheet-cjs.js +34 -7
  4. package/dist/BottomSheet-es.js +34 -8
  5. package/dist/Card/index.cjs +1 -0
  6. package/dist/Card/index.mjs +1 -0
  7. package/dist/ComboboxChipRemove-es.js +3 -3
  8. package/dist/DataDump/index.cjs +1 -0
  9. package/dist/DataDump/index.mjs +1 -0
  10. package/dist/Dialog/Dialog.d.ts +3 -0
  11. package/dist/Dialog/Dialog.types.d.ts +205 -0
  12. package/dist/Dialog/DialogBottomSheet.d.ts +28 -0
  13. package/dist/Dialog/DialogModal.d.ts +20 -0
  14. package/dist/Dialog/constants.d.ts +1 -0
  15. package/dist/Dialog/dialogComposableShared.d.ts +53 -0
  16. package/dist/Dialog/dialogReturnFocus.d.ts +43 -0
  17. package/dist/Dialog/index.cjs +32 -0
  18. package/dist/Dialog/index.d.ts +4 -0
  19. package/dist/Dialog/index.mjs +24 -0
  20. package/dist/DrawerDescription-cjs.js +409 -0
  21. package/dist/DrawerDescription-es.js +382 -0
  22. package/dist/DrawerTitle-cjs.js +116 -0
  23. package/dist/DrawerTitle-es.js +92 -0
  24. package/dist/InputNumberExperimental-es.js +1 -1
  25. package/dist/InternalBackdrop-es.js +2 -2
  26. package/dist/Menu/index.cjs +1 -0
  27. package/dist/Menu/index.mjs +1 -0
  28. package/dist/Menu-cjs.js +5 -3
  29. package/dist/Menu-es.js +5 -3
  30. package/dist/MenuSubmenuTrigger-cjs.js +49 -91
  31. package/dist/MenuSubmenuTrigger-es.js +51 -91
  32. package/dist/NumberFieldInput-es.js +1 -1
  33. package/dist/Page/index.cjs +1 -0
  34. package/dist/Page/index.mjs +1 -0
  35. package/dist/ScrollAreaViewport-cjs.js +938 -935
  36. package/dist/ScrollAreaViewport-es.js +938 -938
  37. package/dist/dialogReturnFocus-cjs.js +427 -0
  38. package/dist/dialogReturnFocus-es.js +423 -0
  39. package/dist/index.cjs +13 -7
  40. package/dist/index.d.mts +1 -0
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.mjs +10 -7
  43. package/dist/primitives/BottomSheet/BottomSheet.d.ts +19 -1
  44. package/dist/primitives/BottomSheet/BottomSheet.types.d.ts +8 -0
  45. package/dist/primitives/BottomSheet/index.cjs +1 -0
  46. package/dist/primitives/BottomSheet/index.d.ts +1 -1
  47. package/dist/primitives/BottomSheet/index.mjs +1 -1
  48. package/dist/primitives/index.cjs +1 -0
  49. package/dist/primitives/index.mjs +1 -1
  50. package/dist/styles.css +360 -0
  51. package/dist/unstyledPrimitives/index.cjs +32 -249
  52. package/dist/unstyledPrimitives/index.d.ts +1 -0
  53. package/dist/unstyledPrimitives/index.mjs +30 -248
  54. package/dist/useButton-es.js +1 -1
  55. package/dist/useCompositeListItem-es.js +2 -2
  56. package/dist/useLabel-es.js +1 -1
  57. package/dist/utils/meta/meta.json +11 -1
  58. package/package.json +2 -2
@@ -5,13 +5,15 @@ var useButton = require('../useButton-cjs.js');
5
5
  var ComboboxChipRemove = require('../ComboboxChipRemove-cjs.js');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var Separator = require('../Separator-cjs.js');
8
+ var DrawerDescription = require('../DrawerDescription-cjs.js');
9
+ var DrawerTitle = require('../DrawerTitle-cjs.js');
8
10
  var ScrollAreaViewport = require('../ScrollAreaViewport-cjs.js');
9
- var MenuSubmenuTrigger = require('../MenuSubmenuTrigger-cjs.js');
10
11
  var useRenderElement = require('../useRenderElement-cjs.js');
11
12
  var floatingUi_utils_dom = require('../floating-ui.utils.dom-cjs.js');
12
13
  var clamp = require('../clamp-cjs.js');
13
14
  var InternalBackdrop = require('../InternalBackdrop-cjs.js');
14
15
  var ReactDOM = require('react-dom');
16
+ var MenuSubmenuTrigger = require('../MenuSubmenuTrigger-cjs.js');
15
17
  var useCompositeListItem = require('../useCompositeListItem-cjs.js');
16
18
  var index_esm = require('../index.esm-cjs.js');
17
19
  var NumberFieldInput = require('../NumberFieldInput-cjs.js');
@@ -147,7 +149,7 @@ function AutocompleteValue(props) {
147
149
  });
148
150
  }
149
151
 
150
- var index_parts$5 = /*#__PURE__*/Object.freeze({
152
+ var index_parts$6 = /*#__PURE__*/Object.freeze({
151
153
  __proto__: null,
152
154
  Arrow: ComboboxChipRemove.ComboboxArrow,
153
155
  Backdrop: ComboboxChipRemove.ComboboxBackdrop,
@@ -174,42 +176,22 @@ var index_parts$5 = /*#__PURE__*/Object.freeze({
174
176
  useFilteredItems: ComboboxChipRemove.useFilteredItems
175
177
  });
176
178
 
177
- /**
178
- * A paragraph with additional information about the dialog.
179
- * Renders a `<p>` element.
180
- *
181
- * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)
182
- */
183
- const DialogDescription = /*#__PURE__*/React__namespace.forwardRef(function DialogDescription(componentProps, forwardedRef) {
184
- const {
185
- render,
186
- className,
187
- id: idProp,
188
- ...elementProps
189
- } = componentProps;
190
- const {
191
- store
192
- } = ScrollAreaViewport.useDialogRootContext();
193
- const id = useButton.useBaseUiId(idProp);
194
- store.useSyncedValueWithCleanup('descriptionElementId', id);
195
- return useRenderElement.useRenderElement('p', componentProps, {
196
- ref: forwardedRef,
197
- props: [{
198
- id
199
- }, elementProps]
200
- });
179
+ var index_parts$5 = /*#__PURE__*/Object.freeze({
180
+ __proto__: null,
181
+ Backdrop: DrawerDescription.DialogBackdrop,
182
+ Close: DrawerTitle.DialogClose,
183
+ Description: DrawerDescription.DialogDescription,
184
+ Handle: DrawerDescription.DialogHandle,
185
+ Popup: DrawerDescription.DialogPopup,
186
+ Portal: ScrollAreaViewport.DialogPortal,
187
+ Root: ScrollAreaViewport.DialogRoot,
188
+ Title: DrawerTitle.DialogTitle,
189
+ Trigger: ScrollAreaViewport.DialogTrigger,
190
+ Viewport: DrawerDescription.DialogViewport,
191
+ createHandle: DrawerDescription.createDialogHandle
201
192
  });
202
- if (process.env.NODE_ENV !== "production") DialogDescription.displayName = "DialogDescription";
203
-
204
- /**
205
- * A paragraph with additional information about the drawer.
206
- * Renders a `<p>` element.
207
- *
208
- * Documentation: [Base UI Drawer](https://base-ui.com/react/components/drawer)
209
- */
210
- const DrawerDescription = DialogDescription;
211
193
 
212
- const stateAttributesMapping$5 = {
194
+ const stateAttributesMapping$3 = {
213
195
  active(value) {
214
196
  if (value) {
215
197
  return {
@@ -279,12 +261,12 @@ const DrawerIndent = /*#__PURE__*/React__namespace.forwardRef(function DrawerInd
279
261
  [ScrollAreaViewport.DrawerBackdropCssVars.swipeProgress]: '0'
280
262
  }
281
263
  }, elementProps],
282
- stateAttributesMapping: stateAttributesMapping$5
264
+ stateAttributesMapping: stateAttributesMapping$3
283
265
  });
284
266
  });
285
267
  if (process.env.NODE_ENV !== "production") DrawerIndent.displayName = "DrawerIndent";
286
268
 
287
- const stateAttributesMapping$4 = {
269
+ const stateAttributesMapping$2 = {
288
270
  active(value) {
289
271
  if (value) {
290
272
  return {
@@ -318,7 +300,7 @@ const DrawerIndentBackground = /*#__PURE__*/React__namespace.forwardRef(function
318
300
  ref: forwardedRef,
319
301
  state,
320
302
  props: elementProps,
321
- stateAttributesMapping: stateAttributesMapping$4
303
+ stateAttributesMapping: stateAttributesMapping$2
322
304
  });
323
305
  });
324
306
  if (process.env.NODE_ENV !== "production") DrawerIndentBackground.displayName = "DrawerIndentBackground";
@@ -406,160 +388,6 @@ function createVisualStateStore() {
406
388
  };
407
389
  }
408
390
 
409
- let DialogViewportDataAttributes = function (DialogViewportDataAttributes) {
410
- /**
411
- * Present when the dialog is open.
412
- */
413
- DialogViewportDataAttributes[DialogViewportDataAttributes["open"] = InternalBackdrop.CommonPopupDataAttributes.open] = "open";
414
- /**
415
- * Present when the dialog is closed.
416
- */
417
- DialogViewportDataAttributes[DialogViewportDataAttributes["closed"] = InternalBackdrop.CommonPopupDataAttributes.closed] = "closed";
418
- /**
419
- * Present when the dialog is animating in.
420
- */
421
- DialogViewportDataAttributes[DialogViewportDataAttributes["startingStyle"] = InternalBackdrop.CommonPopupDataAttributes.startingStyle] = "startingStyle";
422
- /**
423
- * Present when the dialog is animating out.
424
- */
425
- DialogViewportDataAttributes[DialogViewportDataAttributes["endingStyle"] = InternalBackdrop.CommonPopupDataAttributes.endingStyle] = "endingStyle";
426
- /**
427
- * Present when the dialog is nested within another dialog.
428
- */
429
- DialogViewportDataAttributes["nested"] = "data-nested";
430
- /**
431
- * Present when the dialog has other open dialogs nested within it.
432
- */
433
- DialogViewportDataAttributes["nestedDialogOpen"] = "data-nested-dialog-open";
434
- return DialogViewportDataAttributes;
435
- }({});
436
-
437
- const stateAttributesMapping$3 = {
438
- ...InternalBackdrop.popupStateMapping,
439
- ...useButton.transitionStatusMapping,
440
- nested(value) {
441
- return value ? {
442
- [DialogViewportDataAttributes.nested]: ''
443
- } : null;
444
- },
445
- nestedDialogOpen(value) {
446
- return value ? {
447
- [DialogViewportDataAttributes.nestedDialogOpen]: ''
448
- } : null;
449
- }
450
- };
451
-
452
- /**
453
- * A positioning container for the dialog popup that can be made scrollable.
454
- * Renders a `<div>` element.
455
- *
456
- * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)
457
- */
458
- const DialogViewport = /*#__PURE__*/React__namespace.forwardRef(function DialogViewport(componentProps, forwardedRef) {
459
- const {
460
- className,
461
- render,
462
- children,
463
- ...elementProps
464
- } = componentProps;
465
- const keepMounted = ScrollAreaViewport.useDialogPortalContext();
466
- const {
467
- store
468
- } = ScrollAreaViewport.useDialogRootContext();
469
- const open = store.useState('open');
470
- const nested = store.useState('nested');
471
- const transitionStatus = store.useState('transitionStatus');
472
- const nestedOpenDialogCount = store.useState('nestedOpenDialogCount');
473
- const mounted = store.useState('mounted');
474
- const nestedDialogOpen = nestedOpenDialogCount > 0;
475
- const state = {
476
- open,
477
- nested,
478
- transitionStatus,
479
- nestedDialogOpen
480
- };
481
- const shouldRender = keepMounted || mounted;
482
- return useRenderElement.useRenderElement('div', componentProps, {
483
- enabled: shouldRender,
484
- state,
485
- ref: [forwardedRef, store.useStateSetter('viewportElement')],
486
- stateAttributesMapping: stateAttributesMapping$3,
487
- props: [{
488
- role: 'presentation',
489
- hidden: !mounted,
490
- style: {
491
- pointerEvents: !open ? 'none' : undefined
492
- },
493
- children
494
- }, elementProps]
495
- });
496
- });
497
- if (process.env.NODE_ENV !== "production") DialogViewport.displayName = "DialogViewport";
498
-
499
- /**
500
- * A handle to control a Dialog imperatively and to associate detached triggers with it.
501
- */
502
- class DialogHandle {
503
- /**
504
- * Internal store holding the dialog state.
505
- * @internal
506
- */
507
-
508
- constructor(store) {
509
- this.store = store ?? new ScrollAreaViewport.DialogStore();
510
- }
511
-
512
- /**
513
- * Opens the dialog and associates it with the trigger with the given id.
514
- * The trigger, if provided, must be a Dialog.Trigger component with this handle passed as a prop.
515
- *
516
- * This method should only be called in an event handler or an effect (not during rendering).
517
- *
518
- * @param triggerId ID of the trigger to associate with the dialog. If null, the dialog will open without a trigger association.
519
- */
520
- open(triggerId) {
521
- const triggerElement = triggerId ? this.store.context.triggerElements.getById(triggerId) : undefined;
522
- if (process.env.NODE_ENV !== 'production') {
523
- if (triggerId && !triggerElement) {
524
- console.warn(`Base UI: DialogHandle.open: No trigger found with id "${triggerId}". The dialog will open, but the trigger will not be associated with the dialog.`);
525
- }
526
- }
527
- this.store.setOpen(true, useButton.createChangeEventDetails(useButton.imperativeAction, undefined, triggerElement));
528
- }
529
-
530
- /**
531
- * Opens the dialog and sets the payload.
532
- * Does not associate the dialog with any trigger.
533
- *
534
- * @param payload Payload to set when opening the dialog.
535
- */
536
- openWithPayload(payload) {
537
- this.store.set('payload', payload);
538
- this.store.setOpen(true, useButton.createChangeEventDetails(useButton.imperativeAction, undefined, undefined));
539
- }
540
-
541
- /**
542
- * Closes the dialog.
543
- */
544
- close() {
545
- this.store.setOpen(false, useButton.createChangeEventDetails(useButton.imperativeAction, undefined, undefined));
546
- }
547
-
548
- /**
549
- * Indicates whether the dialog is currently open.
550
- */
551
- get isOpen() {
552
- return this.store.state.open;
553
- }
554
- }
555
-
556
- /**
557
- * Creates a new handle to connect a Dialog.Root with detached Dialog.Trigger components.
558
- */
559
- function createDialogHandle() {
560
- return new DialogHandle();
561
- }
562
-
563
391
  function isScrollable(element, axis) {
564
392
  const style = floatingUi_utils_dom.getComputedStyle(element);
565
393
  if (axis === 'vertical') {
@@ -1572,7 +1400,7 @@ const SWIPE_AREA_SWIPING_HOOK = {
1572
1400
  const SWIPE_AREA_DISABLED_HOOK = {
1573
1401
  [DrawerSwipeAreaDataAttributes.disabled]: ''
1574
1402
  };
1575
- const stateAttributesMapping$2 = {
1403
+ const stateAttributesMapping$1 = {
1576
1404
  open(value) {
1577
1405
  return value ? SWIPE_AREA_OPEN_HOOK : SWIPE_AREA_CLOSED_HOOK;
1578
1406
  },
@@ -1877,7 +1705,7 @@ const DrawerSwipeArea = /*#__PURE__*/React__namespace.forwardRef(function Drawer
1877
1705
  return useRenderElement.useRenderElement('div', componentProps, {
1878
1706
  state,
1879
1707
  ref: [forwardedRef, swipeAreaRef, registerTrigger],
1880
- stateAttributesMapping: stateAttributesMapping$2,
1708
+ stateAttributesMapping: stateAttributesMapping$1,
1881
1709
  props: [{
1882
1710
  role: 'presentation',
1883
1711
  'aria-hidden': true,
@@ -2593,7 +2421,7 @@ const DrawerViewport = /*#__PURE__*/React__namespace.forwardRef(function DrawerV
2593
2421
  lastPointerTypeRef.current = '';
2594
2422
  ignoreNextTouchStartFromPenRef.current = false;
2595
2423
  }
2596
- return /*#__PURE__*/jsxRuntime.jsx(DialogViewport, {
2424
+ return /*#__PURE__*/jsxRuntime.jsx(DrawerDescription.DialogViewport, {
2597
2425
  ref: forwardedRef,
2598
2426
  className: className,
2599
2427
  render: render,
@@ -2884,10 +2712,10 @@ function shouldDismissFromStartEdge(direction, axis) {
2884
2712
  var index_parts$4 = /*#__PURE__*/Object.freeze({
2885
2713
  __proto__: null,
2886
2714
  Backdrop: ScrollAreaViewport.DrawerBackdrop,
2887
- Close: MenuSubmenuTrigger.DrawerClose,
2715
+ Close: DrawerTitle.DrawerClose,
2888
2716
  Content: ScrollAreaViewport.DrawerContent,
2889
- Description: DrawerDescription,
2890
- Handle: DialogHandle,
2717
+ Description: DrawerDescription.DrawerDescription,
2718
+ Handle: DrawerDescription.DialogHandle,
2891
2719
  Indent: DrawerIndent,
2892
2720
  IndentBackground: DrawerIndentBackground,
2893
2721
  Popup: ScrollAreaViewport.DrawerPopup,
@@ -2895,10 +2723,10 @@ var index_parts$4 = /*#__PURE__*/Object.freeze({
2895
2723
  Provider: DrawerProvider,
2896
2724
  Root: ScrollAreaViewport.DrawerRoot,
2897
2725
  SwipeArea: DrawerSwipeArea,
2898
- Title: MenuSubmenuTrigger.DrawerTitle,
2726
+ Title: DrawerTitle.DrawerTitle,
2899
2727
  Trigger: ScrollAreaViewport.DrawerTrigger,
2900
2728
  Viewport: DrawerViewport,
2901
- createHandle: createDialogHandle
2729
+ createHandle: DrawerDescription.createDialogHandle
2902
2730
  });
2903
2731
 
2904
2732
  /**
@@ -2943,52 +2771,6 @@ const MenuArrow = /*#__PURE__*/React__namespace.forwardRef(function MenuArrow(co
2943
2771
  });
2944
2772
  if (process.env.NODE_ENV !== "production") MenuArrow.displayName = "MenuArrow";
2945
2773
 
2946
- const stateAttributesMapping$1 = {
2947
- ...InternalBackdrop.popupStateMapping,
2948
- ...useButton.transitionStatusMapping
2949
- };
2950
-
2951
- /**
2952
- * An overlay displayed beneath the menu popup.
2953
- * Renders a `<div>` element.
2954
- *
2955
- * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)
2956
- */
2957
- const MenuBackdrop = /*#__PURE__*/React__namespace.forwardRef(function MenuBackdrop(componentProps, forwardedRef) {
2958
- const {
2959
- className,
2960
- render,
2961
- ...elementProps
2962
- } = componentProps;
2963
- const {
2964
- store
2965
- } = MenuSubmenuTrigger.useMenuRootContext();
2966
- const open = store.useState('open');
2967
- const mounted = store.useState('mounted');
2968
- const transitionStatus = store.useState('transitionStatus');
2969
- const lastOpenChangeReason = store.useState('lastOpenChangeReason');
2970
- const contextMenuContext = MenuSubmenuTrigger.useContextMenuRootContext();
2971
- const state = {
2972
- open,
2973
- transitionStatus
2974
- };
2975
- return useRenderElement.useRenderElement('div', componentProps, {
2976
- ref: contextMenuContext?.backdropRef ? [forwardedRef, contextMenuContext.backdropRef] : forwardedRef,
2977
- state,
2978
- stateAttributesMapping: stateAttributesMapping$1,
2979
- props: [{
2980
- role: 'presentation',
2981
- hidden: !mounted,
2982
- style: {
2983
- pointerEvents: lastOpenChangeReason === useButton.triggerHover ? 'none' : undefined,
2984
- userSelect: 'none',
2985
- WebkitUserSelect: 'none'
2986
- }
2987
- }, elementProps]
2988
- });
2989
- });
2990
- if (process.env.NODE_ENV !== "production") MenuBackdrop.displayName = "MenuBackdrop";
2991
-
2992
2774
  const MenuCheckboxItemContext = /*#__PURE__*/React__namespace.createContext(undefined);
2993
2775
  if (process.env.NODE_ENV !== "production") MenuCheckboxItemContext.displayName = "MenuCheckboxItemContext";
2994
2776
  function useMenuCheckboxItemContext() {
@@ -3696,7 +3478,7 @@ function createMenuHandle() {
3696
3478
  var index_parts$3 = /*#__PURE__*/Object.freeze({
3697
3479
  __proto__: null,
3698
3480
  Arrow: MenuArrow,
3699
- Backdrop: MenuBackdrop,
3481
+ Backdrop: MenuSubmenuTrigger.MenuBackdrop,
3700
3482
  CheckboxItem: MenuCheckboxItem,
3701
3483
  CheckboxItemIndicator: MenuCheckboxItemIndicator,
3702
3484
  Group: MenuSubmenuTrigger.MenuGroup,
@@ -4495,8 +4277,9 @@ function useRender(params) {
4495
4277
  }
4496
4278
 
4497
4279
  exports.Separator = Separator.Separator;
4498
- exports.Autocomplete = index_parts$5;
4280
+ exports.Autocomplete = index_parts$6;
4499
4281
  exports.Combobox = index_parts$1;
4282
+ exports.Dialog = index_parts$5;
4500
4283
  exports.Drawer = index_parts$4;
4501
4284
  exports.Menu = index_parts$3;
4502
4285
  exports.NumberField = index_parts;
@@ -11,6 +11,7 @@
11
11
  * BaseUI docs: https://base-ui.com/react/components
12
12
  */
13
13
  export { Autocomplete } from "@base-ui/react/autocomplete";
14
+ export { Dialog } from "@base-ui/react/dialog";
14
15
  export { Drawer } from "@base-ui/react/drawer";
15
16
  export { Menu } from "@base-ui/react/menu";
16
17
  export { ScrollArea } from "@base-ui/react/scroll-area";