@jobber/components 9.5.3 → 9.6.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 (178) hide show
  1. package/Combobox.d.ts +1 -0
  2. package/Combobox.js +17 -0
  3. package/dist/Autocomplete/index.cjs +0 -2
  4. package/dist/Autocomplete/index.mjs +0 -2
  5. package/dist/Autocomplete-cjs.js +4 -5
  6. package/dist/Autocomplete-es.js +1 -2
  7. package/dist/Card/index.cjs +2 -2
  8. package/dist/Card/index.mjs +2 -2
  9. package/dist/Chip/index.cjs +0 -2
  10. package/dist/Chip/index.mjs +0 -2
  11. package/dist/Chips/InternalChipDismissible/hooks/index.cjs +0 -2
  12. package/dist/Chips/InternalChipDismissible/hooks/index.mjs +0 -2
  13. package/dist/Chips/InternalChipDismissible/index.cjs +0 -2
  14. package/dist/Chips/InternalChipDismissible/index.mjs +0 -2
  15. package/dist/Chips/index.cjs +0 -2
  16. package/dist/Chips/index.mjs +0 -2
  17. package/dist/Combobox/Combobox.contentSlots.d.ts +5 -0
  18. package/dist/Combobox/Combobox.context.d.ts +34 -0
  19. package/dist/Combobox/Combobox.d.ts +69 -0
  20. package/dist/Combobox/Combobox.footer.d.ts +7 -0
  21. package/dist/Combobox/Combobox.items.d.ts +25 -0
  22. package/dist/Combobox/Combobox.responsive.d.ts +54 -0
  23. package/dist/Combobox/Combobox.selectAll.d.ts +4 -0
  24. package/dist/Combobox/Combobox.slotFactory.d.ts +7 -0
  25. package/dist/Combobox/Combobox.testUtils.d.ts +12 -0
  26. package/dist/Combobox/Combobox.types.d.ts +166 -0
  27. package/dist/Combobox/index.cjs +35 -0
  28. package/dist/Combobox/index.d.ts +2 -0
  29. package/dist/Combobox/index.mjs +29 -0
  30. package/dist/Combobox-cjs.js +675 -0
  31. package/dist/Combobox-es.js +673 -0
  32. package/dist/ComboboxPrimitive-cjs.js +88 -47
  33. package/dist/ComboboxPrimitive-es.js +39 -23
  34. package/dist/{ComboboxChipRemove-cjs.js → ComboboxSeparator-cjs.js} +501 -455
  35. package/dist/{ComboboxChipRemove-es.js → ComboboxSeparator-es.js} +500 -456
  36. package/dist/ConfirmationModal/index.cjs +0 -2
  37. package/dist/ConfirmationModal/index.mjs +0 -2
  38. package/dist/ContentBlock/index.cjs +1 -0
  39. package/dist/ContentBlock/index.mjs +1 -0
  40. package/dist/ContentBlock-cjs.js +2 -18
  41. package/dist/ContentBlock-es.js +1 -17
  42. package/dist/DataDump/index.cjs +2 -2
  43. package/dist/DataDump/index.mjs +2 -2
  44. package/dist/DataList/components/DataListActions/index.cjs +0 -2
  45. package/dist/DataList/components/DataListActions/index.mjs +0 -2
  46. package/dist/DataList/components/DataListBulkActions/index.cjs +0 -2
  47. package/dist/DataList/components/DataListBulkActions/index.mjs +0 -2
  48. package/dist/DataList/components/DataListFilters/components/DataListSort/index.cjs +0 -2
  49. package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +0 -2
  50. package/dist/DataList/components/DataListFilters/index.cjs +0 -2
  51. package/dist/DataList/components/DataListFilters/index.mjs +0 -2
  52. package/dist/DataList/components/DataListHeader/index.cjs +0 -2
  53. package/dist/DataList/components/DataListHeader/index.mjs +0 -2
  54. package/dist/DataList/components/DataListItem/index.cjs +0 -2
  55. package/dist/DataList/components/DataListItem/index.mjs +0 -2
  56. package/dist/DataList/components/DataListItemActions/index.cjs +0 -2
  57. package/dist/DataList/components/DataListItemActions/index.mjs +0 -2
  58. package/dist/DataList/components/DataListItemActionsOverflow/index.cjs +0 -2
  59. package/dist/DataList/components/DataListItemActionsOverflow/index.mjs +0 -2
  60. package/dist/DataList/components/DataListItems/index.cjs +0 -2
  61. package/dist/DataList/components/DataListItems/index.mjs +0 -2
  62. package/dist/DataList/components/DataListLayout/index.cjs +0 -2
  63. package/dist/DataList/components/DataListLayout/index.mjs +0 -2
  64. package/dist/DataList/components/DataListLayoutActions/index.cjs +0 -2
  65. package/dist/DataList/components/DataListLayoutActions/index.mjs +0 -2
  66. package/dist/DataList/index.cjs +0 -2
  67. package/dist/DataList/index.mjs +0 -2
  68. package/dist/DatePicker/index.cjs +0 -2
  69. package/dist/DatePicker/index.mjs +0 -2
  70. package/dist/DatePicker-cjs.js +4 -5
  71. package/dist/DatePicker-es.js +1 -2
  72. package/dist/Dialog/index.cjs +2 -2
  73. package/dist/Dialog/index.mjs +2 -2
  74. package/dist/DrawerDescription-cjs.js +268 -99
  75. package/dist/DrawerDescription-es.js +270 -103
  76. package/dist/DrawerTitle-cjs.js +2 -6
  77. package/dist/DrawerTitle-es.js +3 -7
  78. package/dist/FieldDescription-cjs.js +184 -181
  79. package/dist/FieldDescription-es.js +187 -184
  80. package/dist/FilterPicker/components/FilterPickerActivator/index.cjs +0 -2
  81. package/dist/FilterPicker/components/FilterPickerActivator/index.mjs +0 -2
  82. package/dist/FilterPicker/components/FilterPickerContent/index.cjs +0 -2
  83. package/dist/FilterPicker/components/FilterPickerContent/index.mjs +0 -2
  84. package/dist/FilterPicker/components/FilterPickerTrigger/index.cjs +0 -2
  85. package/dist/FilterPicker/components/FilterPickerTrigger/index.mjs +0 -2
  86. package/dist/FilterPicker/index.cjs +0 -2
  87. package/dist/FilterPicker/index.mjs +0 -2
  88. package/dist/FilterPickerContent-cjs.js +4 -5
  89. package/dist/FilterPickerContent-es.js +1 -2
  90. package/dist/FormatFile/index.cjs +0 -2
  91. package/dist/FormatFile/index.mjs +0 -2
  92. package/dist/Gallery/index.cjs +0 -2
  93. package/dist/Gallery/index.mjs +0 -2
  94. package/dist/InputDate/index.cjs +0 -2
  95. package/dist/InputDate/index.mjs +0 -2
  96. package/dist/InputNumber/index.cjs +2 -2
  97. package/dist/InputNumber/index.mjs +2 -2
  98. package/dist/InputNumber/types.d.ts +5 -0
  99. package/dist/InputNumber-cjs.js +2 -2
  100. package/dist/InputNumber-es.js +2 -2
  101. package/dist/LightBox/index.cjs +0 -2
  102. package/dist/LightBox/index.mjs +0 -2
  103. package/dist/Menu/index.cjs +2 -2
  104. package/dist/Menu/index.mjs +2 -2
  105. package/dist/Menu-cjs.js +4 -5
  106. package/dist/Menu-es.js +1 -2
  107. package/dist/MenuSubmenuTrigger-cjs.js +206 -164
  108. package/dist/MenuSubmenuTrigger-es.js +194 -152
  109. package/dist/Modal/index.cjs +0 -2
  110. package/dist/Modal/index.mjs +1 -3
  111. package/dist/NumberFieldInput-cjs.js +187 -308
  112. package/dist/NumberFieldInput-es.js +187 -308
  113. package/dist/Page/index.cjs +2 -2
  114. package/dist/Page/index.mjs +2 -2
  115. package/dist/Popover/index.cjs +0 -2
  116. package/dist/Popover/index.mjs +0 -2
  117. package/dist/Popover-cjs.js +7 -8
  118. package/dist/Popover-es.js +1 -2
  119. package/dist/ScrollAreaViewport-cjs.js +747 -1093
  120. package/dist/ScrollAreaViewport-es.js +734 -1081
  121. package/dist/Select/index.cjs +2 -2
  122. package/dist/Select/index.mjs +2 -2
  123. package/dist/SelectGroupLabel-cjs.js +207 -306
  124. package/dist/SelectGroupLabel-es.js +203 -302
  125. package/dist/SelectPrimitive-cjs.js +11 -17
  126. package/dist/SelectPrimitive-es.js +1 -7
  127. package/dist/Tooltip/index.cjs +0 -2
  128. package/dist/Tooltip/index.mjs +0 -2
  129. package/dist/Tooltip-cjs.js +6 -7
  130. package/dist/Tooltip-es.js +1 -2
  131. package/dist/buttonRenderAdapter-cjs.js +2 -1
  132. package/dist/buttonRenderAdapter-es.js +2 -1
  133. package/dist/dialogReturnFocus-cjs.js +1 -1
  134. package/dist/dialogReturnFocus-es.js +2 -2
  135. package/dist/docs/InputNumber/InputNumber.md +2 -2
  136. package/dist/docs/SelectPrimitive/SelectPrimitive.md +1 -1
  137. package/dist/floating-ui.react-cjs.js +2557 -185
  138. package/dist/floating-ui.react-es.js +2512 -149
  139. package/dist/getMappedBreakpointWidth-cjs.js +21 -0
  140. package/dist/getMappedBreakpointWidth-es.js +18 -0
  141. package/dist/index.cjs +15 -10
  142. package/dist/index.d.mts +1 -0
  143. package/dist/index.d.ts +1 -0
  144. package/dist/index.mjs +14 -10
  145. package/dist/mergeClassName-cjs.js +12 -0
  146. package/dist/mergeClassName-es.js +10 -0
  147. package/dist/primitives/BottomSheet/index.cjs +1 -1
  148. package/dist/primitives/BottomSheet/index.mjs +1 -1
  149. package/dist/primitives/ComboboxPrimitive/ComboboxPrimitive.d.ts +2 -2
  150. package/dist/primitives/ComboboxPrimitive/index.cjs +4 -5
  151. package/dist/primitives/ComboboxPrimitive/index.mjs +4 -5
  152. package/dist/primitives/SelectPrimitive/index.cjs +1 -2
  153. package/dist/primitives/SelectPrimitive/index.mjs +1 -2
  154. package/dist/primitives/index.cjs +3 -3
  155. package/dist/primitives/index.mjs +3 -3
  156. package/dist/scrollEdges-cjs.js +1 -11
  157. package/dist/scrollEdges-es.js +1 -11
  158. package/dist/scrollable-cjs.js +58 -0
  159. package/dist/scrollable-es.js +54 -0
  160. package/dist/styles.css +759 -42
  161. package/dist/unstyledPrimitives/index.cjs +720 -478
  162. package/dist/unstyledPrimitives/index.mjs +663 -421
  163. package/dist/useCompositeListItem-cjs.js +2108 -361
  164. package/dist/useCompositeListItem-es.js +2076 -331
  165. package/dist/useLabel-cjs.js +2 -3
  166. package/dist/useLabel-es.js +2 -3
  167. package/dist/useRenderElement-cjs.js +9 -7
  168. package/dist/useRenderElement-es.js +9 -7
  169. package/dist/useScrollLock-cjs.js +819 -344
  170. package/dist/useScrollLock-es.js +732 -296
  171. package/dist/useScrollToActive-cjs.js +4 -5
  172. package/dist/useScrollToActive-es.js +1 -2
  173. package/dist/utils/meta/meta.json +43 -1
  174. package/package.json +8 -3
  175. package/dist/floating-ui.react-dom-cjs.js +0 -2103
  176. package/dist/floating-ui.react-dom-es.js +0 -2072
  177. package/dist/floating-ui.utils-cjs.js +0 -342
  178. package/dist/floating-ui.utils-es.js +0 -300
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ const AtlantisBreakpoints = {
4
+ xs: 0,
5
+ sm: 490,
6
+ md: 768,
7
+ lg: 1080,
8
+ xl: 1440,
9
+ };
10
+ const getMappedBreakpointWidth = (maxWidth) => {
11
+ if (typeof maxWidth === "number") {
12
+ return `${maxWidth}px`;
13
+ }
14
+ if (AtlantisBreakpoints[maxWidth]) {
15
+ return (AtlantisBreakpoints[maxWidth] + "px");
16
+ }
17
+ return maxWidth;
18
+ };
19
+
20
+ exports.AtlantisBreakpoints = AtlantisBreakpoints;
21
+ exports.getMappedBreakpointWidth = getMappedBreakpointWidth;
@@ -0,0 +1,18 @@
1
+ const AtlantisBreakpoints = {
2
+ xs: 0,
3
+ sm: 490,
4
+ md: 768,
5
+ lg: 1080,
6
+ xl: 1440,
7
+ };
8
+ const getMappedBreakpointWidth = (maxWidth) => {
9
+ if (typeof maxWidth === "number") {
10
+ return `${maxWidth}px`;
11
+ }
12
+ if (AtlantisBreakpoints[maxWidth]) {
13
+ return (AtlantisBreakpoints[maxWidth] + "px");
14
+ }
15
+ return maxWidth;
16
+ };
17
+
18
+ export { AtlantisBreakpoints as A, getMappedBreakpointWidth as g };
package/dist/index.cjs CHANGED
@@ -11,6 +11,7 @@ var Button = require('./Button-cjs.js');
11
11
  var ButtonDismiss = require('./ButtonDismiss-cjs.js');
12
12
  var Card = require('./Card-cjs.js');
13
13
  var Cluster = require('./Cluster-cjs.js');
14
+ var Combobox = require('./Combobox-cjs.js');
14
15
  var Container = require('./Container-cjs.js');
15
16
  var Cover = require('./Cover-cjs.js');
16
17
  var Checkbox = require('./Checkbox-cjs.js');
@@ -103,10 +104,8 @@ require('./keysIn-cjs.js');
103
104
  require('./_isIterateeCall-cjs.js');
104
105
  require('./_setToString-cjs.js');
105
106
  require('./floating-ui.react-cjs.js');
106
- require('./floating-ui.utils-cjs.js');
107
107
  require('react/jsx-runtime');
108
108
  require('react-dom');
109
- require('./floating-ui.react-dom-cjs.js');
110
109
  require('./maxHeight-cjs.js');
111
110
  require('./mergeRefs-cjs.js');
112
111
  require('./filterDataAttributes-cjs.js');
@@ -114,6 +113,19 @@ require('color');
114
113
  require('./tslib.es6-cjs.js');
115
114
  require('react-router-dom');
116
115
  require('./getMappedAtlantisSpaceToken-cjs.js');
116
+ require('./getMappedBreakpointWidth-cjs.js');
117
+ require('./buttonRenderAdapter-cjs.js');
118
+ require('./useRenderElement-cjs.js');
119
+ require('./ComboboxPrimitive-cjs.js');
120
+ require('./mergeClassName-cjs.js');
121
+ require('./ComboboxSeparator-cjs.js');
122
+ require('./useScrollLock-cjs.js');
123
+ require('./useCompositeListItem-cjs.js');
124
+ require('./stringifyLocale-cjs.js');
125
+ require('./scrollable-cjs.js');
126
+ require('./useLabel-cjs.js');
127
+ require('./HelperText-cjs.js');
128
+ require('./FieldDescription-cjs.js');
117
129
  require('./useChildComponent-cjs.js');
118
130
  require('./InternalChipDismissible-cjs.js');
119
131
  require('./useScrollToActive-cjs.js');
@@ -170,18 +182,13 @@ require('./DataListLoadMore-cjs.js');
170
182
  require('./DataListAction-cjs.js');
171
183
  require('./DataListLayoutActions-cjs.js');
172
184
  require('./DataListStatusBar-cjs.js');
173
- require('./buttonRenderAdapter-cjs.js');
174
- require('./useRenderElement-cjs.js');
175
185
  require('./ScrollAreaViewport-cjs.js');
176
- require('./useScrollLock-cjs.js');
177
186
  require('./scrollEdges-cjs.js');
178
187
  require('./OverlaySeparator-cjs.js');
179
188
  require('./Separator-cjs.js');
180
189
  require('./BottomSheet-cjs.js');
181
- require('./HelperText-cjs.js');
182
190
  require('./SelectPrimitive-cjs.js');
183
191
  require('./SelectGroupLabel-cjs.js');
184
- require('./useCompositeListItem-cjs.js');
185
192
  require('./DrawerTitle-cjs.js');
186
193
  require('./DrawerDescription-cjs.js');
187
194
  require('./nestedEscape-cjs.js');
@@ -190,10 +197,7 @@ require('filesize');
190
197
  require('./GridCell-cjs.js');
191
198
  require('./FormFieldPostFix-cjs.js');
192
199
  require('axios');
193
- require('./FieldDescription-cjs.js');
194
- require('./useLabel-cjs.js');
195
200
  require('./NumberFieldInput-cjs.js');
196
- require('./stringifyLocale-cjs.js');
197
201
  require('./MenuSubmenuTrigger-cjs.js');
198
202
  require('./AtlantisPortalContent-cjs.js');
199
203
  require('@jobber/formatters');
@@ -231,6 +235,7 @@ exports.useButtonStyles = Button.useButtonStyles;
231
235
  exports.ButtonDismiss = ButtonDismiss.ButtonDismiss;
232
236
  exports.Card = Card.Card;
233
237
  exports.Cluster = Cluster.Cluster;
238
+ exports.Combobox = Combobox.Combobox;
234
239
  exports.Container = Container.Container;
235
240
  exports.Cover = Cover.Cover;
236
241
  exports.Checkbox = Checkbox.Checkbox;
package/dist/index.d.mts CHANGED
@@ -9,6 +9,7 @@ export * from "./Button";
9
9
  export * from "./ButtonDismiss";
10
10
  export * from "./Card";
11
11
  export * from "./Cluster";
12
+ export * from "./Combobox";
12
13
  export * from "./Container";
13
14
  export * from "./Cover";
14
15
  export * from "./Checkbox";
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from "./Button";
9
9
  export * from "./ButtonDismiss";
10
10
  export * from "./Card";
11
11
  export * from "./Cluster";
12
+ export * from "./Combobox";
12
13
  export * from "./Container";
13
14
  export * from "./Cover";
14
15
  export * from "./Checkbox";
package/dist/index.mjs CHANGED
@@ -9,6 +9,7 @@ export { B as Button, a as useButtonContext, u as useButtonStyles } from './Butt
9
9
  export { B as ButtonDismiss } from './ButtonDismiss-es.js';
10
10
  export { C as Card } from './Card-es.js';
11
11
  export { C as Cluster } from './Cluster-es.js';
12
+ export { C as Combobox } from './Combobox-es.js';
12
13
  export { C as Container } from './Container-es.js';
13
14
  export { C as Cover } from './Cover-es.js';
14
15
  export { C as Checkbox } from './Checkbox-es.js';
@@ -101,10 +102,8 @@ import './keysIn-es.js';
101
102
  import './_isIterateeCall-es.js';
102
103
  import './_setToString-es.js';
103
104
  import './floating-ui.react-es.js';
104
- import './floating-ui.utils-es.js';
105
105
  import 'react/jsx-runtime';
106
106
  import 'react-dom';
107
- import './floating-ui.react-dom-es.js';
108
107
  import './maxHeight-es.js';
109
108
  import './mergeRefs-es.js';
110
109
  import './filterDataAttributes-es.js';
@@ -112,6 +111,19 @@ import 'color';
112
111
  import './tslib.es6-es.js';
113
112
  import 'react-router-dom';
114
113
  import './getMappedAtlantisSpaceToken-es.js';
114
+ import './getMappedBreakpointWidth-es.js';
115
+ import './buttonRenderAdapter-es.js';
116
+ import './useRenderElement-es.js';
117
+ import './ComboboxPrimitive-es.js';
118
+ import './mergeClassName-es.js';
119
+ import './ComboboxSeparator-es.js';
120
+ import './useScrollLock-es.js';
121
+ import './useCompositeListItem-es.js';
122
+ import './stringifyLocale-es.js';
123
+ import './scrollable-es.js';
124
+ import './useLabel-es.js';
125
+ import './HelperText-es.js';
126
+ import './FieldDescription-es.js';
115
127
  import './useChildComponent-es.js';
116
128
  import './InternalChipDismissible-es.js';
117
129
  import './useScrollToActive-es.js';
@@ -168,18 +180,13 @@ import './DataListLoadMore-es.js';
168
180
  import './DataListAction-es.js';
169
181
  import './DataListLayoutActions-es.js';
170
182
  import './DataListStatusBar-es.js';
171
- import './buttonRenderAdapter-es.js';
172
- import './useRenderElement-es.js';
173
183
  import './ScrollAreaViewport-es.js';
174
- import './useScrollLock-es.js';
175
184
  import './scrollEdges-es.js';
176
185
  import './OverlaySeparator-es.js';
177
186
  import './Separator-es.js';
178
187
  import './BottomSheet-es.js';
179
- import './HelperText-es.js';
180
188
  import './SelectPrimitive-es.js';
181
189
  import './SelectGroupLabel-es.js';
182
- import './useCompositeListItem-es.js';
183
190
  import './DrawerTitle-es.js';
184
191
  import './DrawerDescription-es.js';
185
192
  import './nestedEscape-es.js';
@@ -188,10 +195,7 @@ import 'filesize';
188
195
  import './GridCell-es.js';
189
196
  import './FormFieldPostFix-es.js';
190
197
  import 'axios';
191
- import './FieldDescription-es.js';
192
- import './useLabel-es.js';
193
198
  import './NumberFieldInput-es.js';
194
- import './stringifyLocale-es.js';
195
199
  import './MenuSubmenuTrigger-es.js';
196
200
  import './AtlantisPortalContent-es.js';
197
201
  import '@jobber/formatters';
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var classnames = require('classnames');
4
+
5
+ function mergeClassName(baseClassName, className) {
6
+ if (typeof className === "function") {
7
+ return (state) => classnames(baseClassName, className(state));
8
+ }
9
+ return classnames(baseClassName, className);
10
+ }
11
+
12
+ exports.mergeClassName = mergeClassName;
@@ -0,0 +1,10 @@
1
+ import classnames from 'classnames';
2
+
3
+ function mergeClassName(baseClassName, className) {
4
+ if (typeof className === "function") {
5
+ return (state) => classnames(baseClassName, className(state));
6
+ }
7
+ return classnames(baseClassName, className);
8
+ }
9
+
10
+ export { mergeClassName as m };
@@ -13,10 +13,10 @@ require('../../Typography-cjs.js');
13
13
  require('../../useRenderElement-cjs.js');
14
14
  require('../../ScrollAreaViewport-cjs.js');
15
15
  require('../../useScrollLock-cjs.js');
16
- require('../../floating-ui.utils-cjs.js');
17
16
  require('react/jsx-runtime');
18
17
  require('react-dom');
19
18
  require('../../scrollEdges-cjs.js');
19
+ require('../../scrollable-cjs.js');
20
20
 
21
21
 
22
22
 
@@ -11,7 +11,7 @@ import '../../Typography-es.js';
11
11
  import '../../useRenderElement-es.js';
12
12
  import '../../ScrollAreaViewport-es.js';
13
13
  import '../../useScrollLock-es.js';
14
- import '../../floating-ui.utils-es.js';
15
14
  import 'react/jsx-runtime';
16
15
  import 'react-dom';
17
16
  import '../../scrollEdges-es.js';
17
+ import '../../scrollable-es.js';
@@ -8,7 +8,7 @@ declare function ComboboxInput({ className, ...inputProps }: ComboboxPrimitiveIn
8
8
  declare function ComboboxInputGroup({ className, ...inputGroupProps }: ComboboxPrimitiveInputGroupProps): React.JSX.Element;
9
9
  declare function ComboboxTrigger({ className, render, ...triggerProps }: ComboboxPrimitiveTriggerProps): React.JSX.Element;
10
10
  declare function ComboboxList({ className, ...listProps }: ComboboxPrimitiveListProps): React.JSX.Element;
11
- declare function ComboboxStatus(props: ComboboxPrimitiveStatusProps): React.JSX.Element;
11
+ declare function ComboboxStatus({ className, ...statusProps }: ComboboxPrimitiveStatusProps): React.JSX.Element;
12
12
  declare function ComboboxPortal(props: ComboboxPrimitivePortalProps): React.JSX.Element;
13
13
  declare function ComboboxBackdrop({ className, ...backdropProps }: ComboboxPrimitiveBackdropProps): React.JSX.Element;
14
14
  declare function ComboboxPositioner({ className, sideOffset, ...positionerProps }: ComboboxPrimitivePositionerProps): React.JSX.Element;
@@ -25,7 +25,7 @@ declare function ComboboxChipRemove({ className, ...chipRemoveProps }: ComboboxP
25
25
  declare function ComboboxRow({ className, ...rowProps }: ComboboxPrimitiveRowProps): React.JSX.Element;
26
26
  declare function ComboboxCollection(props: ComboboxPrimitiveCollectionProps): React.JSX.Element;
27
27
  declare function ComboboxEmpty({ className, ...emptyProps }: ComboboxPrimitiveEmptyProps): React.JSX.Element;
28
- declare function ComboboxClear({ className, ...clearProps }: ComboboxPrimitiveClearProps): React.JSX.Element;
28
+ declare function ComboboxClear({ className, render, ...clearProps }: ComboboxPrimitiveClearProps): React.JSX.Element;
29
29
  declare function ComboboxSeparator({ className, ...separatorProps }: ComboboxPrimitiveSeparatorProps): React.JSX.Element;
30
30
  declare const useFilter: typeof BaseCombobox.useFilter;
31
31
  declare const useFilteredItems: typeof BaseCombobox.useFilteredItems;
@@ -3,24 +3,23 @@
3
3
  var ComboboxPrimitive = require('../../ComboboxPrimitive-cjs.js');
4
4
  require('../../tslib.es6-cjs.js');
5
5
  require('react');
6
- require('classnames');
7
6
  require('../../buttonRenderAdapter-cjs.js');
8
7
  require('../../Button-cjs.js');
9
8
  require('react-router-dom');
9
+ require('classnames');
10
10
  require('../../Icon-cjs.js');
11
11
  require('@jobber/design');
12
12
  require('../../Typography-cjs.js');
13
13
  require('../../useRenderElement-cjs.js');
14
- require('../../ComboboxChipRemove-cjs.js');
14
+ require('../../mergeClassName-cjs.js');
15
+ require('../../ComboboxSeparator-cjs.js');
15
16
  require('../../useScrollLock-cjs.js');
16
- require('../../floating-ui.utils-cjs.js');
17
17
  require('react/jsx-runtime');
18
18
  require('react-dom');
19
19
  require('../../useCompositeListItem-cjs.js');
20
- require('../../floating-ui.react-dom-cjs.js');
21
20
  require('../../stringifyLocale-cjs.js');
21
+ require('../../scrollable-cjs.js');
22
22
  require('../../useLabel-cjs.js');
23
- require('../../Separator-cjs.js');
24
23
 
25
24
 
26
25
 
@@ -1,21 +1,20 @@
1
1
  export { C as ComboboxPrimitive } from '../../ComboboxPrimitive-es.js';
2
2
  import '../../tslib.es6-es.js';
3
3
  import 'react';
4
- import 'classnames';
5
4
  import '../../buttonRenderAdapter-es.js';
6
5
  import '../../Button-es.js';
7
6
  import 'react-router-dom';
7
+ import 'classnames';
8
8
  import '../../Icon-es.js';
9
9
  import '@jobber/design';
10
10
  import '../../Typography-es.js';
11
11
  import '../../useRenderElement-es.js';
12
- import '../../ComboboxChipRemove-es.js';
12
+ import '../../mergeClassName-es.js';
13
+ import '../../ComboboxSeparator-es.js';
13
14
  import '../../useScrollLock-es.js';
14
- import '../../floating-ui.utils-es.js';
15
15
  import 'react/jsx-runtime';
16
16
  import 'react-dom';
17
17
  import '../../useCompositeListItem-es.js';
18
- import '../../floating-ui.react-dom-es.js';
19
18
  import '../../stringifyLocale-es.js';
19
+ import '../../scrollable-es.js';
20
20
  import '../../useLabel-es.js';
21
- import '../../Separator-es.js';
@@ -4,6 +4,7 @@ var SelectPrimitive = require('../../SelectPrimitive-cjs.js');
4
4
  require('../../tslib.es6-cjs.js');
5
5
  require('react');
6
6
  require('classnames');
7
+ require('../../mergeClassName-cjs.js');
7
8
  require('../../Icon-cjs.js');
8
9
  require('@jobber/design');
9
10
  require('../../OverlaySeparator-cjs.js');
@@ -11,11 +12,9 @@ require('../../Separator-cjs.js');
11
12
  require('../../useRenderElement-cjs.js');
12
13
  require('../../SelectGroupLabel-cjs.js');
13
14
  require('../../useScrollLock-cjs.js');
14
- require('../../floating-ui.utils-cjs.js');
15
15
  require('react/jsx-runtime');
16
16
  require('react-dom');
17
17
  require('../../useCompositeListItem-cjs.js');
18
- require('../../floating-ui.react-dom-cjs.js');
19
18
  require('../../scrollEdges-cjs.js');
20
19
 
21
20
 
@@ -2,6 +2,7 @@ export { S as SelectPrimitive } from '../../SelectPrimitive-es.js';
2
2
  import '../../tslib.es6-es.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
+ import '../../mergeClassName-es.js';
5
6
  import '../../Icon-es.js';
6
7
  import '@jobber/design';
7
8
  import '../../OverlaySeparator-es.js';
@@ -9,9 +10,7 @@ import '../../Separator-es.js';
9
10
  import '../../useRenderElement-es.js';
10
11
  import '../../SelectGroupLabel-es.js';
11
12
  import '../../useScrollLock-es.js';
12
- import '../../floating-ui.utils-es.js';
13
13
  import 'react/jsx-runtime';
14
14
  import 'react-dom';
15
15
  import '../../useCompositeListItem-es.js';
16
- import '../../floating-ui.react-dom-es.js';
17
16
  import '../../scrollEdges-es.js';
@@ -18,14 +18,14 @@ require('@jobber/design');
18
18
  require('../Typography-cjs.js');
19
19
  require('../ScrollAreaViewport-cjs.js');
20
20
  require('../useScrollLock-cjs.js');
21
- require('../floating-ui.utils-cjs.js');
22
21
  require('react/jsx-runtime');
23
22
  require('react-dom');
24
23
  require('../scrollEdges-cjs.js');
24
+ require('../scrollable-cjs.js');
25
25
  require('../Text-cjs.js');
26
- require('../ComboboxChipRemove-cjs.js');
26
+ require('../mergeClassName-cjs.js');
27
+ require('../ComboboxSeparator-cjs.js');
27
28
  require('../useCompositeListItem-cjs.js');
28
- require('../floating-ui.react-dom-cjs.js');
29
29
  require('../stringifyLocale-cjs.js');
30
30
  require('../useLabel-cjs.js');
31
31
  require('../SelectGroupLabel-cjs.js');
@@ -16,14 +16,14 @@ import '@jobber/design';
16
16
  import '../Typography-es.js';
17
17
  import '../ScrollAreaViewport-es.js';
18
18
  import '../useScrollLock-es.js';
19
- import '../floating-ui.utils-es.js';
20
19
  import 'react/jsx-runtime';
21
20
  import 'react-dom';
22
21
  import '../scrollEdges-es.js';
22
+ import '../scrollable-es.js';
23
23
  import '../Text-es.js';
24
- import '../ComboboxChipRemove-es.js';
24
+ import '../mergeClassName-es.js';
25
+ import '../ComboboxSeparator-es.js';
25
26
  import '../useCompositeListItem-es.js';
26
- import '../floating-ui.react-dom-es.js';
27
27
  import '../stringifyLocale-es.js';
28
28
  import '../useLabel-es.js';
29
29
  import '../SelectGroupLabel-es.js';
@@ -28,10 +28,7 @@ const ARROW_LEFT = 'ArrowLeft';
28
28
  const ARROW_RIGHT = 'ArrowRight';
29
29
  const HOME = 'Home';
30
30
  const END = 'End';
31
- const HORIZONTAL_KEYS = new Set([ARROW_LEFT, ARROW_RIGHT]);
32
- const VERTICAL_KEYS = new Set([ARROW_UP, ARROW_DOWN]);
33
- const ARROW_KEYS = new Set([...HORIZONTAL_KEYS, ...VERTICAL_KEYS]);
34
- const COMPOSITE_KEYS = new Set([...ARROW_KEYS, HOME, END]);
31
+ const COMPOSITE_KEYS = new Set([ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, HOME, END]);
35
32
 
36
33
  function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
37
34
  return Math.max(min, Math.min(val, max));
@@ -51,18 +48,11 @@ const styleDisableScrollbar = {
51
48
  };
52
49
  if (process.env.NODE_ENV !== "production") styleDisableScrollbar.getElement.displayName = "styleDisableScrollbar.getElement";
53
50
 
54
- /**
55
- * @internal
56
- */
57
51
  const CSPContext = /*#__PURE__*/React__namespace.createContext(undefined);
58
52
  if (process.env.NODE_ENV !== "production") CSPContext.displayName = "CSPContext";
59
53
  const DEFAULT_CSP_CONTEXT_VALUE = {
60
54
  disableStyleElements: false
61
55
  };
62
-
63
- /**
64
- * @internal
65
- */
66
56
  function useCSPContext() {
67
57
  return React__namespace.useContext(CSPContext) ?? DEFAULT_CSP_CONTEXT_VALUE;
68
58
  }
@@ -7,10 +7,7 @@ const ARROW_LEFT = 'ArrowLeft';
7
7
  const ARROW_RIGHT = 'ArrowRight';
8
8
  const HOME = 'Home';
9
9
  const END = 'End';
10
- const HORIZONTAL_KEYS = new Set([ARROW_LEFT, ARROW_RIGHT]);
11
- const VERTICAL_KEYS = new Set([ARROW_UP, ARROW_DOWN]);
12
- const ARROW_KEYS = new Set([...HORIZONTAL_KEYS, ...VERTICAL_KEYS]);
13
- const COMPOSITE_KEYS = new Set([...ARROW_KEYS, HOME, END]);
10
+ const COMPOSITE_KEYS = new Set([ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, HOME, END]);
14
11
 
15
12
  function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
16
13
  return Math.max(min, Math.min(val, max));
@@ -30,18 +27,11 @@ const styleDisableScrollbar = {
30
27
  };
31
28
  if (process.env.NODE_ENV !== "production") styleDisableScrollbar.getElement.displayName = "styleDisableScrollbar.getElement";
32
29
 
33
- /**
34
- * @internal
35
- */
36
30
  const CSPContext = /*#__PURE__*/React.createContext(undefined);
37
31
  if (process.env.NODE_ENV !== "production") CSPContext.displayName = "CSPContext";
38
32
  const DEFAULT_CSP_CONTEXT_VALUE = {
39
33
  disableStyleElements: false
40
34
  };
41
-
42
- /**
43
- * @internal
44
- */
45
35
  function useCSPContext() {
46
36
  return React.useContext(CSPContext) ?? DEFAULT_CSP_CONTEXT_VALUE;
47
37
  }
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ var useScrollLock = require('./useScrollLock-cjs.js');
4
+
5
+ function isScrollableY(element, allowOverflowIntent = false) {
6
+ const {
7
+ overflowY
8
+ } = useScrollLock.getComputedStyle(element);
9
+ if (overflowY !== 'auto' && overflowY !== 'scroll') {
10
+ return false;
11
+ }
12
+ // When `allowOverflowIntent` is true, a container that overflows only once extra space is
13
+ // added (e.g. drawer keyboard scroll slack) still counts, as long as it has layout size on
14
+ // the axis.
15
+ return allowOverflowIntent ? element.clientHeight > 0 : element.scrollHeight > element.clientHeight;
16
+ }
17
+ function isScrollableX(element, allowOverflowIntent = false) {
18
+ const {
19
+ overflowX
20
+ } = useScrollLock.getComputedStyle(element);
21
+ if (overflowX !== 'auto' && overflowX !== 'scroll') {
22
+ return false;
23
+ }
24
+ return allowOverflowIntent ? element.clientWidth > 0 : element.scrollWidth > element.clientWidth;
25
+ }
26
+ function isScrollable(element, axis, allowOverflowIntent = false) {
27
+ return axis === 'vertical' ? isScrollableY(element, allowOverflowIntent) : isScrollableX(element, allowOverflowIntent);
28
+ }
29
+ function hasScrollableAncestor(target, root, axes) {
30
+ // `getParentNode` crosses shadow boundaries (and slots), so a target inside a shadow root
31
+ // still walks up to scrollable ancestors in the light DOM.
32
+ let node = target;
33
+ while (useScrollLock.isHTMLElement(node) && node !== root && !useScrollLock.isLastTraversableNode(node)) {
34
+ for (const axis of axes) {
35
+ if (isScrollable(node, axis)) {
36
+ return true;
37
+ }
38
+ }
39
+ node = useScrollLock.getParentNode(node);
40
+ }
41
+ return false;
42
+ }
43
+ function findScrollableTouchTarget(target, root, axis = 'vertical', allowOverflowIntent = false) {
44
+ // `getParentNode` crosses shadow boundaries (and slots), so a target inside a shadow root
45
+ // still reaches a scrollable ancestor in the light DOM.
46
+ let node = useScrollLock.isHTMLElement(target) ? target : null;
47
+ while (useScrollLock.isHTMLElement(node) && node !== root && !useScrollLock.isLastTraversableNode(node)) {
48
+ if (isScrollable(node, axis, allowOverflowIntent)) {
49
+ return node;
50
+ }
51
+ node = useScrollLock.getParentNode(node);
52
+ }
53
+ return isScrollable(root, axis, allowOverflowIntent) ? root : null;
54
+ }
55
+
56
+ exports.findScrollableTouchTarget = findScrollableTouchTarget;
57
+ exports.hasScrollableAncestor = hasScrollableAncestor;
58
+ exports.isScrollableY = isScrollableY;
@@ -0,0 +1,54 @@
1
+ import { g as getComputedStyle, i as isHTMLElement, a as isLastTraversableNode, b as getParentNode } from './useScrollLock-es.js';
2
+
3
+ function isScrollableY(element, allowOverflowIntent = false) {
4
+ const {
5
+ overflowY
6
+ } = getComputedStyle(element);
7
+ if (overflowY !== 'auto' && overflowY !== 'scroll') {
8
+ return false;
9
+ }
10
+ // When `allowOverflowIntent` is true, a container that overflows only once extra space is
11
+ // added (e.g. drawer keyboard scroll slack) still counts, as long as it has layout size on
12
+ // the axis.
13
+ return allowOverflowIntent ? element.clientHeight > 0 : element.scrollHeight > element.clientHeight;
14
+ }
15
+ function isScrollableX(element, allowOverflowIntent = false) {
16
+ const {
17
+ overflowX
18
+ } = getComputedStyle(element);
19
+ if (overflowX !== 'auto' && overflowX !== 'scroll') {
20
+ return false;
21
+ }
22
+ return allowOverflowIntent ? element.clientWidth > 0 : element.scrollWidth > element.clientWidth;
23
+ }
24
+ function isScrollable(element, axis, allowOverflowIntent = false) {
25
+ return axis === 'vertical' ? isScrollableY(element, allowOverflowIntent) : isScrollableX(element, allowOverflowIntent);
26
+ }
27
+ function hasScrollableAncestor(target, root, axes) {
28
+ // `getParentNode` crosses shadow boundaries (and slots), so a target inside a shadow root
29
+ // still walks up to scrollable ancestors in the light DOM.
30
+ let node = target;
31
+ while (isHTMLElement(node) && node !== root && !isLastTraversableNode(node)) {
32
+ for (const axis of axes) {
33
+ if (isScrollable(node, axis)) {
34
+ return true;
35
+ }
36
+ }
37
+ node = getParentNode(node);
38
+ }
39
+ return false;
40
+ }
41
+ function findScrollableTouchTarget(target, root, axis = 'vertical', allowOverflowIntent = false) {
42
+ // `getParentNode` crosses shadow boundaries (and slots), so a target inside a shadow root
43
+ // still reaches a scrollable ancestor in the light DOM.
44
+ let node = isHTMLElement(target) ? target : null;
45
+ while (isHTMLElement(node) && node !== root && !isLastTraversableNode(node)) {
46
+ if (isScrollable(node, axis, allowOverflowIntent)) {
47
+ return node;
48
+ }
49
+ node = getParentNode(node);
50
+ }
51
+ return isScrollable(root, axis, allowOverflowIntent) ? root : null;
52
+ }
53
+
54
+ export { findScrollableTouchTarget as f, hasScrollableAncestor as h, isScrollableY as i };