@danske/sapphire-react-lab 0.105.1 → 0.106.1

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 (214) hide show
  1. package/build/cjs/index.js +1528 -2227
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Accordion/index.js.map +1 -1
  4. package/build/esm/Accordion/src/Accordion.js +41 -73
  5. package/build/esm/Accordion/src/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/src/AccordionContext.js +3 -1
  7. package/build/esm/Accordion/src/AccordionContext.js.map +1 -1
  8. package/build/esm/Accordion/src/AccordionHeading.js +22 -54
  9. package/build/esm/Accordion/src/AccordionHeading.js.map +1 -1
  10. package/build/esm/Accordion/src/AccordionItem.js +15 -42
  11. package/build/esm/Accordion/src/AccordionItem.js.map +1 -1
  12. package/build/esm/Accordion/src/AccordionPanel.js +27 -44
  13. package/build/esm/Accordion/src/AccordionPanel.js.map +1 -1
  14. package/build/esm/Accordion/src/utils.js.map +1 -1
  15. package/build/esm/Alert/src/Alert.js +26 -64
  16. package/build/esm/Alert/src/Alert.js.map +1 -1
  17. package/build/esm/Amount/src/Amount.js +40 -62
  18. package/build/esm/Amount/src/Amount.js.map +1 -1
  19. package/build/esm/Amount/src/useGroupAmount.js +4 -1
  20. package/build/esm/Amount/src/useGroupAmount.js.map +1 -1
  21. package/build/esm/Autocomplete/i18n/da-DK.json.js +6 -0
  22. package/build/esm/Autocomplete/i18n/da-DK.json.js.map +1 -0
  23. package/build/esm/Autocomplete/i18n/de-DE.json.js +6 -0
  24. package/build/esm/Autocomplete/i18n/de-DE.json.js.map +1 -0
  25. package/build/esm/Autocomplete/i18n/en-US.json.js +6 -0
  26. package/build/esm/Autocomplete/i18n/en-US.json.js.map +1 -0
  27. package/build/esm/Autocomplete/i18n/fi-FI.json.js +6 -0
  28. package/build/esm/Autocomplete/i18n/fi-FI.json.js.map +1 -0
  29. package/build/esm/Autocomplete/i18n/index.js +9 -9
  30. package/build/esm/Autocomplete/i18n/index.js.map +1 -1
  31. package/build/esm/Autocomplete/i18n/nb-NO.json.js +6 -0
  32. package/build/esm/Autocomplete/i18n/nb-NO.json.js.map +1 -0
  33. package/build/esm/Autocomplete/i18n/pl-PL.json.js +6 -0
  34. package/build/esm/Autocomplete/i18n/pl-PL.json.js.map +1 -0
  35. package/build/esm/Autocomplete/i18n/sv-SE.json.js +6 -0
  36. package/build/esm/Autocomplete/i18n/sv-SE.json.js.map +1 -0
  37. package/build/esm/Autocomplete/src/Autocomplete.js +49 -74
  38. package/build/esm/Autocomplete/src/Autocomplete.js.map +1 -1
  39. package/build/esm/Breadcrumbs/src/BreadcrumbItem.js +44 -51
  40. package/build/esm/Breadcrumbs/src/BreadcrumbItem.js.map +1 -1
  41. package/build/esm/Breadcrumbs/src/BreadcrumbItemLink.js +18 -46
  42. package/build/esm/Breadcrumbs/src/BreadcrumbItemLink.js.map +1 -1
  43. package/build/esm/Breadcrumbs/src/BreadcrumbItemStatic.js +24 -45
  44. package/build/esm/Breadcrumbs/src/BreadcrumbItemStatic.js.map +1 -1
  45. package/build/esm/Breadcrumbs/src/BreadcrumbOverflowMenu.js +18 -11
  46. package/build/esm/Breadcrumbs/src/BreadcrumbOverflowMenu.js.map +1 -1
  47. package/build/esm/Breadcrumbs/src/Breadcrumbs.js +42 -61
  48. package/build/esm/Breadcrumbs/src/Breadcrumbs.js.map +1 -1
  49. package/build/esm/Breadcrumbs/src/BreadcrumbsSeparator.js +8 -6
  50. package/build/esm/Breadcrumbs/src/BreadcrumbsSeparator.js.map +1 -1
  51. package/build/esm/Breadcrumbs/src/useBreadcrumbThreshold.js +5 -5
  52. package/build/esm/Breadcrumbs/src/useBreadcrumbThreshold.js.map +1 -1
  53. package/build/esm/FileDropzone/i18n/{da-DK.js → da-DK.json.js} +3 -3
  54. package/build/esm/FileDropzone/i18n/da-DK.json.js.map +1 -0
  55. package/build/esm/FileDropzone/i18n/{de-DE.js → de-DE.json.js} +3 -3
  56. package/build/esm/FileDropzone/i18n/de-DE.json.js.map +1 -0
  57. package/build/esm/FileDropzone/i18n/{en-US.js → en-US.json.js} +3 -3
  58. package/build/esm/FileDropzone/i18n/en-US.json.js.map +1 -0
  59. package/build/esm/FileDropzone/i18n/{fi-FI.js → fi-FI.json.js} +3 -3
  60. package/build/esm/FileDropzone/i18n/fi-FI.json.js.map +1 -0
  61. package/build/esm/FileDropzone/i18n/index.js +9 -9
  62. package/build/esm/FileDropzone/i18n/index.js.map +1 -1
  63. package/build/esm/FileDropzone/i18n/{nb-NO.js → nb-NO.json.js} +3 -3
  64. package/build/esm/FileDropzone/i18n/nb-NO.json.js.map +1 -0
  65. package/build/esm/FileDropzone/i18n/{pl-PL.js → pl-PL.json.js} +3 -3
  66. package/build/esm/FileDropzone/i18n/pl-PL.json.js.map +1 -0
  67. package/build/esm/FileDropzone/i18n/{sv-SE.js → sv-SE.json.js} +3 -3
  68. package/build/esm/FileDropzone/i18n/sv-SE.json.js.map +1 -0
  69. package/build/esm/FileDropzone/src/FileDropzone.js +59 -84
  70. package/build/esm/FileDropzone/src/FileDropzone.js.map +1 -1
  71. package/build/esm/FileDropzone/src/FileTrigger.js +26 -59
  72. package/build/esm/FileDropzone/src/FileTrigger.js.map +1 -1
  73. package/build/esm/FileDropzone/src/utils.js.map +1 -1
  74. package/build/esm/Filtering/src/FilterDropdown.js +88 -110
  75. package/build/esm/Filtering/src/FilterDropdown.js.map +1 -1
  76. package/build/esm/Filtering/src/SearchableSelectFilter.js +38 -58
  77. package/build/esm/Filtering/src/SearchableSelectFilter.js.map +1 -1
  78. package/build/esm/Flag/src/Flag.js +5 -37
  79. package/build/esm/Flag/src/Flag.js.map +1 -1
  80. package/build/esm/LabeledValue/src/LabeledValue.js +19 -53
  81. package/build/esm/LabeledValue/src/LabeledValue.js.map +1 -1
  82. package/build/esm/NumberField/i18n/da-DK.json.js +9 -0
  83. package/build/esm/NumberField/i18n/da-DK.json.js.map +1 -0
  84. package/build/esm/NumberField/i18n/de-DE.json.js +9 -0
  85. package/build/esm/NumberField/i18n/de-DE.json.js.map +1 -0
  86. package/build/esm/NumberField/i18n/en-US.json.js +9 -0
  87. package/build/esm/NumberField/i18n/en-US.json.js.map +1 -0
  88. package/build/esm/NumberField/i18n/fi-FI.json.js +9 -0
  89. package/build/esm/NumberField/i18n/fi-FI.json.js.map +1 -0
  90. package/build/esm/NumberField/i18n/index.js +9 -9
  91. package/build/esm/NumberField/i18n/index.js.map +1 -1
  92. package/build/esm/NumberField/i18n/nb-NO.json.js +9 -0
  93. package/build/esm/NumberField/i18n/nb-NO.json.js.map +1 -0
  94. package/build/esm/NumberField/i18n/pl-PL.json.js +9 -0
  95. package/build/esm/NumberField/i18n/pl-PL.json.js.map +1 -0
  96. package/build/esm/NumberField/i18n/sv-SE.json.js +9 -0
  97. package/build/esm/NumberField/i18n/sv-SE.json.js.map +1 -0
  98. package/build/esm/NumberField/src/NumberField.js +125 -108
  99. package/build/esm/NumberField/src/NumberField.js.map +1 -1
  100. package/build/esm/NumberField/src/StepperButton.js +28 -50
  101. package/build/esm/NumberField/src/StepperButton.js.map +1 -1
  102. package/build/esm/NumberField/src/cursorHelpers.js +13 -8
  103. package/build/esm/NumberField/src/cursorHelpers.js.map +1 -1
  104. package/build/esm/NumberField/src/formatHelpers.js +15 -18
  105. package/build/esm/NumberField/src/formatHelpers.js.map +1 -1
  106. package/build/esm/NumberField/src/keyboardHelpers.js +13 -8
  107. package/build/esm/NumberField/src/keyboardHelpers.js.map +1 -1
  108. package/build/esm/NumberField/src/useAutofillStyle.js.map +1 -1
  109. package/build/esm/NumberField/src/useNumberFieldFormatting.js +79 -45
  110. package/build/esm/NumberField/src/useNumberFieldFormatting.js.map +1 -1
  111. package/build/esm/NumberField/src/useSapphireNumberField.js +13 -39
  112. package/build/esm/NumberField/src/useSapphireNumberField.js.map +1 -1
  113. package/build/esm/ProgressIndicator/src/ProgressIndicator.js +21 -33
  114. package/build/esm/ProgressIndicator/src/ProgressIndicator.js.map +1 -1
  115. package/build/esm/Sidebar/index.js.map +1 -1
  116. package/build/esm/Sidebar/src/Body.js +18 -43
  117. package/build/esm/Sidebar/src/Body.js.map +1 -1
  118. package/build/esm/Sidebar/src/ExpandableItem.js +86 -95
  119. package/build/esm/Sidebar/src/ExpandableItem.js.map +1 -1
  120. package/build/esm/Sidebar/src/Header.js +13 -43
  121. package/build/esm/Sidebar/src/Header.js.map +1 -1
  122. package/build/esm/Sidebar/src/Item.js +16 -43
  123. package/build/esm/Sidebar/src/Item.js.map +1 -1
  124. package/build/esm/Sidebar/src/List.js +13 -42
  125. package/build/esm/Sidebar/src/List.js.map +1 -1
  126. package/build/esm/Sidebar/src/Panel.js +56 -69
  127. package/build/esm/Sidebar/src/Panel.js.map +1 -1
  128. package/build/esm/Sidebar/src/ResponsiveSidebarContext.js +16 -8
  129. package/build/esm/Sidebar/src/ResponsiveSidebarContext.js.map +1 -1
  130. package/build/esm/Sidebar/src/SecondarySidebarContext.js +14 -11
  131. package/build/esm/Sidebar/src/SecondarySidebarContext.js.map +1 -1
  132. package/build/esm/Sidebar/src/Section.js +36 -49
  133. package/build/esm/Sidebar/src/Section.js.map +1 -1
  134. package/build/esm/Sidebar/src/Sidebar.js +62 -91
  135. package/build/esm/Sidebar/src/Sidebar.js.map +1 -1
  136. package/build/esm/Sidebar/src/useSidebar.js.map +1 -1
  137. package/build/esm/Slider/index.js.map +1 -1
  138. package/build/esm/Slider/src/Slider.js +46 -71
  139. package/build/esm/Slider/src/Slider.js.map +1 -1
  140. package/build/esm/TagGroup/src/Tag.js +66 -82
  141. package/build/esm/TagGroup/src/Tag.js.map +1 -1
  142. package/build/esm/TagGroup/src/TagGroup.js +44 -65
  143. package/build/esm/TagGroup/src/TagGroup.js.map +1 -1
  144. package/build/esm/TagGroup/src/TagItem.js.map +1 -1
  145. package/build/esm/TimeField/i18n/da-DK.json.js +7 -0
  146. package/build/esm/TimeField/i18n/da-DK.json.js.map +1 -0
  147. package/build/esm/TimeField/i18n/de-DE.json.js +7 -0
  148. package/build/esm/TimeField/i18n/de-DE.json.js.map +1 -0
  149. package/build/esm/TimeField/i18n/en-US.json.js +7 -0
  150. package/build/esm/TimeField/i18n/en-US.json.js.map +1 -0
  151. package/build/esm/TimeField/i18n/fi-FI.json.js +7 -0
  152. package/build/esm/TimeField/i18n/fi-FI.json.js.map +1 -0
  153. package/build/esm/TimeField/i18n/index.js +7 -7
  154. package/build/esm/TimeField/i18n/index.js.map +1 -1
  155. package/build/esm/TimeField/i18n/nb-NO.json.js +7 -0
  156. package/build/esm/TimeField/i18n/nb-NO.json.js.map +1 -0
  157. package/build/esm/TimeField/i18n/pl-PL.json.js +7 -0
  158. package/build/esm/TimeField/i18n/pl-PL.json.js.map +1 -0
  159. package/build/esm/TimeField/i18n/{sv-SE.js → sv-SE.json.js} +1 -1
  160. package/build/esm/TimeField/i18n/sv-SE.json.js.map +1 -0
  161. package/build/esm/TimeField/src/TimeField.js +62 -80
  162. package/build/esm/TimeField/src/TimeField.js.map +1 -1
  163. package/build/esm/TimeField/src/TimeFieldSegment.js +24 -36
  164. package/build/esm/TimeField/src/TimeFieldSegment.js.map +1 -1
  165. package/build/index.d.ts +13 -12
  166. package/package.json +6 -6
  167. package/build/esm/Autocomplete/i18n/da-DK.js +0 -6
  168. package/build/esm/Autocomplete/i18n/da-DK.js.map +0 -1
  169. package/build/esm/Autocomplete/i18n/de-DE.js +0 -6
  170. package/build/esm/Autocomplete/i18n/de-DE.js.map +0 -1
  171. package/build/esm/Autocomplete/i18n/en-US.js +0 -6
  172. package/build/esm/Autocomplete/i18n/en-US.js.map +0 -1
  173. package/build/esm/Autocomplete/i18n/fi-FI.js +0 -6
  174. package/build/esm/Autocomplete/i18n/fi-FI.js.map +0 -1
  175. package/build/esm/Autocomplete/i18n/nb-NO.js +0 -6
  176. package/build/esm/Autocomplete/i18n/nb-NO.js.map +0 -1
  177. package/build/esm/Autocomplete/i18n/pl-PL.js +0 -6
  178. package/build/esm/Autocomplete/i18n/pl-PL.js.map +0 -1
  179. package/build/esm/Autocomplete/i18n/sv-SE.js +0 -6
  180. package/build/esm/Autocomplete/i18n/sv-SE.js.map +0 -1
  181. package/build/esm/FileDropzone/i18n/da-DK.js.map +0 -1
  182. package/build/esm/FileDropzone/i18n/de-DE.js.map +0 -1
  183. package/build/esm/FileDropzone/i18n/en-US.js.map +0 -1
  184. package/build/esm/FileDropzone/i18n/fi-FI.js.map +0 -1
  185. package/build/esm/FileDropzone/i18n/nb-NO.js.map +0 -1
  186. package/build/esm/FileDropzone/i18n/pl-PL.js.map +0 -1
  187. package/build/esm/FileDropzone/i18n/sv-SE.js.map +0 -1
  188. package/build/esm/NumberField/i18n/da-DK.js +0 -9
  189. package/build/esm/NumberField/i18n/da-DK.js.map +0 -1
  190. package/build/esm/NumberField/i18n/de-DE.js +0 -9
  191. package/build/esm/NumberField/i18n/de-DE.js.map +0 -1
  192. package/build/esm/NumberField/i18n/en-US.js +0 -9
  193. package/build/esm/NumberField/i18n/en-US.js.map +0 -1
  194. package/build/esm/NumberField/i18n/fi-FI.js +0 -9
  195. package/build/esm/NumberField/i18n/fi-FI.js.map +0 -1
  196. package/build/esm/NumberField/i18n/nb-NO.js +0 -9
  197. package/build/esm/NumberField/i18n/nb-NO.js.map +0 -1
  198. package/build/esm/NumberField/i18n/pl-PL.js +0 -9
  199. package/build/esm/NumberField/i18n/pl-PL.js.map +0 -1
  200. package/build/esm/NumberField/i18n/sv-SE.js +0 -9
  201. package/build/esm/NumberField/i18n/sv-SE.js.map +0 -1
  202. package/build/esm/TimeField/i18n/da-DK.js +0 -7
  203. package/build/esm/TimeField/i18n/da-DK.js.map +0 -1
  204. package/build/esm/TimeField/i18n/de-DE.js +0 -7
  205. package/build/esm/TimeField/i18n/de-DE.js.map +0 -1
  206. package/build/esm/TimeField/i18n/en-US.js +0 -7
  207. package/build/esm/TimeField/i18n/en-US.js.map +0 -1
  208. package/build/esm/TimeField/i18n/fi-FI.js +0 -7
  209. package/build/esm/TimeField/i18n/fi-FI.js.map +0 -1
  210. package/build/esm/TimeField/i18n/nb-NO.js +0 -7
  211. package/build/esm/TimeField/i18n/nb-NO.js.map +0 -1
  212. package/build/esm/TimeField/i18n/pl-PL.js +0 -7
  213. package/build/esm/TimeField/i18n/pl-PL.js.map +0 -1
  214. package/build/esm/TimeField/i18n/sv-SE.js.map +0 -1
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var clsx = require('clsx');
7
5
  var utils = require('@react-aria/utils');
@@ -45,26 +43,7 @@ var styles$a = require('@danske/sapphire-css/components/dateField/dateField.modu
45
43
  var datepicker = require('@react-aria/datepicker');
46
44
  var datepicker$1 = require('@react-stately/datepicker');
47
45
 
48
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
49
-
50
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
51
- var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
52
- var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
53
- var alertStyles__default = /*#__PURE__*/_interopDefaultLegacy(alertStyles);
54
- var styles__default$1 = /*#__PURE__*/_interopDefaultLegacy(styles$1);
55
- var styles__default$2 = /*#__PURE__*/_interopDefaultLegacy(styles$2);
56
- var styles__default$3 = /*#__PURE__*/_interopDefaultLegacy(styles$3);
57
- var styles__default$4 = /*#__PURE__*/_interopDefaultLegacy(styles$4);
58
- var styles__default$5 = /*#__PURE__*/_interopDefaultLegacy(styles$5);
59
- var textFieldStyles__default = /*#__PURE__*/_interopDefaultLegacy(textFieldStyles);
60
- var styles__default$6 = /*#__PURE__*/_interopDefaultLegacy(styles$6);
61
- var buttonStyles__default = /*#__PURE__*/_interopDefaultLegacy(buttonStyles);
62
- var styles__default$7 = /*#__PURE__*/_interopDefaultLegacy(styles$7);
63
- var styles__default$8 = /*#__PURE__*/_interopDefaultLegacy(styles$8);
64
- var styles__default$9 = /*#__PURE__*/_interopDefaultLegacy(styles$9);
65
- var styles__default$a = /*#__PURE__*/_interopDefaultLegacy(styles$a);
66
-
67
- const AccordionContext = React__default["default"].createContext({
46
+ const AccordionContext = React.createContext({
68
47
  sidePadding: void 0,
69
48
  headerLevel: 5
70
49
  });
@@ -73,85 +52,55 @@ function useAccordionContext() {
73
52
  if (context) {
74
53
  return context;
75
54
  }
76
- throw new Error("Accordion context can only be used within Accordion component.");
55
+ throw new Error(
56
+ "Accordion context can only be used within Accordion component."
57
+ );
77
58
  }
78
59
 
79
- var __defProp$x = Object.defineProperty;
80
- var __defProps$u = Object.defineProperties;
81
- var __getOwnPropDescs$u = Object.getOwnPropertyDescriptors;
82
- var __getOwnPropSymbols$x = Object.getOwnPropertySymbols;
83
- var __hasOwnProp$x = Object.prototype.hasOwnProperty;
84
- var __propIsEnum$x = Object.prototype.propertyIsEnumerable;
85
- var __defNormalProp$x = (obj, key, value) => key in obj ? __defProp$x(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
86
- var __spreadValues$x = (a, b) => {
87
- for (var prop in b || (b = {}))
88
- if (__hasOwnProp$x.call(b, prop))
89
- __defNormalProp$x(a, prop, b[prop]);
90
- if (__getOwnPropSymbols$x)
91
- for (var prop of __getOwnPropSymbols$x(b)) {
92
- if (__propIsEnum$x.call(b, prop))
93
- __defNormalProp$x(a, prop, b[prop]);
94
- }
95
- return a;
96
- };
97
- var __spreadProps$u = (a, b) => __defProps$u(a, __getOwnPropDescs$u(b));
98
- var __objRest$u = (source, exclude) => {
99
- var target = {};
100
- for (var prop in source)
101
- if (__hasOwnProp$x.call(source, prop) && exclude.indexOf(prop) < 0)
102
- target[prop] = source[prop];
103
- if (source != null && __getOwnPropSymbols$x)
104
- for (var prop of __getOwnPropSymbols$x(source)) {
105
- if (exclude.indexOf(prop) < 0 && __propIsEnum$x.call(source, prop))
106
- target[prop] = source[prop];
107
- }
108
- return target;
109
- };
110
- const Accordion = React.forwardRef(function Accordion2(_a, ref) {
111
- var _b = _a, {
112
- allowsMultipleExpanded = true,
113
- headerLevel = 5,
114
- hideLastDivider = false,
115
- hasNegativeSideMargin = false,
116
- sidePadding,
117
- children,
118
- expandedKeys,
119
- defaultExpandedKeys,
120
- onExpandedChange,
121
- isDisabled
122
- } = _b, props = __objRest$u(_b, [
123
- "allowsMultipleExpanded",
124
- "headerLevel",
125
- "hideLastDivider",
126
- "hasNegativeSideMargin",
127
- "sidePadding",
128
- "children",
129
- "expandedKeys",
130
- "defaultExpandedKeys",
131
- "onExpandedChange",
132
- "isDisabled"
133
- ]);
60
+ const Accordion = React.forwardRef(function Accordion2({
61
+ allowsMultipleExpanded = true,
62
+ headerLevel = 5,
63
+ hideLastDivider = false,
64
+ hasNegativeSideMargin = false,
65
+ sidePadding,
66
+ children,
67
+ expandedKeys,
68
+ defaultExpandedKeys,
69
+ onExpandedChange,
70
+ isDisabled,
71
+ ...props
72
+ }, ref) {
134
73
  sapphireReact.useThemeCheck();
135
74
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
136
75
  const forwardedRef = utils.useObjectRef(ref);
137
- return /* @__PURE__ */ React__default["default"].createElement(focus.FocusScope, null, /* @__PURE__ */ React__default["default"].createElement(AccordionContext.Provider, {
138
- value: { sidePadding, headerLevel }
139
- }, /* @__PURE__ */ React__default["default"].createElement(reactAriaComponents.DisclosureGroup, __spreadProps$u(__spreadValues$x({}, utils.filterDOMProps(props, { global: true, labelable: true })), {
140
- allowsMultipleExpanded,
141
- expandedKeys,
142
- defaultExpandedKeys,
143
- onExpandedChange,
144
- isDisabled,
145
- ref: forwardedRef,
146
- className: clsx__default["default"](styles__default["default"]["sapphire-accordion"], {
147
- [styles__default["default"]["sapphire-accordion--without-last-divider"]]: hideLastDivider,
148
- [styles__default["default"]["sapphire-accordion--negative-margin-self"]]: !sapphireReact.withTruthyZero(sidePadding) && hasNegativeSideMargin
149
- }, styleProps.className),
150
- style: __spreadValues$x(__spreadValues$x({}, sapphireReact.withTruthyZero(sidePadding) && hasNegativeSideMargin ? {
151
- marginLeft: typeof sidePadding === "string" ? `calc(${sidePadding} * -1)` : `-${sidePadding}px`,
152
- width: `calc(100% + calc(${sidePadding} * 2${typeof sidePadding === "string" ? "" : "px"}))`
153
- } : {}), styleProps.style)
154
- }), children)));
76
+ return /* @__PURE__ */ React.createElement(focus.FocusScope, null, /* @__PURE__ */ React.createElement(AccordionContext.Provider, { value: { sidePadding, headerLevel } }, /* @__PURE__ */ React.createElement(
77
+ reactAriaComponents.DisclosureGroup,
78
+ {
79
+ ...utils.filterDOMProps(props, { global: true, labelable: true }),
80
+ allowsMultipleExpanded,
81
+ expandedKeys,
82
+ defaultExpandedKeys,
83
+ onExpandedChange,
84
+ isDisabled,
85
+ ref: forwardedRef,
86
+ className: clsx(
87
+ styles["sapphire-accordion"],
88
+ {
89
+ [styles["sapphire-accordion--without-last-divider"]]: hideLastDivider,
90
+ [styles["sapphire-accordion--negative-margin-self"]]: !sapphireReact.withTruthyZero(sidePadding) && hasNegativeSideMargin
91
+ },
92
+ styleProps.className
93
+ ),
94
+ style: {
95
+ ...sapphireReact.withTruthyZero(sidePadding) && hasNegativeSideMargin ? {
96
+ marginLeft: typeof sidePadding === "string" ? `calc(${sidePadding} * -1)` : `-${sidePadding}px`,
97
+ width: `calc(100% + calc(${sidePadding} * 2${typeof sidePadding === "string" ? "" : "px"}))`
98
+ } : {},
99
+ ...styleProps.style
100
+ }
101
+ },
102
+ children
103
+ )));
155
104
  });
156
105
 
157
106
  const customPaddingStyleProps = (sidePadding) => ({
@@ -159,98 +108,36 @@ const customPaddingStyleProps = (sidePadding) => ({
159
108
  paddingRight: typeof sidePadding === "string" ? sidePadding : `${sidePadding}px`
160
109
  });
161
110
 
162
- var __defProp$w = Object.defineProperty;
163
- var __defProps$t = Object.defineProperties;
164
- var __getOwnPropDescs$t = Object.getOwnPropertyDescriptors;
165
- var __getOwnPropSymbols$w = Object.getOwnPropertySymbols;
166
- var __hasOwnProp$w = Object.prototype.hasOwnProperty;
167
- var __propIsEnum$w = Object.prototype.propertyIsEnumerable;
168
- var __defNormalProp$w = (obj, key, value) => key in obj ? __defProp$w(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
169
- var __spreadValues$w = (a, b) => {
170
- for (var prop in b || (b = {}))
171
- if (__hasOwnProp$w.call(b, prop))
172
- __defNormalProp$w(a, prop, b[prop]);
173
- if (__getOwnPropSymbols$w)
174
- for (var prop of __getOwnPropSymbols$w(b)) {
175
- if (__propIsEnum$w.call(b, prop))
176
- __defNormalProp$w(a, prop, b[prop]);
177
- }
178
- return a;
179
- };
180
- var __spreadProps$t = (a, b) => __defProps$t(a, __getOwnPropDescs$t(b));
181
- var __objRest$t = (source, exclude) => {
182
- var target = {};
183
- for (var prop in source)
184
- if (__hasOwnProp$w.call(source, prop) && exclude.indexOf(prop) < 0)
185
- target[prop] = source[prop];
186
- if (source != null && __getOwnPropSymbols$w)
187
- for (var prop of __getOwnPropSymbols$w(source)) {
188
- if (exclude.indexOf(prop) < 0 && __propIsEnum$w.call(source, prop))
189
- target[prop] = source[prop];
190
- }
191
- return target;
192
- };
193
- const AccordionHeading = React.forwardRef(function AccordionHeading2(_a, ref) {
194
- var _b = _a, { children, headerLevel } = _b, props = __objRest$t(_b, ["children", "headerLevel"]);
111
+ const AccordionHeading = React.forwardRef(function AccordionHeading2({ children, headerLevel, ...props }, ref) {
195
112
  const { sidePadding, headerLevel: contextHeaderLevel } = useAccordionContext();
196
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$t(__spreadValues$w({
197
- role: "heading",
198
- "aria-level": headerLevel != null ? headerLevel : contextHeaderLevel
199
- }, utils.filterDOMProps(props, { global: true })), {
200
- ref
201
- }), /* @__PURE__ */ React__default["default"].createElement(reactAriaComponents.Button, {
202
- slot: "trigger",
203
- className: ({ isFocusVisible }) => clsx__default["default"](styles__default["default"]["sapphire-accordion__item-header"], styles__default["default"]["js-focus"], {
204
- [styles__default["default"]["is-focus"]]: isFocusVisible
205
- }),
206
- style: sapphireReact.withTruthyZero(sidePadding) ? customPaddingStyleProps(sidePadding) : {}
207
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Heading, {
208
- level: 6,
209
- elementType: "span"
210
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
211
- className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-heading"])
212
- }, children)), /* @__PURE__ */ React__default["default"].createElement("div", {
213
- className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-arrow"])
214
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
215
- size: "lg"
216
- }, /* @__PURE__ */ React__default["default"].createElement(react.ChevronDown, null)))));
113
+ return /* @__PURE__ */ React.createElement(
114
+ "div",
115
+ {
116
+ role: "heading",
117
+ "aria-level": headerLevel ?? contextHeaderLevel,
118
+ ...utils.filterDOMProps(props, { global: true }),
119
+ ref
120
+ },
121
+ /* @__PURE__ */ React.createElement(
122
+ reactAriaComponents.Button,
123
+ {
124
+ slot: "trigger",
125
+ className: ({ isFocusVisible }) => clsx(styles["sapphire-accordion__item-header"], styles["js-focus"], {
126
+ [styles["is-focus"]]: isFocusVisible
127
+ }),
128
+ style: sapphireReact.withTruthyZero(sidePadding) ? customPaddingStyleProps(sidePadding) : {}
129
+ },
130
+ /* @__PURE__ */ React.createElement(sapphireReact.Typography.Heading, { level: 6, elementType: "span" }, /* @__PURE__ */ React.createElement("div", { className: clsx(styles["sapphire-accordion__item-heading"]) }, children)),
131
+ /* @__PURE__ */ React.createElement("div", { className: clsx(styles["sapphire-accordion__item-arrow"]) }, /* @__PURE__ */ React.createElement(sapphireReact.Icon, { size: "lg" }, /* @__PURE__ */ React.createElement(react.ChevronDown, null)))
132
+ )
133
+ );
217
134
  });
218
135
 
219
- var __defProp$v = Object.defineProperty;
220
- var __getOwnPropSymbols$v = Object.getOwnPropertySymbols;
221
- var __hasOwnProp$v = Object.prototype.hasOwnProperty;
222
- var __propIsEnum$v = Object.prototype.propertyIsEnumerable;
223
- var __defNormalProp$v = (obj, key, value) => key in obj ? __defProp$v(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
224
- var __spreadValues$v = (a, b) => {
225
- for (var prop in b || (b = {}))
226
- if (__hasOwnProp$v.call(b, prop))
227
- __defNormalProp$v(a, prop, b[prop]);
228
- if (__getOwnPropSymbols$v)
229
- for (var prop of __getOwnPropSymbols$v(b)) {
230
- if (__propIsEnum$v.call(b, prop))
231
- __defNormalProp$v(a, prop, b[prop]);
232
- }
233
- return a;
234
- };
235
- var __objRest$s = (source, exclude) => {
236
- var target = {};
237
- for (var prop in source)
238
- if (__hasOwnProp$v.call(source, prop) && exclude.indexOf(prop) < 0)
239
- target[prop] = source[prop];
240
- if (source != null && __getOwnPropSymbols$v)
241
- for (var prop of __getOwnPropSymbols$v(source)) {
242
- if (exclude.indexOf(prop) < 0 && __propIsEnum$v.call(source, prop))
243
- target[prop] = source[prop];
244
- }
245
- return target;
246
- };
247
- const AccordionItem = React.forwardRef(function AccordionItem2(_a, forwardedRef) {
248
- var _b = _a, { children, id } = _b, props = __objRest$s(_b, ["children", "id"]);
136
+ const AccordionItem = React.forwardRef(function AccordionItem2({ children, id, ...props }, forwardedRef) {
249
137
  const ref = utils.useObjectRef(forwardedRef);
250
138
  const focusManager = focus.useFocusManager();
251
139
  const onKeyDown = (e) => {
252
- if (!focusManager)
253
- return;
140
+ if (!focusManager) return;
254
141
  if (!(e.target instanceof Element) || e.target.getAttribute("slot") !== "trigger")
255
142
  return;
256
143
  switch (e.key) {
@@ -275,63 +162,49 @@ const AccordionItem = React.forwardRef(function AccordionItem2(_a, forwardedRef)
275
162
  }
276
163
  };
277
164
  utils.useEvent(ref, "keydown", onKeyDown);
278
- return /* @__PURE__ */ React__default["default"].createElement(reactAriaComponents.Disclosure, __spreadValues$v({
279
- ref,
280
- id,
281
- className: ({ isExpanded, isDisabled }) => clsx__default["default"](styles__default["default"]["sapphire-accordion__item"], {
282
- [styles__default["default"]["sapphire-accordion__item--open"]]: isExpanded,
283
- [styles__default["default"]["is-disabled"]]: isDisabled
284
- })
285
- }, props), /* @__PURE__ */ React__default["default"].createElement("div", {
286
- className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-content-wrapper"])
287
- }, children));
165
+ return /* @__PURE__ */ React.createElement(
166
+ reactAriaComponents.Disclosure,
167
+ {
168
+ ref,
169
+ id,
170
+ className: ({ isExpanded, isDisabled }) => clsx(styles["sapphire-accordion__item"], {
171
+ [styles["sapphire-accordion__item--open"]]: isExpanded,
172
+ [styles["is-disabled"]]: isDisabled
173
+ }),
174
+ ...props
175
+ },
176
+ /* @__PURE__ */ React.createElement("div", { className: clsx(styles["sapphire-accordion__item-content-wrapper"]) }, children)
177
+ );
288
178
  });
289
179
 
290
- var __defProp$u = Object.defineProperty;
291
- var __defProps$s = Object.defineProperties;
292
- var __getOwnPropDescs$s = Object.getOwnPropertyDescriptors;
293
- var __getOwnPropSymbols$u = Object.getOwnPropertySymbols;
294
- var __hasOwnProp$u = Object.prototype.hasOwnProperty;
295
- var __propIsEnum$u = Object.prototype.propertyIsEnumerable;
296
- var __defNormalProp$u = (obj, key, value) => key in obj ? __defProp$u(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
297
- var __spreadValues$u = (a, b) => {
298
- for (var prop in b || (b = {}))
299
- if (__hasOwnProp$u.call(b, prop))
300
- __defNormalProp$u(a, prop, b[prop]);
301
- if (__getOwnPropSymbols$u)
302
- for (var prop of __getOwnPropSymbols$u(b)) {
303
- if (__propIsEnum$u.call(b, prop))
304
- __defNormalProp$u(a, prop, b[prop]);
305
- }
306
- return a;
307
- };
308
- var __spreadProps$s = (a, b) => __defProps$s(a, __getOwnPropDescs$s(b));
309
- var __objRest$r = (source, exclude) => {
310
- var target = {};
311
- for (var prop in source)
312
- if (__hasOwnProp$u.call(source, prop) && exclude.indexOf(prop) < 0)
313
- target[prop] = source[prop];
314
- if (source != null && __getOwnPropSymbols$u)
315
- for (var prop of __getOwnPropSymbols$u(source)) {
316
- if (exclude.indexOf(prop) < 0 && __propIsEnum$u.call(source, prop))
317
- target[prop] = source[prop];
318
- }
319
- return target;
320
- };
321
- const AccordionPanel = React.forwardRef(function AccordionPanel2(_a, ref) {
322
- var _b = _a, { children } = _b, props = __objRest$r(_b, ["children"]);
180
+ const AccordionPanel = React.forwardRef(function AccordionPanel2({ children, ...props }, ref) {
323
181
  const { sidePadding } = useAccordionContext();
324
- return /* @__PURE__ */ React__default["default"].createElement(reactAriaComponents.DisclosurePanel, __spreadValues$u(__spreadProps$s(__spreadValues$u({
325
- ref
326
- }, utils.filterDOMProps(props, { global: true })), {
327
- className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-content"]),
328
- style: {
329
- height: "var(--disclosure-panel-height)"
330
- }
331
- }), props), /* @__PURE__ */ React__default["default"].createElement("div", {
332
- style: __spreadValues$u({}, sapphireReact.withTruthyZero(sidePadding) ? customPaddingStyleProps(sidePadding) : {}),
333
- className: styles__default["default"]["sapphire-accordion__item-content-inner"]
334
- }, children));
182
+ return /* @__PURE__ */ React.createElement(
183
+ reactAriaComponents.DisclosurePanel,
184
+ {
185
+ ref,
186
+ ...utils.filterDOMProps(props, { global: true }),
187
+ className: clsx(styles["sapphire-accordion__item-content"]),
188
+ style: {
189
+ /**
190
+ * useDisclosure hook from react-aria uses css variable --disclosure-panel-height to
191
+ * animate the height of the panel.
192
+ */
193
+ height: "var(--disclosure-panel-height)"
194
+ },
195
+ ...props
196
+ },
197
+ /* @__PURE__ */ React.createElement(
198
+ "div",
199
+ {
200
+ style: {
201
+ ...sapphireReact.withTruthyZero(sidePadding) ? customPaddingStyleProps(sidePadding) : {}
202
+ },
203
+ className: styles["sapphire-accordion__item-content-inner"]
204
+ },
205
+ children
206
+ )
207
+ );
335
208
  });
336
209
 
337
210
  const _Accordion = Object.assign(Accordion, {
@@ -340,47 +213,12 @@ const _Accordion = Object.assign(Accordion, {
340
213
  Panel: AccordionPanel
341
214
  });
342
215
 
343
- var __defProp$t = Object.defineProperty;
344
- var __defProps$r = Object.defineProperties;
345
- var __getOwnPropDescs$r = Object.getOwnPropertyDescriptors;
346
- var __getOwnPropSymbols$t = Object.getOwnPropertySymbols;
347
- var __hasOwnProp$t = Object.prototype.hasOwnProperty;
348
- var __propIsEnum$t = Object.prototype.propertyIsEnumerable;
349
- var __defNormalProp$t = (obj, key, value) => key in obj ? __defProp$t(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
350
- var __spreadValues$t = (a, b) => {
351
- for (var prop in b || (b = {}))
352
- if (__hasOwnProp$t.call(b, prop))
353
- __defNormalProp$t(a, prop, b[prop]);
354
- if (__getOwnPropSymbols$t)
355
- for (var prop of __getOwnPropSymbols$t(b)) {
356
- if (__propIsEnum$t.call(b, prop))
357
- __defNormalProp$t(a, prop, b[prop]);
358
- }
359
- return a;
360
- };
361
- var __spreadProps$r = (a, b) => __defProps$r(a, __getOwnPropDescs$r(b));
362
- var __objRest$q = (source, exclude) => {
363
- var target = {};
364
- for (var prop in source)
365
- if (__hasOwnProp$t.call(source, prop) && exclude.indexOf(prop) < 0)
366
- target[prop] = source[prop];
367
- if (source != null && __getOwnPropSymbols$t)
368
- for (var prop of __getOwnPropSymbols$t(source)) {
369
- if (exclude.indexOf(prop) < 0 && __propIsEnum$t.call(source, prop))
370
- target[prop] = source[prop];
371
- }
372
- return target;
373
- };
374
- function Alert(_a) {
375
- var _b = _a, {
376
- children,
377
- title,
378
- variant = "info"
379
- } = _b, props = __objRest$q(_b, [
380
- "children",
381
- "title",
382
- "variant"
383
- ]);
216
+ function Alert({
217
+ children,
218
+ title,
219
+ variant = "info",
220
+ ...props
221
+ }) {
384
222
  sapphireReact.useThemeCheck();
385
223
  const {
386
224
  styleProps: { style, className }
@@ -388,38 +226,35 @@ function Alert(_a) {
388
226
  const getIcon = (variant2) => {
389
227
  switch (variant2) {
390
228
  case "warning":
391
- return /* @__PURE__ */ React__default["default"].createElement(react.Warning, null);
229
+ return /* @__PURE__ */ React.createElement(react.Warning, null);
392
230
  case "positive":
393
- return /* @__PURE__ */ React__default["default"].createElement(react.CheckmarkOutline, null);
231
+ return /* @__PURE__ */ React.createElement(react.CheckmarkOutline, null);
394
232
  case "negative":
395
- return /* @__PURE__ */ React__default["default"].createElement(react.Error, null);
233
+ return /* @__PURE__ */ React.createElement(react.Error, null);
396
234
  default:
397
- return /* @__PURE__ */ React__default["default"].createElement(react.Information, null);
235
+ return /* @__PURE__ */ React.createElement(react.Information, null);
398
236
  }
399
237
  };
400
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$r(__spreadValues$t({}, utils.filterDOMProps(props, { global: true })), {
401
- className: clsx.clsx(alertStyles__default["default"]["sapphire-alert"], {
402
- [alertStyles__default["default"]["sapphire-alert--positive"]]: variant === "positive",
403
- [alertStyles__default["default"]["sapphire-alert--negative"]]: variant === "negative",
404
- [alertStyles__default["default"]["sapphire-alert--warning"]]: variant === "warning"
405
- }, className),
406
- style,
407
- role: "alert"
408
- }), /* @__PURE__ */ React__default["default"].createElement("span", {
409
- className: alertStyles__default["default"]["sapphire-alert__icon"]
410
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
411
- size: "sm"
412
- }, getIcon(variant))), /* @__PURE__ */ React__default["default"].createElement("div", {
413
- className: alertStyles__default["default"]["sapphire-alert__title"]
414
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Body, {
415
- size: "sm",
416
- isSemibold: true
417
- }, title)), /* @__PURE__ */ React__default["default"].createElement("div", {
418
- className: alertStyles__default["default"]["sapphire-alert__content"]
419
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Body, {
420
- elementType: "section",
421
- size: "md"
422
- }, children)));
238
+ return /* @__PURE__ */ React.createElement(
239
+ "div",
240
+ {
241
+ ...utils.filterDOMProps(props, { global: true }),
242
+ className: clsx.clsx(
243
+ alertStyles["sapphire-alert"],
244
+ {
245
+ [alertStyles["sapphire-alert--positive"]]: variant === "positive",
246
+ [alertStyles["sapphire-alert--negative"]]: variant === "negative",
247
+ [alertStyles["sapphire-alert--warning"]]: variant === "warning"
248
+ },
249
+ className
250
+ ),
251
+ style,
252
+ role: "alert"
253
+ },
254
+ /* @__PURE__ */ React.createElement("span", { className: alertStyles["sapphire-alert__icon"] }, /* @__PURE__ */ React.createElement(sapphireReact.Icon, { size: "sm" }, getIcon(variant))),
255
+ /* @__PURE__ */ React.createElement("div", { className: alertStyles["sapphire-alert__title"] }, /* @__PURE__ */ React.createElement(sapphireReact.Typography.Body, { size: "sm", isSemibold: true }, title)),
256
+ /* @__PURE__ */ React.createElement("div", { className: alertStyles["sapphire-alert__content"] }, /* @__PURE__ */ React.createElement(sapphireReact.Typography.Body, { elementType: "section", size: "md" }, children))
257
+ );
423
258
  }
424
259
 
425
260
  const useGroupAmount = (value, formatter) => {
@@ -449,76 +284,57 @@ const useGroupAmount = (value, formatter) => {
449
284
  }
450
285
  return result;
451
286
  }, [numberValue, formatter]);
452
- const formattedValue = React.useMemo(() => groupedParts.map((part) => part.value).join(""), [groupedParts]);
287
+ const formattedValue = React.useMemo(
288
+ () => groupedParts.map((part) => part.value).join(""),
289
+ [groupedParts]
290
+ );
453
291
  return { formattedValue, groupedParts };
454
292
  };
455
293
 
456
- var __defProp$s = Object.defineProperty;
457
- var __defProps$q = Object.defineProperties;
458
- var __getOwnPropDescs$q = Object.getOwnPropertyDescriptors;
459
- var __getOwnPropSymbols$s = Object.getOwnPropertySymbols;
460
- var __hasOwnProp$s = Object.prototype.hasOwnProperty;
461
- var __propIsEnum$s = Object.prototype.propertyIsEnumerable;
462
- var __defNormalProp$s = (obj, key, value) => key in obj ? __defProp$s(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
463
- var __spreadValues$s = (a, b) => {
464
- for (var prop in b || (b = {}))
465
- if (__hasOwnProp$s.call(b, prop))
466
- __defNormalProp$s(a, prop, b[prop]);
467
- if (__getOwnPropSymbols$s)
468
- for (var prop of __getOwnPropSymbols$s(b)) {
469
- if (__propIsEnum$s.call(b, prop))
470
- __defNormalProp$s(a, prop, b[prop]);
471
- }
472
- return a;
473
- };
474
- var __spreadProps$q = (a, b) => __defProps$q(a, __getOwnPropDescs$q(b));
475
- var __objRest$p = (source, exclude) => {
476
- var target = {};
477
- for (var prop in source)
478
- if (__hasOwnProp$s.call(source, prop) && exclude.indexOf(prop) < 0)
479
- target[prop] = source[prop];
480
- if (source != null && __getOwnPropSymbols$s)
481
- for (var prop of __getOwnPropSymbols$s(source)) {
482
- if (exclude.indexOf(prop) < 0 && __propIsEnum$s.call(source, prop))
483
- target[prop] = source[prop];
484
- }
485
- return target;
486
- };
487
- const Amount = (_a) => {
488
- var _b = _a, {
489
- emphasis = "regular",
490
- variant,
491
- formatOptions,
492
- value,
493
- size
494
- } = _b, props = __objRest$p(_b, [
495
- "emphasis",
496
- "variant",
497
- "formatOptions",
498
- "value",
499
- "size"
500
- ]);
294
+ const Amount = ({
295
+ emphasis = "regular",
296
+ variant,
297
+ formatOptions,
298
+ value,
299
+ size,
300
+ ...props
301
+ }) => {
501
302
  sapphireReact.useThemeCheck();
502
303
  const { styleProps, filteredProps } = sapphireReact.useSapphireStyleProps(props);
503
304
  const { locale } = i18n.useLocale();
504
- const formatter = React.useMemo(() => new Intl.NumberFormat(locale, __spreadValues$s({
505
- style: (formatOptions == null ? void 0 : formatOptions.currency) ? "currency" : void 0,
506
- signDisplay: (formatOptions == null ? void 0 : formatOptions.signDisplay) || String(value).startsWith("+") ? "always" : "auto",
507
- minimumFractionDigits: 2
508
- }, formatOptions)), [locale, formatOptions, value]);
305
+ const formatter = React.useMemo(
306
+ () => new Intl.NumberFormat(locale, {
307
+ style: formatOptions?.currency ? "currency" : void 0,
308
+ /**
309
+ * Always show the sign if the value starts with '+' or '-'.
310
+ */
311
+ signDisplay: formatOptions?.signDisplay || String(value).startsWith("+") ? "always" : "auto",
312
+ minimumFractionDigits: 2,
313
+ ...formatOptions
314
+ }),
315
+ [locale, formatOptions, value]
316
+ );
509
317
  const { formattedValue, groupedParts } = useGroupAmount(value, formatter);
510
- return /* @__PURE__ */ React__default["default"].createElement("span", __spreadProps$q(__spreadValues$s({
511
- style: styleProps.style,
512
- className: styles__default$1["default"]["sapphire-amount"]
513
- }, filteredProps), {
514
- "aria-label": formattedValue
515
- }), groupedParts.map((part, index) => /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Body, {
516
- elementType: "span",
517
- key: index,
518
- color: variant === "positive" ? "positive" : "primary",
519
- isSemibold: emphasis === "primary" ? true : false,
520
- size
521
- }, part.value)));
318
+ return /* @__PURE__ */ React.createElement(
319
+ "span",
320
+ {
321
+ style: styleProps.style,
322
+ className: styles$1["sapphire-amount"],
323
+ ...filteredProps,
324
+ "aria-label": formattedValue
325
+ },
326
+ groupedParts.map((part, index) => /* @__PURE__ */ React.createElement(
327
+ sapphireReact.Typography.Body,
328
+ {
329
+ elementType: "span",
330
+ key: index,
331
+ color: variant === "positive" ? "positive" : "primary",
332
+ isSemibold: emphasis === "primary" ? true : false,
333
+ size
334
+ },
335
+ part.value
336
+ ))
337
+ );
522
338
  };
523
339
 
524
340
  var da$3 = {
@@ -559,58 +375,19 @@ var intlMessages$3 = {
559
375
  "sv-SE": se$3
560
376
  };
561
377
 
562
- var __defProp$r = Object.defineProperty;
563
- var __defProps$p = Object.defineProperties;
564
- var __getOwnPropDescs$p = Object.getOwnPropertyDescriptors;
565
- var __getOwnPropSymbols$r = Object.getOwnPropertySymbols;
566
- var __hasOwnProp$r = Object.prototype.hasOwnProperty;
567
- var __propIsEnum$r = Object.prototype.propertyIsEnumerable;
568
- var __defNormalProp$r = (obj, key, value) => key in obj ? __defProp$r(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
569
- var __spreadValues$r = (a, b) => {
570
- for (var prop in b || (b = {}))
571
- if (__hasOwnProp$r.call(b, prop))
572
- __defNormalProp$r(a, prop, b[prop]);
573
- if (__getOwnPropSymbols$r)
574
- for (var prop of __getOwnPropSymbols$r(b)) {
575
- if (__propIsEnum$r.call(b, prop))
576
- __defNormalProp$r(a, prop, b[prop]);
577
- }
578
- return a;
579
- };
580
- var __spreadProps$p = (a, b) => __defProps$p(a, __getOwnPropDescs$p(b));
581
- var __objRest$o = (source, exclude) => {
582
- var target = {};
583
- for (var prop in source)
584
- if (__hasOwnProp$r.call(source, prop) && exclude.indexOf(prop) < 0)
585
- target[prop] = source[prop];
586
- if (source != null && __getOwnPropSymbols$r)
587
- for (var prop of __getOwnPropSymbols$r(source)) {
588
- if (exclude.indexOf(prop) < 0 && __propIsEnum$r.call(source, prop))
589
- target[prop] = source[prop];
590
- }
591
- return target;
592
- };
593
378
  function Autocomplete(props) {
594
- var _b;
595
379
  sapphireReact.useThemeCheck();
596
380
  const formatMessage = i18n.useMessageFormatter(intlMessages$3);
597
- const _a = props, {
381
+ const {
598
382
  inputValue,
599
383
  renderInput,
600
384
  loadingState,
601
385
  loadingSkeletonRowsCount,
602
386
  listboxAriaLabel,
603
387
  onSuggestionSelected,
604
- onSelectionChange
605
- } = _a, otherProps = __objRest$o(_a, [
606
- "inputValue",
607
- "renderInput",
608
- "loadingState",
609
- "loadingSkeletonRowsCount",
610
- "listboxAriaLabel",
611
- "onSuggestionSelected",
612
- "onSelectionChange"
613
- ]);
388
+ onSelectionChange,
389
+ ...otherProps
390
+ } = props;
614
391
  const {
615
392
  styleProps: { style, className }
616
393
  } = sapphireReact.useSapphireStyleProps(props);
@@ -618,54 +395,68 @@ function Autocomplete(props) {
618
395
  const listBoxRef = utils$1.useFocusableRef(null);
619
396
  const popoverRef = React.useRef(null);
620
397
  const triggerRef = utils$1.useFocusableRef(null);
621
- const state = sapphireReact.useComboBoxState(__spreadProps$p(__spreadValues$r({}, props), {
398
+ const state = sapphireReact.useComboBoxState({
399
+ ...props,
622
400
  inputValue,
623
401
  allowsEmptyCollection: loadingState === "loading",
624
402
  allowsCustomValue: true,
625
403
  shouldCloseOnBlur: true,
626
404
  onSelectionChange: (key) => {
627
405
  if (key !== null) {
628
- onSelectionChange == null ? void 0 : onSelectionChange(key);
629
- onSuggestionSelected == null ? void 0 : onSuggestionSelected(key);
406
+ onSelectionChange?.(key);
407
+ onSuggestionSelected?.(key);
630
408
  }
631
409
  }
632
- }));
633
- const { inputProps, listBoxProps } = combobox.useComboBox(__spreadProps$p(__spreadValues$r({}, props), {
634
- "aria-label": listboxAriaLabel || formatMessage("listbox-suggestions"),
635
- inputRef,
636
- listBoxRef,
637
- popoverRef
638
- }), state);
639
- const inputElement = renderInput(__spreadProps$p(__spreadValues$r({}, inputProps), {
410
+ });
411
+ const { inputProps, listBoxProps } = combobox.useComboBox(
412
+ {
413
+ ...props,
414
+ "aria-label": listboxAriaLabel || formatMessage("listbox-suggestions"),
415
+ inputRef,
416
+ listBoxRef,
417
+ popoverRef
418
+ },
419
+ state
420
+ );
421
+ const inputElement = renderInput({
422
+ ...inputProps,
640
423
  isDisabled: props.isDisabled,
641
424
  inputRef,
642
425
  "aria-haspopup": "listbox",
643
426
  "aria-expanded": state.isOpen,
644
427
  onChange: (value) => {
645
- var _a2;
646
- (_a2 = inputProps.onChange) == null ? void 0 : _a2.call(inputProps, {
428
+ inputProps.onChange?.({
647
429
  target: { value },
648
430
  currentTarget: { value }
649
431
  });
650
432
  }
651
- }));
652
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$p(__spreadValues$r({
653
- ref: triggerRef
654
- }, utils.filterDOMProps(otherProps, { global: true })), {
655
- style: __spreadValues$r({ display: "inline-flex" }, style),
656
- className
657
- }), inputElement, state.isOpen && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ListBoxPopover, {
658
- state,
659
- triggerRef,
660
- popoverRef,
661
- listBoxRef,
662
- listBoxProps,
663
- loadingState,
664
- loadingSkeletonRowsCount,
665
- selectWidth: (_b = triggerRef.current) == null ? void 0 : _b.offsetWidth,
666
- disableSelectedStyles: true,
667
- isNonModal: true
668
- }, props.children || []));
433
+ });
434
+ return /* @__PURE__ */ React.createElement(
435
+ "div",
436
+ {
437
+ ref: triggerRef,
438
+ ...utils.filterDOMProps(otherProps, { global: true }),
439
+ style: { display: "inline-flex", ...style },
440
+ className
441
+ },
442
+ inputElement,
443
+ state.isOpen && /* @__PURE__ */ React.createElement(
444
+ sapphireReact.ListBoxPopover,
445
+ {
446
+ state,
447
+ triggerRef,
448
+ popoverRef,
449
+ listBoxRef,
450
+ listBoxProps,
451
+ loadingState,
452
+ loadingSkeletonRowsCount,
453
+ selectWidth: triggerRef.current?.offsetWidth,
454
+ disableSelectedStyles: true,
455
+ isNonModal: true
456
+ },
457
+ props.children || []
458
+ )
459
+ );
669
460
  }
670
461
 
671
462
  const useBreadcrumbThreshold = (childrenCount, containerRef, breadcrumbRef) => {
@@ -698,9 +489,10 @@ const useBreadcrumbThreshold = (childrenCount, containerRef, breadcrumbRef) => {
698
489
  };
699
490
  }, [itemWidths, containerWidth, childrenCount]);
700
491
  const computeItemWidths = () => {
701
- if (!breadcrumbRef.current)
702
- return;
703
- const breadcrumbItems = Array.from(breadcrumbRef.current.children);
492
+ if (!breadcrumbRef.current) return;
493
+ const breadcrumbItems = Array.from(
494
+ breadcrumbRef.current.children
495
+ );
704
496
  const widths = breadcrumbItems.map((item) => item.offsetWidth).filter(Boolean);
705
497
  if (widths.length === breadcrumbItems.length) {
706
498
  setItemWidths(widths);
@@ -714,8 +506,7 @@ const useBreadcrumbThreshold = (childrenCount, containerRef, breadcrumbRef) => {
714
506
  utils.useResizeObserver({
715
507
  ref: containerRef,
716
508
  onResize: () => {
717
- if (!containerRef.current)
718
- return;
509
+ if (!containerRef.current) return;
719
510
  setContainerWidth(containerRef.current.offsetWidth);
720
511
  }
721
512
  });
@@ -734,332 +525,233 @@ const useBreadcrumbThreshold = (childrenCount, containerRef, breadcrumbRef) => {
734
525
  };
735
526
  };
736
527
 
737
- var __defProp$q = Object.defineProperty;
738
- var __defProps$o = Object.defineProperties;
739
- var __getOwnPropDescs$o = Object.getOwnPropertyDescriptors;
740
- var __getOwnPropSymbols$q = Object.getOwnPropertySymbols;
741
- var __hasOwnProp$q = Object.prototype.hasOwnProperty;
742
- var __propIsEnum$q = Object.prototype.propertyIsEnumerable;
743
- var __defNormalProp$q = (obj, key, value) => key in obj ? __defProp$q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
744
- var __spreadValues$q = (a, b) => {
745
- for (var prop in b || (b = {}))
746
- if (__hasOwnProp$q.call(b, prop))
747
- __defNormalProp$q(a, prop, b[prop]);
748
- if (__getOwnPropSymbols$q)
749
- for (var prop of __getOwnPropSymbols$q(b)) {
750
- if (__propIsEnum$q.call(b, prop))
751
- __defNormalProp$q(a, prop, b[prop]);
752
- }
753
- return a;
754
- };
755
- var __spreadProps$o = (a, b) => __defProps$o(a, __getOwnPropDescs$o(b));
756
- var __objRest$n = (source, exclude) => {
757
- var target = {};
758
- for (var prop in source)
759
- if (__hasOwnProp$q.call(source, prop) && exclude.indexOf(prop) < 0)
760
- target[prop] = source[prop];
761
- if (source != null && __getOwnPropSymbols$q)
762
- for (var prop of __getOwnPropSymbols$q(source)) {
763
- if (exclude.indexOf(prop) < 0 && __propIsEnum$q.call(source, prop))
764
- target[prop] = source[prop];
765
- }
766
- return target;
767
- };
768
528
  const BreadcrumbsContext = React.createContext({ size: "md", overflowNodes: [] });
769
- const Breadcrumbs = React.forwardRef(function Breadcrumbs2(_a, fwdRef) {
770
- var _b = _a, { maxWidth, size = "md" } = _b, props = __objRest$n(_b, ["maxWidth", "size"]);
529
+ const Breadcrumbs = React.forwardRef(function Breadcrumbs2({ maxWidth, size = "md", ...props }, fwdRef) {
771
530
  const [RACprops, ref] = reactAriaComponents.useContextProps(props, fwdRef, reactAriaComponents.BreadcrumbsContext);
772
531
  const { styleProps } = sapphireReact.useSapphireStyleProps(RACprops);
773
532
  const containerRef = React.useRef(null);
774
533
  const { CollectionRoot } = React.useContext(reactAriaComponents.CollectionRendererContext);
775
534
  const { navProps } = breadcrumbs.useBreadcrumbs(RACprops);
776
535
  const DOMProps = utils.filterDOMProps(RACprops, { global: true });
777
- return /* @__PURE__ */ React__default["default"].createElement(collections.CollectionBuilder, {
778
- content: /* @__PURE__ */ React__default["default"].createElement(collections.Collection, __spreadValues$q({}, RACprops))
779
- }, (collection) => {
780
- const { overflowNodes } = useBreadcrumbThreshold(collection.size, containerRef, ref);
781
- const keys = Array.from(collection.getKeys());
782
- return /* @__PURE__ */ React__default["default"].createElement("div", {
783
- ref: containerRef,
784
- style: __spreadProps$o(__spreadValues$q({}, styleProps.style), {
785
- maxWidth,
786
- display: "flex"
787
- })
788
- }, /* @__PURE__ */ React__default["default"].createElement("ol", __spreadProps$o(__spreadValues$q({
536
+ return /* @__PURE__ */ React.createElement(collections.CollectionBuilder, { content: /* @__PURE__ */ React.createElement(collections.Collection, { ...RACprops }) }, (collection) => {
537
+ const { overflowNodes } = useBreadcrumbThreshold(
538
+ collection.size,
539
+ containerRef,
789
540
  ref
790
- }, utils.mergeProps(DOMProps, navProps)), {
791
- className: clsx__default["default"](styles__default$2["default"]["sapphire-breadcrumbs"], {
792
- [styles__default$2["default"]["sapphire-breadcrumbs--sm"]]: size === "sm",
793
- [styles__default$2["default"]["sapphire-breadcrumbs--lg"]]: size === "lg"
794
- })
795
- }), /* @__PURE__ */ React__default["default"].createElement(BreadcrumbsContext.Provider, {
796
- value: {
797
- size,
798
- overflowNodes: overflowNodes.map((index) => collection.getItem(keys[index])),
799
- isDisabled: RACprops.isDisabled
800
- }
801
- }, /* @__PURE__ */ React__default["default"].createElement(reactAriaComponents.BreadcrumbsContext.Provider, {
802
- value: RACprops
803
- }, /* @__PURE__ */ React__default["default"].createElement(CollectionRoot, {
804
- collection
805
- })))));
541
+ );
542
+ const keys = Array.from(collection.getKeys());
543
+ return /* @__PURE__ */ React.createElement(
544
+ "div",
545
+ {
546
+ ref: containerRef,
547
+ style: {
548
+ ...styleProps.style,
549
+ maxWidth,
550
+ display: "flex"
551
+ }
552
+ },
553
+ /* @__PURE__ */ React.createElement(
554
+ "ol",
555
+ {
556
+ ref,
557
+ ...utils.mergeProps(DOMProps, navProps),
558
+ className: clsx(styles$2["sapphire-breadcrumbs"], {
559
+ [styles$2["sapphire-breadcrumbs--sm"]]: size === "sm",
560
+ [styles$2["sapphire-breadcrumbs--lg"]]: size === "lg"
561
+ })
562
+ },
563
+ /* @__PURE__ */ React.createElement(
564
+ BreadcrumbsContext.Provider,
565
+ {
566
+ value: {
567
+ size,
568
+ overflowNodes: overflowNodes.map(
569
+ (index) => collection.getItem(keys[index])
570
+ ),
571
+ isDisabled: RACprops.isDisabled
572
+ }
573
+ },
574
+ /* @__PURE__ */ React.createElement(reactAriaComponents.BreadcrumbsContext.Provider, { value: RACprops }, /* @__PURE__ */ React.createElement(CollectionRoot, { collection }))
575
+ )
576
+ )
577
+ );
806
578
  });
807
579
  });
808
580
 
809
581
  const BreadcrumbsSeparator = () => {
810
582
  const { size } = React.useContext(BreadcrumbsContext);
811
583
  const iconSize = size === "lg" ? "md" : "sm";
812
- return /* @__PURE__ */ React__default["default"].createElement("span", {
813
- className: clsx__default["default"](styles__default$2["default"]["sapphire-breadcrumbs__separator"]),
814
- "aria-hidden": "true"
815
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
816
- size: iconSize
817
- }, /* @__PURE__ */ React__default["default"].createElement(react.ChevronRight, null)));
584
+ return /* @__PURE__ */ React.createElement(
585
+ "span",
586
+ {
587
+ className: clsx(styles$2["sapphire-breadcrumbs__separator"]),
588
+ "aria-hidden": "true"
589
+ },
590
+ /* @__PURE__ */ React.createElement(sapphireReact.Icon, { size: iconSize }, /* @__PURE__ */ React.createElement(react.ChevronRight, null))
591
+ );
818
592
  };
819
593
 
820
594
  const BreadcrumbOverflowMenu = () => {
821
595
  const { size, overflowNodes } = React.useContext(BreadcrumbsContext);
822
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Menu, {
823
- triggerElement: /* @__PURE__ */ React__default["default"].createElement(sapphireReact.IconButton, {
824
- "aria-label": "Show more breadcrumbs",
825
- size
826
- }, /* @__PURE__ */ React__default["default"].createElement(react.OverflowMenuHorizontal, null))
827
- }, overflowNodes.map((item) => !item ? null : /* @__PURE__ */ React__default["default"].createElement(sapphireReact.MenuItem, {
828
- key: item.key,
829
- id: item.key,
830
- href: item.href,
831
- isDisabled: !item.href
832
- }, item.rendered))), /* @__PURE__ */ React__default["default"].createElement(BreadcrumbsSeparator, null));
833
- };
834
-
835
- var __defProp$p = Object.defineProperty;
836
- var __defProps$n = Object.defineProperties;
837
- var __getOwnPropDescs$n = Object.getOwnPropertyDescriptors;
838
- var __getOwnPropSymbols$p = Object.getOwnPropertySymbols;
839
- var __hasOwnProp$p = Object.prototype.hasOwnProperty;
840
- var __propIsEnum$p = Object.prototype.propertyIsEnumerable;
841
- var __defNormalProp$p = (obj, key, value) => key in obj ? __defProp$p(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
842
- var __spreadValues$p = (a, b) => {
843
- for (var prop in b || (b = {}))
844
- if (__hasOwnProp$p.call(b, prop))
845
- __defNormalProp$p(a, prop, b[prop]);
846
- if (__getOwnPropSymbols$p)
847
- for (var prop of __getOwnPropSymbols$p(b)) {
848
- if (__propIsEnum$p.call(b, prop))
849
- __defNormalProp$p(a, prop, b[prop]);
850
- }
851
- return a;
852
- };
853
- var __spreadProps$n = (a, b) => __defProps$n(a, __getOwnPropDescs$n(b));
854
- var __objRest$m = (source, exclude) => {
855
- var target = {};
856
- for (var prop in source)
857
- if (__hasOwnProp$p.call(source, prop) && exclude.indexOf(prop) < 0)
858
- target[prop] = source[prop];
859
- if (source != null && __getOwnPropSymbols$p)
860
- for (var prop of __getOwnPropSymbols$p(source)) {
861
- if (exclude.indexOf(prop) < 0 && __propIsEnum$p.call(source, prop))
862
- target[prop] = source[prop];
863
- }
864
- return target;
865
- };
866
- const BreadcrumbItemStatic = React.forwardRef(function BreadcrumbItemStatic2(_a, ref) {
867
- var _b = _a, { size } = _b, props = __objRest$m(_b, ["size"]);
596
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
597
+ sapphireReact.Menu,
598
+ {
599
+ triggerElement: /* @__PURE__ */ React.createElement(sapphireReact.IconButton, { "aria-label": "Show more breadcrumbs", size }, /* @__PURE__ */ React.createElement(react.OverflowMenuHorizontal, null))
600
+ },
601
+ overflowNodes.map(
602
+ (item) => !item ? null : /* @__PURE__ */ React.createElement(
603
+ sapphireReact.MenuItem,
604
+ {
605
+ key: item.key,
606
+ id: item.key,
607
+ href: item.href,
608
+ isDisabled: !item.href
609
+ },
610
+ item.rendered
611
+ )
612
+ )
613
+ ), /* @__PURE__ */ React.createElement(BreadcrumbsSeparator, null));
614
+ };
615
+
616
+ const BreadcrumbItemStatic = React.forwardRef(function BreadcrumbItemStatic2({ size, ...props }, ref) {
868
617
  sapphireReact.useThemeCheck();
869
618
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
870
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.TooltipIfNeeded, {
871
- title: props.children
872
- }, (tooltipContentRef, tooltipProps) => {
873
- const positioningRef = tooltipProps == null ? void 0 : tooltipProps.ref;
874
- return /* @__PURE__ */ React__default["default"].createElement("span", __spreadProps$n(__spreadValues$p({}, tooltipProps), {
875
- ref: utils.mergeRefs(ref, tooltipContentRef, positioningRef),
876
- className: clsx__default["default"](styles__default$2["default"]["sapphire-breadcrumbs__item--static"], {
877
- [styles__default$2["default"]["sapphire-breadcrumbs__item--static--sm"]]: size === "sm",
878
- [styles__default$2["default"]["sapphire-breadcrumbs__item--static--lg"]]: size === "lg"
879
- }, styleProps.className),
880
- style: styleProps.style
881
- }), props.children);
619
+ return /* @__PURE__ */ React.createElement(sapphireReact.TooltipIfNeeded, { title: props.children }, (tooltipContentRef, tooltipProps) => {
620
+ const positioningRef = tooltipProps?.ref;
621
+ return /* @__PURE__ */ React.createElement(
622
+ "span",
623
+ {
624
+ ...tooltipProps,
625
+ ref: utils.mergeRefs(
626
+ ref,
627
+ tooltipContentRef,
628
+ positioningRef
629
+ ),
630
+ className: clsx(
631
+ styles$2["sapphire-breadcrumbs__item--static"],
632
+ {
633
+ [styles$2["sapphire-breadcrumbs__item--static--sm"]]: size === "sm",
634
+ [styles$2["sapphire-breadcrumbs__item--static--lg"]]: size === "lg"
635
+ },
636
+ styleProps.className
637
+ ),
638
+ style: styleProps.style
639
+ },
640
+ props.children
641
+ );
882
642
  });
883
643
  });
884
644
 
885
- var __defProp$o = Object.defineProperty;
886
- var __defProps$m = Object.defineProperties;
887
- var __getOwnPropDescs$m = Object.getOwnPropertyDescriptors;
888
- var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
889
- var __hasOwnProp$o = Object.prototype.hasOwnProperty;
890
- var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
891
- var __defNormalProp$o = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
892
- var __spreadValues$o = (a, b) => {
893
- for (var prop in b || (b = {}))
894
- if (__hasOwnProp$o.call(b, prop))
895
- __defNormalProp$o(a, prop, b[prop]);
896
- if (__getOwnPropSymbols$o)
897
- for (var prop of __getOwnPropSymbols$o(b)) {
898
- if (__propIsEnum$o.call(b, prop))
899
- __defNormalProp$o(a, prop, b[prop]);
900
- }
901
- return a;
902
- };
903
- var __spreadProps$m = (a, b) => __defProps$m(a, __getOwnPropDescs$m(b));
904
- var __objRest$l = (source, exclude) => {
905
- var target = {};
906
- for (var prop in source)
907
- if (__hasOwnProp$o.call(source, prop) && exclude.indexOf(prop) < 0)
908
- target[prop] = source[prop];
909
- if (source != null && __getOwnPropSymbols$o)
910
- for (var prop of __getOwnPropSymbols$o(source)) {
911
- if (exclude.indexOf(prop) < 0 && __propIsEnum$o.call(source, prop))
912
- target[prop] = source[prop];
913
- }
914
- return target;
915
- };
916
- const BreadcrumbItemLink = React.forwardRef(function BreadcrumbItemLink2(_a, ref) {
917
- var _b = _a, { children } = _b, props = __objRest$l(_b, ["children"]);
645
+ const BreadcrumbItemLink = React.forwardRef(function BreadcrumbItemLink2({ children, ...props }, ref) {
918
646
  sapphireReact.useThemeCheck();
919
647
  const { styleProps: sapphireStyleProps } = sapphireReact.useSapphireStyleProps(props);
920
- const _a2 = sapphireStyleProps, { style, className } = _a2, styleProps = __objRest$l(_a2, ["style", "className"]);
648
+ const { style, className, ...styleProps } = sapphireStyleProps;
921
649
  const { size } = React.useContext(BreadcrumbsContext);
922
- if (!props.href) {
923
- return /* @__PURE__ */ React__default["default"].createElement(BreadcrumbItemStatic, __spreadProps$m(__spreadValues$o({}, props), {
924
- size
925
- }), children);
650
+ if (!props.href && !props.UNSAFE_onClick) {
651
+ return /* @__PURE__ */ React.createElement(BreadcrumbItemStatic, { ...props, size }, children);
926
652
  }
927
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Button, __spreadProps$m(__spreadValues$o(__spreadValues$o({}, props), styleProps), {
928
- UNSAFE_className: className,
929
- UNSAFE_style: __spreadValues$o({}, style),
930
- ref,
931
- size,
932
- variant: "tertiary",
933
- isDisabled: props.isDisabled
934
- }), children);
653
+ return /* @__PURE__ */ React.createElement(
654
+ sapphireReact.Button,
655
+ {
656
+ ...props,
657
+ ...styleProps,
658
+ UNSAFE_className: className,
659
+ UNSAFE_style: { ...style },
660
+ ref,
661
+ size,
662
+ variant: "tertiary",
663
+ isDisabled: props.isDisabled
664
+ },
665
+ children
666
+ );
935
667
  });
936
668
  BreadcrumbItemLink.displayName = "BreadcrumbItemLink";
937
669
 
938
- var __defProp$n = Object.defineProperty;
939
- var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
940
- var __hasOwnProp$n = Object.prototype.hasOwnProperty;
941
- var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
942
- var __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
943
- var __spreadValues$n = (a, b) => {
944
- for (var prop in b || (b = {}))
945
- if (__hasOwnProp$n.call(b, prop))
946
- __defNormalProp$n(a, prop, b[prop]);
947
- if (__getOwnPropSymbols$n)
948
- for (var prop of __getOwnPropSymbols$n(b)) {
949
- if (__propIsEnum$n.call(b, prop))
950
- __defNormalProp$n(a, prop, b[prop]);
951
- }
952
- return a;
953
- };
954
670
  class BreadcrumbItemCollectionNode extends collections.CollectionNode {
671
+ static type = "item";
955
672
  }
956
- BreadcrumbItemCollectionNode.type = "item";
957
- const BreadcrumbItem = collections.createLeafComponent(BreadcrumbItemCollectionNode, function BreadcrumbItem2(props, ref, node) {
958
- var _a;
959
- sapphireReact.useThemeCheck();
960
- const { styleProps } = sapphireReact.useSapphireStyleProps(props);
961
- const {
962
- size,
963
- overflowNodes,
964
- isDisabled: breadcrumbsDisabled
965
- } = React.useContext(BreadcrumbsContext);
966
- const { isDisabled: individualDisabled = false } = props;
967
- const isCurrent = node.nextKey == null;
968
- const isDisabled = individualDisabled || breadcrumbsDisabled;
969
- const shouldRender = !overflowNodes.some((item) => (item == null ? void 0 : item.key) === node.key);
970
- const showOverflowMenu = ((_a = overflowNodes[0]) == null ? void 0 : _a.key) === node.key;
971
- if (!shouldRender && !showOverflowMenu) {
972
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null);
973
- }
974
- if (!shouldRender && showOverflowMenu) {
975
- return /* @__PURE__ */ React__default["default"].createElement(BreadcrumbOverflowMenu, null);
673
+ const BreadcrumbItem = collections.createLeafComponent(
674
+ BreadcrumbItemCollectionNode,
675
+ function BreadcrumbItem2(props, ref, node) {
676
+ sapphireReact.useThemeCheck();
677
+ const { styleProps } = sapphireReact.useSapphireStyleProps(props);
678
+ const {
679
+ size,
680
+ overflowNodes,
681
+ isDisabled: breadcrumbsDisabled
682
+ } = React.useContext(BreadcrumbsContext);
683
+ const { isDisabled: individualDisabled = false } = props;
684
+ const isCurrent = node.nextKey == null;
685
+ const isDisabled = individualDisabled || breadcrumbsDisabled;
686
+ const shouldRender = !overflowNodes.some((item) => item?.key === node.key);
687
+ const showOverflowMenu = overflowNodes[0]?.key === node.key;
688
+ if (!shouldRender && !showOverflowMenu) {
689
+ return /* @__PURE__ */ React.createElement(React.Fragment, null);
690
+ }
691
+ if (!shouldRender && showOverflowMenu) {
692
+ return /* @__PURE__ */ React.createElement(BreadcrumbOverflowMenu, null);
693
+ }
694
+ node.href = props.href;
695
+ return /* @__PURE__ */ React.createElement(
696
+ "li",
697
+ {
698
+ ref,
699
+ className: clsx(styles$2["sapphire-breadcrumbs__item"]),
700
+ style: { ...styleProps.style },
701
+ "data-disabled": isDisabled || void 0,
702
+ "data-current": isCurrent || void 0
703
+ },
704
+ isCurrent ? /* @__PURE__ */ React.createElement(
705
+ sapphireReact.Typography.Body,
706
+ {
707
+ elementType: "span",
708
+ isSemibold: true,
709
+ size: size === "lg" ? "md" : size === "md" ? "sm" : "xs"
710
+ },
711
+ node.rendered
712
+ ) : /* @__PURE__ */ React.createElement(BreadcrumbItemLink, { isDisabled, ...props }, node.rendered),
713
+ !isCurrent && /* @__PURE__ */ React.createElement(BreadcrumbsSeparator, null)
714
+ );
976
715
  }
977
- node.href = props.href;
978
- return /* @__PURE__ */ React__default["default"].createElement("li", {
979
- ref,
980
- className: clsx__default["default"](styles__default$2["default"]["sapphire-breadcrumbs__item"]),
981
- style: __spreadValues$n({}, styleProps.style),
982
- "data-disabled": isDisabled || void 0,
983
- "data-current": isCurrent || void 0
984
- }, isCurrent ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Body, {
985
- elementType: "span",
986
- isSemibold: true,
987
- size: size === "lg" ? "md" : size === "md" ? "sm" : "xs"
988
- }, node.rendered) : /* @__PURE__ */ React__default["default"].createElement(BreadcrumbItemLink, __spreadValues$n({
989
- isDisabled
990
- }, props), node.rendered), !isCurrent && /* @__PURE__ */ React__default["default"].createElement(BreadcrumbsSeparator, null));
991
- });
716
+ );
992
717
 
993
- var __defProp$m = Object.defineProperty;
994
- var __defProps$l = Object.defineProperties;
995
- var __getOwnPropDescs$l = Object.getOwnPropertyDescriptors;
996
- var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
997
- var __hasOwnProp$m = Object.prototype.hasOwnProperty;
998
- var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
999
- var __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1000
- var __spreadValues$m = (a, b) => {
1001
- for (var prop in b || (b = {}))
1002
- if (__hasOwnProp$m.call(b, prop))
1003
- __defNormalProp$m(a, prop, b[prop]);
1004
- if (__getOwnPropSymbols$m)
1005
- for (var prop of __getOwnPropSymbols$m(b)) {
1006
- if (__propIsEnum$m.call(b, prop))
1007
- __defNormalProp$m(a, prop, b[prop]);
1008
- }
1009
- return a;
1010
- };
1011
- var __spreadProps$l = (a, b) => __defProps$l(a, __getOwnPropDescs$l(b));
1012
- var __objRest$k = (source, exclude) => {
1013
- var target = {};
1014
- for (var prop in source)
1015
- if (__hasOwnProp$m.call(source, prop) && exclude.indexOf(prop) < 0)
1016
- target[prop] = source[prop];
1017
- if (source != null && __getOwnPropSymbols$m)
1018
- for (var prop of __getOwnPropSymbols$m(source)) {
1019
- if (exclude.indexOf(prop) < 0 && __propIsEnum$m.call(source, prop))
1020
- target[prop] = source[prop];
1021
- }
1022
- return target;
1023
- };
1024
- const HiddenFileInput = React__default["default"].forwardRef(function InputWrapper(props, ref) {
1025
- return /* @__PURE__ */ React__default["default"].createElement("input", __spreadProps$l(__spreadValues$m({}, props), {
1026
- ref,
1027
- type: "file",
1028
- style: { display: "none" }
1029
- }));
718
+ const HiddenFileInput = React.forwardRef(function InputWrapper(props, ref) {
719
+ return /* @__PURE__ */ React.createElement("input", { ...props, ref, type: "file", style: { display: "none" } });
1030
720
  });
1031
- const FileTrigger = React__default["default"].forwardRef(function FileTriggerWrapper(props, ref) {
1032
- const _a = props, {
721
+ const FileTrigger = React.forwardRef(function FileTriggerWrapper(props, ref) {
722
+ const {
1033
723
  acceptedFileTypes,
1034
724
  allowsMultiple = false,
1035
725
  onSelect = () => null,
1036
726
  children,
1037
- isDisabled = false
1038
- } = _a, rest = __objRest$k(_a, [
1039
- "acceptedFileTypes",
1040
- "allowsMultiple",
1041
- "onSelect",
1042
- "children",
1043
- "isDisabled"
1044
- ]);
727
+ isDisabled = false,
728
+ ...rest
729
+ } = props;
1045
730
  const inputRef = utils.useObjectRef(ref);
1046
731
  const domProps = utils.filterDOMProps(rest, { global: true });
1047
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(interactions.PressResponder, {
1048
- isDisabled,
1049
- onPress: () => {
1050
- var _a2;
1051
- if (inputRef.current) {
1052
- inputRef.current.value = "";
732
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
733
+ interactions.PressResponder,
734
+ {
735
+ isDisabled,
736
+ onPress: () => {
737
+ if (inputRef.current) {
738
+ inputRef.current.value = "";
739
+ }
740
+ inputRef.current?.click();
1053
741
  }
1054
- (_a2 = inputRef.current) == null ? void 0 : _a2.click();
1055
- }
1056
- }, children), /* @__PURE__ */ React__default["default"].createElement(HiddenFileInput, __spreadProps$l(__spreadValues$m({}, domProps), {
1057
- disabled: isDisabled,
1058
- ref: inputRef,
1059
- accept: acceptedFileTypes == null ? void 0 : acceptedFileTypes.toString(),
1060
- onChange: (e) => onSelect == null ? void 0 : onSelect(e.target.files),
1061
- multiple: allowsMultiple
1062
- })));
742
+ },
743
+ children
744
+ ), /* @__PURE__ */ React.createElement(
745
+ HiddenFileInput,
746
+ {
747
+ ...domProps,
748
+ disabled: isDisabled,
749
+ ref: inputRef,
750
+ accept: acceptedFileTypes?.toString(),
751
+ onChange: (e) => onSelect?.(e.target.files),
752
+ multiple: allowsMultiple
753
+ }
754
+ ));
1063
755
  });
1064
756
 
1065
757
  const convertFileListToFileDropItems = (fileList) => {
@@ -1132,39 +824,8 @@ var intlMessages$2 = {
1132
824
  "sv-SE": se$2
1133
825
  };
1134
826
 
1135
- var __defProp$l = Object.defineProperty;
1136
- var __defProps$k = Object.defineProperties;
1137
- var __getOwnPropDescs$k = Object.getOwnPropertyDescriptors;
1138
- var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
1139
- var __hasOwnProp$l = Object.prototype.hasOwnProperty;
1140
- var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
1141
- var __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1142
- var __spreadValues$l = (a, b) => {
1143
- for (var prop in b || (b = {}))
1144
- if (__hasOwnProp$l.call(b, prop))
1145
- __defNormalProp$l(a, prop, b[prop]);
1146
- if (__getOwnPropSymbols$l)
1147
- for (var prop of __getOwnPropSymbols$l(b)) {
1148
- if (__propIsEnum$l.call(b, prop))
1149
- __defNormalProp$l(a, prop, b[prop]);
1150
- }
1151
- return a;
1152
- };
1153
- var __spreadProps$k = (a, b) => __defProps$k(a, __getOwnPropDescs$k(b));
1154
- var __objRest$j = (source, exclude) => {
1155
- var target = {};
1156
- for (var prop in source)
1157
- if (__hasOwnProp$l.call(source, prop) && exclude.indexOf(prop) < 0)
1158
- target[prop] = source[prop];
1159
- if (source != null && __getOwnPropSymbols$l)
1160
- for (var prop of __getOwnPropSymbols$l(source)) {
1161
- if (exclude.indexOf(prop) < 0 && __propIsEnum$l.call(source, prop))
1162
- target[prop] = source[prop];
1163
- }
1164
- return target;
1165
- };
1166
- const FileDropzone = React__default["default"].forwardRef(function DropzoneWrapper(props, forwardedRef) {
1167
- const _a = props, {
827
+ const FileDropzone = React.forwardRef(function DropzoneWrapper(props, forwardedRef) {
828
+ const {
1168
829
  isDisabled = false,
1169
830
  hasError,
1170
831
  renderInstruction,
@@ -1172,30 +833,26 @@ const FileDropzone = React__default["default"].forwardRef(function DropzoneWrapp
1172
833
  acceptedFileTypes,
1173
834
  allowsMultiple,
1174
835
  onDrop = () => null,
1175
- getDropOperation = () => "copy"
1176
- } = _a, otherProps = __objRest$j(_a, [
1177
- "isDisabled",
1178
- "hasError",
1179
- "renderInstruction",
1180
- "onFileSelectOpen",
1181
- "acceptedFileTypes",
1182
- "allowsMultiple",
1183
- "onDrop",
1184
- "getDropOperation"
1185
- ]);
836
+ getDropOperation = () => "copy",
837
+ ...otherProps
838
+ } = props;
1186
839
  const id = utils.useId();
1187
840
  const paragraphId = props["aria-label"] ? void 0 : id;
1188
841
  const format = i18n.useMessageFormatter(intlMessages$2);
1189
842
  const pressableRef = utils.useObjectRef(forwardedRef);
1190
843
  const { hoverProps, isHovered } = interactions.useHover({ isDisabled });
1191
844
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
1192
- const { dropProps, isDropTarget: isDropping } = dnd.useDrop(__spreadProps$k(__spreadValues$l({}, props), {
845
+ const { dropProps, isDropTarget: isDropping } = dnd.useDrop({
846
+ ...props,
1193
847
  ref: pressableRef,
1194
848
  hasDropButton: true,
1195
849
  isDisabled,
1196
850
  getDropOperation
1197
- }));
1198
- const { buttonProps, isPressed } = sapphireReact.useButton({ elementType: "div" }, pressableRef);
851
+ });
852
+ const { buttonProps, isPressed } = sapphireReact.useButton(
853
+ { elementType: "div" },
854
+ pressableRef
855
+ );
1199
856
  const { focusProps, isFocusVisible } = focus.useFocusRing();
1200
857
  const { clipboardProps } = dnd.useClipboard({
1201
858
  isDisabled,
@@ -1217,340 +874,242 @@ const FileDropzone = React__default["default"].forwardRef(function DropzoneWrapp
1217
874
  dropOperation: "copy"
1218
875
  });
1219
876
  };
1220
- return /* @__PURE__ */ React__default["default"].createElement(FileTrigger, {
1221
- acceptedFileTypes,
1222
- allowsMultiple,
1223
- onSelect: onFileTriggerSelect,
1224
- isDisabled
1225
- }, /* @__PURE__ */ React__default["default"].createElement(interactions.Pressable, {
1226
- ref: pressableRef,
1227
- onPress: onFileSelectOpen
1228
- }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$k(__spreadValues$l(__spreadValues$l({}, utils.mergeProps(dropProps, hoverProps, clipboardProps, focusProps, buttonProps)), utils.filterDOMProps(otherProps, { global: true })), {
1229
- style: __spreadValues$l({}, styleProps.style),
1230
- className: clsx__default["default"](styles__default$3["default"]["sapphire-dropzone"], styles__default$3["default"]["js-focus"], styles__default$3["default"]["js-hover"], {
1231
- [styles__default$3["default"]["is-hover"]]: isHovered && !isDropping,
1232
- [styles__default$3["default"]["is-active"]]: isPressed,
1233
- [styles__default$3["default"]["is-disabled"]]: isDisabled,
1234
- [styles__default$3["default"]["is-focus"]]: isFocusVisible,
1235
- [styles__default$3["default"]["sapphire-dropzone--dropping"]]: isDropping,
1236
- [styles__default$3["default"]["sapphire-dropzone--error"]]: hasError
1237
- }, styleProps.className),
1238
- "aria-label": ariaLabel,
1239
- "aria-invalid": hasError,
1240
- "aria-describedby": paragraphId
1241
- }), /* @__PURE__ */ React__default["default"].createElement("div", {
1242
- className: clsx__default["default"](styles__default$3["default"]["sapphire-dropzone__content"])
1243
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
1244
- className: clsx__default["default"](styles__default$3["default"]["sapphire-dropzone__icon"])
1245
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
1246
- size: "lg"
1247
- }, /* @__PURE__ */ React__default["default"].createElement(react.Upload, null))), /* @__PURE__ */ React__default["default"].createElement("div", {
1248
- className: clsx__default["default"](styles__default$3["default"]["sapphire-dropzone__heading"])
1249
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Heading, {
1250
- level: 6
1251
- }, isDropping ? format("dropzone-heading-dropping") : allowsMultiple ? format("dropzone-heading-default") : format("dropzone-heading-default-single"))), /* @__PURE__ */ React__default["default"].createElement("div", {
1252
- id: paragraphId,
1253
- className: clsx__default["default"](styles__default$3["default"]["sapphire-dropzone__paragraph"])
1254
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Body, {
1255
- size: "sm",
1256
- color: "secondary"
1257
- }, renderInstruction(isDropping)))))));
877
+ return /* @__PURE__ */ React.createElement(
878
+ FileTrigger,
879
+ {
880
+ acceptedFileTypes,
881
+ allowsMultiple,
882
+ onSelect: onFileTriggerSelect,
883
+ isDisabled
884
+ },
885
+ /* @__PURE__ */ React.createElement(interactions.Pressable, { ref: pressableRef, onPress: onFileSelectOpen }, /* @__PURE__ */ React.createElement(
886
+ "div",
887
+ {
888
+ ...utils.mergeProps(
889
+ dropProps,
890
+ hoverProps,
891
+ clipboardProps,
892
+ focusProps,
893
+ buttonProps
894
+ ),
895
+ ...utils.filterDOMProps(otherProps, { global: true }),
896
+ style: { ...styleProps.style },
897
+ className: clsx(
898
+ styles$3["sapphire-dropzone"],
899
+ styles$3["js-focus"],
900
+ styles$3["js-hover"],
901
+ {
902
+ [styles$3["is-hover"]]: isHovered && !isDropping,
903
+ [styles$3["is-active"]]: isPressed,
904
+ [styles$3["is-disabled"]]: isDisabled,
905
+ [styles$3["is-focus"]]: isFocusVisible,
906
+ [styles$3["sapphire-dropzone--dropping"]]: isDropping,
907
+ [styles$3["sapphire-dropzone--error"]]: hasError
908
+ },
909
+ styleProps.className
910
+ ),
911
+ "aria-label": ariaLabel,
912
+ "aria-invalid": hasError,
913
+ "aria-describedby": paragraphId
914
+ },
915
+ /* @__PURE__ */ React.createElement("div", { className: clsx(styles$3["sapphire-dropzone__content"]) }, /* @__PURE__ */ React.createElement("div", { className: clsx(styles$3["sapphire-dropzone__icon"]) }, /* @__PURE__ */ React.createElement(sapphireReact.Icon, { size: "lg" }, /* @__PURE__ */ React.createElement(react.Upload, null))), /* @__PURE__ */ React.createElement("div", { className: clsx(styles$3["sapphire-dropzone__heading"]) }, /* @__PURE__ */ React.createElement(sapphireReact.Typography.Heading, { level: 6 }, isDropping ? format("dropzone-heading-dropping") : allowsMultiple ? format("dropzone-heading-default") : format("dropzone-heading-default-single"))), /* @__PURE__ */ React.createElement(
916
+ "div",
917
+ {
918
+ id: paragraphId,
919
+ className: clsx(styles$3["sapphire-dropzone__paragraph"])
920
+ },
921
+ /* @__PURE__ */ React.createElement(sapphireReact.Typography.Body, { size: "sm", color: "secondary" }, renderInstruction(isDropping))
922
+ ))
923
+ ))
924
+ );
1258
925
  });
1259
926
 
1260
- var __defProp$k = Object.defineProperty;
1261
- var __defProps$j = Object.defineProperties;
1262
- var __getOwnPropDescs$j = Object.getOwnPropertyDescriptors;
1263
- var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
1264
- var __hasOwnProp$k = Object.prototype.hasOwnProperty;
1265
- var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
1266
- var __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1267
- var __spreadValues$k = (a, b) => {
1268
- for (var prop in b || (b = {}))
1269
- if (__hasOwnProp$k.call(b, prop))
1270
- __defNormalProp$k(a, prop, b[prop]);
1271
- if (__getOwnPropSymbols$k)
1272
- for (var prop of __getOwnPropSymbols$k(b)) {
1273
- if (__propIsEnum$k.call(b, prop))
1274
- __defNormalProp$k(a, prop, b[prop]);
1275
- }
1276
- return a;
1277
- };
1278
- var __spreadProps$j = (a, b) => __defProps$j(a, __getOwnPropDescs$j(b));
1279
- var __objRest$i = (source, exclude) => {
1280
- var target = {};
1281
- for (var prop in source)
1282
- if (__hasOwnProp$k.call(source, prop) && exclude.indexOf(prop) < 0)
1283
- target[prop] = source[prop];
1284
- if (source != null && __getOwnPropSymbols$k)
1285
- for (var prop of __getOwnPropSymbols$k(source)) {
1286
- if (exclude.indexOf(prop) < 0 && __propIsEnum$k.call(source, prop))
1287
- target[prop] = source[prop];
1288
- }
1289
- return target;
1290
- };
1291
- function FilterDropdown(_a) {
1292
- var _b = _a, {
1293
- children,
1294
- label,
1295
- value,
1296
- isDisabled = false,
1297
- isApplyDisabled = false,
1298
- isClearDisabled,
1299
- isOpen: isOpenProp,
1300
- applyButtonLabel = "Apply",
1301
- clearButtonLabel = "Clear",
1302
- hideClearButton = false,
1303
- defaultOpen = false,
1304
- hasApplyButton = false,
1305
- noMaxWidth,
1306
- onApply,
1307
- onClear,
1308
- onOpenChange,
1309
- buttonSize = "md"
1310
- } = _b, props = __objRest$i(_b, [
1311
- "children",
1312
- "label",
1313
- "value",
1314
- "isDisabled",
1315
- "isApplyDisabled",
1316
- "isClearDisabled",
1317
- "isOpen",
1318
- "applyButtonLabel",
1319
- "clearButtonLabel",
1320
- "hideClearButton",
1321
- "defaultOpen",
1322
- "hasApplyButton",
1323
- "noMaxWidth",
1324
- "onApply",
1325
- "onClear",
1326
- "onOpenChange",
1327
- "buttonSize"
1328
- ]);
927
+ function FilterDropdown({
928
+ children,
929
+ label,
930
+ value,
931
+ isDisabled = false,
932
+ isApplyDisabled = false,
933
+ isClearDisabled,
934
+ isOpen: isOpenProp,
935
+ applyButtonLabel = "Apply",
936
+ clearButtonLabel = "Clear",
937
+ hideClearButton = false,
938
+ defaultOpen = false,
939
+ hasApplyButton = false,
940
+ noMaxWidth,
941
+ onApply,
942
+ onClear,
943
+ onOpenChange,
944
+ buttonSize = "md",
945
+ ...props
946
+ }) {
1329
947
  const triggerRef = React.useRef(null);
1330
948
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
1331
- const [isOpen, setIsOpen] = utils$2.useControlledState(isOpenProp, defaultOpen, utils.useEffectEvent(onOpenChange));
949
+ const [isOpen, setIsOpen] = utils$2.useControlledState(
950
+ isOpenProp,
951
+ defaultOpen,
952
+ utils.useEffectEvent(onOpenChange)
953
+ );
1332
954
  const hasValue = value != null && value !== "";
1333
955
  const close = () => setIsOpen(false);
1334
956
  const onSubmit = (e) => {
1335
- var _a2;
1336
957
  e.preventDefault();
1337
- onApply == null ? void 0 : onApply();
958
+ onApply?.();
1338
959
  close();
1339
- (_a2 = triggerRef.current) == null ? void 0 : _a2.focus();
960
+ triggerRef.current?.focus();
1340
961
  };
1341
- const applyButton = /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Button, {
1342
- type: "submit",
1343
- size: buttonSize,
1344
- excludeFromTabOrder: !hasApplyButton,
1345
- isDisabled: isApplyDisabled
1346
- }, applyButtonLabel);
1347
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.PopoverTrigger, {
1348
- ref: triggerRef,
1349
- placement: "bottom left",
1350
- isOpen,
1351
- onOpenChange: setIsOpen,
1352
- noMaxWidth,
1353
- noPadding: true,
1354
- popoverContent: /* @__PURE__ */ React__default["default"].createElement("form", __spreadProps$j(__spreadValues$k({}, utils.filterDOMProps(props, { global: true })), {
1355
- onSubmit,
1356
- className: clsx__default["default"](styles__default$4["default"]["sapphire-filter-dropdown"], styleProps.className),
1357
- style: __spreadValues$k({}, styleProps.style)
1358
- }), /* @__PURE__ */ React__default["default"].createElement("div", {
1359
- className: styles__default$4["default"]["sapphire-filter-dropdown__body"]
1360
- }, children), /* @__PURE__ */ React__default["default"].createElement("div", {
1361
- className: styles__default$4["default"]["sapphire-filter-dropdown__footer"]
1362
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ButtonGroup, {
1363
- align: "right"
1364
- }, !hideClearButton && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Button, {
962
+ const applyButton = /* @__PURE__ */ React.createElement(
963
+ sapphireReact.Button,
964
+ {
965
+ type: "submit",
1365
966
  size: buttonSize,
1366
- variant: "text",
1367
- onPress: () => {
1368
- close();
1369
- onClear == null ? void 0 : onClear();
967
+ excludeFromTabOrder: !hasApplyButton,
968
+ isDisabled: isApplyDisabled
969
+ },
970
+ applyButtonLabel
971
+ );
972
+ return /* @__PURE__ */ React.createElement(
973
+ sapphireReact.PopoverTrigger,
974
+ {
975
+ ref: triggerRef,
976
+ placement: "bottom left",
977
+ isOpen,
978
+ onOpenChange: setIsOpen,
979
+ noMaxWidth,
980
+ noPadding: true,
981
+ popoverContent: /* @__PURE__ */ React.createElement(
982
+ "form",
983
+ {
984
+ ...utils.filterDOMProps(props, { global: true }),
985
+ onSubmit,
986
+ className: clsx(
987
+ styles$4["sapphire-filter-dropdown"],
988
+ styleProps.className
989
+ ),
990
+ style: { ...styleProps.style }
991
+ },
992
+ /* @__PURE__ */ React.createElement("div", { className: styles$4["sapphire-filter-dropdown__body"] }, children),
993
+ /* @__PURE__ */ React.createElement("div", { className: styles$4["sapphire-filter-dropdown__footer"] }, /* @__PURE__ */ React.createElement(sapphireReact.ButtonGroup, { align: "right" }, !hideClearButton && /* @__PURE__ */ React.createElement(
994
+ sapphireReact.Button,
995
+ {
996
+ size: buttonSize,
997
+ variant: "text",
998
+ onPress: () => {
999
+ close();
1000
+ onClear?.();
1001
+ },
1002
+ isDisabled: isClearDisabled ?? !hasValue
1003
+ },
1004
+ clearButtonLabel
1005
+ ), hasApplyButton ? applyButton : (
1006
+ // The following is necessary to have the form submitted on "Enter", if there is more than one field
1007
+ /* @__PURE__ */ React.createElement(visuallyHidden.VisuallyHidden, null, applyButton)
1008
+ )))
1009
+ )
1010
+ },
1011
+ /* @__PURE__ */ React.createElement(
1012
+ sapphireReact.ToggleButton,
1013
+ {
1014
+ icon: isOpen ? /* @__PURE__ */ React.createElement(react.ChevronUp, null) : /* @__PURE__ */ React.createElement(react.ChevronDown, null),
1015
+ iconAlign: "right",
1016
+ isSelected: hasValue,
1017
+ isDisabled,
1018
+ size: buttonSize
1370
1019
  },
1371
- isDisabled: isClearDisabled != null ? isClearDisabled : !hasValue
1372
- }, clearButtonLabel), hasApplyButton ? applyButton : /* @__PURE__ */ React__default["default"].createElement(visuallyHidden.VisuallyHidden, null, applyButton))))
1373
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ToggleButton, {
1374
- icon: isOpen ? /* @__PURE__ */ React__default["default"].createElement(react.ChevronUp, null) : /* @__PURE__ */ React__default["default"].createElement(react.ChevronDown, null),
1375
- iconAlign: "right",
1376
- isSelected: hasValue,
1377
- isDisabled,
1378
- size: buttonSize
1379
- }, label, value ? ": " : "", value));
1020
+ label,
1021
+ value ? ": " : "",
1022
+ value
1023
+ )
1024
+ );
1380
1025
  }
1381
1026
 
1382
- var __defProp$j = Object.defineProperty;
1383
- var __defProps$i = Object.defineProperties;
1384
- var __getOwnPropDescs$i = Object.getOwnPropertyDescriptors;
1385
- var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
1386
- var __hasOwnProp$j = Object.prototype.hasOwnProperty;
1387
- var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
1388
- var __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1389
- var __spreadValues$j = (a, b) => {
1390
- for (var prop in b || (b = {}))
1391
- if (__hasOwnProp$j.call(b, prop))
1392
- __defNormalProp$j(a, prop, b[prop]);
1393
- if (__getOwnPropSymbols$j)
1394
- for (var prop of __getOwnPropSymbols$j(b)) {
1395
- if (__propIsEnum$j.call(b, prop))
1396
- __defNormalProp$j(a, prop, b[prop]);
1397
- }
1398
- return a;
1399
- };
1400
- var __spreadProps$i = (a, b) => __defProps$i(a, __getOwnPropDescs$i(b));
1401
- var __objRest$h = (source, exclude) => {
1402
- var target = {};
1403
- for (var prop in source)
1404
- if (__hasOwnProp$j.call(source, prop) && exclude.indexOf(prop) < 0)
1405
- target[prop] = source[prop];
1406
- if (source != null && __getOwnPropSymbols$j)
1407
- for (var prop of __getOwnPropSymbols$j(source)) {
1408
- if (exclude.indexOf(prop) < 0 && __propIsEnum$j.call(source, prop))
1409
- target[prop] = source[prop];
1410
- }
1411
- return target;
1412
- };
1413
1027
  function SearchableSelectFilter(props) {
1414
- var _b, _c;
1415
- const _a = props, { searchField, listBox, size = "md" } = _a, otherProps = __objRest$h(_a, ["searchField", "listBox", "size"]);
1028
+ const { searchField, listBox, size = "md", ...otherProps } = props;
1416
1029
  const searchFieldRef = React.useRef(null);
1417
1030
  const searchFieldProps = searchField.props;
1418
1031
  const listBoxProps = listBox.props;
1419
- const [searchQuery, setSearchQuery] = utils$2.useControlledState(searchFieldProps == null ? void 0 : searchFieldProps.value, "", searchFieldProps.onChange);
1420
- if (listBoxProps.connectedInputRef && typeof process !== "undefined" && ((_b = process.env) == null ? void 0 : _b.NODE_ENV) === "development") {
1421
- console.warn("The connectedInputRef prop on the ListBox in the SearchableSelectFilter component is not needed and will be ignored. The connectedInputRef is set automatically (to the passed SearchField) and should not be set manually.");
1032
+ const [searchQuery, setSearchQuery] = utils$2.useControlledState(
1033
+ searchFieldProps?.value,
1034
+ "",
1035
+ searchFieldProps.onChange
1036
+ );
1037
+ if (listBoxProps.connectedInputRef && typeof process !== "undefined" && process.env?.NODE_ENV === "development") {
1038
+ console.warn(
1039
+ "The connectedInputRef prop on the ListBox in the SearchableSelectFilter component is not needed and will be ignored. The connectedInputRef is set automatically (to the passed SearchField) and should not be set manually."
1040
+ );
1422
1041
  }
1423
1042
  const hasSelection = listBoxProps.selectedKeys === "all" || Array.from(listBoxProps.selectedKeys || []).length > 0;
1424
- return /* @__PURE__ */ React__default["default"].createElement(FilterDropdown, __spreadProps$i(__spreadValues$j({}, otherProps), {
1425
- noMaxWidth: (_c = otherProps.noMaxWidth) != null ? _c : true,
1426
- buttonSize: size,
1427
- hasApplyButton: Boolean(otherProps.onApply),
1428
- isClearDisabled: otherProps.isClearDisabled || !hasSelection && !otherProps.value
1429
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Flex, {
1430
- flexDirection: "column",
1431
- height: "100%"
1432
- }, React.cloneElement(searchField, {
1433
- size: "md",
1434
- value: searchFieldProps.value || searchQuery,
1435
- inputRef: utils.mergeRefs(searchFieldRef, searchFieldProps.inputRef),
1436
- width: searchFieldProps.width || "100%",
1437
- marginBottom: searchFieldProps.marginBottom || sapphireReact.tokens.size.spacingSm,
1438
- onChange: setSearchQuery
1439
- }), React.cloneElement(listBox, {
1440
- connectedInputRef: searchFieldRef,
1441
- selectionMode: listBoxProps.selectionMode || "multiple",
1442
- marginX: `calc(${sapphireReact.tokens.size.spacingContainerHorizontalSm.value} * -1)`,
1443
- hasScrollDividers: true,
1444
- filter: "filter" in listBoxProps ? listBoxProps.filter : (textValue) => textValue.toLowerCase().includes(searchQuery.toLowerCase())
1445
- })));
1043
+ return /* @__PURE__ */ React.createElement(
1044
+ FilterDropdown,
1045
+ {
1046
+ ...otherProps,
1047
+ noMaxWidth: otherProps.noMaxWidth ?? true,
1048
+ buttonSize: size,
1049
+ hasApplyButton: Boolean(otherProps.onApply),
1050
+ isClearDisabled: otherProps.isClearDisabled || !hasSelection && !otherProps.value
1051
+ },
1052
+ /* @__PURE__ */ React.createElement(sapphireReact.Flex, { flexDirection: "column", height: "100%" }, React.cloneElement(searchField, {
1053
+ size: "md",
1054
+ value: searchFieldProps.value || searchQuery,
1055
+ inputRef: utils.mergeRefs(searchFieldRef, searchFieldProps.inputRef),
1056
+ width: searchFieldProps.width || "100%",
1057
+ marginBottom: searchFieldProps.marginBottom || sapphireReact.tokens.size.spacingSm,
1058
+ onChange: setSearchQuery
1059
+ }), React.cloneElement(listBox, {
1060
+ connectedInputRef: searchFieldRef,
1061
+ selectionMode: listBoxProps.selectionMode || "multiple",
1062
+ marginX: `calc(${sapphireReact.tokens.size.spacingContainerHorizontalSm.value} * -1)`,
1063
+ hasScrollDividers: true,
1064
+ filter: (
1065
+ // This is a way to also allow opting out of the internal filter with filter={undefined}
1066
+ // without us having to allow for more values on the ListBox filter prop
1067
+ "filter" in listBoxProps ? listBoxProps.filter : (textValue) => textValue.toLowerCase().includes(searchQuery.toLowerCase())
1068
+ )
1069
+ }))
1070
+ );
1446
1071
  }
1447
1072
 
1448
- var __defProp$i = Object.defineProperty;
1449
- var __defProps$h = Object.defineProperties;
1450
- var __getOwnPropDescs$h = Object.getOwnPropertyDescriptors;
1451
- var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
1452
- var __hasOwnProp$i = Object.prototype.hasOwnProperty;
1453
- var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
1454
- var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1455
- var __spreadValues$i = (a, b) => {
1456
- for (var prop in b || (b = {}))
1457
- if (__hasOwnProp$i.call(b, prop))
1458
- __defNormalProp$i(a, prop, b[prop]);
1459
- if (__getOwnPropSymbols$i)
1460
- for (var prop of __getOwnPropSymbols$i(b)) {
1461
- if (__propIsEnum$i.call(b, prop))
1462
- __defNormalProp$i(a, prop, b[prop]);
1463
- }
1464
- return a;
1465
- };
1466
- var __spreadProps$h = (a, b) => __defProps$h(a, __getOwnPropDescs$h(b));
1467
- var __objRest$g = (source, exclude) => {
1468
- var target = {};
1469
- for (var prop in source)
1470
- if (__hasOwnProp$i.call(source, prop) && exclude.indexOf(prop) < 0)
1471
- target[prop] = source[prop];
1472
- if (source != null && __getOwnPropSymbols$i)
1473
- for (var prop of __getOwnPropSymbols$i(source)) {
1474
- if (exclude.indexOf(prop) < 0 && __propIsEnum$i.call(source, prop))
1475
- target[prop] = source[prop];
1476
- }
1477
- return target;
1478
- };
1479
- const Flag = React__default["default"].forwardRef(function Flag2(_a, ref) {
1480
- var _b = _a, { size = "lg", rounded, "aria-label": ariaLabel } = _b, props = __objRest$g(_b, ["size", "rounded", "aria-label"]);
1073
+ const Flag = React.forwardRef(function Flag2({ size = "lg", rounded, "aria-label": ariaLabel, ...props }, ref) {
1481
1074
  sapphireReact.useThemeCheck();
1482
1075
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
1483
- return React__default["default"].cloneElement(utils$1.getWrappedElement(props.children), __spreadProps$h(__spreadValues$i({
1076
+ return React.cloneElement(utils$1.getWrappedElement(props.children), {
1484
1077
  ref,
1485
- role: "img"
1486
- }, ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": true }), {
1487
- className: clsx__default["default"](styles__default$5["default"]["sapphire-flag"], styleProps.className, {
1488
- [styles__default$5["default"]["sapphire-flag--xs"]]: size === "xs",
1489
- [styles__default$5["default"]["sapphire-flag--sm"]]: size === "sm",
1490
- [styles__default$5["default"]["sapphire-flag--md"]]: size === "md",
1491
- [styles__default$5["default"]["sapphire-flag--lg"]]: size === "lg",
1492
- [styles__default$5["default"]["sapphire-flag--xl"]]: size === "xl",
1493
- [styles__default$5["default"]["sapphire-flag--rounded"]]: rounded
1078
+ role: "img",
1079
+ ...ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": true },
1080
+ className: clsx(styles$5["sapphire-flag"], styleProps.className, {
1081
+ [styles$5["sapphire-flag--xs"]]: size === "xs",
1082
+ [styles$5["sapphire-flag--sm"]]: size === "sm",
1083
+ [styles$5["sapphire-flag--md"]]: size === "md",
1084
+ [styles$5["sapphire-flag--lg"]]: size === "lg",
1085
+ [styles$5["sapphire-flag--xl"]]: size === "xl",
1086
+ [styles$5["sapphire-flag--rounded"]]: rounded
1494
1087
  }),
1495
1088
  style: styleProps.style
1496
- }));
1089
+ });
1497
1090
  });
1498
1091
 
1499
- var __defProp$h = Object.defineProperty;
1500
- var __defProps$g = Object.defineProperties;
1501
- var __getOwnPropDescs$g = Object.getOwnPropertyDescriptors;
1502
- var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
1503
- var __hasOwnProp$h = Object.prototype.hasOwnProperty;
1504
- var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
1505
- var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1506
- var __spreadValues$h = (a, b) => {
1507
- for (var prop in b || (b = {}))
1508
- if (__hasOwnProp$h.call(b, prop))
1509
- __defNormalProp$h(a, prop, b[prop]);
1510
- if (__getOwnPropSymbols$h)
1511
- for (var prop of __getOwnPropSymbols$h(b)) {
1512
- if (__propIsEnum$h.call(b, prop))
1513
- __defNormalProp$h(a, prop, b[prop]);
1514
- }
1515
- return a;
1516
- };
1517
- var __spreadProps$g = (a, b) => __defProps$g(a, __getOwnPropDescs$g(b));
1518
- var __objRest$f = (source, exclude) => {
1519
- var target = {};
1520
- for (var prop in source)
1521
- if (__hasOwnProp$h.call(source, prop) && exclude.indexOf(prop) < 0)
1522
- target[prop] = source[prop];
1523
- if (source != null && __getOwnPropSymbols$h)
1524
- for (var prop of __getOwnPropSymbols$h(source)) {
1525
- if (exclude.indexOf(prop) < 0 && __propIsEnum$h.call(source, prop))
1526
- target[prop] = source[prop];
1527
- }
1528
- return target;
1529
- };
1530
- function LabeledValue(_a) {
1531
- var _b = _a, {
1532
- children,
1533
- contextualHelp,
1534
- label: label$1,
1535
- labelPlacement = "above",
1536
- size = "lg"
1537
- } = _b, otherProps = __objRest$f(_b, [
1538
- "children",
1539
- "contextualHelp",
1540
- "label",
1541
- "labelPlacement",
1542
- "size"
1543
- ]);
1092
+ function LabeledValue({
1093
+ children,
1094
+ contextualHelp,
1095
+ label: label$1,
1096
+ labelPlacement = "above",
1097
+ size = "lg",
1098
+ ...otherProps
1099
+ }) {
1544
1100
  sapphireReact.useThemeCheck();
1545
1101
  const { fieldProps } = label.useField({ label: label$1 });
1546
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps$g(__spreadValues$h({}, utils.mergeProps(fieldProps, otherProps)), {
1547
- labelPlacement,
1548
- size,
1549
- noDefaultWidth: true
1550
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Label, {
1551
- contextualHelp,
1552
- size
1553
- }, label$1)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, children));
1102
+ return /* @__PURE__ */ React.createElement(
1103
+ sapphireReact.Field,
1104
+ {
1105
+ ...utils.mergeProps(fieldProps, otherProps),
1106
+ labelPlacement,
1107
+ size,
1108
+ noDefaultWidth: true
1109
+ },
1110
+ /* @__PURE__ */ React.createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React.createElement(sapphireReact.Label, { contextualHelp, size }, label$1)),
1111
+ /* @__PURE__ */ React.createElement(sapphireReact.Field.Control, null, children)
1112
+ );
1554
1113
  }
1555
1114
 
1556
1115
  var increment$6 = "øge";
@@ -1612,60 +1171,38 @@ var intlMessages$1 = {
1612
1171
  "sv-SE": se$1
1613
1172
  };
1614
1173
 
1615
- var __defProp$g = Object.defineProperty;
1616
- var __defProps$f = Object.defineProperties;
1617
- var __getOwnPropDescs$f = Object.getOwnPropertyDescriptors;
1618
- var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
1619
- var __hasOwnProp$g = Object.prototype.hasOwnProperty;
1620
- var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
1621
- var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1622
- var __spreadValues$g = (a, b) => {
1623
- for (var prop in b || (b = {}))
1624
- if (__hasOwnProp$g.call(b, prop))
1625
- __defNormalProp$g(a, prop, b[prop]);
1626
- if (__getOwnPropSymbols$g)
1627
- for (var prop of __getOwnPropSymbols$g(b)) {
1628
- if (__propIsEnum$g.call(b, prop))
1629
- __defNormalProp$g(a, prop, b[prop]);
1630
- }
1631
- return a;
1632
- };
1633
- var __spreadProps$f = (a, b) => __defProps$f(a, __getOwnPropDescs$f(b));
1634
- var __objRest$e = (source, exclude) => {
1635
- var target = {};
1636
- for (var prop in source)
1637
- if (__hasOwnProp$g.call(source, prop) && exclude.indexOf(prop) < 0)
1638
- target[prop] = source[prop];
1639
- if (source != null && __getOwnPropSymbols$g)
1640
- for (var prop of __getOwnPropSymbols$g(source)) {
1641
- if (exclude.indexOf(prop) < 0 && __propIsEnum$g.call(source, prop))
1642
- target[prop] = source[prop];
1643
- }
1644
- return target;
1645
- };
1646
- const StepperButton = (_a) => {
1647
- var _b = _a, {
1648
- variant,
1649
- size
1650
- } = _b, props = __objRest$e(_b, [
1651
- "variant",
1652
- "size"
1653
- ]);
1174
+ const StepperButton = ({
1175
+ variant,
1176
+ size,
1177
+ ...props
1178
+ }) => {
1654
1179
  const ref = React.useRef(null);
1655
1180
  const { buttonProps, isPressed } = sapphireReact.useButton(props, ref);
1656
1181
  const { hoverProps, isHovered } = interactions.useHover({ isDisabled: props.isDisabled });
1657
1182
  const { focusProps, isFocusVisible } = focus.useFocusRing();
1658
- return /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$f(__spreadValues$g({}, utils.mergeProps(buttonProps, hoverProps, focusProps, utils.filterDOMProps(props, { global: true }))), {
1659
- tabIndex: 0,
1660
- ref,
1661
- className: clsx__default["default"](textFieldStyles__default["default"]["sapphire-text-field__stepper-button"], textFieldStyles__default["default"]["js-hover"], {
1662
- [textFieldStyles__default["default"]["is-active"]]: isPressed,
1663
- [textFieldStyles__default["default"]["is-hover"]]: isHovered,
1664
- [textFieldStyles__default["default"]["is-focus"]]: isFocusVisible
1665
- })
1666
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
1667
- size: size === "lg" ? "md" : "sm"
1668
- }, variant === "increment" ? /* @__PURE__ */ React__default["default"].createElement(react.Add, null) : /* @__PURE__ */ React__default["default"].createElement(react.Subtract, null)));
1183
+ return /* @__PURE__ */ React.createElement(
1184
+ "button",
1185
+ {
1186
+ ...utils.mergeProps(
1187
+ buttonProps,
1188
+ hoverProps,
1189
+ focusProps,
1190
+ utils.filterDOMProps(props, { global: true })
1191
+ ),
1192
+ tabIndex: 0,
1193
+ ref,
1194
+ className: clsx(
1195
+ textFieldStyles["sapphire-text-field__stepper-button"],
1196
+ textFieldStyles["js-hover"],
1197
+ {
1198
+ [textFieldStyles["is-active"]]: isPressed,
1199
+ [textFieldStyles["is-hover"]]: isHovered,
1200
+ [textFieldStyles["is-focus"]]: isFocusVisible
1201
+ }
1202
+ )
1203
+ },
1204
+ /* @__PURE__ */ React.createElement(sapphireReact.Icon, { size: size === "lg" ? "md" : "sm" }, variant === "increment" ? /* @__PURE__ */ React.createElement(react.Add, null) : /* @__PURE__ */ React.createElement(react.Subtract, null))
1205
+ );
1669
1206
  };
1670
1207
 
1671
1208
  function useAutofillStyle(inputRef) {
@@ -1686,20 +1223,18 @@ function useAutofillStyle(inputRef) {
1686
1223
  }
1687
1224
 
1688
1225
  const getSeparators = (formatter) => {
1689
- var _a, _b, _c, _d, _e;
1690
1226
  const parts = formatter.formatToParts(1000.1);
1691
- const groupSeparator = (_b = (_a = parts.find((p) => p.type === "group")) == null ? void 0 : _a.value) != null ? _b : ",";
1692
- let decimalSeparator = (_c = parts.find((p) => p.type === "decimal")) == null ? void 0 : _c.value;
1227
+ const groupSeparator = parts.find((p) => p.type === "group")?.value ?? ",";
1228
+ let decimalSeparator = parts.find((p) => p.type === "decimal")?.value;
1693
1229
  if (!decimalSeparator) {
1694
1230
  const locale = formatter.resolvedOptions().locale;
1695
1231
  const plainFormatter = new Intl.NumberFormat(locale);
1696
- decimalSeparator = (_e = (_d = plainFormatter.formatToParts(1.1).find((p) => p.type === "decimal")) == null ? void 0 : _d.value) != null ? _e : ".";
1232
+ decimalSeparator = plainFormatter.formatToParts(1.1).find((p) => p.type === "decimal")?.value ?? ".";
1697
1233
  }
1698
1234
  return { groupSeparator, decimalSeparator };
1699
1235
  };
1700
1236
  const trimSymbol = (value, symbol) => {
1701
- if (!symbol)
1702
- return value;
1237
+ if (!symbol) return value;
1703
1238
  if (value.startsWith(symbol)) {
1704
1239
  return value.slice(symbol.length).trimStart();
1705
1240
  } else if (value.endsWith(symbol)) {
@@ -1708,20 +1243,20 @@ const trimSymbol = (value, symbol) => {
1708
1243
  return value;
1709
1244
  };
1710
1245
  const parseNumericValue = (value, decimalSeparator, formatter) => {
1711
- if (!value || value === "-")
1712
- return null;
1713
- const cleaned = value.replace(new RegExp(`[^0-9${decimalSeparator}\\-]`, "g"), "");
1714
- if (!cleaned)
1715
- return null;
1246
+ if (!value || value === "-") return null;
1247
+ const cleaned = value.replace(
1248
+ new RegExp(`[^0-9${decimalSeparator}\\-]`, "g"),
1249
+ ""
1250
+ );
1251
+ if (!cleaned) return null;
1716
1252
  const hasLeadingMinus = cleaned.startsWith("-");
1717
1253
  const withoutMinus = cleaned.replace(/-/g, "");
1718
1254
  const normalized = hasLeadingMinus ? "-" + withoutMinus : withoutMinus;
1719
1255
  const parts = normalized.split(decimalSeparator);
1720
1256
  const withStandardDecimal = parts.length > 1 ? parts[0] + "." + parts.slice(1).join("") : normalized.replace(decimalSeparator, ".");
1721
1257
  let parsed = parseFloat(withStandardDecimal);
1722
- if (isNaN(parsed))
1723
- return null;
1724
- if ((formatter == null ? void 0 : formatter.resolvedOptions().style) === "percent") {
1258
+ if (isNaN(parsed)) return null;
1259
+ if (formatter?.resolvedOptions().style === "percent") {
1725
1260
  parsed /= 100;
1726
1261
  }
1727
1262
  return parsed;
@@ -1746,13 +1281,12 @@ const formatNumberString = (value, formatter, decimalSeparator, shouldStripSymbo
1746
1281
  const isSymbol = (type) => ["currency", "unit", "percentSign"].includes(type);
1747
1282
  const hasSymbolAt = (parts, start) => {
1748
1283
  const [first, second] = start ? [parts[0], parts[1]] : [parts[parts.length - 1], parts[parts.length - 2]];
1749
- return isSymbol(first == null ? void 0 : first.type) || (first == null ? void 0 : first.type) === "literal" && isSymbol(second == null ? void 0 : second.type);
1284
+ return isSymbol(first?.type) || first?.type === "literal" && isSymbol(second?.type);
1750
1285
  };
1751
1286
  const extractSymbol = (formatter, prefix, postfix) => {
1752
- var _a, _b;
1753
1287
  const parts = formatter.formatToParts(1000.1);
1754
- const extractedPrefix = hasSymbolAt(parts, true) ? ((_a = parts.find((part) => isSymbol(part.type))) == null ? void 0 : _a.value) || null : null;
1755
- const extractedPostfix = hasSymbolAt(parts, false) ? ((_b = [...parts].reverse().find((part) => isSymbol(part.type))) == null ? void 0 : _b.value) || null : null;
1288
+ const extractedPrefix = hasSymbolAt(parts, true) ? parts.find((part) => isSymbol(part.type))?.value || null : null;
1289
+ const extractedPostfix = hasSymbolAt(parts, false) ? [...parts].reverse().find((part) => isSymbol(part.type))?.value || null : null;
1756
1290
  return prefix !== void 0 || postfix !== void 0 ? {
1757
1291
  extractedPrefix: prefix,
1758
1292
  extractedPostfix: postfix,
@@ -1768,8 +1302,7 @@ const isDeleteOperation = (inputType) => {
1768
1302
  return inputType === "deleteContentBackward" || inputType === "deleteContentForward";
1769
1303
  };
1770
1304
  const calculateCursorPosition = (oldValue, newValue, oldCursor, inputType, decimalSeparator, numericValue) => {
1771
- if (!newValue)
1772
- return 0;
1305
+ if (!newValue) return 0;
1773
1306
  const oldDecimalPos = oldValue.indexOf(decimalSeparator);
1774
1307
  const newDecimalPos = newValue.indexOf(decimalSeparator);
1775
1308
  if (numericValue === 0 && isDeleteOperation(inputType)) {
@@ -1778,8 +1311,7 @@ const calculateCursorPosition = (oldValue, newValue, oldCursor, inputType, decim
1778
1311
  const countDigits = (str, start, end) => {
1779
1312
  let count = 0;
1780
1313
  for (let i = start; i < end; i++) {
1781
- if (/[0-9]/.test(str[i]))
1782
- count++;
1314
+ if (/[0-9]/.test(str[i])) count++;
1783
1315
  }
1784
1316
  return count;
1785
1317
  };
@@ -1787,7 +1319,11 @@ const calculateCursorPosition = (oldValue, newValue, oldCursor, inputType, decim
1787
1319
  return newDecimalPos;
1788
1320
  }
1789
1321
  if (oldDecimalPos >= 0 && oldCursor > oldDecimalPos && newDecimalPos >= 0) {
1790
- const digitsBeforeCursor = countDigits(oldValue, oldDecimalPos + 1, oldCursor);
1322
+ const digitsBeforeCursor = countDigits(
1323
+ oldValue,
1324
+ oldDecimalPos + 1,
1325
+ oldCursor
1326
+ );
1791
1327
  let digitCount2 = 0;
1792
1328
  for (let i = newDecimalPos + 1; i < newValue.length; i++) {
1793
1329
  if (/[0-9]/.test(newValue[i]) && ++digitCount2 === digitsBeforeCursor) {
@@ -1798,12 +1334,15 @@ const calculateCursorPosition = (oldValue, newValue, oldCursor, inputType, decim
1798
1334
  }
1799
1335
  const oldEnd = oldDecimalPos >= 0 ? oldDecimalPos : oldValue.length;
1800
1336
  const newEnd = newDecimalPos >= 0 ? newDecimalPos : newValue.length;
1801
- const intDigitsBeforeCursor = countDigits(oldValue, 0, Math.min(oldCursor, oldEnd));
1337
+ const intDigitsBeforeCursor = countDigits(
1338
+ oldValue,
1339
+ 0,
1340
+ Math.min(oldCursor, oldEnd)
1341
+ );
1802
1342
  if (intDigitsBeforeCursor === 0) {
1803
1343
  if (isDeleteOperation(inputType)) {
1804
1344
  for (let i = 0; i < newValue.length; i++) {
1805
- if (/[0-9]/.test(newValue[i]))
1806
- return i + 1;
1345
+ if (/[0-9]/.test(newValue[i])) return i + 1;
1807
1346
  }
1808
1347
  }
1809
1348
  return 0;
@@ -1819,9 +1358,12 @@ const calculateCursorPosition = (oldValue, newValue, oldCursor, inputType, decim
1819
1358
 
1820
1359
  const escapeRegExp = (str) => str.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
1821
1360
  const getSuffix = (value, groupSeparator, decimalSeparator) => {
1822
- var _a;
1823
- const suffixReg = new RegExp(`\\d([^${escapeRegExp(groupSeparator)}${escapeRegExp(decimalSeparator)}0-9]+)`);
1824
- return (_a = value.match(suffixReg)) == null ? void 0 : _a[1];
1361
+ const suffixReg = new RegExp(
1362
+ `\\d([^${escapeRegExp(groupSeparator)}${escapeRegExp(
1363
+ decimalSeparator
1364
+ )}0-9]+)`
1365
+ );
1366
+ return value.match(suffixReg)?.[1];
1825
1367
  };
1826
1368
  function handleNumberFieldKeyDown({
1827
1369
  event,
@@ -1830,19 +1372,21 @@ function handleNumberFieldKeyDown({
1830
1372
  decimalSeparator,
1831
1373
  onOriginalKeyDown
1832
1374
  }) {
1833
- var _a;
1834
1375
  const { key } = event;
1835
1376
  const input = event.currentTarget;
1836
1377
  const { selectionStart, value } = input;
1837
1378
  if (selectionStart === null) {
1838
- onOriginalKeyDown == null ? void 0 : onOriginalKeyDown(event);
1379
+ onOriginalKeyDown?.(event);
1839
1380
  return;
1840
1381
  }
1841
1382
  if (/^[0-9]$/.test(key)) {
1842
1383
  const decimalPos = value.indexOf(decimalSeparator);
1843
1384
  if (selectionStart === 0) {
1844
1385
  const integerPart = decimalPos >= 0 ? value.slice(0, decimalPos) : value;
1845
- const cleanedInteger = integerPart.replace(new RegExp(escapeRegExp(groupSeparator), "g"), "");
1386
+ const cleanedInteger = integerPart.replace(
1387
+ new RegExp(escapeRegExp(groupSeparator), "g"),
1388
+ ""
1389
+ );
1846
1390
  if (cleanedInteger === "0") {
1847
1391
  event.preventDefault();
1848
1392
  const newValue = key + (decimalPos >= 0 ? value.slice(decimalPos) : "");
@@ -1929,10 +1473,10 @@ function handleNumberFieldKeyDown({
1929
1473
  const suffix = getSuffix(value, groupSeparator, decimalSeparator);
1930
1474
  if (suffix && selectionStart > value.length - suffix.length) {
1931
1475
  const suffixStartPos = value.length - suffix.length;
1932
- (_a = inputRef.current) == null ? void 0 : _a.setSelectionRange(suffixStartPos, suffixStartPos);
1476
+ inputRef.current?.setSelectionRange(suffixStartPos, suffixStartPos);
1933
1477
  }
1934
1478
  }
1935
- onOriginalKeyDown == null ? void 0 : onOriginalKeyDown(event);
1479
+ onOriginalKeyDown?.(event);
1936
1480
  }
1937
1481
 
1938
1482
  function useNumberFieldFormatting({
@@ -1945,19 +1489,28 @@ function useNumberFieldFormatting({
1945
1489
  onChange,
1946
1490
  autoFormat
1947
1491
  }) {
1948
- const { groupSeparator, decimalSeparator } = React.useMemo(() => getSeparators(formatter), [formatter]);
1492
+ const { groupSeparator, decimalSeparator } = React.useMemo(
1493
+ () => getSeparators(formatter),
1494
+ [formatter]
1495
+ );
1949
1496
  const [formattedValue, setFormattedValue] = React.useState("");
1950
- const symbolInfo = React.useMemo(() => extractSymbol(formatter, prefix, postfix), [formatter, prefix, postfix]);
1497
+ const symbolInfo = React.useMemo(
1498
+ () => extractSymbol(formatter, prefix, postfix),
1499
+ [formatter, prefix, postfix]
1500
+ );
1951
1501
  const { extractedPrefix, extractedPostfix, symbol } = symbolInfo;
1952
1502
  const cursorPositionRef = React.useRef(null);
1953
1503
  const displayValue = React.useMemo(() => {
1954
- const numericValue = parseNumericValue(inputValue, decimalSeparator, formatter);
1955
- if (numericValue === null)
1956
- return inputValue;
1504
+ const numericValue = parseNumericValue(
1505
+ inputValue,
1506
+ decimalSeparator,
1507
+ formatter
1508
+ );
1509
+ if (numericValue === null) return inputValue;
1957
1510
  try {
1958
1511
  const trimmedValue = trimSymbol(inputValue, symbol) || inputValue;
1959
1512
  return autoFormat ? formattedValue || trimmedValue : trimmedValue;
1960
- } catch (e) {
1513
+ } catch {
1961
1514
  return inputValue;
1962
1515
  }
1963
1516
  }, [
@@ -1970,49 +1523,74 @@ function useNumberFieldFormatting({
1970
1523
  ]);
1971
1524
  React.useLayoutEffect(() => {
1972
1525
  if (cursorPositionRef.current !== null && inputRef.current) {
1973
- inputRef.current.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current);
1526
+ inputRef.current.setSelectionRange(
1527
+ cursorPositionRef.current,
1528
+ cursorPositionRef.current
1529
+ );
1974
1530
  cursorPositionRef.current = null;
1975
1531
  }
1976
1532
  }, [displayValue, inputRef]);
1977
- const handleInput = React.useCallback((e) => {
1978
- if (!autoFormat)
1979
- return;
1980
- const input = e.currentTarget;
1981
- const { value, selectionStart } = input;
1982
- const inputType = e.nativeEvent.inputType || "";
1983
- const shouldStrip = !!symbol;
1984
- const maxFractionDigits = formatter.resolvedOptions().maximumFractionDigits || 0;
1985
- const decimalIndex = value.indexOf(decimalSeparator);
1986
- if (decimalIndex !== -1 && selectionStart !== null) {
1987
- const decimalPart = value.slice(decimalIndex + 1).replace(new RegExp(`[^0-9]`, "g"), "");
1988
- const prevDecimalIndex = displayValue.indexOf(decimalSeparator);
1989
- const prevDecimalLength = prevDecimalIndex !== -1 ? displayValue.slice(prevDecimalIndex + 1).length : 0;
1990
- if (decimalPart.length > maxFractionDigits && selectionStart > decimalIndex + 1 + prevDecimalLength) {
1991
- e.preventDefault();
1992
- cursorPositionRef.current = decimalIndex + 1 + prevDecimalLength;
1993
- return;
1533
+ const handleInput = React.useCallback(
1534
+ (e) => {
1535
+ if (!autoFormat) return;
1536
+ const input = e.currentTarget;
1537
+ const { value, selectionStart } = input;
1538
+ const inputType = e.nativeEvent.inputType || "";
1539
+ const shouldStrip = !!symbol;
1540
+ const maxFractionDigits = formatter.resolvedOptions().maximumFractionDigits || 0;
1541
+ const decimalIndex = value.indexOf(decimalSeparator);
1542
+ if (decimalIndex !== -1 && selectionStart !== null) {
1543
+ const decimalPart = value.slice(decimalIndex + 1).replace(new RegExp(`[^0-9]`, "g"), "");
1544
+ const prevDecimalIndex = displayValue.indexOf(decimalSeparator);
1545
+ const prevDecimalLength = prevDecimalIndex !== -1 ? displayValue.slice(prevDecimalIndex + 1).length : 0;
1546
+ if (decimalPart.length > maxFractionDigits && selectionStart > decimalIndex + 1 + prevDecimalLength) {
1547
+ e.preventDefault();
1548
+ cursorPositionRef.current = decimalIndex + 1 + prevDecimalLength;
1549
+ return;
1550
+ }
1994
1551
  }
1995
- }
1996
- const formattedValue2 = formatNumberString(value, formatter, decimalSeparator, shouldStrip, symbol);
1997
- setFormattedValue(formattedValue2);
1998
- const numericValue = parseNumericValue(formattedValue2, decimalSeparator, formatter);
1999
- if (formattedValue2 !== value && formattedValue2 !== "" && selectionStart !== null) {
2000
- const newCursorPosition = calculateCursorPosition(value, formattedValue2, selectionStart, inputType, decimalSeparator, numericValue);
2001
- cursorPositionRef.current = newCursorPosition;
2002
- }
2003
- if (numericValue !== null) {
2004
- onChange == null ? void 0 : onChange(numericValue);
2005
- }
2006
- }, [formatter, decimalSeparator, symbol, autoFormat, displayValue, onChange]);
2007
- const handleKeyDown = React.useCallback((e) => {
2008
- handleNumberFieldKeyDown({
2009
- event: e,
2010
- inputRef,
2011
- groupSeparator,
2012
- decimalSeparator,
2013
- onOriginalKeyDown
2014
- });
2015
- }, [groupSeparator, decimalSeparator, inputRef, onOriginalKeyDown]);
1552
+ const formattedValue2 = formatNumberString(
1553
+ value,
1554
+ formatter,
1555
+ decimalSeparator,
1556
+ shouldStrip,
1557
+ symbol
1558
+ );
1559
+ setFormattedValue(formattedValue2);
1560
+ const numericValue = parseNumericValue(
1561
+ formattedValue2,
1562
+ decimalSeparator,
1563
+ formatter
1564
+ );
1565
+ if (formattedValue2 !== value && formattedValue2 !== "" && selectionStart !== null) {
1566
+ const newCursorPosition = calculateCursorPosition(
1567
+ value,
1568
+ formattedValue2,
1569
+ selectionStart,
1570
+ inputType,
1571
+ decimalSeparator,
1572
+ numericValue
1573
+ );
1574
+ cursorPositionRef.current = newCursorPosition;
1575
+ }
1576
+ if (numericValue !== null) {
1577
+ onChange?.(numericValue);
1578
+ }
1579
+ },
1580
+ [formatter, decimalSeparator, symbol, autoFormat, displayValue, onChange]
1581
+ );
1582
+ const handleKeyDown = React.useCallback(
1583
+ (e) => {
1584
+ handleNumberFieldKeyDown({
1585
+ event: e,
1586
+ inputRef,
1587
+ groupSeparator,
1588
+ decimalSeparator,
1589
+ onOriginalKeyDown
1590
+ });
1591
+ },
1592
+ [groupSeparator, decimalSeparator, inputRef, onOriginalKeyDown]
1593
+ );
2016
1594
  return {
2017
1595
  displayValue,
2018
1596
  extractedPrefix,
@@ -2022,83 +1600,25 @@ function useNumberFieldFormatting({
2022
1600
  };
2023
1601
  }
2024
1602
 
2025
- var __defProp$f = Object.defineProperty;
2026
- var __defProps$e = Object.defineProperties;
2027
- var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
2028
- var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
2029
- var __hasOwnProp$f = Object.prototype.hasOwnProperty;
2030
- var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
2031
- var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2032
- var __spreadValues$f = (a, b) => {
2033
- for (var prop in b || (b = {}))
2034
- if (__hasOwnProp$f.call(b, prop))
2035
- __defNormalProp$f(a, prop, b[prop]);
2036
- if (__getOwnPropSymbols$f)
2037
- for (var prop of __getOwnPropSymbols$f(b)) {
2038
- if (__propIsEnum$f.call(b, prop))
2039
- __defNormalProp$f(a, prop, b[prop]);
2040
- }
2041
- return a;
2042
- };
2043
- var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
2044
- var __objRest$d = (source, exclude) => {
2045
- var target = {};
2046
- for (var prop in source)
2047
- if (__hasOwnProp$f.call(source, prop) && exclude.indexOf(prop) < 0)
2048
- target[prop] = source[prop];
2049
- if (source != null && __getOwnPropSymbols$f)
2050
- for (var prop of __getOwnPropSymbols$f(source)) {
2051
- if (exclude.indexOf(prop) < 0 && __propIsEnum$f.call(source, prop))
2052
- target[prop] = source[prop];
2053
- }
2054
- return target;
2055
- };
2056
- const useSapphireNumberField = (_a, ref) => {
2057
- var _b = _a, { error } = _b, numberFieldProps = __objRest$d(_b, ["error"]);
1603
+ const useSapphireNumberField = ({ error, ...numberFieldProps }, ref) => {
2058
1604
  const { locale } = i18n.useLocale();
2059
- const numberFieldState = numberfield.useNumberFieldState(__spreadProps$e(__spreadValues$f({}, numberFieldProps), {
1605
+ const numberFieldState = numberfield.useNumberFieldState({
1606
+ ...numberFieldProps,
2060
1607
  locale
2061
- }));
2062
- const numberFieldAria = numberfield$1.useNumberField(__spreadProps$e(__spreadValues$f({}, numberFieldProps), {
2063
- validationState: error === false || error === void 0 ? void 0 : "invalid"
2064
- }), numberFieldState, ref);
2065
- return __spreadProps$e(__spreadValues$f({}, numberFieldAria), { state: numberFieldState });
2066
- };
2067
-
2068
- var __defProp$e = Object.defineProperty;
2069
- var __defProps$d = Object.defineProperties;
2070
- var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
2071
- var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
2072
- var __hasOwnProp$e = Object.prototype.hasOwnProperty;
2073
- var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
2074
- var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2075
- var __spreadValues$e = (a, b) => {
2076
- for (var prop in b || (b = {}))
2077
- if (__hasOwnProp$e.call(b, prop))
2078
- __defNormalProp$e(a, prop, b[prop]);
2079
- if (__getOwnPropSymbols$e)
2080
- for (var prop of __getOwnPropSymbols$e(b)) {
2081
- if (__propIsEnum$e.call(b, prop))
2082
- __defNormalProp$e(a, prop, b[prop]);
2083
- }
2084
- return a;
2085
- };
2086
- var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
2087
- var __objRest$c = (source, exclude) => {
2088
- var target = {};
2089
- for (var prop in source)
2090
- if (__hasOwnProp$e.call(source, prop) && exclude.indexOf(prop) < 0)
2091
- target[prop] = source[prop];
2092
- if (source != null && __getOwnPropSymbols$e)
2093
- for (var prop of __getOwnPropSymbols$e(source)) {
2094
- if (exclude.indexOf(prop) < 0 && __propIsEnum$e.call(source, prop))
2095
- target[prop] = source[prop];
2096
- }
2097
- return target;
1608
+ });
1609
+ const numberFieldAria = numberfield$1.useNumberField(
1610
+ {
1611
+ ...numberFieldProps,
1612
+ validationState: error === false || error === void 0 ? void 0 : "invalid"
1613
+ },
1614
+ numberFieldState,
1615
+ ref
1616
+ );
1617
+ return { ...numberFieldAria, state: numberFieldState };
2098
1618
  };
1619
+
2099
1620
  const NumberField = React.forwardRef(function NumberField2(props, ref) {
2100
- var _b;
2101
- const _a = props, {
1621
+ const {
2102
1622
  label,
2103
1623
  isDisabled,
2104
1624
  error,
@@ -2113,24 +1633,9 @@ const NumberField = React.forwardRef(function NumberField2(props, ref) {
2113
1633
  showButtons = false,
2114
1634
  incrementAriaLabel,
2115
1635
  decrementAriaLabel,
2116
- autoFormat = false
2117
- } = _a, otherProps = __objRest$c(_a, [
2118
- "label",
2119
- "isDisabled",
2120
- "error",
2121
- "note",
2122
- "isRequired",
2123
- "contextualHelp",
2124
- "affix",
2125
- "size",
2126
- "labelPlacement",
2127
- "necessityIndicator",
2128
- "alignInputRight",
2129
- "showButtons",
2130
- "incrementAriaLabel",
2131
- "decrementAriaLabel",
2132
- "autoFormat"
2133
- ]);
1636
+ autoFormat = false,
1637
+ ...otherProps
1638
+ } = props;
2134
1639
  const { prefix, postfix } = React.useMemo(() => {
2135
1640
  if (affix === "auto") {
2136
1641
  return { prefix: void 0, postfix: void 0 };
@@ -2147,14 +1652,21 @@ const NumberField = React.forwardRef(function NumberField2(props, ref) {
2147
1652
  decrementButtonProps,
2148
1653
  descriptionProps,
2149
1654
  errorMessageProps
2150
- } = useSapphireNumberField(__spreadProps$d(__spreadValues$e({}, props), {
2151
- incrementAriaLabel: incrementAriaLabel != null ? incrementAriaLabel : formatMessage("increment"),
2152
- decrementAriaLabel: decrementAriaLabel != null ? decrementAriaLabel : formatMessage("decrement")
2153
- }), inputRef);
1655
+ } = useSapphireNumberField(
1656
+ {
1657
+ ...props,
1658
+ incrementAriaLabel: incrementAriaLabel ?? formatMessage("increment"),
1659
+ decrementAriaLabel: decrementAriaLabel ?? formatMessage("decrement")
1660
+ },
1661
+ inputRef
1662
+ );
2154
1663
  const { focusProps, isFocusVisible } = focus.useFocusRing();
2155
1664
  const { autofillStyles, updateStyle } = useAutofillStyle(inputRef);
2156
1665
  const { locale } = i18n.useLocale();
2157
- const formatter = React.useMemo(() => new Intl.NumberFormat(locale, props.formatOptions), [locale, props.formatOptions]);
1666
+ const formatter = React.useMemo(
1667
+ () => new Intl.NumberFormat(locale, props.formatOptions),
1668
+ [locale, props.formatOptions]
1669
+ );
2158
1670
  const formattingResult = useNumberFieldFormatting({
2159
1671
  inputRef,
2160
1672
  formatter,
@@ -2172,65 +1684,122 @@ const NumberField = React.forwardRef(function NumberField2(props, ref) {
2172
1684
  handleKeyDown: inputProps.onKeyDown
2173
1685
  };
2174
1686
  const containerRef = React.useRef(null);
2175
- React.useImperativeHandle(ref, () => __spreadProps$d(__spreadValues$e({}, utils$1.createFocusableRef(containerRef, inputRef)), {
1687
+ React.useImperativeHandle(ref, () => ({
1688
+ ...utils$1.createFocusableRef(containerRef, inputRef),
1689
+ /**
1690
+ * (This function is deprecated. Use `inputRef` prop)
1691
+ * @deprecated
1692
+ */
2176
1693
  getInputElement() {
2177
1694
  return inputRef.current;
2178
1695
  }
2179
1696
  }));
2180
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps$d(__spreadValues$e({}, removeUniqueDOMProps(otherProps)), {
2181
- ref: containerRef,
2182
- size,
2183
- labelPlacement
2184
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Context, {
2185
- descriptionProps: error ? errorMessageProps : descriptionProps
2186
- }, label && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Label, __spreadProps$d(__spreadValues$e({}, labelProps), {
2187
- size,
2188
- necessityIndicator: isRequired && necessityIndicator ? "required" : !isRequired && necessityIndicator ? "optional" : void 0,
2189
- contextualHelp
2190
- }), label)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React__default["default"].createElement("div", {
2191
- className: clsx__default["default"](textFieldStyles__default["default"]["sapphire-text-field"], {
2192
- [textFieldStyles__default["default"]["is-focus"]]: isFocusVisible,
2193
- [textFieldStyles__default["default"]["sapphire-text-field--error"]]: error === true || typeof error === "string",
2194
- [textFieldStyles__default["default"]["sapphire-text-field--md"]]: size === "md"
2195
- })
2196
- }, extractedPrefix && /* @__PURE__ */ React__default["default"].createElement("span", {
2197
- className: clsx__default["default"](textFieldStyles__default["default"]["sapphire-text-field__prefix"], {
2198
- [textFieldStyles__default["default"]["sapphire-text-field__prefix--icon"]]: typeof extractedPrefix !== "string"
2199
- })
2200
- }, extractedPrefix), /* @__PURE__ */ React__default["default"].createElement("input", __spreadProps$d(__spreadValues$e({}, utils.mergeProps(inputProps, focusProps, {
2201
- onChange: updateStyle,
2202
- onBlur: updateStyle
2203
- }, autoFormat ? {
2204
- onInput: handleInput,
2205
- onKeyDown: handleKeyDown
2206
- } : {})), {
2207
- value: (_b = formattingResult == null ? void 0 : formattingResult.displayValue) != null ? _b : inputProps.value,
2208
- ref: inputRef,
2209
- className: clsx__default["default"](textFieldStyles__default["default"]["sapphire-text-field__input"], {
2210
- [textFieldStyles__default["default"]["sapphire-text-field__input--align-right"]]: !!alignInputRight
2211
- }),
2212
- style: autofillStyles
2213
- })), extractedPostfix && /* @__PURE__ */ React__default["default"].createElement("span", {
2214
- className: clsx__default["default"](textFieldStyles__default["default"]["sapphire-text-field__postfix"], {
2215
- [textFieldStyles__default["default"]["sapphire-text-field__postfix--icon"]]: typeof extractedPostfix !== "string"
2216
- })
2217
- }, extractedPostfix), showButtons && /* @__PURE__ */ React__default["default"].createElement("div", {
2218
- className: textFieldStyles__default["default"]["sapphire-text-field__stepper"]
2219
- }, /* @__PURE__ */ React__default["default"].createElement(StepperButton, __spreadValues$e({
2220
- variant: "decrement",
2221
- size
2222
- }, decrementButtonProps)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Separator, {
2223
- orientation: "vertical"
2224
- }), /* @__PURE__ */ React__default["default"].createElement(StepperButton, __spreadValues$e({
2225
- variant: "increment",
2226
- size
2227
- }, incrementButtonProps))))), (error && typeof error !== "boolean" || note) && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Footer, null, error && typeof error !== "boolean" ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, {
2228
- variant: "error"
2229
- }, error) : note ? note : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null))));
1697
+ return /* @__PURE__ */ React.createElement(
1698
+ sapphireReact.Field,
1699
+ {
1700
+ ...removeUniqueDOMProps(otherProps),
1701
+ ref: containerRef,
1702
+ size,
1703
+ labelPlacement
1704
+ },
1705
+ /* @__PURE__ */ React.createElement(
1706
+ sapphireReact.Field.Context,
1707
+ {
1708
+ descriptionProps: error ? errorMessageProps : descriptionProps
1709
+ },
1710
+ label && /* @__PURE__ */ React.createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React.createElement(
1711
+ sapphireReact.Label,
1712
+ {
1713
+ ...labelProps,
1714
+ size,
1715
+ necessityIndicator: isRequired && necessityIndicator ? "required" : !isRequired && necessityIndicator ? "optional" : void 0,
1716
+ contextualHelp
1717
+ },
1718
+ label
1719
+ )),
1720
+ /* @__PURE__ */ React.createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React.createElement(
1721
+ "div",
1722
+ {
1723
+ className: clsx(textFieldStyles["sapphire-text-field"], {
1724
+ [textFieldStyles["is-focus"]]: isFocusVisible,
1725
+ [textFieldStyles["sapphire-text-field--error"]]: error === true || typeof error === "string",
1726
+ [textFieldStyles["sapphire-text-field--md"]]: size === "md"
1727
+ })
1728
+ },
1729
+ extractedPrefix && /* @__PURE__ */ React.createElement(
1730
+ "span",
1731
+ {
1732
+ className: clsx(
1733
+ textFieldStyles["sapphire-text-field__prefix"],
1734
+ {
1735
+ [textFieldStyles["sapphire-text-field__prefix--icon"]]: typeof extractedPrefix !== "string"
1736
+ }
1737
+ )
1738
+ },
1739
+ extractedPrefix
1740
+ ),
1741
+ /* @__PURE__ */ React.createElement(
1742
+ "input",
1743
+ {
1744
+ ...utils.mergeProps(
1745
+ inputProps,
1746
+ focusProps,
1747
+ {
1748
+ onChange: updateStyle,
1749
+ onBlur: updateStyle
1750
+ },
1751
+ autoFormat ? {
1752
+ onInput: handleInput,
1753
+ onKeyDown: handleKeyDown
1754
+ } : {}
1755
+ ),
1756
+ value: formattingResult?.displayValue ?? inputProps.value,
1757
+ ref: inputRef,
1758
+ className: clsx(textFieldStyles["sapphire-text-field__input"], {
1759
+ [textFieldStyles["sapphire-text-field__input--align-right"]]: !!alignInputRight
1760
+ }),
1761
+ style: autofillStyles
1762
+ }
1763
+ ),
1764
+ extractedPostfix && /* @__PURE__ */ React.createElement(
1765
+ "span",
1766
+ {
1767
+ className: clsx(
1768
+ textFieldStyles["sapphire-text-field__postfix"],
1769
+ {
1770
+ [textFieldStyles["sapphire-text-field__postfix--icon"]]: typeof extractedPostfix !== "string"
1771
+ }
1772
+ )
1773
+ },
1774
+ extractedPostfix
1775
+ ),
1776
+ showButtons && /* @__PURE__ */ React.createElement("div", { className: textFieldStyles["sapphire-text-field__stepper"] }, /* @__PURE__ */ React.createElement(
1777
+ StepperButton,
1778
+ {
1779
+ variant: "decrement",
1780
+ size,
1781
+ ...decrementButtonProps
1782
+ }
1783
+ ), /* @__PURE__ */ React.createElement(sapphireReact.Separator, { orientation: "vertical" }), /* @__PURE__ */ React.createElement(
1784
+ StepperButton,
1785
+ {
1786
+ variant: "increment",
1787
+ size,
1788
+ ...incrementButtonProps
1789
+ }
1790
+ ))
1791
+ )),
1792
+ (error && typeof error !== "boolean" || note) && /* @__PURE__ */ React.createElement(sapphireReact.Field.Footer, null, error && typeof error !== "boolean" ? /* @__PURE__ */ React.createElement(sapphireReact.Field.Note, { variant: "error" }, error) : note ? note : /* @__PURE__ */ React.createElement(React.Fragment, null))
1793
+ )
1794
+ );
2230
1795
  });
2231
- const removeUniqueDOMProps = (props) => Object.fromEntries(Object.entries(props).filter(([name]) => name !== "id" && !name.startsWith("data-")));
1796
+ const removeUniqueDOMProps = (props) => Object.fromEntries(
1797
+ Object.entries(props).filter(
1798
+ ([name]) => name !== "id" && !name.startsWith("data-")
1799
+ )
1800
+ );
2232
1801
 
2233
- const SecondarySidebarContext = React__default["default"].createContext(null);
1802
+ const SecondarySidebarContext = React.createContext(null);
2234
1803
  const useSecondarySidebarContext = () => {
2235
1804
  const context = React.useContext(SecondarySidebarContext);
2236
1805
  if (context) {
@@ -2245,22 +1814,25 @@ const SecondarySidebarProvider = ({
2245
1814
  themeVariant,
2246
1815
  children
2247
1816
  }) => {
2248
- var _a, _b, _c, _d;
2249
1817
  const context = React.useContext(SecondarySidebarContext);
2250
- const [secondarySidebarId, setSecondarySidebarId] = utils$2.useControlledState(openedId, defaultOpenedId != null ? defaultOpenedId : null, onOpenedIdChange);
1818
+ const [secondarySidebarId, setSecondarySidebarId] = utils$2.useControlledState(openedId, defaultOpenedId ?? null, onOpenedIdChange);
2251
1819
  const [content, setContent] = React.useState(null);
2252
- return /* @__PURE__ */ React__default["default"].createElement(SecondarySidebarContext.Provider, {
2253
- value: {
2254
- openedId: (_a = context == null ? void 0 : context.openedId) != null ? _a : secondarySidebarId,
2255
- setOpenedId: (_b = context == null ? void 0 : context.setOpenedId) != null ? _b : setSecondarySidebarId,
2256
- content: (_c = context == null ? void 0 : context.content) != null ? _c : content,
2257
- setContent: (_d = context == null ? void 0 : context.setContent) != null ? _d : setContent,
2258
- themeVariant: themeVariant != null ? themeVariant : context == null ? void 0 : context.themeVariant
2259
- }
2260
- }, children);
1820
+ return /* @__PURE__ */ React.createElement(
1821
+ SecondarySidebarContext.Provider,
1822
+ {
1823
+ value: {
1824
+ openedId: context?.openedId ?? secondarySidebarId,
1825
+ setOpenedId: context?.setOpenedId ?? setSecondarySidebarId,
1826
+ content: context?.content ?? content,
1827
+ setContent: context?.setContent ?? setContent,
1828
+ themeVariant: themeVariant ?? context?.themeVariant
1829
+ }
1830
+ },
1831
+ children
1832
+ );
2261
1833
  };
2262
1834
 
2263
- const ResponsiveSidebarContext = React__default["default"].createContext(null);
1835
+ const ResponsiveSidebarContext = React.createContext(null);
2264
1836
  function useResponsiveSidebarContext() {
2265
1837
  return React.useContext(ResponsiveSidebarContext);
2266
1838
  }
@@ -2286,59 +1858,35 @@ const ResponsiveSidebarProvider = ({
2286
1858
  onPanelOpenChange,
2287
1859
  children
2288
1860
  }) => {
2289
- const [isOpen, setOpen] = utils$2.useControlledState(isPanelOpen, defaultIsPanelOpen != null ? defaultIsPanelOpen : false, onPanelOpenChange);
2290
- return /* @__PURE__ */ React__default["default"].createElement(ResponsiveSidebarContext.Provider, {
2291
- value: {
2292
- isPanelOpen: isOpen,
2293
- setPanelOpen: setOpen,
2294
- collapsed
2295
- }
2296
- }, children);
2297
- };
2298
-
2299
- var __defProp$d = Object.defineProperty;
2300
- var __defProps$c = Object.defineProperties;
2301
- var __getOwnPropDescs$c = Object.getOwnPropertyDescriptors;
2302
- var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
2303
- var __hasOwnProp$d = Object.prototype.hasOwnProperty;
2304
- var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
2305
- var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2306
- var __spreadValues$d = (a, b) => {
2307
- for (var prop in b || (b = {}))
2308
- if (__hasOwnProp$d.call(b, prop))
2309
- __defNormalProp$d(a, prop, b[prop]);
2310
- if (__getOwnPropSymbols$d)
2311
- for (var prop of __getOwnPropSymbols$d(b)) {
2312
- if (__propIsEnum$d.call(b, prop))
2313
- __defNormalProp$d(a, prop, b[prop]);
2314
- }
2315
- return a;
2316
- };
2317
- var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
2318
- var __objRest$b = (source, exclude) => {
2319
- var target = {};
2320
- for (var prop in source)
2321
- if (__hasOwnProp$d.call(source, prop) && exclude.indexOf(prop) < 0)
2322
- target[prop] = source[prop];
2323
- if (source != null && __getOwnPropSymbols$d)
2324
- for (var prop of __getOwnPropSymbols$d(source)) {
2325
- if (exclude.indexOf(prop) < 0 && __propIsEnum$d.call(source, prop))
2326
- target[prop] = source[prop];
2327
- }
2328
- return target;
1861
+ const [isOpen, setOpen] = utils$2.useControlledState(
1862
+ isPanelOpen,
1863
+ defaultIsPanelOpen ?? false,
1864
+ onPanelOpenChange
1865
+ );
1866
+ return /* @__PURE__ */ React.createElement(
1867
+ ResponsiveSidebarContext.Provider,
1868
+ {
1869
+ value: {
1870
+ isPanelOpen: isOpen,
1871
+ setPanelOpen: setOpen,
1872
+ collapsed
1873
+ }
1874
+ },
1875
+ children
1876
+ );
2329
1877
  };
2330
- const SidebarPanel = (_a) => {
2331
- var _b = _a, {
2332
- children,
2333
- header
2334
- } = _b, props = __objRest$b(_b, [
2335
- "children",
2336
- "header"
2337
- ]);
1878
+
1879
+ const SidebarPanel = ({
1880
+ children,
1881
+ header,
1882
+ ...props
1883
+ }) => {
2338
1884
  const { openedId, setOpenedId, content } = useSecondarySidebarContext();
2339
1885
  const responsiveContext = useResponsiveSidebarContext();
2340
1886
  if (!responsiveContext) {
2341
- throw new Error("<SidebarPanel> must be rendered inside a <Sidebar.ResponsiveProvider>");
1887
+ throw new Error(
1888
+ "<SidebarPanel> must be rendered inside a <Sidebar.ResponsiveProvider>"
1889
+ );
2342
1890
  }
2343
1891
  const { isPanelOpen, setPanelOpen } = responsiveContext;
2344
1892
  const isCollapsed = useIsSidebarCollapsed();
@@ -2347,41 +1895,60 @@ const SidebarPanel = (_a) => {
2347
1895
  setPanelOpen(false);
2348
1896
  }
2349
1897
  }, [isCollapsed]);
2350
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Panel, __spreadProps$c(__spreadValues$d({}, props), {
2351
- isOpen: isPanelOpen,
2352
- onClose: () => setPanelOpen(false),
2353
- onCloseTransitionDone: () => setOpenedId(null),
2354
- alignLeft: true,
2355
- isDismissable: true,
2356
- width: 320
2357
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ModalLayout, {
2358
- header: /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ModalLayout.Header, {
2359
- heading: openedId === null ? header : content == null ? void 0 : content.header,
2360
- backButton: openedId !== null && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.IconButton, {
2361
- size: "md",
2362
- "aria-label": "Back",
2363
- variant: "tertiary",
2364
- marginLeft: `calc(-1 * ${sapphireReact.tokens.size.spacingSm})`,
2365
- onPress: () => setOpenedId(null)
2366
- }, /* @__PURE__ */ React__default["default"].createElement(react.ChevronLeft, null))
2367
- }),
2368
- body: /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ModalLayout.Body, {
2369
- noPadding: true,
2370
- UNSAFE_style: {
2371
- paddingLeft: sapphireReact.tokens.size.spacingMd.value,
2372
- paddingRight: sapphireReact.tokens.size.spacingMd.value
1898
+ return /* @__PURE__ */ React.createElement(
1899
+ sapphireReact.Panel,
1900
+ {
1901
+ ...props,
1902
+ isOpen: isPanelOpen,
1903
+ onClose: () => setPanelOpen(false),
1904
+ onCloseTransitionDone: () => setOpenedId(null),
1905
+ alignLeft: true,
1906
+ isDismissable: true,
1907
+ width: 320
1908
+ },
1909
+ /* @__PURE__ */ React.createElement(
1910
+ sapphireReact.ModalLayout,
1911
+ {
1912
+ header: /* @__PURE__ */ React.createElement(
1913
+ sapphireReact.ModalLayout.Header,
1914
+ {
1915
+ heading: openedId === null ? header : content?.header,
1916
+ backButton: openedId !== null && /* @__PURE__ */ React.createElement(
1917
+ sapphireReact.IconButton,
1918
+ {
1919
+ size: "md",
1920
+ "aria-label": "Back",
1921
+ variant: "tertiary",
1922
+ marginLeft: `calc(-1 * ${sapphireReact.tokens.size.spacingSm})`,
1923
+ onPress: () => setOpenedId(null)
1924
+ },
1925
+ /* @__PURE__ */ React.createElement(react.ChevronLeft, null)
1926
+ )
1927
+ }
1928
+ ),
1929
+ body: /* @__PURE__ */ React.createElement(
1930
+ sapphireReact.ModalLayout.Body,
1931
+ {
1932
+ noPadding: true,
1933
+ UNSAFE_style: {
1934
+ paddingLeft: sapphireReact.tokens.size.spacingMd.value,
1935
+ paddingRight: sapphireReact.tokens.size.spacingMd.value
1936
+ }
1937
+ },
1938
+ /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(sapphireReact.View, { isHidden: openedId !== null }, children), openedId && content?.body)
1939
+ )
2373
1940
  }
2374
- }, /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.View, {
2375
- isHidden: openedId !== null
2376
- }, children), openedId && (content == null ? void 0 : content.body)))
2377
- }));
1941
+ )
1942
+ );
2378
1943
  };
2379
1944
  const SidebarPanelTrigger = ({
2380
1945
  children
2381
1946
  }) => {
2382
1947
  const context = useResponsiveSidebarContext();
2383
1948
  if (!context) {
2384
- throw new Error("<Sidebar.PanelTrigger> should be rendered inside a <Sidebar.ResponsiveProvider>");
1949
+ throw new Error(
1950
+ "<Sidebar.PanelTrigger> should be rendered inside a <Sidebar.ResponsiveProvider>"
1951
+ );
2385
1952
  }
2386
1953
  const isCollapsed = useIsSidebarCollapsed();
2387
1954
  const panelTriggerProps = {
@@ -2416,271 +1983,163 @@ const useSidebar = () => {
2416
1983
  };
2417
1984
  };
2418
1985
 
2419
- var __defProp$c = Object.defineProperty;
2420
- var __defProps$b = Object.defineProperties;
2421
- var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
2422
- var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
2423
- var __hasOwnProp$c = Object.prototype.hasOwnProperty;
2424
- var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
2425
- var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2426
- var __spreadValues$c = (a, b) => {
2427
- for (var prop in b || (b = {}))
2428
- if (__hasOwnProp$c.call(b, prop))
2429
- __defNormalProp$c(a, prop, b[prop]);
2430
- if (__getOwnPropSymbols$c)
2431
- for (var prop of __getOwnPropSymbols$c(b)) {
2432
- if (__propIsEnum$c.call(b, prop))
2433
- __defNormalProp$c(a, prop, b[prop]);
2434
- }
2435
- return a;
2436
- };
2437
- var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
2438
- var __objRest$a = (source, exclude) => {
2439
- var target = {};
2440
- for (var prop in source)
2441
- if (__hasOwnProp$c.call(source, prop) && exclude.indexOf(prop) < 0)
2442
- target[prop] = source[prop];
2443
- if (source != null && __getOwnPropSymbols$c)
2444
- for (var prop of __getOwnPropSymbols$c(source)) {
2445
- if (exclude.indexOf(prop) < 0 && __propIsEnum$c.call(source, prop))
2446
- target[prop] = source[prop];
2447
- }
2448
- return target;
2449
- };
2450
- const Sidebar = (_a) => {
2451
- var _b = _a, {
2452
- themeVariant,
2453
- openedSecondarySidebar,
2454
- defaultOpenedSecondarySidebar,
2455
- onSecondarySidebarChange,
2456
- secondarySidebarThemeVariant,
2457
- children
2458
- } = _b, props = __objRest$a(_b, [
2459
- "themeVariant",
2460
- "openedSecondarySidebar",
2461
- "defaultOpenedSecondarySidebar",
2462
- "onSecondarySidebarChange",
2463
- "secondarySidebarThemeVariant",
2464
- "children"
2465
- ]);
1986
+ const Sidebar = ({
1987
+ themeVariant,
1988
+ openedSecondarySidebar,
1989
+ defaultOpenedSecondarySidebar,
1990
+ onSecondarySidebarChange,
1991
+ secondarySidebarThemeVariant,
1992
+ children,
1993
+ ...props
1994
+ }) => {
2466
1995
  sapphireReact.useThemeCheck();
2467
- return /* @__PURE__ */ React__default["default"].createElement(SecondarySidebarProvider, {
2468
- openedId: openedSecondarySidebar,
2469
- defaultOpenedId: defaultOpenedSecondarySidebar,
2470
- onOpenedIdChange: onSecondarySidebarChange,
2471
- themeVariant: secondarySidebarThemeVariant
2472
- }, /* @__PURE__ */ React__default["default"].createElement(WithThemeRoot, {
2473
- themeVariant
2474
- }, /* @__PURE__ */ React__default["default"].createElement(SidebarContent, __spreadValues$c({}, props), children)));
2475
- };
2476
- const SidebarContent = (_c) => {
2477
- var _d = _c, {
2478
- onBlurWithin,
2479
- onFocusWithin,
2480
- onFocusWithinChange,
2481
- closeOnBlurWithin = true,
2482
- header,
2483
- panelHeader,
2484
- children
2485
- } = _d, props = __objRest$a(_d, [
2486
- "onBlurWithin",
2487
- "onFocusWithin",
2488
- "onFocusWithinChange",
2489
- "closeOnBlurWithin",
2490
- "header",
2491
- "panelHeader",
2492
- "children"
2493
- ]);
1996
+ return /* @__PURE__ */ React.createElement(
1997
+ SecondarySidebarProvider,
1998
+ {
1999
+ openedId: openedSecondarySidebar,
2000
+ defaultOpenedId: defaultOpenedSecondarySidebar,
2001
+ onOpenedIdChange: onSecondarySidebarChange,
2002
+ themeVariant: secondarySidebarThemeVariant
2003
+ },
2004
+ /* @__PURE__ */ React.createElement(WithThemeRoot, { themeVariant }, /* @__PURE__ */ React.createElement(SidebarContent, { ...props }, children))
2005
+ );
2006
+ };
2007
+ const SidebarContent = ({
2008
+ onBlurWithin,
2009
+ onFocusWithin,
2010
+ onFocusWithinChange,
2011
+ closeOnBlurWithin = true,
2012
+ header,
2013
+ panelHeader,
2014
+ children,
2015
+ ...props
2016
+ }) => {
2494
2017
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
2495
2018
  const { sidebarProps } = useSidebar();
2496
- const { focusWithinProps } = interactions.useFocusWithin(utils.mergeProps({
2497
- onBlurWithin,
2498
- onFocusWithin,
2499
- onFocusWithinChange
2500
- }, closeOnBlurWithin ? sidebarProps : {}));
2019
+ const { focusWithinProps } = interactions.useFocusWithin(
2020
+ utils.mergeProps(
2021
+ {
2022
+ onBlurWithin,
2023
+ onFocusWithin,
2024
+ onFocusWithinChange
2025
+ },
2026
+ closeOnBlurWithin ? sidebarProps : {}
2027
+ )
2028
+ );
2501
2029
  const responsiveSidebarContext = useResponsiveSidebarContext();
2502
2030
  const isCollapsed = useIsSidebarCollapsed();
2503
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, !isCollapsed && /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$b(__spreadValues$c(__spreadValues$c(__spreadValues$c({}, styleProps), utils.filterDOMProps(props, { global: true })), focusWithinProps), {
2504
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar"]),
2505
- tabIndex: -1
2506
- }), header, children), responsiveSidebarContext && /* @__PURE__ */ React__default["default"].createElement(SidebarPanel, {
2507
- header: panelHeader
2508
- }, children));
2031
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, !isCollapsed && /* @__PURE__ */ React.createElement(
2032
+ "div",
2033
+ {
2034
+ ...styleProps,
2035
+ ...utils.filterDOMProps(props, { global: true }),
2036
+ ...focusWithinProps,
2037
+ className: clsx(styles$6["sapphire-sidebar"]),
2038
+ tabIndex: -1
2039
+ },
2040
+ header,
2041
+ children
2042
+ ), responsiveSidebarContext && /* @__PURE__ */ React.createElement(SidebarPanel, { header: panelHeader }, children));
2509
2043
  };
2510
2044
  const WithThemeRoot = ({
2511
2045
  children,
2512
2046
  themeVariant
2513
- }) => themeVariant ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ThemeRoot, {
2514
- variant: themeVariant,
2515
- noSurface: true,
2516
- height: "100%",
2517
- width: "min-content"
2518
- }, children) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, children);
2519
-
2520
- var __defProp$b = Object.defineProperty;
2521
- var __defProps$a = Object.defineProperties;
2522
- var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
2523
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
2524
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
2525
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
2526
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2527
- var __spreadValues$b = (a, b) => {
2528
- for (var prop in b || (b = {}))
2529
- if (__hasOwnProp$b.call(b, prop))
2530
- __defNormalProp$b(a, prop, b[prop]);
2531
- if (__getOwnPropSymbols$b)
2532
- for (var prop of __getOwnPropSymbols$b(b)) {
2533
- if (__propIsEnum$b.call(b, prop))
2534
- __defNormalProp$b(a, prop, b[prop]);
2535
- }
2536
- return a;
2537
- };
2538
- var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
2539
- var __objRest$9 = (source, exclude) => {
2540
- var target = {};
2541
- for (var prop in source)
2542
- if (__hasOwnProp$b.call(source, prop) && exclude.indexOf(prop) < 0)
2543
- target[prop] = source[prop];
2544
- if (source != null && __getOwnPropSymbols$b)
2545
- for (var prop of __getOwnPropSymbols$b(source)) {
2546
- if (exclude.indexOf(prop) < 0 && __propIsEnum$b.call(source, prop))
2547
- target[prop] = source[prop];
2548
- }
2549
- return target;
2550
- };
2551
- const SidebarHeader = (_a) => {
2552
- var _b = _a, {
2047
+ }) => themeVariant ? /* @__PURE__ */ React.createElement(
2048
+ sapphireReact.ThemeRoot,
2049
+ {
2050
+ variant: themeVariant,
2051
+ noSurface: true,
2052
+ height: "100%",
2053
+ width: "min-content"
2054
+ },
2055
+ children
2056
+ ) : /* @__PURE__ */ React.createElement(React.Fragment, null, children);
2057
+
2058
+ const SidebarHeader = ({
2059
+ children,
2060
+ closeButtonProps,
2061
+ ...props
2062
+ }) => {
2063
+ return /* @__PURE__ */ React.createElement(
2064
+ "div",
2065
+ {
2066
+ ...utils.filterDOMProps(props),
2067
+ className: clsx(styles$6["sapphire-sidebar__header"])
2068
+ },
2553
2069
  children,
2554
- closeButtonProps
2555
- } = _b, props = __objRest$9(_b, [
2556
- "children",
2557
- "closeButtonProps"
2558
- ]);
2559
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$a(__spreadValues$b({}, utils.filterDOMProps(props)), {
2560
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__header"])
2561
- }), children, closeButtonProps && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.IconButton, __spreadProps$a(__spreadValues$b({}, closeButtonProps), {
2562
- "aria-label": "Close"
2563
- }), /* @__PURE__ */ React__default["default"].createElement(react.CloseLarge, null)));
2564
- };
2565
-
2566
- var __defProp$a = Object.defineProperty;
2567
- var __defProps$9 = Object.defineProperties;
2568
- var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
2569
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
2570
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
2571
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
2572
- var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2573
- var __spreadValues$a = (a, b) => {
2574
- for (var prop in b || (b = {}))
2575
- if (__hasOwnProp$a.call(b, prop))
2576
- __defNormalProp$a(a, prop, b[prop]);
2577
- if (__getOwnPropSymbols$a)
2578
- for (var prop of __getOwnPropSymbols$a(b)) {
2579
- if (__propIsEnum$a.call(b, prop))
2580
- __defNormalProp$a(a, prop, b[prop]);
2581
- }
2582
- return a;
2583
- };
2584
- var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
2585
- var __objRest$8 = (source, exclude) => {
2586
- var target = {};
2587
- for (var prop in source)
2588
- if (__hasOwnProp$a.call(source, prop) && exclude.indexOf(prop) < 0)
2589
- target[prop] = source[prop];
2590
- if (source != null && __getOwnPropSymbols$a)
2591
- for (var prop of __getOwnPropSymbols$a(source)) {
2592
- if (exclude.indexOf(prop) < 0 && __propIsEnum$a.call(source, prop))
2593
- target[prop] = source[prop];
2594
- }
2595
- return target;
2070
+ closeButtonProps && /* @__PURE__ */ React.createElement(sapphireReact.IconButton, { ...closeButtonProps, "aria-label": "Close" }, /* @__PURE__ */ React.createElement(react.CloseLarge, null))
2071
+ );
2596
2072
  };
2597
- const SidebarItem = React__default["default"].forwardRef(function SidebarItem2(_a, ref) {
2598
- var _b = _a, { isActive, children } = _b, props = __objRest$8(_b, ["isActive", "children"]);
2073
+
2074
+ const SidebarItem = React.forwardRef(function SidebarItem2({ isActive, children, ...props }, ref) {
2599
2075
  const { itemProps } = useSidebar();
2600
- return /* @__PURE__ */ React__default["default"].createElement("li", {
2601
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__nav-item"])
2602
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Button, __spreadProps$9(__spreadValues$a({
2603
- ref,
2604
- variant: "tertiary",
2605
- elementType: "a",
2606
- "aria-current": isActive ? "page" : void 0
2607
- }, utils.mergeProps(props, itemProps)), {
2608
- UNSAFE_className: clsx__default["default"](buttonStyles__default["default"]["sapphire-button--stretch-left-align"], { [buttonStyles__default["default"]["sapphire-button--selected"]]: isActive })
2609
- }), children));
2076
+ return /* @__PURE__ */ React.createElement("li", { className: clsx(styles$6["sapphire-sidebar__nav-item"]) }, /* @__PURE__ */ React.createElement(
2077
+ sapphireReact.Button,
2078
+ {
2079
+ ref,
2080
+ variant: "tertiary",
2081
+ elementType: "a",
2082
+ "aria-current": isActive ? "page" : void 0,
2083
+ ...utils.mergeProps(props, itemProps),
2084
+ UNSAFE_className: clsx(
2085
+ buttonStyles["sapphire-button--stretch-left-align"],
2086
+ { [buttonStyles["sapphire-button--selected"]]: isActive }
2087
+ )
2088
+ },
2089
+ children
2090
+ ));
2610
2091
  });
2611
2092
 
2612
- var __defProp$9 = Object.defineProperty;
2613
- var __defProps$8 = Object.defineProperties;
2614
- var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
2615
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
2616
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
2617
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
2618
- var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2619
- var __spreadValues$9 = (a, b) => {
2620
- for (var prop in b || (b = {}))
2621
- if (__hasOwnProp$9.call(b, prop))
2622
- __defNormalProp$9(a, prop, b[prop]);
2623
- if (__getOwnPropSymbols$9)
2624
- for (var prop of __getOwnPropSymbols$9(b)) {
2625
- if (__propIsEnum$9.call(b, prop))
2626
- __defNormalProp$9(a, prop, b[prop]);
2627
- }
2628
- return a;
2629
- };
2630
- var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
2631
- var __objRest$7 = (source, exclude) => {
2632
- var target = {};
2633
- for (var prop in source)
2634
- if (__hasOwnProp$9.call(source, prop) && exclude.indexOf(prop) < 0)
2635
- target[prop] = source[prop];
2636
- if (source != null && __getOwnPropSymbols$9)
2637
- for (var prop of __getOwnPropSymbols$9(source)) {
2638
- if (exclude.indexOf(prop) < 0 && __propIsEnum$9.call(source, prop))
2639
- target[prop] = source[prop];
2640
- }
2641
- return target;
2642
- };
2643
- const SidebarExpandableItem = React__default["default"].forwardRef(function SidebarExpandableItem2(_a, ref) {
2644
- var _b = _a, {
2093
+ const SidebarExpandableItem = React.forwardRef(
2094
+ function SidebarExpandableItem2({
2645
2095
  id,
2646
2096
  isActive,
2647
2097
  body,
2648
2098
  header,
2649
- children
2650
- } = _b, props = __objRest$7(_b, [
2651
- "id",
2652
- "isActive",
2653
- "body",
2654
- "header",
2655
- "children"
2656
- ]);
2657
- const { openedId, setContent, themeVariant } = useSecondarySidebarContext();
2658
- const isCollapsed = useIsSidebarCollapsed();
2659
- const { getExpandableItemProps, secondarySidebarProps } = useSidebar();
2660
- const itemId = utils.useId(id);
2661
- const isOpen = openedId === itemId;
2662
- React.useLayoutEffect(() => {
2663
- if (isOpen) {
2664
- setContent({ header, body });
2665
- }
2666
- }, [isOpen]);
2667
- return /* @__PURE__ */ React__default["default"].createElement("li", {
2668
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__nav-item"])
2669
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Button, __spreadProps$8(__spreadValues$9({
2670
- variant: "tertiary",
2671
- "aria-current": isActive || void 0,
2672
- ref
2673
- }, utils.mergeProps(getExpandableItemProps(itemId), props)), {
2674
- UNSAFE_className: clsx__default["default"](buttonStyles__default["default"]["sapphire-button--stretch-left-align"], {
2675
- [buttonStyles__default["default"]["sapphire-button--selected"]]: isActive && !isOpen,
2676
- [buttonStyles__default["default"]["is-active"]]: isOpen
2677
- })
2678
- }), children), /* @__PURE__ */ React__default["default"].createElement(SecondarySidebar, __spreadValues$9({
2679
- isOpen: isOpen && !isCollapsed,
2680
- header,
2681
- themeVariant
2682
- }, secondarySidebarProps), body));
2683
- });
2099
+ children,
2100
+ ...props
2101
+ }, ref) {
2102
+ const { openedId, setContent, themeVariant } = useSecondarySidebarContext();
2103
+ const isCollapsed = useIsSidebarCollapsed();
2104
+ const { getExpandableItemProps, secondarySidebarProps } = useSidebar();
2105
+ const itemId = utils.useId(id);
2106
+ const isOpen = openedId === itemId;
2107
+ React.useLayoutEffect(() => {
2108
+ if (isOpen) {
2109
+ setContent({ header, body });
2110
+ }
2111
+ }, [isOpen]);
2112
+ return /* @__PURE__ */ React.createElement("li", { className: clsx(styles$6["sapphire-sidebar__nav-item"]) }, /* @__PURE__ */ React.createElement(
2113
+ sapphireReact.Button,
2114
+ {
2115
+ variant: "tertiary",
2116
+ "aria-current": isActive || void 0,
2117
+ ref,
2118
+ ...utils.mergeProps(
2119
+ getExpandableItemProps(itemId),
2120
+ props
2121
+ ),
2122
+ UNSAFE_className: clsx(
2123
+ buttonStyles["sapphire-button--stretch-left-align"],
2124
+ {
2125
+ [buttonStyles["sapphire-button--selected"]]: isActive && !isOpen,
2126
+ [buttonStyles["is-active"]]: isOpen
2127
+ }
2128
+ )
2129
+ },
2130
+ children
2131
+ ), /* @__PURE__ */ React.createElement(
2132
+ SecondarySidebar,
2133
+ {
2134
+ isOpen: isOpen && !isCollapsed,
2135
+ header,
2136
+ themeVariant,
2137
+ ...secondarySidebarProps
2138
+ },
2139
+ body
2140
+ ));
2141
+ }
2142
+ );
2684
2143
  const SecondarySidebar = ({
2685
2144
  isOpen,
2686
2145
  onClose,
@@ -2693,188 +2152,134 @@ const SecondarySidebar = ({
2693
2152
  React.useEffect(() => {
2694
2153
  const handleKeyDown = (e) => {
2695
2154
  if (e.key === "Escape") {
2696
- onClose == null ? void 0 : onClose();
2155
+ onClose?.();
2697
2156
  }
2698
2157
  };
2699
2158
  document.addEventListener("keydown", handleKeyDown);
2700
2159
  return () => document.removeEventListener("keydown", handleKeyDown);
2701
2160
  }, [onClose]);
2702
- return /* @__PURE__ */ React__default["default"].createElement(reactTransitionGroup.Transition, {
2703
- in: isOpen,
2704
- mountOnEnter: true,
2705
- nodeRef: ref,
2706
- unmountOnExit: true,
2707
- onExited: onCloseTransitionDone,
2708
- timeout: 200
2709
- }, (transitionState) => /* @__PURE__ */ React__default["default"].createElement("div", {
2710
- ref,
2711
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__secondary-container"], {
2712
- [styles__default$6["default"]["sapphire-sidebar--slide-in"]]: true,
2713
- [styles__default$6["default"]["sapphire-sidebar--slide-out"]]: transitionState === "exiting"
2714
- })
2715
- }, /* @__PURE__ */ React__default["default"].createElement(focus.FocusScope, {
2716
- restoreFocus: true,
2717
- autoFocus: true
2718
- }, /* @__PURE__ */ React__default["default"].createElement(_Sidebar, {
2719
- themeVariant,
2720
- closeOnBlurWithin: false,
2721
- header: /* @__PURE__ */ React__default["default"].createElement(_Sidebar.Header, {
2722
- closeButtonProps: {
2723
- onPress: () => onClose == null ? void 0 : onClose()
2724
- }
2725
- }, header),
2726
- panelHeader: null
2727
- }, children))));
2728
- };
2729
-
2730
- var __defProp$8 = Object.defineProperty;
2731
- var __defProps$7 = Object.defineProperties;
2732
- var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
2733
- var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
2734
- var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
2735
- var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
2736
- var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2737
- var __spreadValues$8 = (a, b) => {
2738
- for (var prop in b || (b = {}))
2739
- if (__hasOwnProp$8.call(b, prop))
2740
- __defNormalProp$8(a, prop, b[prop]);
2741
- if (__getOwnPropSymbols$8)
2742
- for (var prop of __getOwnPropSymbols$8(b)) {
2743
- if (__propIsEnum$8.call(b, prop))
2744
- __defNormalProp$8(a, prop, b[prop]);
2745
- }
2746
- return a;
2747
- };
2748
- var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
2749
- var __objRest$6 = (source, exclude) => {
2750
- var target = {};
2751
- for (var prop in source)
2752
- if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)
2753
- target[prop] = source[prop];
2754
- if (source != null && __getOwnPropSymbols$8)
2755
- for (var prop of __getOwnPropSymbols$8(source)) {
2756
- if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop))
2757
- target[prop] = source[prop];
2758
- }
2759
- return target;
2760
- };
2761
- const SidebarSection = (_a) => {
2762
- var _b = _a, {
2763
- title,
2764
- "aria-label": label,
2765
- children
2766
- } = _b, props = __objRest$6(_b, [
2767
- "title",
2768
- "aria-label",
2769
- "children"
2770
- ]);
2161
+ return /* @__PURE__ */ React.createElement(
2162
+ reactTransitionGroup.Transition,
2163
+ {
2164
+ in: isOpen,
2165
+ mountOnEnter: true,
2166
+ nodeRef: ref,
2167
+ unmountOnExit: true,
2168
+ onExited: onCloseTransitionDone,
2169
+ timeout: 200
2170
+ },
2171
+ (transitionState) => /* @__PURE__ */ React.createElement(
2172
+ "div",
2173
+ {
2174
+ ref,
2175
+ className: clsx(styles$6["sapphire-sidebar__secondary-container"], {
2176
+ [styles$6["sapphire-sidebar--slide-in"]]: true,
2177
+ [styles$6["sapphire-sidebar--slide-out"]]: transitionState === "exiting"
2178
+ })
2179
+ },
2180
+ /* @__PURE__ */ React.createElement(focus.FocusScope, { restoreFocus: true, autoFocus: true }, /* @__PURE__ */ React.createElement(
2181
+ _Sidebar,
2182
+ {
2183
+ themeVariant,
2184
+ closeOnBlurWithin: false,
2185
+ header: /* @__PURE__ */ React.createElement(
2186
+ _Sidebar.Header,
2187
+ {
2188
+ closeButtonProps: {
2189
+ onPress: () => onClose?.()
2190
+ }
2191
+ },
2192
+ header
2193
+ ),
2194
+ panelHeader: null
2195
+ },
2196
+ children
2197
+ ))
2198
+ )
2199
+ );
2200
+ };
2201
+
2202
+ const SidebarSection = ({
2203
+ title,
2204
+ "aria-label": label,
2205
+ children,
2206
+ ...props
2207
+ }) => {
2771
2208
  sapphireReact.useThemeCheck();
2772
2209
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
2773
2210
  const { itemProps, headingProps, groupProps } = listbox.useListBoxSection({
2774
2211
  heading: title,
2775
2212
  "aria-label": label
2776
2213
  });
2777
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("li", {
2778
- role: "separator",
2779
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__separator"])
2780
- }), /* @__PURE__ */ React__default["default"].createElement("li", __spreadValues$8(__spreadValues$8(__spreadValues$8({}, itemProps), styleProps), utils.filterDOMProps(props, { global: true })), title && /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$7(__spreadValues$8({}, headingProps), {
2781
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__section-header"])
2782
- }), title), /* @__PURE__ */ React__default["default"].createElement("ul", __spreadProps$7(__spreadValues$8({}, groupProps), {
2783
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__section"])
2784
- }), children)));
2785
- };
2786
-
2787
- var __defProp$7 = Object.defineProperty;
2788
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
2789
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
2790
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
2791
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2792
- var __spreadValues$7 = (a, b) => {
2793
- for (var prop in b || (b = {}))
2794
- if (__hasOwnProp$7.call(b, prop))
2795
- __defNormalProp$7(a, prop, b[prop]);
2796
- if (__getOwnPropSymbols$7)
2797
- for (var prop of __getOwnPropSymbols$7(b)) {
2798
- if (__propIsEnum$7.call(b, prop))
2799
- __defNormalProp$7(a, prop, b[prop]);
2800
- }
2801
- return a;
2802
- };
2803
- var __objRest$5 = (source, exclude) => {
2804
- var target = {};
2805
- for (var prop in source)
2806
- if (__hasOwnProp$7.call(source, prop) && exclude.indexOf(prop) < 0)
2807
- target[prop] = source[prop];
2808
- if (source != null && __getOwnPropSymbols$7)
2809
- for (var prop of __getOwnPropSymbols$7(source)) {
2810
- if (exclude.indexOf(prop) < 0 && __propIsEnum$7.call(source, prop))
2811
- target[prop] = source[prop];
2812
- }
2813
- return target;
2214
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
2215
+ "li",
2216
+ {
2217
+ role: "separator",
2218
+ className: clsx(styles$6["sapphire-sidebar__separator"])
2219
+ }
2220
+ ), /* @__PURE__ */ React.createElement(
2221
+ "li",
2222
+ {
2223
+ ...itemProps,
2224
+ ...styleProps,
2225
+ ...utils.filterDOMProps(props, { global: true })
2226
+ },
2227
+ title && /* @__PURE__ */ React.createElement(
2228
+ "div",
2229
+ {
2230
+ ...headingProps,
2231
+ className: clsx(styles$6["sapphire-sidebar__section-header"])
2232
+ },
2233
+ title
2234
+ ),
2235
+ /* @__PURE__ */ React.createElement(
2236
+ "ul",
2237
+ {
2238
+ ...groupProps,
2239
+ className: clsx(styles$6["sapphire-sidebar__section"])
2240
+ },
2241
+ children
2242
+ )
2243
+ ));
2814
2244
  };
2815
- const SidebarBody = (_a) => {
2816
- var _b = _a, {
2817
- elementType = "nav",
2818
- children
2819
- } = _b, props = __objRest$5(_b, [
2820
- "elementType",
2821
- "children"
2822
- ]);
2245
+
2246
+ const SidebarBody = ({
2247
+ elementType = "nav",
2248
+ children,
2249
+ ...props
2250
+ }) => {
2823
2251
  const RootNode = elementType;
2824
2252
  const sidebarBody = React.useRef(null);
2825
2253
  const { isScrolled, scrollCheckProps } = sapphireReact.useScrollCheck(sidebarBody);
2826
- return /* @__PURE__ */ React__default["default"].createElement(RootNode, __spreadValues$7(__spreadValues$7({
2827
- ref: sidebarBody,
2828
- tabIndex: -1,
2829
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__body"], {
2830
- [styles__default$6["default"]["sapphire-sidebar__body--scrolled"]]: isScrolled
2831
- })
2832
- }, utils.filterDOMProps(props, { global: true })), scrollCheckProps), children);
2833
- };
2834
-
2835
- var __defProp$6 = Object.defineProperty;
2836
- var __defProps$6 = Object.defineProperties;
2837
- var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
2838
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
2839
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
2840
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
2841
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2842
- var __spreadValues$6 = (a, b) => {
2843
- for (var prop in b || (b = {}))
2844
- if (__hasOwnProp$6.call(b, prop))
2845
- __defNormalProp$6(a, prop, b[prop]);
2846
- if (__getOwnPropSymbols$6)
2847
- for (var prop of __getOwnPropSymbols$6(b)) {
2848
- if (__propIsEnum$6.call(b, prop))
2849
- __defNormalProp$6(a, prop, b[prop]);
2850
- }
2851
- return a;
2852
- };
2853
- var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
2854
- var __objRest$4 = (source, exclude) => {
2855
- var target = {};
2856
- for (var prop in source)
2857
- if (__hasOwnProp$6.call(source, prop) && exclude.indexOf(prop) < 0)
2858
- target[prop] = source[prop];
2859
- if (source != null && __getOwnPropSymbols$6)
2860
- for (var prop of __getOwnPropSymbols$6(source)) {
2861
- if (exclude.indexOf(prop) < 0 && __propIsEnum$6.call(source, prop))
2862
- target[prop] = source[prop];
2863
- }
2864
- return target;
2865
- };
2866
- const SidebarList = (_a) => {
2867
- var _b = _a, {
2868
- elementType = "ul",
2254
+ return /* @__PURE__ */ React.createElement(
2255
+ RootNode,
2256
+ {
2257
+ ref: sidebarBody,
2258
+ tabIndex: -1,
2259
+ className: clsx(styles$6["sapphire-sidebar__body"], {
2260
+ [styles$6["sapphire-sidebar__body--scrolled"]]: isScrolled
2261
+ }),
2262
+ ...utils.filterDOMProps(props, { global: true }),
2263
+ ...scrollCheckProps
2264
+ },
2869
2265
  children
2870
- } = _b, props = __objRest$4(_b, [
2871
- "elementType",
2872
- "children"
2873
- ]);
2266
+ );
2267
+ };
2268
+
2269
+ const SidebarList = ({
2270
+ elementType = "ul",
2271
+ children,
2272
+ ...props
2273
+ }) => {
2874
2274
  const RootNode = elementType;
2875
- return /* @__PURE__ */ React__default["default"].createElement(RootNode, __spreadProps$6(__spreadValues$6({}, utils.filterDOMProps(props, { global: true })), {
2876
- className: clsx__default["default"](styles__default$6["default"]["sapphire-sidebar__nav-list"])
2877
- }), children);
2275
+ return /* @__PURE__ */ React.createElement(
2276
+ RootNode,
2277
+ {
2278
+ ...utils.filterDOMProps(props, { global: true }),
2279
+ className: clsx(styles$6["sapphire-sidebar__nav-list"])
2280
+ },
2281
+ children
2282
+ );
2878
2283
  };
2879
2284
 
2880
2285
  const _Sidebar = Object.assign(Sidebar, {
@@ -2888,25 +2293,6 @@ const _Sidebar = Object.assign(Sidebar, {
2888
2293
  PanelTrigger: SidebarPanelTrigger
2889
2294
  });
2890
2295
 
2891
- var __defProp$5 = Object.defineProperty;
2892
- var __defProps$5 = Object.defineProperties;
2893
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
2894
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
2895
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
2896
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
2897
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2898
- var __spreadValues$5 = (a, b) => {
2899
- for (var prop in b || (b = {}))
2900
- if (__hasOwnProp$5.call(b, prop))
2901
- __defNormalProp$5(a, prop, b[prop]);
2902
- if (__getOwnPropSymbols$5)
2903
- for (var prop of __getOwnPropSymbols$5(b)) {
2904
- if (__propIsEnum$5.call(b, prop))
2905
- __defNormalProp$5(a, prop, b[prop]);
2906
- }
2907
- return a;
2908
- };
2909
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
2910
2296
  const ProgressIndicator = (props) => {
2911
2297
  const {
2912
2298
  maxValue = 100,
@@ -2916,332 +2302,265 @@ const ProgressIndicator = (props) => {
2916
2302
  } = props;
2917
2303
  sapphireReact.useThemeCheck();
2918
2304
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
2919
- const { progressBarProps } = progress.useProgressBar(__spreadProps$5(__spreadValues$5({}, props), {
2305
+ const { progressBarProps } = progress.useProgressBar({
2306
+ ...props,
2920
2307
  minValue: 0,
2921
2308
  valueLabel: ariaValueText
2922
- }));
2309
+ });
2923
2310
  const minValue = 0;
2924
2311
  const value = Math.min(Math.max(realValue, minValue), maxValue);
2925
2312
  const widthPercentage = value / maxValue * 100;
2926
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$5(__spreadValues$5({}, utils.filterDOMProps(props, { global: true })), {
2927
- className: clsx__default["default"](styles__default$7["default"]["sapphire-progress"])
2928
- }), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$5(__spreadValues$5({}, progressBarProps), {
2929
- className: styles__default$7["default"]["sapphire-progress--indicator"],
2930
- style: __spreadProps$5(__spreadValues$5({}, styleProps), { width: `${widthPercentage}%` }),
2931
- "aria-label": "aria-label" in props ? props["aria-label"] : void 0,
2932
- "aria-labelledby": "aria-labelledby" in props ? props["aria-labelledby"] : void 0
2933
- })), segments > 1 && /* @__PURE__ */ React__default["default"].createElement("div", {
2934
- className: styles__default$7["default"]["sapphire-progress--segments"]
2935
- }, Array.from({ length: segments }, (_, index) => /* @__PURE__ */ React__default["default"].createElement("span", {
2936
- key: index
2937
- }))));
2938
- };
2939
-
2940
- var __defProp$4 = Object.defineProperty;
2941
- var __defProps$4 = Object.defineProperties;
2942
- var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
2943
- var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
2944
- var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
2945
- var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
2946
- var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2947
- var __spreadValues$4 = (a, b) => {
2948
- for (var prop in b || (b = {}))
2949
- if (__hasOwnProp$4.call(b, prop))
2950
- __defNormalProp$4(a, prop, b[prop]);
2951
- if (__getOwnPropSymbols$4)
2952
- for (var prop of __getOwnPropSymbols$4(b)) {
2953
- if (__propIsEnum$4.call(b, prop))
2954
- __defNormalProp$4(a, prop, b[prop]);
2955
- }
2956
- return a;
2957
- };
2958
- var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
2959
- var __objRest$3 = (source, exclude) => {
2960
- var target = {};
2961
- for (var prop in source)
2962
- if (__hasOwnProp$4.call(source, prop) && exclude.indexOf(prop) < 0)
2963
- target[prop] = source[prop];
2964
- if (source != null && __getOwnPropSymbols$4)
2965
- for (var prop of __getOwnPropSymbols$4(source)) {
2966
- if (exclude.indexOf(prop) < 0 && __propIsEnum$4.call(source, prop))
2967
- target[prop] = source[prop];
2968
- }
2969
- return target;
2313
+ return /* @__PURE__ */ React.createElement(
2314
+ "div",
2315
+ {
2316
+ ...utils.filterDOMProps(props, { global: true }),
2317
+ className: clsx(styles$7["sapphire-progress"])
2318
+ },
2319
+ /* @__PURE__ */ React.createElement(
2320
+ "div",
2321
+ {
2322
+ ...progressBarProps,
2323
+ className: styles$7["sapphire-progress--indicator"],
2324
+ style: { ...styleProps, width: `${widthPercentage}%` },
2325
+ "aria-label": "aria-label" in props ? props["aria-label"] : void 0,
2326
+ "aria-labelledby": "aria-labelledby" in props ? props["aria-labelledby"] : void 0
2327
+ }
2328
+ ),
2329
+ segments > 1 && /* @__PURE__ */ React.createElement("div", { className: styles$7["sapphire-progress--segments"] }, Array.from({ length: segments }, (_, index) => /* @__PURE__ */ React.createElement("span", { key: index })))
2330
+ );
2970
2331
  };
2971
- const Slider = (_a) => {
2972
- var _b = _a, {
2973
- label,
2974
- labelPlacement = "above",
2975
- note,
2976
- name
2977
- } = _b, props = __objRest$3(_b, [
2978
- "label",
2979
- "labelPlacement",
2980
- "note",
2981
- "name"
2982
- ]);
2332
+
2333
+ const Slider = ({
2334
+ label,
2335
+ labelPlacement = "above",
2336
+ note,
2337
+ name,
2338
+ ...props
2339
+ }) => {
2983
2340
  sapphireReact.useThemeCheck();
2984
2341
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
2985
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps$4(__spreadValues$4({}, styleProps), {
2986
- labelPlacement
2987
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Context, null, label && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Label, null, label)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React__default["default"].createElement(reactAriaComponents.Slider, __spreadProps$4(__spreadValues$4({}, props), {
2988
- style: { height: "100%" }
2989
- }), /* @__PURE__ */ React__default["default"].createElement("div", {
2990
- className: clsx__default["default"](styles__default$8["default"]["sapphire-slider"]),
2991
- role: "slider"
2992
- }, /* @__PURE__ */ React__default["default"].createElement(reactAriaComponents.SliderTrack, {
2993
- className: ({ isDisabled }) => clsx__default["default"](styles__default$8["default"]["sapphire-slider__track"], {
2994
- [styles__default$8["default"]["is-disabled"]]: isDisabled
2995
- })
2996
- }, ({ state }) => /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("div", {
2997
- className: clsx__default["default"](styles__default$8["default"]["sapphire-slider__track-remaining"])
2998
- }), /* @__PURE__ */ React__default["default"].createElement("div", {
2999
- className: clsx__default["default"](styles__default$8["default"]["sapphire-slider__track-fill"]),
3000
- style: { width: state.getThumbPercent(0) * 100 + "%" }
3001
- }), /* @__PURE__ */ React__default["default"].createElement(reactAriaComponents.SliderThumb, {
3002
- name,
3003
- className: (state2) => clsx__default["default"](styles__default$8["default"]["sapphire-slider__thumb"], {
3004
- [styles__default$8["default"]["is-focus"]]: state2.isFocusVisible
3005
- }),
3006
- style: ({ state: state2 }) => {
3007
- const percent = Math.min(3 + state2.getThumbPercent(0) * 94, 100);
3008
- return {
3009
- left: `${percent}%`
3010
- };
3011
- }
3012
- })))))), note && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Footer, null, note)));
2342
+ return /* @__PURE__ */ React.createElement(sapphireReact.Field, { ...styleProps, labelPlacement }, /* @__PURE__ */ React.createElement(sapphireReact.Field.Context, null, label && /* @__PURE__ */ React.createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React.createElement(sapphireReact.Label, null, label)), /* @__PURE__ */ React.createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React.createElement(reactAriaComponents.Slider, { ...props, style: { height: "100%" } }, /* @__PURE__ */ React.createElement("div", { className: clsx(styles$8["sapphire-slider"]), role: "slider" }, /* @__PURE__ */ React.createElement(
2343
+ reactAriaComponents.SliderTrack,
2344
+ {
2345
+ className: ({ isDisabled }) => clsx(styles$8["sapphire-slider__track"], {
2346
+ [styles$8["is-disabled"]]: isDisabled
2347
+ })
2348
+ },
2349
+ ({ state }) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
2350
+ "div",
2351
+ {
2352
+ className: clsx(
2353
+ styles$8["sapphire-slider__track-remaining"]
2354
+ )
2355
+ }
2356
+ ), /* @__PURE__ */ React.createElement(
2357
+ "div",
2358
+ {
2359
+ className: clsx(styles$8["sapphire-slider__track-fill"]),
2360
+ style: { width: state.getThumbPercent(0) * 100 + "%" }
2361
+ }
2362
+ ), /* @__PURE__ */ React.createElement(
2363
+ reactAriaComponents.SliderThumb,
2364
+ {
2365
+ name,
2366
+ className: (state2) => clsx(styles$8["sapphire-slider__thumb"], {
2367
+ [styles$8["is-focus"]]: state2.isFocusVisible
2368
+ }),
2369
+ style: ({ state: state2 }) => {
2370
+ const percent = Math.min(
2371
+ 3 + state2.getThumbPercent(0) * 94,
2372
+ 100
2373
+ );
2374
+ return {
2375
+ left: `${percent}%`
2376
+ };
2377
+ }
2378
+ }
2379
+ ))
2380
+ )))), note && /* @__PURE__ */ React.createElement(sapphireReact.Field.Footer, null, note)));
3013
2381
  };
3014
2382
 
3015
2383
  const _Slider = Object.assign(Slider, {
3016
2384
  Note: sapphireReact.Field.Note
3017
2385
  });
3018
2386
 
3019
- var __defProp$3 = Object.defineProperty;
3020
- var __defProps$3 = Object.defineProperties;
3021
- var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
3022
- var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
3023
- var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
3024
- var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
3025
- var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3026
- var __spreadValues$3 = (a, b) => {
3027
- for (var prop in b || (b = {}))
3028
- if (__hasOwnProp$3.call(b, prop))
3029
- __defNormalProp$3(a, prop, b[prop]);
3030
- if (__getOwnPropSymbols$3)
3031
- for (var prop of __getOwnPropSymbols$3(b)) {
3032
- if (__propIsEnum$3.call(b, prop))
3033
- __defNormalProp$3(a, prop, b[prop]);
3034
- }
3035
- return a;
3036
- };
3037
- var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
3038
- var __objRest$2 = (source, exclude) => {
3039
- var target = {};
3040
- for (var prop in source)
3041
- if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)
3042
- target[prop] = source[prop];
3043
- if (source != null && __getOwnPropSymbols$3)
3044
- for (var prop of __getOwnPropSymbols$3(source)) {
3045
- if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))
3046
- target[prop] = source[prop];
3047
- }
3048
- return target;
3049
- };
3050
2387
  function Tag(props) {
3051
2388
  sapphireReact.useThemeCheck();
3052
2389
  const { hasError = false, item, state } = props;
3053
2390
  const ref = React.useRef(null);
3054
- const _a = tag.useTag(props, state, ref), {
2391
+ const {
3055
2392
  gridCellProps,
3056
2393
  isDisabled,
3057
2394
  isFocused,
3058
2395
  isPressed,
3059
2396
  removeButtonProps,
3060
- rowProps: _b
3061
- } = _a, _c = _b, { onKeyDown } = _c, rowProps = __objRest$2(_c, ["onKeyDown"]), otherProps = __objRest$2(_a, [
3062
- "gridCellProps",
3063
- "isDisabled",
3064
- "isFocused",
3065
- "isPressed",
3066
- "removeButtonProps",
3067
- "rowProps"
3068
- ]);
2397
+ rowProps: { onKeyDown, ...rowProps },
2398
+ ...otherProps
2399
+ } = tag.useTag(props, state, ref);
3069
2400
  const { hoverProps, isHovered } = interactions.useHover({ isDisabled });
3070
2401
  const hasAction = otherProps.hasAction;
3071
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.TooltipIfNeeded, {
3072
- title: item.rendered
3073
- }, (tooltipRef, tooltipProps) => {
3074
- const _a2 = tooltipProps || {}, { ref: tooltipTargetRef } = _a2, restTooltipProps = __objRest$2(_a2, ["ref"]);
3075
- return /* @__PURE__ */ React__default["default"].createElement(focus.FocusRing, {
3076
- focusRingClass: styles__default$9["default"]["is-focus"]
3077
- }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$3(__spreadProps$3(__spreadValues$3({
3078
- ref: utils.mergeRefs(ref, tooltipTargetRef)
3079
- }, utils.mergeProps({
3080
- onKeyDown: (e) => {
3081
- if (e.key !== " ") {
3082
- onKeyDown == null ? void 0 : onKeyDown(e);
3083
- } else {
3084
- e.preventDefault();
3085
- }
3086
- }
3087
- }, rowProps, hoverProps, restTooltipProps)), {
3088
- className: clsx__default["default"](styles__default$9["default"]["sapphire-tag"], styles__default$9["default"]["js-focus"], styles__default$9["default"]["js-hover"], {
3089
- [styles__default$9["default"]["sapphire-tag--actionable"]]: hasAction,
3090
- [styles__default$9["default"]["is-active"]]: hasAction && isPressed,
3091
- [styles__default$9["default"]["is-hover"]]: hasAction && isHovered,
3092
- [styles__default$9["default"]["is-disabled"]]: isDisabled
3093
- })
3094
- }), hasError ? { "aria-invalid": true } : {}), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$3(__spreadValues$3({}, gridCellProps), {
3095
- className: styles__default$9["default"]["sapphire-tag__content"]
3096
- }), hasError && !isDisabled && /* @__PURE__ */ React__default["default"].createElement(IconError, null), /* @__PURE__ */ React__default["default"].createElement("span", {
3097
- ref: tooltipRef,
3098
- className: styles__default$9["default"]["sapphire-tag__label"]
3099
- }, item.rendered), !isDisabled && props.allowsRemoving && /* @__PURE__ */ React__default["default"].createElement(RemoveButton, __spreadValues$3({}, removeButtonProps)))));
2402
+ return /* @__PURE__ */ React.createElement(sapphireReact.TooltipIfNeeded, { title: item.rendered }, (tooltipRef, tooltipProps) => {
2403
+ const { ref: tooltipTargetRef, ...restTooltipProps } = tooltipProps || {};
2404
+ return /* @__PURE__ */ React.createElement(focus.FocusRing, { focusRingClass: styles$9["is-focus"] }, /* @__PURE__ */ React.createElement(
2405
+ "div",
2406
+ {
2407
+ ref: utils.mergeRefs(ref, tooltipTargetRef),
2408
+ ...utils.mergeProps(
2409
+ {
2410
+ onKeyDown: (e) => {
2411
+ if (e.key !== " ") {
2412
+ onKeyDown?.(e);
2413
+ } else {
2414
+ e.preventDefault();
2415
+ }
2416
+ }
2417
+ },
2418
+ rowProps,
2419
+ hoverProps,
2420
+ restTooltipProps
2421
+ ),
2422
+ className: clsx(
2423
+ styles$9["sapphire-tag"],
2424
+ styles$9["js-focus"],
2425
+ styles$9["js-hover"],
2426
+ {
2427
+ [styles$9["sapphire-tag--actionable"]]: hasAction,
2428
+ [styles$9["is-active"]]: hasAction && isPressed,
2429
+ [styles$9["is-hover"]]: hasAction && isHovered,
2430
+ [styles$9["is-disabled"]]: isDisabled
2431
+ }
2432
+ ),
2433
+ ...hasError ? { "aria-invalid": true } : {}
2434
+ },
2435
+ /* @__PURE__ */ React.createElement(
2436
+ "div",
2437
+ {
2438
+ ...gridCellProps,
2439
+ className: styles$9["sapphire-tag__content"]
2440
+ },
2441
+ hasError && !isDisabled && /* @__PURE__ */ React.createElement(IconError, null),
2442
+ /* @__PURE__ */ React.createElement(
2443
+ "span",
2444
+ {
2445
+ ref: tooltipRef,
2446
+ className: styles$9["sapphire-tag__label"]
2447
+ },
2448
+ item.rendered
2449
+ ),
2450
+ !isDisabled && props.allowsRemoving && /* @__PURE__ */ React.createElement(RemoveButton, { ...removeButtonProps })
2451
+ )
2452
+ ));
3100
2453
  });
3101
2454
  }
3102
2455
  function RemoveButton(removeButtonProps) {
3103
2456
  const buttonRef = React.useRef(null);
3104
2457
  const { buttonProps } = button.useButton(removeButtonProps, buttonRef);
3105
- return /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$3(__spreadValues$3({}, buttonProps), {
3106
- className: clsx__default["default"](styles__default$9["default"]["sapphire-tag__button"], styles__default$9["default"]["js-focus"])
3107
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
3108
- size: "sm"
3109
- }, /* @__PURE__ */ React__default["default"].createElement(react.Close, null)));
2458
+ return /* @__PURE__ */ React.createElement(
2459
+ "button",
2460
+ {
2461
+ ...buttonProps,
2462
+ className: clsx(styles$9["sapphire-tag__button"], styles$9["js-focus"])
2463
+ },
2464
+ /* @__PURE__ */ React.createElement(sapphireReact.Icon, { size: "sm" }, /* @__PURE__ */ React.createElement(react.Close, null))
2465
+ );
3110
2466
  }
3111
2467
  const IconError = () => {
3112
- return /* @__PURE__ */ React__default["default"].createElement("span", {
3113
- className: clsx__default["default"](styles__default$9["default"]["sapphire-tag__error-icon"])
3114
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
3115
- size: "sm"
3116
- }, /* @__PURE__ */ React__default["default"].createElement(react.Error, null)));
3117
- };
3118
-
3119
- var __defProp$2 = Object.defineProperty;
3120
- var __defProps$2 = Object.defineProperties;
3121
- var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
3122
- var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
3123
- var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
3124
- var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
3125
- var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3126
- var __spreadValues$2 = (a, b) => {
3127
- for (var prop in b || (b = {}))
3128
- if (__hasOwnProp$2.call(b, prop))
3129
- __defNormalProp$2(a, prop, b[prop]);
3130
- if (__getOwnPropSymbols$2)
3131
- for (var prop of __getOwnPropSymbols$2(b)) {
3132
- if (__propIsEnum$2.call(b, prop))
3133
- __defNormalProp$2(a, prop, b[prop]);
3134
- }
3135
- return a;
3136
- };
3137
- var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
3138
- var __objRest$1 = (source, exclude) => {
3139
- var target = {};
3140
- for (var prop in source)
3141
- if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)
3142
- target[prop] = source[prop];
3143
- if (source != null && __getOwnPropSymbols$2)
3144
- for (var prop of __getOwnPropSymbols$2(source)) {
3145
- if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))
3146
- target[prop] = source[prop];
3147
- }
3148
- return target;
2468
+ return /* @__PURE__ */ React.createElement("span", { className: clsx(styles$9["sapphire-tag__error-icon"]) }, /* @__PURE__ */ React.createElement(sapphireReact.Icon, { size: "sm" }, /* @__PURE__ */ React.createElement(react.Error, null)));
3149
2469
  };
2470
+
3150
2471
  function TagGroup(props) {
3151
2472
  sapphireReact.useThemeCheck();
3152
- const _a = props, {
2473
+ const {
3153
2474
  contextualHelp,
3154
2475
  errorMessage,
3155
2476
  label: labelText,
3156
2477
  labelPlacement = "above",
3157
2478
  note,
3158
- onRemove: originalOnRemove
3159
- } = _a, otherProps = __objRest$1(_a, [
3160
- "contextualHelp",
3161
- "errorMessage",
3162
- "label",
3163
- "labelPlacement",
3164
- "note",
3165
- "onRemove"
3166
- ]);
2479
+ onRemove: originalOnRemove,
2480
+ ...otherProps
2481
+ } = props;
3167
2482
  const ref = React.useRef(null);
3168
2483
  const state = list.useListState(props);
3169
2484
  const onRemove = originalOnRemove ? (keys) => {
3170
- console.warn("The `onRemove` prop is deprecated and will be removed in future versions. Use the `onRemove` prop on the `TagItem` component instead.");
2485
+ console.warn(
2486
+ "The `onRemove` prop is deprecated and will be removed in future versions. Use the `onRemove` prop on the `TagItem` component instead."
2487
+ );
3171
2488
  originalOnRemove(keys);
3172
2489
  } : (keys) => {
3173
2490
  Array.from(keys).forEach((key) => {
3174
- var _a2, _b;
3175
2491
  const item = state.collection.getItem(key);
3176
2492
  if (item) {
3177
- (_b = (_a2 = item.props).onRemove) == null ? void 0 : _b.call(_a2);
2493
+ item.props.onRemove?.();
3178
2494
  }
3179
2495
  });
3180
2496
  };
3181
- const { descriptionProps, gridProps, labelProps, errorMessageProps } = tag.useTagGroup(__spreadProps$2(__spreadValues$2({}, props), { onRemove }), state, ref);
3182
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps$2(__spreadValues$2({}, otherProps), {
3183
- labelPlacement,
3184
- labelVerticalAlignment: "top",
3185
- noDefaultWidth: true
3186
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Context, {
3187
- descriptionProps: errorMessage ? errorMessageProps : descriptionProps
3188
- }, (labelText || contextualHelp) && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Label, __spreadProps$2(__spreadValues$2({}, labelProps), {
3189
- contextualHelp
3190
- }), labelText)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$2(__spreadValues$2({}, gridProps), {
3191
- ref,
3192
- className: styles__default$9["default"]["sapphire-tag-group"]
3193
- }), Array.from(state.collection).map((item) => /* @__PURE__ */ React__default["default"].createElement(Tag, {
3194
- key: item.key,
3195
- item,
3196
- state,
3197
- hasError: item.props.hasError,
3198
- allowsRemoving: !!originalOnRemove || !!item.props.onRemove
3199
- })))), (note || errorMessage) && (errorMessage ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Footer, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, {
3200
- variant: "error"
3201
- }, errorMessage)) : /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Footer, null, note))));
2497
+ const { descriptionProps, gridProps, labelProps, errorMessageProps } = tag.useTagGroup({ ...props, onRemove }, state, ref);
2498
+ return /* @__PURE__ */ React.createElement(
2499
+ sapphireReact.Field,
2500
+ {
2501
+ ...otherProps,
2502
+ labelPlacement,
2503
+ labelVerticalAlignment: "top",
2504
+ noDefaultWidth: true
2505
+ },
2506
+ /* @__PURE__ */ React.createElement(
2507
+ sapphireReact.Field.Context,
2508
+ {
2509
+ descriptionProps: errorMessage ? errorMessageProps : descriptionProps
2510
+ },
2511
+ (labelText || contextualHelp) && /* @__PURE__ */ React.createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React.createElement(sapphireReact.Label, { ...labelProps, contextualHelp }, labelText)),
2512
+ /* @__PURE__ */ React.createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React.createElement(
2513
+ "div",
2514
+ {
2515
+ ...gridProps,
2516
+ ref,
2517
+ className: styles$9["sapphire-tag-group"]
2518
+ },
2519
+ Array.from(state.collection).map((item) => /* @__PURE__ */ React.createElement(
2520
+ Tag,
2521
+ {
2522
+ key: item.key,
2523
+ item,
2524
+ state,
2525
+ hasError: item.props.hasError,
2526
+ allowsRemoving: !!originalOnRemove || !!item.props.onRemove
2527
+ }
2528
+ ))
2529
+ )),
2530
+ (note || errorMessage) && (errorMessage ? /* @__PURE__ */ React.createElement(sapphireReact.Field.Footer, null, /* @__PURE__ */ React.createElement(sapphireReact.Field.Note, { variant: "error" }, errorMessage)) : /* @__PURE__ */ React.createElement(sapphireReact.Field.Footer, null, note))
2531
+ )
2532
+ );
3202
2533
  }
3203
2534
 
3204
2535
  const TagItem = collections$1.Item;
3205
2536
 
3206
- var __defProp$1 = Object.defineProperty;
3207
- var __defProps$1 = Object.defineProperties;
3208
- var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
3209
- var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
3210
- var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
3211
- var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
3212
- var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3213
- var __spreadValues$1 = (a, b) => {
3214
- for (var prop in b || (b = {}))
3215
- if (__hasOwnProp$1.call(b, prop))
3216
- __defNormalProp$1(a, prop, b[prop]);
3217
- if (__getOwnPropSymbols$1)
3218
- for (var prop of __getOwnPropSymbols$1(b)) {
3219
- if (__propIsEnum$1.call(b, prop))
3220
- __defNormalProp$1(a, prop, b[prop]);
3221
- }
3222
- return a;
3223
- };
3224
- var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
3225
- const TimeSegment = ({ segment, state }) => segment.type === "hour" || segment.type === "minute" || segment.type === "dayPeriod" ? /* @__PURE__ */ React__default["default"].createElement(EditableSegment, {
3226
- segment,
3227
- state
3228
- }) : /* @__PURE__ */ React__default["default"].createElement(SeparatorSegment, {
3229
- segment
3230
- });
3231
- const SeparatorSegment = ({ segment }) => /* @__PURE__ */ React__default["default"].createElement("span", {
3232
- "aria-hidden": "true",
3233
- className: clsx__default["default"](styles__default$a["default"]["sapphire-date-field__segment"], styles__default$a["default"]["sapphire-date-field__segment--separator"])
3234
- }, segment.text);
2537
+ const TimeSegment = ({ segment, state }) => segment.type === "hour" || segment.type === "minute" || segment.type === "dayPeriod" ? /* @__PURE__ */ React.createElement(EditableSegment, { segment, state }) : /* @__PURE__ */ React.createElement(SeparatorSegment, { segment });
2538
+ const SeparatorSegment = ({ segment }) => /* @__PURE__ */ React.createElement(
2539
+ "span",
2540
+ {
2541
+ "aria-hidden": "true",
2542
+ className: clsx(
2543
+ styles$a["sapphire-date-field__segment"],
2544
+ styles$a["sapphire-date-field__segment--separator"]
2545
+ )
2546
+ },
2547
+ segment.text
2548
+ );
3235
2549
  const EditableSegment = ({ segment, state }) => {
3236
2550
  const ref = React.useRef(null);
3237
2551
  const { segmentProps } = datepicker.useDateSegment(segment, state, ref);
3238
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$1(__spreadValues$1({}, segmentProps), {
3239
- style: segmentProps.style,
3240
- ref,
3241
- className: clsx__default["default"](styles__default$a["default"]["sapphire-date-field__segment"], {
3242
- [styles__default$a["default"]["sapphire-date-field__segment--filled"]]: !segment.isPlaceholder
3243
- })
3244
- }), segment.text);
2552
+ return /* @__PURE__ */ React.createElement(
2553
+ "div",
2554
+ {
2555
+ ...segmentProps,
2556
+ style: segmentProps.style,
2557
+ ref,
2558
+ className: clsx(styles$a["sapphire-date-field__segment"], {
2559
+ [styles$a["sapphire-date-field__segment--filled"]]: !segment.isPlaceholder
2560
+ })
2561
+ },
2562
+ segment.text
2563
+ );
3245
2564
  };
3246
2565
 
3247
2566
  var clear$6 = "Nulstil";
@@ -3289,99 +2608,81 @@ var intlMessages = {
3289
2608
  "sv-SE": se
3290
2609
  };
3291
2610
 
3292
- var __defProp = Object.defineProperty;
3293
- var __defProps = Object.defineProperties;
3294
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
3295
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3296
- var __hasOwnProp = Object.prototype.hasOwnProperty;
3297
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
3298
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3299
- var __spreadValues = (a, b) => {
3300
- for (var prop in b || (b = {}))
3301
- if (__hasOwnProp.call(b, prop))
3302
- __defNormalProp(a, prop, b[prop]);
3303
- if (__getOwnPropSymbols)
3304
- for (var prop of __getOwnPropSymbols(b)) {
3305
- if (__propIsEnum.call(b, prop))
3306
- __defNormalProp(a, prop, b[prop]);
3307
- }
3308
- return a;
3309
- };
3310
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3311
- var __objRest = (source, exclude) => {
3312
- var target = {};
3313
- for (var prop in source)
3314
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
3315
- target[prop] = source[prop];
3316
- if (source != null && __getOwnPropSymbols)
3317
- for (var prop of __getOwnPropSymbols(source)) {
3318
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
3319
- target[prop] = source[prop];
3320
- }
3321
- return target;
3322
- };
3323
2611
  const isAnySegmentModified = (segments) => segments.map(({ type, isPlaceholder }) => {
3324
2612
  return type !== "literal" && !isPlaceholder;
3325
2613
  }).some((isModified) => isModified);
3326
- function _TimeField(_a, ref) {
3327
- var _b = _a, {
3328
- size = "lg",
3329
- noClearButton = false,
3330
- error,
3331
- note,
3332
- contextualHelp,
3333
- necessityIndicator = false
3334
- } = _b, otherProps = __objRest(_b, [
3335
- "size",
3336
- "noClearButton",
3337
- "error",
3338
- "note",
3339
- "contextualHelp",
3340
- "necessityIndicator"
3341
- ]);
2614
+ function _TimeField({
2615
+ // TODO many other props
2616
+ size = "lg",
2617
+ noClearButton = false,
2618
+ error,
2619
+ note,
2620
+ contextualHelp,
2621
+ necessityIndicator = false,
2622
+ ...otherProps
2623
+ }, ref) {
3342
2624
  sapphireReact.useThemeCheck();
3343
2625
  const timeFieldRef = utils.useObjectRef(ref);
3344
2626
  const { locale } = i18n.useLocale();
3345
2627
  const formatMessage = i18n.useMessageFormatter(intlMessages);
3346
- const state = datepicker$1.useTimeFieldState(__spreadProps(__spreadValues({}, otherProps), {
2628
+ const state = datepicker$1.useTimeFieldState({
2629
+ ...otherProps,
3347
2630
  locale,
3348
2631
  isInvalid: error ? true : void 0
3349
- }));
3350
- const { fieldProps, labelProps } = datepicker.useTimeField(__spreadValues({}, otherProps), state, timeFieldRef);
3351
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps(__spreadValues({}, otherProps), {
3352
- ref,
3353
- size,
3354
- noShrink: true
3355
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Context, null, otherProps.label && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Label, __spreadProps(__spreadValues({}, labelProps), {
3356
- size,
3357
- necessityIndicator: otherProps.isRequired && necessityIndicator ? "required" : !otherProps.isRequired && necessityIndicator ? "optional" : void 0,
3358
- contextualHelp
3359
- }), otherProps.label))), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React__default["default"].createElement("div", {
3360
- className: clsx__default["default"](styles__default$a["default"]["sapphire-date-field"], {
3361
- [styles__default$a["default"]["sapphire-date-field--error"]]: state.isInvalid,
3362
- [styles__default$a["default"]["sapphire-date-field--no-clear-button"]]: noClearButton,
3363
- [styles__default$a["default"]["sapphire-date-field--no-calendar"]]: true,
3364
- [styles__default$a["default"]["sapphire-date-field--md"]]: size === "md"
3365
- })
3366
- }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps(__spreadValues({}, fieldProps), {
3367
- className: styles__default$a["default"]["sapphire-date-field__input"],
3368
- ref: timeFieldRef
3369
- }), state.segments.map((segment, i) => /* @__PURE__ */ React__default["default"].createElement(TimeSegment, {
3370
- key: i,
3371
- segment,
3372
- state
3373
- }))), !noClearButton && !otherProps.isReadOnly && !otherProps.isDisabled && isAnySegmentModified(state.segments) && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.IconButton, {
3374
- "aria-label": formatMessage("clear"),
3375
- onPress: () => state.segments.forEach((segment) => state.clearSegment(segment.type)),
3376
- size: size === "md" ? "sm" : "md",
3377
- UNSAFE_className: clsx__default["default"](styles__default$a["default"]["sapphire-date-field__button"], styles__default$a["default"]["sapphire-date-field__button--clear"])
3378
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, null, /* @__PURE__ */ React__default["default"].createElement(react.CloseOutline, null))))), !!error && typeof error !== "boolean" || note ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Footer, null, !!error && typeof error !== "boolean" ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, {
3379
- variant: "error"
3380
- }, error) : note ? note : null) : null);
2632
+ });
2633
+ const { fieldProps, labelProps } = datepicker.useTimeField(
2634
+ { ...otherProps },
2635
+ state,
2636
+ timeFieldRef
2637
+ );
2638
+ return /* @__PURE__ */ React.createElement(sapphireReact.Field, { ...otherProps, ref, size, noShrink: true }, /* @__PURE__ */ React.createElement(sapphireReact.Field.Context, null, otherProps.label && /* @__PURE__ */ React.createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React.createElement(
2639
+ sapphireReact.Label,
2640
+ {
2641
+ ...labelProps,
2642
+ size,
2643
+ necessityIndicator: otherProps.isRequired && necessityIndicator ? "required" : !otherProps.isRequired && necessityIndicator ? "optional" : void 0,
2644
+ contextualHelp
2645
+ },
2646
+ otherProps.label
2647
+ ))), /* @__PURE__ */ React.createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React.createElement(
2648
+ "div",
2649
+ {
2650
+ className: clsx(styles$a["sapphire-date-field"], {
2651
+ [styles$a["sapphire-date-field--error"]]: state.isInvalid,
2652
+ [styles$a["sapphire-date-field--no-clear-button"]]: noClearButton,
2653
+ [styles$a["sapphire-date-field--no-calendar"]]: true,
2654
+ [styles$a["sapphire-date-field--md"]]: size === "md"
2655
+ })
2656
+ },
2657
+ /* @__PURE__ */ React.createElement(
2658
+ "div",
2659
+ {
2660
+ ...fieldProps,
2661
+ className: styles$a["sapphire-date-field__input"],
2662
+ ref: timeFieldRef
2663
+ },
2664
+ state.segments.map((segment, i) => /* @__PURE__ */ React.createElement(TimeSegment, { key: i, segment, state }))
2665
+ ),
2666
+ !noClearButton && !otherProps.isReadOnly && !otherProps.isDisabled && isAnySegmentModified(state.segments) && /* @__PURE__ */ React.createElement(
2667
+ sapphireReact.IconButton,
2668
+ {
2669
+ "aria-label": formatMessage("clear"),
2670
+ onPress: () => state.segments.forEach(
2671
+ (segment) => state.clearSegment(segment.type)
2672
+ ),
2673
+ size: size === "md" ? "sm" : "md",
2674
+ UNSAFE_className: clsx(
2675
+ styles$a["sapphire-date-field__button"],
2676
+ styles$a["sapphire-date-field__button--clear"]
2677
+ )
2678
+ },
2679
+ /* @__PURE__ */ React.createElement(sapphireReact.Icon, null, /* @__PURE__ */ React.createElement(react.CloseOutline, null))
2680
+ )
2681
+ )), !!error && typeof error !== "boolean" || note ? /* @__PURE__ */ React.createElement(sapphireReact.Field.Footer, null, !!error && typeof error !== "boolean" ? /* @__PURE__ */ React.createElement(sapphireReact.Field.Note, { variant: "error" }, error) : note ? note : null) : null);
3381
2682
  }
3382
2683
  const TimeField = React.forwardRef(_TimeField);
3383
2684
 
3384
- Object.defineProperty(exports, 'useLocale', {
2685
+ Object.defineProperty(exports, "useLocale", {
3385
2686
  enumerable: true,
3386
2687
  get: function () { return i18n.useLocale; }
3387
2688
  });