@jobber/components 8.26.3 → 8.27.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 (55) hide show
  1. package/Select.d.ts +1 -0
  2. package/Select.js +17 -0
  3. package/dist/ComboboxChipRemove-cjs.js +2 -1
  4. package/dist/ComboboxChipRemove-es.js +2 -1
  5. package/dist/FieldDescription-cjs.js +880 -0
  6. package/dist/FieldDescription-es.js +856 -0
  7. package/dist/InputNumberExperimental-cjs.js +5 -875
  8. package/dist/InputNumberExperimental-es.js +2 -854
  9. package/dist/MenuSubmenuTrigger-es.js +1 -1
  10. package/dist/NumberFieldInput-cjs.js +2 -2
  11. package/dist/NumberFieldInput-es.js +1 -1
  12. package/dist/Select/Select.d.ts +31 -0
  13. package/dist/Select/Select.types.d.ts +145 -0
  14. package/dist/Select/SelectBottomSheet.d.ts +4 -0
  15. package/dist/Select/SelectDropdown.d.ts +4 -0
  16. package/dist/Select/index.cjs +41 -0
  17. package/dist/Select/index.d.ts +2 -0
  18. package/dist/Select/index.mjs +35 -0
  19. package/dist/Select-cjs.js +231 -0
  20. package/dist/Select-es.js +229 -0
  21. package/dist/SelectPrimitive-cjs.js +20 -3
  22. package/dist/SelectPrimitive-es.js +20 -3
  23. package/dist/docs/Dialog/Dialog.md +74 -21
  24. package/dist/docs/Select/Select.md +428 -0
  25. package/dist/docs/SelectPrimitive/SelectPrimitive.md +14 -1
  26. package/dist/docs/index.md +1 -0
  27. package/dist/floating-ui.react-dom-es.js +1 -1
  28. package/dist/floating-ui.react-es.js +1 -1
  29. package/dist/floating-ui.utils.dom-es.js +1 -1
  30. package/dist/index.cjs +9 -0
  31. package/dist/index.d.mts +1 -0
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.mjs +8 -0
  34. package/dist/primitives/ComboboxPrimitive/index.cjs +1 -0
  35. package/dist/primitives/ComboboxPrimitive/index.mjs +1 -0
  36. package/dist/primitives/HelperText/HelperText.d.ts +2 -1
  37. package/dist/primitives/InputNumberExperimental/index.cjs +3 -1
  38. package/dist/primitives/InputNumberExperimental/index.mjs +3 -1
  39. package/dist/primitives/SelectPrimitive/SelectPrimitive.d.ts +11 -0
  40. package/dist/primitives/SelectPrimitive/index.d.ts +1 -1
  41. package/dist/primitives/SelectPrimitive/types.d.ts +15 -0
  42. package/dist/primitives/index.cjs +2 -0
  43. package/dist/primitives/index.mjs +2 -0
  44. package/dist/stringifyLocale-cjs.js +13 -0
  45. package/dist/stringifyLocale-es.js +11 -0
  46. package/dist/styles.css +234 -0
  47. package/dist/unstyledPrimitives/index.cjs +1 -0
  48. package/dist/unstyledPrimitives/index.mjs +2 -1
  49. package/dist/useButton-es.js +1 -1
  50. package/dist/useCompositeListItem-es.js +1 -1
  51. package/dist/useLabel-cjs.js +0 -11
  52. package/dist/useLabel-es.js +2 -12
  53. package/dist/useScrollLock-es.js +1 -1
  54. package/dist/utils/meta/meta.json +5 -0
  55. package/package.json +7 -2
@@ -1,4 +1,5 @@
1
1
  import type React from "react";
2
+ import type { ReactNode } from "react";
2
3
  import type { Select } from "../../unstyledPrimitives";
3
4
  import type { OverlaySeparator } from "../OverlaySeparator";
4
5
  export type SelectPrimitiveRootProps = React.ComponentPropsWithoutRef<typeof Select.Root>;
@@ -14,3 +15,17 @@ export type SelectPrimitiveItemIndicatorProps = React.ComponentPropsWithoutRef<t
14
15
  export type SelectPrimitiveGroupProps = React.ComponentPropsWithoutRef<typeof Select.Group>;
15
16
  export type SelectPrimitiveGroupLabelProps = React.ComponentPropsWithoutRef<typeof Select.GroupLabel>;
16
17
  export type SelectPrimitiveSeparatorProps = React.ComponentPropsWithoutRef<typeof OverlaySeparator>;
18
+ /**
19
+ * Context-free, presentational trigger surface (field button + chevron). Render
20
+ * it via Base UI's `Select.Trigger` (or any trigger's `render` prop) so the
21
+ * field chrome can be reused outside a `Select.Root` — e.g. a bottom sheet.
22
+ */
23
+ export interface SelectPrimitiveFieldTriggerProps extends React.ComponentPropsWithRef<"button"> {
24
+ /** The value/placeholder display element rendered before the chevron. */
25
+ readonly valueSlot?: ReactNode;
26
+ }
27
+ /**
28
+ * Presentational value text (the `.value` styling) for triggers rendered
29
+ * outside a `Select.Root`, where `SelectPrimitive.Value` can't be used.
30
+ */
31
+ export type SelectPrimitiveValueTextProps = React.ComponentPropsWithRef<"span">;
@@ -32,8 +32,10 @@ require('../useLabelableId-cjs.js');
32
32
  require('../useCompositeListItem-cjs.js');
33
33
  require('../floating-ui.react-dom-cjs.js');
34
34
  require('../resolveAriaLabelledBy-cjs.js');
35
+ require('../stringifyLocale-cjs.js');
35
36
  require('../useLabel-cjs.js');
36
37
  require('../ActivityIndicator-cjs.js');
38
+ require('../FieldDescription-cjs.js');
37
39
  require('../NumberFieldInput-cjs.js');
38
40
  require('../SelectGroupLabel-cjs.js');
39
41
  require('../isElementDisabled-cjs.js');
@@ -30,8 +30,10 @@ import '../useLabelableId-es.js';
30
30
  import '../useCompositeListItem-es.js';
31
31
  import '../floating-ui.react-dom-es.js';
32
32
  import '../resolveAriaLabelledBy-es.js';
33
+ import '../stringifyLocale-es.js';
33
34
  import '../useLabel-es.js';
34
35
  import '../ActivityIndicator-es.js';
36
+ import '../FieldDescription-es.js';
35
37
  import '../NumberFieldInput-es.js';
36
38
  import '../SelectGroupLabel-es.js';
37
39
  import '../isElementDisabled-es.js';
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ function stringifyLocale(locale) {
4
+ if (Array.isArray(locale)) {
5
+ return locale.map(value => stringifyLocale(value)).join(',');
6
+ }
7
+ if (locale == null) {
8
+ return '';
9
+ }
10
+ return String(locale);
11
+ }
12
+
13
+ exports.stringifyLocale = stringifyLocale;
@@ -0,0 +1,11 @@
1
+ function stringifyLocale(locale) {
2
+ if (Array.isArray(locale)) {
3
+ return locale.map(value => stringifyLocale(value)).join(',');
4
+ }
5
+ if (locale == null) {
6
+ return '';
7
+ }
8
+ return String(locale);
9
+ }
10
+
11
+ export { stringifyLocale as s };
package/dist/styles.css CHANGED
@@ -13487,6 +13487,240 @@ input.oOrjwubmsVA- {
13487
13487
  left: calc(100% / var(--segmentedControl--option-count) * 4);
13488
13488
  }
13489
13489
 
13490
+ .cWI-uFeNWWw- {
13491
+ display: -ms-flexbox;
13492
+ display: flex;
13493
+ -ms-flex-direction: column;
13494
+ flex-direction: column;
13495
+ gap: 4px;
13496
+ gap: var(--space-smaller);
13497
+ width: 100%;
13498
+ }
13499
+
13500
+ .ddkBixixBz4- {
13501
+ display: -ms-inline-flexbox;
13502
+ display: inline-flex;
13503
+ width: auto;
13504
+ vertical-align: middle;
13505
+ }
13506
+
13507
+ ._-1-lIAkgLuo- {
13508
+ position: relative;
13509
+ width: 100%;
13510
+ }
13511
+
13512
+ .cWI-uFeNWWw-.ddkBixixBz4- ._-1-lIAkgLuo- {
13513
+ width: auto;
13514
+ }
13515
+
13516
+ .cWI-uFeNWWw- ._7rwBeCqTgRY- {
13517
+ --field--height: calc(var(--space-largest) + 2 * var(--border-base));
13518
+
13519
+ transition: border-color 200ms ease-out;
13520
+
13521
+ transition: border-color var(--timing-base) ease-out;
13522
+ }
13523
+
13524
+ .cWI-uFeNWWw-.ddkBixixBz4- ._7rwBeCqTgRY- {
13525
+ width: auto;
13526
+ }
13527
+
13528
+ /* ------ Size variants ------ */
13529
+
13530
+ .cWI-uFeNWWw-._5QeBX5VxX6o- ._7rwBeCqTgRY- {
13531
+ --field--height: calc(var(--space-larger) + var(--space-smaller));
13532
+ --field--padding-x: var(--space-slim);
13533
+ }
13534
+
13535
+ .cWI-uFeNWWw-.Pp5nj1nxejw- ._7rwBeCqTgRY- {
13536
+ --field--height: var(--space-extravagant);
13537
+ --field--padding-x: var(--space-large);
13538
+ }
13539
+
13540
+ /* ------ Floating label ------ */
13541
+
13542
+ .M1IjAW17-OE- {
13543
+ position: absolute;
13544
+ top: calc(2px + 1px);
13545
+ top: calc(var(--space-smallest) + var(--border-base));
13546
+ left: 0;
13547
+ z-index: 1;
13548
+ width: 100%;
13549
+ box-sizing: border-box;
13550
+ padding: 0 calc(16px + 1px);
13551
+ padding: 0 calc(var(--space-base) + var(--border-base));
13552
+ overflow: hidden;
13553
+ color: hsl(197, 21%, 36%);
13554
+ color: var(--color-text--secondary);
13555
+ font-size: 12px;
13556
+ font-size: var(--typography--fontSize-small);
13557
+ line-height: calc(16px * 1.25);
13558
+ line-height: calc(var(--base-unit) * 1.25);
13559
+ text-align: left;
13560
+ text-overflow: ellipsis;
13561
+ white-space: nowrap;
13562
+ pointer-events: none;
13563
+
13564
+ transition: top 100ms ease-out,
13565
+ font-size 100ms ease-out,
13566
+ -webkit-transform 100ms ease-out;
13567
+
13568
+ transition: top var(--timing-quick) ease-out,
13569
+ font-size var(--timing-quick) ease-out,
13570
+ -webkit-transform var(--timing-quick) ease-out;
13571
+
13572
+ transition: top 100ms ease-out,
13573
+ font-size 100ms ease-out,
13574
+ transform 100ms ease-out;
13575
+
13576
+ transition: top var(--timing-quick) ease-out,
13577
+ font-size var(--timing-quick) ease-out,
13578
+ transform var(--timing-quick) ease-out;
13579
+
13580
+ transition: top 100ms ease-out,
13581
+ font-size 100ms ease-out,
13582
+ transform 100ms ease-out,
13583
+ -webkit-transform 100ms ease-out;
13584
+
13585
+ transition: top var(--timing-quick) ease-out,
13586
+ font-size var(--timing-quick) ease-out,
13587
+ transform var(--timing-quick) ease-out,
13588
+ -webkit-transform var(--timing-quick) ease-out;
13589
+ }
13590
+
13591
+ .cWI-uFeNWWw-.Pp5nj1nxejw- .M1IjAW17-OE- {
13592
+ padding: 0 calc(24px + 1px);
13593
+ padding: 0 calc(var(--space-large) + var(--border-base));
13594
+ }
13595
+
13596
+ ._-1-lIAkgLuo-:has(._7rwBeCqTgRY-[data-placeholder]) .M1IjAW17-OE- {
13597
+ top: 50%;
13598
+ font-size: 14px;
13599
+ font-size: var(--typography--fontSize-base);
13600
+ -webkit-transform: translateY(-50%);
13601
+ transform: translateY(-50%);
13602
+ }
13603
+
13604
+ .M1IjAW17-OE-[data-disabled] {
13605
+ color: hsl(0, 0%, 58%);
13606
+ color: var(--color-disabled);
13607
+ }
13608
+
13609
+ .cWI-uFeNWWw-._1rx-nSAJT0U-:not(._5QeBX5VxX6o-) ._7rwBeCqTgRY- {
13610
+ padding-top: calc(16px + 4px);
13611
+ padding-top: calc(var(--space-base) + var(--space-smaller));
13612
+ padding-bottom: 8px;
13613
+ padding-bottom: var(--space-small);
13614
+ }
13615
+
13616
+ .cWI-uFeNWWw-._1rx-nSAJT0U-.Pp5nj1nxejw- ._7rwBeCqTgRY- {
13617
+ padding-top: calc(24px + 4px);
13618
+ padding-top: calc(var(--space-large) + var(--space-smaller));
13619
+ }
13620
+
13621
+ .cWI-uFeNWWw-._5QeBX5VxX6o-._1rx-nSAJT0U- .M1IjAW17-OE- {
13622
+ display: none;
13623
+ }
13624
+
13625
+ /* ------ Mobile bottom sheet ------ */
13626
+
13627
+ .AVkCcDISAio- {
13628
+ --sheet-item-gap: var(--space-small);
13629
+ --sheet-item-min-height: calc(var(--base-unit) * 3);
13630
+ --sheet-item-padding-y: var(--space-small);
13631
+ --sheet-item-padding-x: var(--space-small);
13632
+
13633
+ display: -ms-flexbox;
13634
+
13635
+ display: flex;
13636
+ -ms-flex-direction: column;
13637
+ flex-direction: column;
13638
+ padding: 16px;
13639
+ padding: var(--space-base);
13640
+ outline: none;
13641
+ }
13642
+
13643
+ ._35H33txs5QU- {
13644
+ display: -ms-flexbox;
13645
+ display: flex;
13646
+ -ms-flex-align: center;
13647
+ align-items: center;
13648
+ gap: var(--sheet-item-gap);
13649
+ min-height: var(--sheet-item-min-height);
13650
+ box-sizing: border-box;
13651
+ padding: var(--sheet-item-padding-y) var(--sheet-item-padding-x);
13652
+ border-radius: 8px;
13653
+ border-radius: var(--radius-base);
13654
+ outline: none;
13655
+ color: hsl(197, 90%, 12%);
13656
+ color: var(--color-heading);
13657
+ font-size: 14px;
13658
+ font-size: var(--typography--fontSize-base);
13659
+ cursor: pointer;
13660
+ }
13661
+
13662
+ ._35H33txs5QU-:focus-visible,
13663
+ ._35H33txs5QU-:hover {
13664
+ background-color: hsl(43, 18%, 92%);
13665
+ background-color: var(--color-surface--hover);
13666
+ }
13667
+
13668
+ .uL9j4OZn-3c- {
13669
+ -ms-flex: 1;
13670
+ flex: 1;
13671
+ min-width: 0;
13672
+ overflow: hidden;
13673
+ text-overflow: ellipsis;
13674
+ white-space: nowrap;
13675
+ }
13676
+
13677
+ ._7NHtDHZnkG8- {
13678
+ display: -ms-inline-flexbox;
13679
+ display: inline-flex;
13680
+ -ms-flex-negative: 0;
13681
+ flex-shrink: 0;
13682
+ -ms-flex-align: center;
13683
+ align-items: center;
13684
+ }
13685
+
13686
+ .UQ1tsDd1NFs- {
13687
+ display: -ms-flexbox;
13688
+ display: flex;
13689
+ -ms-flex-direction: column;
13690
+ flex-direction: column;
13691
+ }
13692
+
13693
+ .UQ1tsDd1NFs-:not(:last-child) {
13694
+ padding-bottom: 8px;
13695
+ padding-bottom: var(--space-small);
13696
+ border-bottom: 1px solid hsl(200, 13%, 87%);
13697
+ border-bottom: var(--border-base) solid var(--color-border);
13698
+ }
13699
+
13700
+ .UQ1tsDd1NFs-:not(:first-child) {
13701
+ margin-top: 8px;
13702
+ margin-top: var(--space-small);
13703
+ }
13704
+
13705
+ ._0kBfkWoRI5c- {
13706
+ padding: var(--sheet-item-padding-y) var(--sheet-item-padding-x)
13707
+ 4px;
13708
+ padding: var(--sheet-item-padding-y) var(--sheet-item-padding-x)
13709
+ var(--space-smaller);
13710
+ color: hsl(197, 21%, 36%);
13711
+ color: var(--color-text--secondary);
13712
+ font-size: 14px;
13713
+ font-size: var(--typography--fontSize-base);
13714
+ }
13715
+
13716
+ .RPsN9vqlzRw- {
13717
+ margin: 8px 0;
13718
+ margin: var(--space-small) 0;
13719
+ border: none;
13720
+ border-bottom: 1px solid hsl(200, 13%, 87%);
13721
+ border-bottom: var(--border-base) solid var(--color-border);
13722
+ }
13723
+
13490
13724
  .cCwRgRAz4qk- {
13491
13725
  --sideDrawer--base-padding: var(--space-base);
13492
13726
  --sideDrawer--background: var(--color-surface);
@@ -22,6 +22,7 @@ var NumberFieldInput = require('../NumberFieldInput-cjs.js');
22
22
  var useLabelableId = require('../useLabelableId-cjs.js');
23
23
  var useLabel = require('../useLabel-cjs.js');
24
24
  var scrollEdges = require('../scrollEdges-cjs.js');
25
+ require('../stringifyLocale-cjs.js');
25
26
  require('../isElementDisabled-cjs.js');
26
27
  require('../floating-ui.react-dom-cjs.js');
27
28
 
@@ -8,7 +8,7 @@ import { a as DialogBackdrop, d as DialogDescription, f as DialogHandle, c as Di
8
8
  import { c as DialogClose, b as DialogTitle, a as DrawerClose, D as DrawerTitle } from '../DrawerTitle-es.js';
9
9
  import { i as DialogPortal, g as DialogRoot, h as DialogTrigger, m as useDrawerProviderContext, n as DrawerBackdropCssVars, o as DrawerPopupCssVars, q as DrawerProviderContext, u as useDialogRootContext, r as useDrawerRootContext, s as DrawerPopupDataAttributes, t as useDrawerSnapPoints, v as getSnapPointSwipeMovement, w as DrawerViewportContext, x as DRAWER_CONTENT_ATTRIBUTE, c as DrawerBackdrop, f as DrawerContent, d as DrawerPopup, b as DrawerPortal, a as DrawerRoot, D as DrawerTrigger, y as useScrollAreaRootContext, z as getOffset, A as ScrollAreaRootCssVars, B as scrollAreaStateAttributesMapping, C as useScrollAreaViewportContext, S as ScrollAreaRoot, e as ScrollAreaViewport } from '../ScrollAreaViewport-es.js';
10
10
  import { u as useRenderElement, m as mergeProps, f as formatErrorMessage, N as NOOP, E as EMPTY_OBJECT } from '../useRenderElement-es.js';
11
- import { a as isHTMLElement, d as isLastTraversableNode, e as getParentNode, f as getComputedStyle, o as getWindow, b as isElement } from '../floating-ui.utils.dom-es.js';
11
+ import { i as isHTMLElement, d as isLastTraversableNode, e as getParentNode, f as getComputedStyle, o as getWindow, b as isElement } from '../floating-ui.utils.dom-es.js';
12
12
  import { c as clamp } from '../clamp-es.js';
13
13
  import { C as CommonPopupDataAttributes, aj as useTriggerRegistration, am as BASE_UI_SWIPE_IGNORE_SELECTOR, a0 as isInteractiveElement, p as popupStateMapping, r as useDirection, G as inertValue, X as mergeCleanups, al as gecko, J as webkit, w as useStore, W as triggerOpenStateMapping } from '../useScrollLock-es.js';
14
14
  import * as ReactDOM from 'react-dom';
@@ -20,6 +20,7 @@ import { u as useNumberFieldRootContext, s as stateAttributesMapping$6, d as Num
20
20
  import { b as useFieldRootContext, f as fieldValidityMapping } from '../useLabelableId-es.js';
21
21
  import { u as useLabel } from '../useLabel-es.js';
22
22
  import { g as getMaxScrollOffset, n as normalizeScrollOffset, S as SCROLL_EDGE_TOLERANCE_PX } from '../scrollEdges-es.js';
23
+ import '../stringifyLocale-es.js';
23
24
  import '../isElementDisabled-es.js';
24
25
  import '../floating-ui.react-dom-es.js';
25
26
 
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { a as useRefWithInit, E as EMPTY_OBJECT, f as formatErrorMessage, m as mergeProps, d as makeEventPreventable } from './useRenderElement-es.js';
3
- import { i as isShadowRoot, a as isHTMLElement } from './floating-ui.utils.dom-es.js';
3
+ import { a as isShadowRoot, i as isHTMLElement } from './floating-ui.utils.dom-es.js';
4
4
  import * as ReactDOM from 'react-dom';
5
5
 
6
6
  let set;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { l as useId, a as useIsoLayoutEffect, m as useValueAsRef, b as useStableCallback, n as useAnimationFrame, p as activeElement, o as ownerDocument, q as contains, s as stopEvent, d as createChangeEventDetails, r as listNavigation, g as getTarget, v as focusOut, w as isVirtualClick, x as isVirtualPointerEvent, h as useTimeout, y as jsdom } from './useButton-es.js';
3
- import { b as isElement, a as isHTMLElement, o as getWindow } from './floating-ui.utils.dom-es.js';
3
+ import { b as isElement, i as isHTMLElement, o as getWindow } from './floating-ui.utils.dom-es.js';
4
4
  import { u as useFloatingParentNodeId, b as FloatingRootStore, P as PopupTriggerMap, d as useFloatingTree, g as getFloatingFocusElement, i as isTypeableCombobox, e as isIndexOutOfListBounds, f as getMinListIndex, h as getMaxListIndex, j as findNonDisabledListIndex, k as enqueueFocus, A as ARROW_UP, l as ARROW_DOWN, m as ARROW_LEFT, n as ARROW_RIGHT, o as isListIndexDisabled, q as isElementVisible, r as useDirection, D as DISABLED_TRANSITIONS_STYLE, p as popupStateMapping, s as useScrollLock } from './useScrollLock-es.js';
5
5
  import { a as useRefWithInit, b as EMPTY_ARRAY, E as EMPTY_OBJECT, u as useRenderElement } from './useRenderElement-es.js';
6
6
  import { jsx } from 'react/jsx-runtime';
@@ -4,16 +4,6 @@ var floatingUi_utils_dom = require('./floating-ui.utils.dom-cjs.js');
4
4
  var useButton = require('./useButton-cjs.js');
5
5
  var useLabelableId = require('./useLabelableId-cjs.js');
6
6
 
7
- function stringifyLocale(locale) {
8
- if (Array.isArray(locale)) {
9
- return locale.map(value => stringifyLocale(value)).join(',');
10
- }
11
- if (locale == null) {
12
- return '';
13
- }
14
- return String(locale);
15
- }
16
-
17
7
  function useRegisteredLabelId(idProp, setLabelId) {
18
8
  const id = useButton.useBaseUiId(idProp);
19
9
  useButton.useIsoLayoutEffect(() => {
@@ -91,5 +81,4 @@ function focusElementWithVisible(element) {
91
81
  });
92
82
  }
93
83
 
94
- exports.stringifyLocale = stringifyLocale;
95
84
  exports.useLabel = useLabel;
@@ -1,17 +1,7 @@
1
- import { a as isHTMLElement } from './floating-ui.utils.dom-es.js';
1
+ import { i as isHTMLElement } from './floating-ui.utils.dom-es.js';
2
2
  import { u as useBaseUiId, a as useIsoLayoutEffect, b as useStableCallback, g as getTarget, o as ownerDocument } from './useButton-es.js';
3
3
  import { u as useLabelableContext } from './useLabelableId-es.js';
4
4
 
5
- function stringifyLocale(locale) {
6
- if (Array.isArray(locale)) {
7
- return locale.map(value => stringifyLocale(value)).join(',');
8
- }
9
- if (locale == null) {
10
- return '';
11
- }
12
- return String(locale);
13
- }
14
-
15
5
  function useRegisteredLabelId(idProp, setLabelId) {
16
6
  const id = useBaseUiId(idProp);
17
7
  useIsoLayoutEffect(() => {
@@ -89,4 +79,4 @@ function focusElementWithVisible(element) {
89
79
  });
90
80
  }
91
81
 
92
- export { stringifyLocale as s, useLabel as u };
82
+ export { useLabel as u };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import React__default from 'react';
3
- import { a as isHTMLElement, b as isElement, f as getComputedStyle, g as getNodeName, i as isShadowRoot, c as isNode, o as getWindow, d as isLastTraversableNode, e as getParentNode, m as isOverflowElement } from './floating-ui.utils.dom-es.js';
3
+ import { i as isHTMLElement, b as isElement, f as getComputedStyle, g as getNodeName, a as isShadowRoot, c as isNode, o as getWindow, d as isLastTraversableNode, e as getParentNode, m as isOverflowElement } from './floating-ui.utils.dom-es.js';
4
4
  import { a as useIsoLayoutEffect, b as useStableCallback, a8 as lowerUserAgent, a9 as apple, q as contains, y as jsdom, E as visuallyHidden, s as stopEvent, o as ownerDocument, p as activeElement, B as addEventListener, d as createChangeEventDetails, v as focusOut, l as useId, m as useValueAsRef, h as useTimeout, n as useAnimationFrame, aa as resolveRef, a1 as triggerHover, Q as outsidePress, w as isVirtualClick, x as isVirtualPointerEvent, g as getTarget, Y as isMouseLikePointerType, $ as triggerPress, ab as isReactEvent, a0 as escapeKey, T as Timeout, ac as isClickLikeEvent, C as none, k as useTransitionStatus, f as useOpenChangeComplete, A as ios, O as useValueChanged, ad as TransitionStatusDataAttributes, ae as AnimationFrame } from './useButton-es.js';
5
5
  import { f as formatErrorMessage, a as useRefWithInit, i as isReactVersionAtLeast, N as NOOP, u as useRenderElement, E as EMPTY_OBJECT, c as useMergedRefs } from './useRenderElement-es.js';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -213,6 +213,11 @@
213
213
  "SegmentedControlContext.Consumer",
214
214
  "SegmentedControlContext.Provider",
215
215
  "SegmentedControlProvider",
216
+ "Select",
217
+ "Select.Group",
218
+ "Select.GroupLabel",
219
+ "Select.Item",
220
+ "Select.Separator",
216
221
  "SideDrawer",
217
222
  "SideDrawer.Actions",
218
223
  "SideDrawer.BackButton",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "8.26.3",
3
+ "version": "8.27.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -355,6 +355,11 @@
355
355
  "import": "./dist/SegmentedControl/index.mjs",
356
356
  "require": "./dist/SegmentedControl/index.cjs"
357
357
  },
358
+ "./Select": {
359
+ "types": "./dist/Select/index.d.ts",
360
+ "import": "./dist/Select/index.mjs",
361
+ "require": "./dist/Select/index.cjs"
362
+ },
358
363
  "./SideKick": {
359
364
  "types": "./dist/SideKick/index.d.ts",
360
365
  "import": "./dist/SideKick/index.mjs",
@@ -540,5 +545,5 @@
540
545
  "> 1%",
541
546
  "IE 10"
542
547
  ],
543
- "gitHead": "37b9c3bc407715b1dc2190912665cfc41e8cc335"
548
+ "gitHead": "6199d3b8603d38be96d8446ee6569814eb59a8e7"
544
549
  }