@jobber/components 8.20.1 → 8.21.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 (84) hide show
  1. package/LegacySelect.d.ts +1 -0
  2. package/{Select.js → LegacySelect.js} +3 -3
  3. package/dist/BottomSheet-cjs.js +9 -58
  4. package/dist/BottomSheet-es.js +2 -47
  5. package/dist/Card/index.cjs +4 -0
  6. package/dist/Card/index.mjs +4 -0
  7. package/dist/ComboboxChipRemove-cjs.js +3418 -0
  8. package/dist/ComboboxChipRemove-es.js +3366 -0
  9. package/dist/ComboboxPrimitive-cjs.js +170 -0
  10. package/dist/ComboboxPrimitive-es.js +168 -0
  11. package/dist/DataDump/index.cjs +4 -0
  12. package/dist/DataDump/index.mjs +4 -0
  13. package/dist/DataTable/index.cjs +1 -1
  14. package/dist/DataTable/index.mjs +1 -1
  15. package/dist/DataTable-cjs.js +3 -3
  16. package/dist/DataTable-es.js +2 -2
  17. package/dist/InputNumberExperimental-cjs.js +45 -44
  18. package/dist/InputNumberExperimental-es.js +3 -2
  19. package/dist/InternalBackdrop-cjs.js +4278 -0
  20. package/dist/InternalBackdrop-es.js +4204 -0
  21. package/dist/LegacySelect/LegacySelect.d.ts +7 -0
  22. package/dist/{Select/Select.types.d.ts → LegacySelect/LegacySelect.types.d.ts} +1 -1
  23. package/dist/{Select → LegacySelect}/index.cjs +3 -3
  24. package/dist/LegacySelect/index.d.ts +3 -0
  25. package/dist/{Select → LegacySelect}/index.mjs +1 -1
  26. package/dist/{Select-cjs.js → LegacySelect-cjs.js} +5 -5
  27. package/dist/{Select-es.js → LegacySelect-es.js} +5 -5
  28. package/dist/Menu/index.cjs +4 -0
  29. package/dist/Menu/index.mjs +4 -0
  30. package/dist/Menu-cjs.js +9 -8
  31. package/dist/Menu-es.js +2 -1
  32. package/dist/MenuSubmenuTrigger-cjs.js +208 -1969
  33. package/dist/MenuSubmenuTrigger-es.js +7 -1759
  34. package/dist/NumberFieldInput-cjs.js +56 -439
  35. package/dist/NumberFieldInput-es.js +6 -376
  36. package/dist/Page/index.cjs +4 -0
  37. package/dist/Page/index.mjs +4 -0
  38. package/dist/ScrollAreaViewport-cjs.js +108 -4356
  39. package/dist/ScrollAreaViewport-es.js +6 -4201
  40. package/dist/buttonRenderAdapter-cjs.js +56 -0
  41. package/dist/buttonRenderAdapter-es.js +51 -0
  42. package/dist/clamp-cjs.js +0 -1194
  43. package/dist/clamp-es.js +1 -1091
  44. package/dist/docs/Autocomplete/Autocomplete.md +1 -1
  45. package/dist/docs/Chip/Chip.md +2 -2
  46. package/dist/docs/{Select/Select.md → LegacySelect/LegacySelect.md} +67 -62
  47. package/dist/docs/Menu/Menu.md +1 -1
  48. package/dist/docs/MultiSelect/MultiSelect.md +1 -1
  49. package/dist/docs/Tabs/Tabs.md +2 -1
  50. package/dist/docs/empty-states/empty-states.md +29 -0
  51. package/dist/docs/index.md +1 -1
  52. package/dist/index.cjs +7 -3
  53. package/dist/index.d.mts +1 -1
  54. package/dist/index.d.ts +1 -1
  55. package/dist/index.mjs +5 -1
  56. package/dist/primitives/BottomSheet/index.cjs +5 -2
  57. package/dist/primitives/BottomSheet/index.mjs +5 -2
  58. package/dist/primitives/ComboboxPrimitive/ComboboxPrimitive.d.ts +32 -0
  59. package/dist/primitives/ComboboxPrimitive/ComboboxPrimitive.types.d.ts +30 -0
  60. package/dist/primitives/ComboboxPrimitive/index.cjs +28 -0
  61. package/dist/primitives/ComboboxPrimitive/index.d.ts +2 -0
  62. package/dist/primitives/ComboboxPrimitive/index.mjs +22 -0
  63. package/dist/primitives/InputNumberExperimental/index.cjs +4 -2
  64. package/dist/primitives/InputNumberExperimental/index.mjs +4 -2
  65. package/dist/primitives/index.cjs +11 -2
  66. package/dist/primitives/index.d.ts +1 -0
  67. package/dist/primitives/index.mjs +10 -2
  68. package/dist/styles.css +793 -26
  69. package/dist/unstyledPrimitives/index.cjs +237 -3588
  70. package/dist/unstyledPrimitives/index.mjs +96 -3447
  71. package/dist/useButton-cjs.js +1196 -0
  72. package/dist/useButton-es.js +1091 -0
  73. package/dist/useCompositeListItem-cjs.js +1792 -0
  74. package/dist/useCompositeListItem-es.js +1762 -0
  75. package/dist/useLabel-cjs.js +411 -0
  76. package/dist/useLabel-es.js +378 -0
  77. package/dist/utils/meta/meta.json +3 -3
  78. package/package.json +7 -7
  79. package/Select.d.ts +0 -1
  80. package/dist/Select/Select.d.ts +0 -7
  81. package/dist/Select/index.d.ts +0 -3
  82. /package/dist/{Select → LegacySelect}/Option.d.ts +0 -0
  83. /package/dist/{Select → LegacySelect}/OptionGroup.d.ts +0 -0
  84. /package/dist/{Select → LegacySelect}/hooks/useSelectActions.d.ts +0 -0
@@ -455,7 +455,7 @@ different from the rest.
455
455
  ## Related components
456
456
 
457
457
  * If you want to present a list of predefined options without text input, or the
458
- number of options is smaller, use a [Select](../Select/Select.md)
458
+ number of options is smaller, use a [LegacySelect](../LegacySelect/LegacySelect.md)
459
459
  * If autocompleted results are not required for the text input, use
460
460
  [InputText](../InputText/InputText.md)
461
461
  * If a text input appearance is not required, and options can only be from a
@@ -238,8 +238,8 @@ export function ChipInvalidExample(
238
238
  single-select, multi-select, and add/dismiss functionality "out of the box"
239
239
  * [FilterPicker](../FilterPicker/FilterPicker.md) is most commonly triggered by a Chip,
240
240
  but is a separate component
241
- * [Select](../Select/Select.md) is a simpler single-select "dropdown" that
242
- presents as a form element and should be preferred in forms
241
+ * [LegacySelect](../LegacySelect/LegacySelect.md) is a simpler single-select "dropdown"
242
+ that presents as a form element and should be preferred in forms
243
243
  * [RadioGroup](../RadioGroup/RadioGroup.md) should be used to allow the user to
244
244
  select "one-of-many" items (single-select) and the labels for the items are
245
245
  longer than 1 or 2 words.
@@ -1,17 +1,21 @@
1
- # Select
1
+ # LegacySelect
2
2
 
3
- A Select is used to present a defined list of options to choose from.
3
+ > **WARNING:** This component was previously named `Select`. It has been renamed to
4
+ > `LegacySelect` to make room for a new `Select` implementation.
5
+
6
+ A LegacySelect is used to present a defined list of options to choose from.
4
7
 
5
8
  ## Design & usage guidelines
6
9
 
7
- Nested within the Select component, Option defines the options that can be
8
- selected. For grouping options with section headers, use Select.OptionGroup.
10
+ Nested within the LegacySelect component, Option defines the options that can be
11
+ selected. For grouping options with section headers, use
12
+ LegacySelect.OptionGroup.
9
13
 
10
14
  #### Custom grouped menu and browser support
11
15
 
12
16
  To enable the enhanced grouped menu styling (bold section headers, edge‑to‑edge
13
17
  dividers and hover backgrounds), set the `UNSAFE_experimentalStyles` prop on
14
- `Select`.
18
+ `LegacySelect`.
15
19
 
16
20
  * When `UNSAFE_experimentalStyles` is true and the browser supports
17
21
  `appearance: base-select` (Chromium 123+), the select renders with the
@@ -26,16 +30,16 @@ dividers and hover backgrounds), set the `UNSAFE_experimentalStyles` prop on
26
30
 
27
31
  ```tsx
28
32
  import React, { useState } from "react";
29
- import { Option, Select } from "@jobber/components/Select";
33
+ import { LegacySelect, Option } from "@jobber/components/LegacySelect";
30
34
 
31
- export function SelectInvalidExample() {
35
+ export function LegacySelectInvalidExample() {
32
36
  const [value, setValue] = useState<string | number | undefined>("");
33
37
 
34
38
  return (
35
- <Select invalid={true} value={value} onChange={setValue}>
39
+ <LegacySelect invalid={true} value={value} onChange={setValue}>
36
40
  <Option value="sad">Tony</Option>
37
41
  <Option value="old">Steve</Option>
38
- </Select>
42
+ </LegacySelect>
39
43
  );
40
44
  }
41
45
  ```
@@ -44,58 +48,58 @@ export function SelectInvalidExample() {
44
48
 
45
49
  ```tsx
46
50
  import React, { useState } from "react";
47
- import { Option, Select } from "@jobber/components/Select";
51
+ import { LegacySelect, Option } from "@jobber/components/LegacySelect";
48
52
 
49
- export function SelectDisabledExample() {
53
+ export function LegacySelectDisabledExample() {
50
54
  const [value, setValue] = useState<string | number | undefined>("");
51
55
 
52
56
  return (
53
- <Select disabled={true} value={value} onChange={setValue}>
57
+ <LegacySelect disabled={true} value={value} onChange={setValue}>
54
58
  <Option value="sad">Tony</Option>
55
59
  <Option value="old">Steve</Option>
56
- </Select>
60
+ </LegacySelect>
57
61
  );
58
62
  }
59
63
  ```
60
64
 
61
65
  ## Option Grouping
62
66
 
63
- Use `Select.OptionGroup` to organize options with section headers for better
64
- user experience and visual hierarchy. The `label` prop is required as it
67
+ Use `LegacySelect.OptionGroup` to organize options with section headers for
68
+ better user experience and visual hierarchy. The `label` prop is required as it
65
69
  provides the section header text.
66
70
 
67
71
  ### Basic Option Groups
68
72
 
69
73
  ```tsx
70
74
  import React, { useState } from "react";
71
- import { Select } from "@jobber/components/Select";
75
+ import { LegacySelect } from "@jobber/components/LegacySelect";
72
76
 
73
- export function SelectCustomOptionGroupsExample() {
77
+ export function LegacySelectCustomOptionGroupsExample() {
74
78
  const [value, setValue] = useState<string | number | undefined>("");
75
79
 
76
80
  return (
77
- <Select
81
+ <LegacySelect
78
82
  placeholder="Select an option"
79
83
  UNSAFE_experimentalStyles={true}
80
84
  value={value}
81
85
  onChange={setValue}
82
86
  >
83
- <Select.OptionGroup label="Team A">
84
- <Select.Option value="alice">Alice</Select.Option>
85
- <Select.Option value="bob">Bob</Select.Option>
86
- <Select.Option value="charlie">Charlie</Select.Option>
87
- </Select.OptionGroup>
88
- <Select.OptionGroup label="Team B">
89
- <Select.Option value="diana">Diana</Select.Option>
90
- <Select.Option value="evan">Evan</Select.Option>
91
- <Select.Option value="frank">Frank</Select.Option>
92
- </Select.OptionGroup>
93
- <Select.OptionGroup label="Team C">
94
- <Select.Option value="grace">Grace</Select.Option>
95
- <Select.Option value="hector">Hector</Select.Option>
96
- <Select.Option value="isabel">Isabel</Select.Option>
97
- </Select.OptionGroup>
98
- </Select>
87
+ <LegacySelect.OptionGroup label="Team A">
88
+ <LegacySelect.Option value="alice">Alice</LegacySelect.Option>
89
+ <LegacySelect.Option value="bob">Bob</LegacySelect.Option>
90
+ <LegacySelect.Option value="charlie">Charlie</LegacySelect.Option>
91
+ </LegacySelect.OptionGroup>
92
+ <LegacySelect.OptionGroup label="Team B">
93
+ <LegacySelect.Option value="diana">Diana</LegacySelect.Option>
94
+ <LegacySelect.Option value="evan">Evan</LegacySelect.Option>
95
+ <LegacySelect.Option value="frank">Frank</LegacySelect.Option>
96
+ </LegacySelect.OptionGroup>
97
+ <LegacySelect.OptionGroup label="Team C">
98
+ <LegacySelect.Option value="grace">Grace</LegacySelect.Option>
99
+ <LegacySelect.Option value="hector">Hector</LegacySelect.Option>
100
+ <LegacySelect.Option value="isabel">Isabel</LegacySelect.Option>
101
+ </LegacySelect.OptionGroup>
102
+ </LegacySelect>
99
103
  );
100
104
  }
101
105
  ```
@@ -104,31 +108,31 @@ export function SelectCustomOptionGroupsExample() {
104
108
 
105
109
  ```tsx
106
110
  import React, { useState } from "react";
107
- import { Select } from "@jobber/components/Select";
111
+ import { LegacySelect } from "@jobber/components/LegacySelect";
108
112
 
109
- export function SelectCustomOptionGroupDisabledExample() {
113
+ export function LegacySelectCustomOptionGroupDisabledExample() {
110
114
  const [value, setValue] = useState<string | number | undefined>("");
111
115
 
112
116
  return (
113
- <Select
117
+ <LegacySelect
114
118
  UNSAFE_experimentalStyles
115
119
  placeholder="Select an option"
116
120
  value={value}
117
121
  onChange={setValue}
118
122
  >
119
- <Select.OptionGroup label="Available Items">
120
- <Select.Option value="option1">Option 1</Select.Option>
121
- <Select.Option value="option2">Option 2</Select.Option>
122
- </Select.OptionGroup>
123
- <Select.OptionGroup label="Unavailable Items" disabled>
124
- <Select.Option value="option3">Option 3</Select.Option>
125
- <Select.Option value="option4">Option 4</Select.Option>
126
- </Select.OptionGroup>
127
- <Select.OptionGroup label="More Items">
128
- <Select.Option value="option5">Option 5</Select.Option>
129
- <Select.Option value="option6">Option 6</Select.Option>
130
- </Select.OptionGroup>
131
- </Select>
123
+ <LegacySelect.OptionGroup label="Available Items">
124
+ <LegacySelect.Option value="option1">Option 1</LegacySelect.Option>
125
+ <LegacySelect.Option value="option2">Option 2</LegacySelect.Option>
126
+ </LegacySelect.OptionGroup>
127
+ <LegacySelect.OptionGroup label="Unavailable Items" disabled>
128
+ <LegacySelect.Option value="option3">Option 3</LegacySelect.Option>
129
+ <LegacySelect.Option value="option4">Option 4</LegacySelect.Option>
130
+ </LegacySelect.OptionGroup>
131
+ <LegacySelect.OptionGroup label="More Items">
132
+ <LegacySelect.Option value="option5">Option 5</LegacySelect.Option>
133
+ <LegacySelect.Option value="option6">Option 6</LegacySelect.Option>
134
+ </LegacySelect.OptionGroup>
135
+ </LegacySelect>
132
136
  );
133
137
  }
134
138
  ```
@@ -138,7 +142,7 @@ export function SelectCustomOptionGroupDisabledExample() {
138
142
 
139
143
  ### Custom (Chromium) vs native
140
144
 
141
- Select is native by default. Opt into the customizable Chrome UI with
145
+ LegacySelect is native by default. Opt into the customizable Chrome UI with
142
146
  `UNSAFE_experimentalStyles`. This enhances grouped menus in Chromium 123+ when
143
147
  the browser supports `appearance: base-select`.
144
148
 
@@ -149,7 +153,7 @@ displayed value) is still rendered by the browser's picker. As a result,
149
153
  right/center alignment of the displayed value is not configurable in Chromium's
150
154
  customizable select.
151
155
 
152
- * Need right/center alignment? Use the native Select (omit
156
+ * Need right/center alignment? Use the native LegacySelect (omit
153
157
  `UNSAFE_experimentalStyles`).
154
158
  * You can still style the grouped dropdown (optgroup/option) in the custom UI,
155
159
  but the closed value alignment will remain default.
@@ -158,10 +162,11 @@ customizable select.
158
162
 
159
163
  ### Composable usage
160
164
 
161
- Select supports composition via subcomponents:
165
+ LegacySelect supports composition via subcomponents:
162
166
 
163
- * `Select.Option`: item in the list. Provide `value` and children as the label.
164
- * `Select.OptionGroup`: group options under a `label`. Use with
167
+ * `LegacySelect.Option`: item in the list. Provide `value` and children as the
168
+ label.
169
+ * `LegacySelect.OptionGroup`: group options under a `label`. Use with
165
170
  `UNSAFE_experimentalStyles` to opt into the customizable grouped menu in
166
171
  Chromium.
167
172
 
@@ -177,11 +182,11 @@ Select supports composition via subcomponents:
177
182
  General guidance on `UNSAFE_` props can be found in
178
183
  [Customizing components](../customizing-components/customizing-components.md).
179
184
 
180
- Select subcomponents allow `UNSAFE_className` and `UNSAFE_style` to target the
181
- native elements:
185
+ LegacySelect subcomponents allow `UNSAFE_className` and `UNSAFE_style` to target
186
+ the native elements:
182
187
 
183
- * `Select.OptionGroup` maps to `<optgroup>`
184
- * `Select.Option` maps to `<option>`
188
+ * `LegacySelect.OptionGroup` maps to `<optgroup>`
189
+ * `LegacySelect.Option` maps to `<option>`
185
190
 
186
191
  Note that native `<select>` UX differs per browser. Use `UNSAFE_` props with
187
192
  caution and test across environments. In the custom UI (Chromium), only the
@@ -192,7 +197,7 @@ dropdown content is stylable; the closed value alignment is not.
192
197
 
193
198
  ### Web
194
199
 
195
- #### Select
200
+ #### LegacySelect
196
201
 
197
202
  | Prop | Type | Required | Default | Description |
198
203
  |------|------|----------|---------|-------------|
@@ -234,14 +239,14 @@ dropdown content is stylable; the closed value alignment is not.
234
239
  | `UNSAFE_experimentalStyles` | `boolean` | No | — | Opt-in to the customizable select UI (Chromium 123+). When true, the component will apply the custom select styles De... |
235
240
  | `value` | `number | string` | No | — | |
236
241
 
237
- #### Select.Option
242
+ #### LegacySelect.Option
238
243
 
239
244
  | Prop | Type | Required | Default | Description |
240
245
  |------|------|----------|---------|-------------|
241
246
  | `disabled` | `boolean` | No | — | |
242
247
  | `value` | `string` | No | — | The content of this attribute represents the value to be submitted with the form, should this option be selected. |
243
248
 
244
- #### Select.OptionGroup
249
+ #### LegacySelect.OptionGroup
245
250
 
246
251
  | Prop | Type | Required | Default | Description |
247
252
  |------|------|----------|---------|-------------|
@@ -216,7 +216,7 @@ Minimum menu item height:
216
216
  * For a comparable action-list experience in native mobile, use
217
217
  [BottomSheet](/components/BottomSheet) from `@jobber/components-native`
218
218
  * To allow the user to choose a value from a predefined list within a form, use
219
- a [Select](../Select/Select.md)
219
+ a [LegacySelect](../LegacySelect/LegacySelect.md)
220
220
  * To allow the user to search and filter through a list of options, use a
221
221
  [FilterPicker](../FilterPicker/FilterPicker.md)
222
222
 
@@ -22,7 +22,7 @@ the `onOptionsChange` prop.
22
22
  Adjusting the
23
23
  [size](/storybook/web/?path=/story/components-deprecated-multiselect--sizes) of
24
24
  the MultiSelect can be used to help align with common adjacent elements such as
25
- [InputText](../InputText/InputText.md) or [Select](../Select/Select.md).
25
+ [InputText](../InputText/InputText.md) or [LegacySelect](../LegacySelect/LegacySelect.md).
26
26
 
27
27
  ## Accessibility
28
28
 
@@ -28,7 +28,8 @@ pattern for the user.
28
28
  To show multiple groupings of content at once, use [Card](../Card/Card.md).
29
29
 
30
30
  To allow the user to select one-of-many options in a form, use
31
- [RadioGroup](../RadioGroup/RadioGroup.md) or [Select](../Select/Select.md).
31
+ [RadioGroup](../RadioGroup/RadioGroup.md) or
32
+ [LegacySelect](../LegacySelect/LegacySelect.md).
32
33
 
33
34
  ## Accessibility
34
35
 
@@ -21,6 +21,7 @@ for the “emptiness” may include, but are not limited to…
21
21
  * Search results with no match
22
22
  * An error has resulted in the user not being able to access content they
23
23
  otherwise could
24
+ * A specific field doesn't have a value (for example, a custom field that the user hasn't populated)
24
25
 
25
26
  ## Solution
26
27
 
@@ -63,6 +64,34 @@ a single Banner can look out of place.
63
64
  </Box>
64
65
  ```
65
66
 
67
+ ### Field-level empty states
68
+
69
+ When a field doesn't have a value, use a dash to indicate the lack of a value.
70
+ This provides:
71
+
72
+ * confirmation that nothing was entered
73
+ * confirmation that something *can* be entered there should the information require an update
74
+
75
+ ```tsx
76
+ <Card>
77
+ <Content>
78
+ <Heading level={4}>Additional details</Heading>
79
+ <Stack gap="smallest">
80
+ <Text size="small" variation="subdued">Preferred service date</Text>
81
+ <Text>June 25, 2026</Text>
82
+ </Stack>
83
+ <Stack gap="smallest">
84
+ <Text size="small" variation="subdued">Gate code</Text>
85
+ <Text>—</Text>
86
+ </Stack>
87
+ <Stack gap="smallest">
88
+ <Text size="small" variation="subdued">Additional requests</Text>
89
+ <Text>—</Text>
90
+ </Stack>
91
+ </Content>
92
+ </Card>
93
+ ```
94
+
66
95
  ### When the user can't add content
67
96
 
68
97
  When a card is empty, and there is no way for the user to add content, you
@@ -59,6 +59,7 @@
59
59
  [InputTime](./InputTime/InputTime.md)
60
60
  [InputValidation](./InputValidation/InputValidation.md)
61
61
  [interaction](./interaction/interaction.md)
62
+ [LegacySelect](./LegacySelect/LegacySelect.md)
62
63
  [LightBox](./LightBox/LightBox.md)
63
64
  [Link](./Link/Link.md)
64
65
  [List](./List/List.md)
@@ -78,7 +79,6 @@
78
79
  [ResponsiveSwitcher](./ResponsiveSwitcher/ResponsiveSwitcher.md)
79
80
  [scaffolding](./scaffolding/scaffolding.md)
80
81
  [SegmentedControl](./SegmentedControl/SegmentedControl.md)
81
- [Select](./Select/Select.md)
82
82
  [settings](./settings/settings.md)
83
83
  [SideDrawer](./SideDrawer/SideDrawer.md)
84
84
  [SideKick](./SideKick/SideKick.md)
package/dist/index.cjs CHANGED
@@ -71,7 +71,7 @@ var Popover = require('./Popover-cjs.js');
71
71
  var ProgressBar = require('./ProgressBar-cjs.js');
72
72
  var RadioGroup = require('./RadioGroup-cjs.js');
73
73
  var ResponsiveSwitcher = require('./ResponsiveSwitcher-cjs.js');
74
- var Select = require('./Select-cjs.js');
74
+ var LegacySelect = require('./LegacySelect-cjs.js');
75
75
  var SegmentedControl = require('./SegmentedControl-cjs.js');
76
76
  var SideDrawer = require('./SideDrawer-cjs.js');
77
77
  var SideKick = require('./SideKick-cjs.js');
@@ -175,12 +175,16 @@ require('./GridCell-cjs.js');
175
175
  require('./FormFieldPostFix-cjs.js');
176
176
  require('axios');
177
177
  require('./useRenderElement-cjs.js');
178
+ require('./buttonRenderAdapter-cjs.js');
178
179
  require('./BottomSheet-cjs.js');
179
180
  require('./ScrollAreaViewport-cjs.js');
181
+ require('./InternalBackdrop-cjs.js');
182
+ require('./useButton-cjs.js');
180
183
  require('./clamp-cjs.js');
181
184
  require('./OverlaySeparator-cjs.js');
182
185
  require('./Separator-cjs.js');
183
186
  require('./MenuSubmenuTrigger-cjs.js');
187
+ require('./useCompositeListItem-cjs.js');
184
188
  require('./AtlantisPortalContent-cjs.js');
185
189
  require('@jobber/formatters');
186
190
  require('react-dom/client');
@@ -307,8 +311,8 @@ exports.ProgressBar = ProgressBar.ProgressBar;
307
311
  exports.RadioGroup = RadioGroup.RadioGroup;
308
312
  exports.RadioOption = RadioGroup.RadioOption;
309
313
  exports.ResponsiveSwitcher = ResponsiveSwitcher.ResponsiveSwitcher;
310
- exports.Option = Select.SelectOption;
311
- exports.Select = Select.Select;
314
+ exports.LegacySelect = LegacySelect.LegacySelect;
315
+ exports.Option = LegacySelect.SelectOption;
312
316
  exports.SegmentedControl = SegmentedControl.SegmentedControl;
313
317
  exports.SegmentedControlContext = SegmentedControl.SegmentedControlContext;
314
318
  exports.SegmentedControlProvider = SegmentedControl.SegmentedControlProvider;
package/dist/index.d.mts CHANGED
@@ -61,7 +61,7 @@ export * from "./Popover";
61
61
  export * from "./ProgressBar";
62
62
  export * from "./RadioGroup";
63
63
  export * from "./ResponsiveSwitcher";
64
- export * from "./Select";
64
+ export * from "./LegacySelect";
65
65
  export * from "./SegmentedControl";
66
66
  export * from "./SideDrawer";
67
67
  export * from "./SideKick";
package/dist/index.d.ts CHANGED
@@ -61,7 +61,7 @@ export * from "./Popover";
61
61
  export * from "./ProgressBar";
62
62
  export * from "./RadioGroup";
63
63
  export * from "./ResponsiveSwitcher";
64
- export * from "./Select";
64
+ export * from "./LegacySelect";
65
65
  export * from "./SegmentedControl";
66
66
  export * from "./SideDrawer";
67
67
  export * from "./SideKick";
package/dist/index.mjs CHANGED
@@ -69,7 +69,7 @@ export { P as Popover, u as usePopoverContext, a as usePopoverStyles } from './P
69
69
  export { P as ProgressBar } from './ProgressBar-es.js';
70
70
  export { R as RadioGroup, a as RadioOption } from './RadioGroup-es.js';
71
71
  export { R as ResponsiveSwitcher } from './ResponsiveSwitcher-es.js';
72
- export { S as Option, a as Select } from './Select-es.js';
72
+ export { L as LegacySelect, S as Option } from './LegacySelect-es.js';
73
73
  export { S as SegmentedControl, a as SegmentedControlContext, b as SegmentedControlProvider, u as useSegmentedControl } from './SegmentedControl-es.js';
74
74
  export { S as SideDrawer } from './SideDrawer-es.js';
75
75
  export { S as SideKick } from './SideKick-es.js';
@@ -173,12 +173,16 @@ import './GridCell-es.js';
173
173
  import './FormFieldPostFix-es.js';
174
174
  import 'axios';
175
175
  import './useRenderElement-es.js';
176
+ import './buttonRenderAdapter-es.js';
176
177
  import './BottomSheet-es.js';
177
178
  import './ScrollAreaViewport-es.js';
179
+ import './InternalBackdrop-es.js';
180
+ import './useButton-es.js';
178
181
  import './clamp-es.js';
179
182
  import './OverlaySeparator-es.js';
180
183
  import './Separator-es.js';
181
184
  import './MenuSubmenuTrigger-es.js';
185
+ import './useCompositeListItem-es.js';
182
186
  import './AtlantisPortalContent-es.js';
183
187
  import '@jobber/formatters';
184
188
  import 'react-dom/client';
@@ -4,6 +4,7 @@ var BottomSheet = require('../../BottomSheet-cjs.js');
4
4
  require('../../tslib.es6-cjs.js');
5
5
  require('react');
6
6
  require('classnames');
7
+ require('../../buttonRenderAdapter-cjs.js');
7
8
  require('../../Button-cjs.js');
8
9
  require('react-router-dom');
9
10
  require('../../Icon-cjs.js');
@@ -11,11 +12,13 @@ require('@jobber/design');
11
12
  require('../../Typography-cjs.js');
12
13
  require('../../useRenderElement-cjs.js');
13
14
  require('../../ScrollAreaViewport-cjs.js');
14
- require('../../clamp-cjs.js');
15
+ require('../../InternalBackdrop-cjs.js');
16
+ require('../../index.esm-cjs.js');
15
17
  require('../../floating-ui.utils.dom-cjs.js');
18
+ require('../../useButton-cjs.js');
16
19
  require('react-dom');
17
20
  require('react/jsx-runtime');
18
- require('../../index.esm-cjs.js');
21
+ require('../../clamp-cjs.js');
19
22
 
20
23
 
21
24
 
@@ -2,6 +2,7 @@ export { B as BottomSheet } from '../../BottomSheet-es.js';
2
2
  import '../../tslib.es6-es.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
+ import '../../buttonRenderAdapter-es.js';
5
6
  import '../../Button-es.js';
6
7
  import 'react-router-dom';
7
8
  import '../../Icon-es.js';
@@ -9,8 +10,10 @@ import '@jobber/design';
9
10
  import '../../Typography-es.js';
10
11
  import '../../useRenderElement-es.js';
11
12
  import '../../ScrollAreaViewport-es.js';
12
- import '../../clamp-es.js';
13
+ import '../../InternalBackdrop-es.js';
14
+ import '../../index.esm-es.js';
13
15
  import '../../floating-ui.utils.dom-es.js';
16
+ import '../../useButton-es.js';
14
17
  import 'react-dom';
15
18
  import 'react/jsx-runtime';
16
- import '../../index.esm-es.js';
19
+ import '../../clamp-es.js';
@@ -0,0 +1,32 @@
1
+ import React from "react";
2
+ import type { ComboboxPrimitiveArrowProps, ComboboxPrimitiveBackdropProps, ComboboxPrimitiveChipProps, ComboboxPrimitiveChipRemoveProps, ComboboxPrimitiveChipsProps, ComboboxPrimitiveClearProps, ComboboxPrimitiveCollectionProps, ComboboxPrimitiveEmptyProps, ComboboxPrimitiveGroupLabelProps, ComboboxPrimitiveGroupProps, ComboboxPrimitiveIconProps, ComboboxPrimitiveInputGroupProps, ComboboxPrimitiveInputProps, ComboboxPrimitiveItemIndicatorProps, ComboboxPrimitiveItemProps, ComboboxPrimitiveLabelProps, ComboboxPrimitiveListProps, ComboboxPrimitivePopupProps, ComboboxPrimitivePortalProps, ComboboxPrimitivePositionerProps, ComboboxPrimitiveRootProps, ComboboxPrimitiveRowProps, ComboboxPrimitiveSeparatorProps, ComboboxPrimitiveStatusProps, ComboboxPrimitiveTriggerProps, ComboboxPrimitiveValueProps } from "./ComboboxPrimitive.types";
3
+ import { Combobox as BaseCombobox } from "../../unstyledPrimitives";
4
+ declare function ComboboxRoot<Value, Multiple extends boolean | undefined = false>(props: ComboboxPrimitiveRootProps<Value, Multiple>): React.JSX.Element;
5
+ declare function ComboboxLabel({ className, ...labelProps }: ComboboxPrimitiveLabelProps): React.JSX.Element;
6
+ declare function ComboboxValue(props: ComboboxPrimitiveValueProps): React.JSX.Element;
7
+ declare function ComboboxInput({ className, ...inputProps }: ComboboxPrimitiveInputProps): React.JSX.Element;
8
+ declare function ComboboxInputGroup({ className, ...inputGroupProps }: ComboboxPrimitiveInputGroupProps): React.JSX.Element;
9
+ declare function ComboboxTrigger({ className, render, ...triggerProps }: ComboboxPrimitiveTriggerProps): React.JSX.Element;
10
+ declare function ComboboxList({ className, ...listProps }: ComboboxPrimitiveListProps): React.JSX.Element;
11
+ declare function ComboboxStatus(props: ComboboxPrimitiveStatusProps): React.JSX.Element;
12
+ declare function ComboboxPortal(props: ComboboxPrimitivePortalProps): React.JSX.Element;
13
+ declare function ComboboxBackdrop({ className, ...backdropProps }: ComboboxPrimitiveBackdropProps): React.JSX.Element;
14
+ declare function ComboboxPositioner({ className, sideOffset, ...positionerProps }: ComboboxPrimitivePositionerProps): React.JSX.Element;
15
+ declare function ComboboxPopup({ className, ...popupProps }: ComboboxPrimitivePopupProps): React.JSX.Element;
16
+ declare function ComboboxArrow({ className, ...arrowProps }: ComboboxPrimitiveArrowProps): React.JSX.Element;
17
+ declare function ComboboxIcon({ className, ...iconProps }: ComboboxPrimitiveIconProps): React.JSX.Element;
18
+ declare function ComboboxGroup({ className, ...groupProps }: ComboboxPrimitiveGroupProps): React.JSX.Element;
19
+ declare function ComboboxGroupLabel({ className, ...groupLabelProps }: ComboboxPrimitiveGroupLabelProps): React.JSX.Element;
20
+ declare function ComboboxItem({ className, ...itemProps }: ComboboxPrimitiveItemProps): React.JSX.Element;
21
+ declare function ComboboxItemIndicator({ className, ...itemIndicatorProps }: ComboboxPrimitiveItemIndicatorProps): React.JSX.Element;
22
+ declare function ComboboxChips({ className, ...chipsProps }: ComboboxPrimitiveChipsProps): React.JSX.Element;
23
+ declare function ComboboxChip({ className, ...chipProps }: ComboboxPrimitiveChipProps): React.JSX.Element;
24
+ declare function ComboboxChipRemove({ className, ...chipRemoveProps }: ComboboxPrimitiveChipRemoveProps): React.JSX.Element;
25
+ declare function ComboboxRow({ className, ...rowProps }: ComboboxPrimitiveRowProps): React.JSX.Element;
26
+ declare function ComboboxCollection(props: ComboboxPrimitiveCollectionProps): React.JSX.Element;
27
+ declare function ComboboxEmpty({ className, ...emptyProps }: ComboboxPrimitiveEmptyProps): React.JSX.Element;
28
+ declare function ComboboxClear({ className, ...clearProps }: ComboboxPrimitiveClearProps): React.JSX.Element;
29
+ declare function ComboboxSeparator({ className, ...separatorProps }: ComboboxPrimitiveSeparatorProps): React.JSX.Element;
30
+ declare const useFilter: typeof BaseCombobox.useFilter;
31
+ declare const useFilteredItems: typeof BaseCombobox.useFilteredItems;
32
+ export { ComboboxRoot as Root, ComboboxLabel as Label, ComboboxValue as Value, ComboboxInput as Input, ComboboxInputGroup as InputGroup, ComboboxTrigger as Trigger, ComboboxList as List, ComboboxStatus as Status, ComboboxPortal as Portal, ComboboxBackdrop as Backdrop, ComboboxPositioner as Positioner, ComboboxPopup as Popup, ComboboxArrow as Arrow, ComboboxIcon as Icon, ComboboxGroup as Group, ComboboxGroupLabel as GroupLabel, ComboboxItem as Item, ComboboxItemIndicator as ItemIndicator, ComboboxChips as Chips, ComboboxChip as Chip, ComboboxChipRemove as ChipRemove, ComboboxRow as Row, ComboboxCollection as Collection, ComboboxEmpty as Empty, ComboboxClear as Clear, ComboboxSeparator as Separator, useFilter, useFilteredItems, };
@@ -0,0 +1,30 @@
1
+ import type { ComboboxArrowProps as BaseComboboxArrowProps, ComboboxBackdropProps as BaseComboboxBackdropProps, ComboboxChipProps as BaseComboboxChipProps, ComboboxChipRemoveProps as BaseComboboxChipRemoveProps, ComboboxChipsProps as BaseComboboxChipsProps, ComboboxClearProps as BaseComboboxClearProps, ComboboxCollectionProps as BaseComboboxCollectionProps, ComboboxEmptyProps as BaseComboboxEmptyProps, ComboboxFilter as BaseComboboxFilter, ComboboxFilterOptions as BaseComboboxFilterOptions, ComboboxGroupLabelProps as BaseComboboxGroupLabelProps, ComboboxGroupProps as BaseComboboxGroupProps, ComboboxIconProps as BaseComboboxIconProps, ComboboxInputGroupProps as BaseComboboxInputGroupProps, ComboboxInputProps as BaseComboboxInputProps, ComboboxItemIndicatorProps as BaseComboboxItemIndicatorProps, ComboboxItemProps as BaseComboboxItemProps, ComboboxLabelProps as BaseComboboxLabelProps, ComboboxListProps as BaseComboboxListProps, ComboboxPopupProps as BaseComboboxPopupProps, ComboboxPortalProps as BaseComboboxPortalProps, ComboboxPositionerProps as BaseComboboxPositionerProps, ComboboxRootProps as BaseComboboxRootProps, ComboboxRowProps as BaseComboboxRowProps, ComboboxStatusProps as BaseComboboxStatusProps, ComboboxTriggerProps as BaseComboboxTriggerProps, ComboboxValueProps as BaseComboboxValueProps } from "@base-ui/react/combobox";
2
+ import type { SeparatorProps as BaseSeparatorProps } from "@base-ui/react/separator";
3
+ export type ComboboxPrimitiveRootProps<Value, Multiple extends boolean | undefined = false> = BaseComboboxRootProps<Value, Multiple>;
4
+ export type ComboboxPrimitiveLabelProps = BaseComboboxLabelProps;
5
+ export type ComboboxPrimitiveValueProps = BaseComboboxValueProps;
6
+ export type ComboboxPrimitiveInputProps = BaseComboboxInputProps;
7
+ export type ComboboxPrimitiveInputGroupProps = BaseComboboxInputGroupProps;
8
+ export type ComboboxPrimitiveTriggerProps = BaseComboboxTriggerProps;
9
+ export type ComboboxPrimitiveListProps = BaseComboboxListProps;
10
+ export type ComboboxPrimitiveStatusProps = BaseComboboxStatusProps;
11
+ export type ComboboxPrimitivePortalProps = BaseComboboxPortalProps;
12
+ export type ComboboxPrimitiveBackdropProps = BaseComboboxBackdropProps;
13
+ export type ComboboxPrimitivePositionerProps = BaseComboboxPositionerProps;
14
+ export type ComboboxPrimitivePopupProps = BaseComboboxPopupProps;
15
+ export type ComboboxPrimitiveArrowProps = BaseComboboxArrowProps;
16
+ export type ComboboxPrimitiveIconProps = BaseComboboxIconProps;
17
+ export type ComboboxPrimitiveGroupProps = BaseComboboxGroupProps;
18
+ export type ComboboxPrimitiveGroupLabelProps = BaseComboboxGroupLabelProps;
19
+ export type ComboboxPrimitiveItemProps = BaseComboboxItemProps;
20
+ export type ComboboxPrimitiveItemIndicatorProps = BaseComboboxItemIndicatorProps;
21
+ export type ComboboxPrimitiveChipsProps = BaseComboboxChipsProps;
22
+ export type ComboboxPrimitiveChipProps = BaseComboboxChipProps;
23
+ export type ComboboxPrimitiveChipRemoveProps = BaseComboboxChipRemoveProps;
24
+ export type ComboboxPrimitiveRowProps = BaseComboboxRowProps;
25
+ export type ComboboxPrimitiveCollectionProps = BaseComboboxCollectionProps;
26
+ export type ComboboxPrimitiveEmptyProps = BaseComboboxEmptyProps;
27
+ export type ComboboxPrimitiveClearProps = BaseComboboxClearProps;
28
+ export type ComboboxPrimitiveSeparatorProps = BaseSeparatorProps;
29
+ export type ComboboxPrimitiveFilter = BaseComboboxFilter;
30
+ export type ComboboxPrimitiveFilterOptions = BaseComboboxFilterOptions;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var ComboboxPrimitive = require('../../ComboboxPrimitive-cjs.js');
4
+ require('../../tslib.es6-cjs.js');
5
+ require('react');
6
+ require('classnames');
7
+ require('../../buttonRenderAdapter-cjs.js');
8
+ require('../../Button-cjs.js');
9
+ require('react-router-dom');
10
+ require('../../Icon-cjs.js');
11
+ require('@jobber/design');
12
+ require('../../Typography-cjs.js');
13
+ require('../../useRenderElement-cjs.js');
14
+ require('../../ComboboxChipRemove-cjs.js');
15
+ require('../../useButton-cjs.js');
16
+ require('../../floating-ui.utils.dom-cjs.js');
17
+ require('react-dom');
18
+ require('../../useLabel-cjs.js');
19
+ require('../../useCompositeListItem-cjs.js');
20
+ require('../../InternalBackdrop-cjs.js');
21
+ require('../../index.esm-cjs.js');
22
+ require('react/jsx-runtime');
23
+ require('../../floating-ui.react-dom-cjs.js');
24
+ require('../../Separator-cjs.js');
25
+
26
+
27
+
28
+ exports.ComboboxPrimitive = ComboboxPrimitive.ComboboxPrimitive;
@@ -0,0 +1,2 @@
1
+ export * as ComboboxPrimitive from "./ComboboxPrimitive";
2
+ export type { ComboboxPrimitiveArrowProps, ComboboxPrimitiveBackdropProps, ComboboxPrimitiveChipProps, ComboboxPrimitiveChipRemoveProps, ComboboxPrimitiveChipsProps, ComboboxPrimitiveClearProps, ComboboxPrimitiveCollectionProps, ComboboxPrimitiveEmptyProps, ComboboxPrimitiveFilter, ComboboxPrimitiveFilterOptions, ComboboxPrimitiveGroupLabelProps, ComboboxPrimitiveGroupProps, ComboboxPrimitiveIconProps, ComboboxPrimitiveInputGroupProps, ComboboxPrimitiveInputProps, ComboboxPrimitiveItemIndicatorProps, ComboboxPrimitiveItemProps, ComboboxPrimitiveLabelProps, ComboboxPrimitiveListProps, ComboboxPrimitivePopupProps, ComboboxPrimitivePortalProps, ComboboxPrimitivePositionerProps, ComboboxPrimitiveRootProps, ComboboxPrimitiveRowProps, ComboboxPrimitiveSeparatorProps, ComboboxPrimitiveStatusProps, ComboboxPrimitiveTriggerProps, ComboboxPrimitiveValueProps, } from "./ComboboxPrimitive.types";
@@ -0,0 +1,22 @@
1
+ export { C as ComboboxPrimitive } from '../../ComboboxPrimitive-es.js';
2
+ import '../../tslib.es6-es.js';
3
+ import 'react';
4
+ import 'classnames';
5
+ import '../../buttonRenderAdapter-es.js';
6
+ import '../../Button-es.js';
7
+ import 'react-router-dom';
8
+ import '../../Icon-es.js';
9
+ import '@jobber/design';
10
+ import '../../Typography-es.js';
11
+ import '../../useRenderElement-es.js';
12
+ import '../../ComboboxChipRemove-es.js';
13
+ import '../../useButton-es.js';
14
+ import '../../floating-ui.utils.dom-es.js';
15
+ import 'react-dom';
16
+ import '../../useLabel-es.js';
17
+ import '../../useCompositeListItem-es.js';
18
+ import '../../InternalBackdrop-es.js';
19
+ import '../../index.esm-es.js';
20
+ import 'react/jsx-runtime';
21
+ import '../../floating-ui.react-dom-es.js';
22
+ import '../../Separator-es.js';
@@ -11,11 +11,13 @@ require('../../Icon-cjs.js');
11
11
  require('@jobber/design');
12
12
  require('../../Typography-cjs.js');
13
13
  require('../../useRenderElement-cjs.js');
14
- require('../../clamp-cjs.js');
14
+ require('../../useButton-cjs.js');
15
15
  require('../../floating-ui.utils.dom-cjs.js');
16
16
  require('react-dom');
17
- require('../../NumberFieldInput-cjs.js');
17
+ require('../../useLabel-cjs.js');
18
18
  require('react/jsx-runtime');
19
+ require('../../NumberFieldInput-cjs.js');
20
+ require('../../clamp-cjs.js');
19
21
 
20
22
 
21
23