@danske/sapphire-react-lab 0.88.1 → 0.90.2

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 (145) hide show
  1. package/build/cjs/index.js +337 -3066
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Accordion/index.js +1 -0
  4. package/build/esm/Accordion/index.js.map +1 -1
  5. package/build/esm/Accordion/src/Accordion.js +22 -11
  6. package/build/esm/Accordion/src/Accordion.js.map +1 -1
  7. package/build/esm/Accordion/src/AccordionContext.js +15 -0
  8. package/build/esm/Accordion/src/AccordionContext.js.map +1 -0
  9. package/build/esm/Accordion/src/AccordionHeading.js +1 -1
  10. package/build/esm/Accordion/src/AccordionHeading.js.map +1 -1
  11. package/build/esm/Accordion/src/AccordionItem.js +14 -6
  12. package/build/esm/Accordion/src/AccordionItem.js.map +1 -1
  13. package/build/esm/FileDropzone/src/FileDropzone.js +3 -4
  14. package/build/esm/FileDropzone/src/FileDropzone.js.map +1 -1
  15. package/build/esm/Filtering/src/FilterDropdown.js +9 -8
  16. package/build/esm/Filtering/src/FilterDropdown.js.map +1 -1
  17. package/build/esm/LabeledValue/src/LabeledValue.js +2 -2
  18. package/build/esm/LabeledValue/src/LabeledValue.js.map +1 -1
  19. package/build/esm/NumberField/src/NumberField.js +11 -11
  20. package/build/esm/NumberField/src/NumberField.js.map +1 -1
  21. package/build/esm/NumberField/src/StepperButton.js +1 -1
  22. package/build/esm/NumberField/src/StepperButton.js.map +1 -1
  23. package/build/esm/TagGroup/src/Tag.js +2 -2
  24. package/build/esm/TagGroup/src/Tag.js.map +1 -1
  25. package/build/esm/TagGroup/src/TagGroup.js.map +1 -1
  26. package/build/esm/index.js +1 -17
  27. package/build/esm/index.js.map +1 -1
  28. package/build/index.d.ts +50 -755
  29. package/package.json +5 -13
  30. package/build/esm/AlertDialog/src/AlertDialog.js +0 -75
  31. package/build/esm/AlertDialog/src/AlertDialog.js.map +0 -1
  32. package/build/esm/Avatar/src/Avatar.js +0 -76
  33. package/build/esm/Avatar/src/Avatar.js.map +0 -1
  34. package/build/esm/Calendar/i18n/da-DK.js +0 -9
  35. package/build/esm/Calendar/i18n/da-DK.js.map +0 -1
  36. package/build/esm/Calendar/i18n/de-DE.js +0 -9
  37. package/build/esm/Calendar/i18n/de-DE.js.map +0 -1
  38. package/build/esm/Calendar/i18n/en-US.js +0 -9
  39. package/build/esm/Calendar/i18n/en-US.js.map +0 -1
  40. package/build/esm/Calendar/i18n/fi-FI.js +0 -9
  41. package/build/esm/Calendar/i18n/fi-FI.js.map +0 -1
  42. package/build/esm/Calendar/i18n/index.js +0 -20
  43. package/build/esm/Calendar/i18n/index.js.map +0 -1
  44. package/build/esm/Calendar/i18n/nb-NO.js +0 -9
  45. package/build/esm/Calendar/i18n/nb-NO.js.map +0 -1
  46. package/build/esm/Calendar/i18n/pl-PL.js +0 -9
  47. package/build/esm/Calendar/i18n/pl-PL.js.map +0 -1
  48. package/build/esm/Calendar/i18n/sv-SE.js +0 -9
  49. package/build/esm/Calendar/i18n/sv-SE.js.map +0 -1
  50. package/build/esm/Calendar/src/Calendar.js +0 -121
  51. package/build/esm/Calendar/src/Calendar.js.map +0 -1
  52. package/build/esm/Calendar/src/CalendarButtons.js +0 -96
  53. package/build/esm/Calendar/src/CalendarButtons.js.map +0 -1
  54. package/build/esm/Calendar/src/CalendarDaysGrid.js +0 -169
  55. package/build/esm/Calendar/src/CalendarDaysGrid.js.map +0 -1
  56. package/build/esm/Calendar/src/CalendarHeader.js +0 -58
  57. package/build/esm/Calendar/src/CalendarHeader.js.map +0 -1
  58. package/build/esm/Calendar/src/CalendarMonthOrYearCell.js +0 -79
  59. package/build/esm/Calendar/src/CalendarMonthOrYearCell.js.map +0 -1
  60. package/build/esm/Calendar/src/CalendarMonthsGrid.js +0 -58
  61. package/build/esm/Calendar/src/CalendarMonthsGrid.js.map +0 -1
  62. package/build/esm/Calendar/src/CalendarPageAnimation.js +0 -67
  63. package/build/esm/Calendar/src/CalendarPageAnimation.js.map +0 -1
  64. package/build/esm/Calendar/src/CalendarYearsGrid.js +0 -52
  65. package/build/esm/Calendar/src/CalendarYearsGrid.js.map +0 -1
  66. package/build/esm/Calendar/src/RangeCalendar.js +0 -119
  67. package/build/esm/Calendar/src/RangeCalendar.js.map +0 -1
  68. package/build/esm/Calendar/src/useCustomDurationCalendarGrid.js +0 -57
  69. package/build/esm/Calendar/src/useCustomDurationCalendarGrid.js.map +0 -1
  70. package/build/esm/Calendar/src/useRangeCalendarState.js +0 -57
  71. package/build/esm/Calendar/src/useRangeCalendarState.js.map +0 -1
  72. package/build/esm/Calendar/src/useSapphireCalendarState.js +0 -86
  73. package/build/esm/Calendar/src/useSapphireCalendarState.js.map +0 -1
  74. package/build/esm/Calendar/src/utils.js +0 -12
  75. package/build/esm/Calendar/src/utils.js.map +0 -1
  76. package/build/esm/DateField/i18n/da-DK.js +0 -7
  77. package/build/esm/DateField/i18n/da-DK.js.map +0 -1
  78. package/build/esm/DateField/i18n/de-DE.js +0 -7
  79. package/build/esm/DateField/i18n/de-DE.js.map +0 -1
  80. package/build/esm/DateField/i18n/en-US.js +0 -7
  81. package/build/esm/DateField/i18n/en-US.js.map +0 -1
  82. package/build/esm/DateField/i18n/fi-FI.js +0 -7
  83. package/build/esm/DateField/i18n/fi-FI.js.map +0 -1
  84. package/build/esm/DateField/i18n/index.js +0 -20
  85. package/build/esm/DateField/i18n/index.js.map +0 -1
  86. package/build/esm/DateField/i18n/nb-NO.js +0 -7
  87. package/build/esm/DateField/i18n/nb-NO.js.map +0 -1
  88. package/build/esm/DateField/i18n/pl-PL.js +0 -7
  89. package/build/esm/DateField/i18n/pl-PL.js.map +0 -1
  90. package/build/esm/DateField/i18n/sv-SE.js +0 -7
  91. package/build/esm/DateField/i18n/sv-SE.js.map +0 -1
  92. package/build/esm/DateField/src/DateField.js +0 -129
  93. package/build/esm/DateField/src/DateField.js.map +0 -1
  94. package/build/esm/DateField/src/DateFieldButton.js +0 -44
  95. package/build/esm/DateField/src/DateFieldButton.js.map +0 -1
  96. package/build/esm/DateField/src/DateInput.js +0 -81
  97. package/build/esm/DateField/src/DateInput.js.map +0 -1
  98. package/build/esm/DateField/src/DateRangeField.js +0 -154
  99. package/build/esm/DateField/src/DateRangeField.js.map +0 -1
  100. package/build/esm/DateField/src/DateRangeInput.js +0 -90
  101. package/build/esm/DateField/src/DateRangeInput.js.map +0 -1
  102. package/build/esm/DateField/src/DateSegment.js +0 -52
  103. package/build/esm/DateField/src/DateSegment.js.map +0 -1
  104. package/build/esm/DateField/src/helpers.js +0 -14
  105. package/build/esm/DateField/src/helpers.js.map +0 -1
  106. package/build/esm/DateField/src/useDateRangePickerState.js +0 -57
  107. package/build/esm/DateField/src/useDateRangePickerState.js.map +0 -1
  108. package/build/esm/DateField/src/utils/placeholders.js +0 -91
  109. package/build/esm/DateField/src/utils/placeholders.js.map +0 -1
  110. package/build/esm/DateField/src/utils/segments.js +0 -46
  111. package/build/esm/DateField/src/utils/segments.js.map +0 -1
  112. package/build/esm/FeedbackMessage/src/FeedbackMessage.js +0 -87
  113. package/build/esm/FeedbackMessage/src/FeedbackMessage.js.map +0 -1
  114. package/build/esm/Fieldset/src/Fieldset.js +0 -81
  115. package/build/esm/Fieldset/src/Fieldset.js.map +0 -1
  116. package/build/esm/NotificationBadge/src/NotificationBadge.js +0 -74
  117. package/build/esm/NotificationBadge/src/NotificationBadge.js.map +0 -1
  118. package/build/esm/SearchField/src/SearchField.js +0 -130
  119. package/build/esm/SearchField/src/SearchField.js.map +0 -1
  120. package/build/esm/SearchField/src/useComboBoxState.js +0 -42
  121. package/build/esm/SearchField/src/useComboBoxState.js.map +0 -1
  122. package/build/esm/Toast/src/Toast.js +0 -77
  123. package/build/esm/Toast/src/Toast.js.map +0 -1
  124. package/build/esm/Toast/src/ToastCloseButton.js +0 -50
  125. package/build/esm/Toast/src/ToastCloseButton.js.map +0 -1
  126. package/build/esm/Toast/src/ToastProvider.js +0 -60
  127. package/build/esm/Toast/src/ToastProvider.js.map +0 -1
  128. package/build/esm/Toast/src/ToastRegion.js +0 -66
  129. package/build/esm/Toast/src/ToastRegion.js.map +0 -1
  130. package/build/esm/Toast/src/context.js +0 -10
  131. package/build/esm/Toast/src/context.js.map +0 -1
  132. package/build/esm/Toast/src/useShowToast.js +0 -25
  133. package/build/esm/Toast/src/useShowToast.js.map +0 -1
  134. package/build/esm/ToggleButton/src/ToggleButton.js +0 -85
  135. package/build/esm/ToggleButton/src/ToggleButton.js.map +0 -1
  136. package/build/esm/Typography/index.js +0 -14
  137. package/build/esm/Typography/index.js.map +0 -1
  138. package/build/esm/Typography/src/Body.js +0 -66
  139. package/build/esm/Typography/src/Body.js.map +0 -1
  140. package/build/esm/Typography/src/Caption.js +0 -59
  141. package/build/esm/Typography/src/Caption.js.map +0 -1
  142. package/build/esm/Typography/src/Heading.js +0 -53
  143. package/build/esm/Typography/src/Heading.js.map +0 -1
  144. package/build/esm/Typography/src/Subheading.js +0 -63
  145. package/build/esm/Typography/src/Subheading.js.map +0 -1
@@ -3,55 +3,31 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var utils = require('@react-spectrum/utils');
7
- var focus = require('@react-aria/focus');
8
- var utils$1 = require('@react-aria/utils');
9
- var button = require('@react-aria/button');
10
- var interactions = require('@react-aria/interactions');
11
- var toggle = require('@react-stately/toggle');
12
- var clsx = require('clsx');
13
- var styles = require('@danske/sapphire-css/components/button/button.module.css');
6
+ var visuallyHidden = require('@react-aria/visually-hidden');
7
+ var utils = require('@react-stately/utils');
14
8
  var sapphireReact = require('@danske/sapphire-react');
15
- var date = require('@internationalized/date');
16
- var calendar = require('@react-aria/calendar');
17
- var styles$1 = require('@danske/sapphire-css/components/calendar/calendar.module.css');
18
- var i18n = require('@react-aria/i18n');
19
- var calendar$1 = require('@react-stately/calendar');
20
- var utils$2 = require('@react-stately/utils');
21
9
  var react = require('@danske/sapphire-icons/react');
22
- var reactTransitionGroup = require('react-transition-group');
23
- var styles$2 = require('@danske/sapphire-css/components/notificationBadge/notificationBadge.module.css');
24
- var visuallyHidden = require('@react-aria/visually-hidden');
25
- var datepicker = require('@react-aria/datepicker');
26
- var datepicker$1 = require('@react-stately/datepicker');
27
- var styles$3 = require('@danske/sapphire-css/components/dateField/dateField.module.css');
28
- var string = require('@internationalized/string');
29
- var dialog = require('@react-aria/dialog');
30
- var styles$5 = require('@danske/sapphire-css/components/feedbackMessage/feedbackMessage.module.css');
31
- var styles$4 = require('@danske/sapphire-css/components/avatar/avatar.module.css');
32
- var searchfield$1 = require('@react-aria/searchfield');
33
- var styles$6 = require('@danske/sapphire-css/components/searchField/searchField.module.css');
34
- var searchfield = require('@react-stately/searchfield');
35
- var combobox = require('@react-stately/combobox');
36
- var combobox$1 = require('@react-aria/combobox');
37
- var toast$1 = require('@react-stately/toast');
38
- var toast = require('@react-aria/toast');
39
- var styles$7 = require('@danske/sapphire-css/components/toast/toast.module.css');
40
- var styles$8 = require('@danske/sapphire-css/components/accordion/accordion.module.css');
10
+ var clsx = require('clsx');
41
11
  var accordion = require('@react-aria/accordion');
42
- var tree = require('@react-stately/tree');
12
+ var utils$1 = require('@react-aria/utils');
13
+ var styles = require('@danske/sapphire-css/components/accordion/accordion.module.css');
14
+ var focus = require('@react-aria/focus');
15
+ var interactions = require('@react-aria/interactions');
43
16
  var collections = require('@react-stately/collections');
44
- var styles$9 = require('@danske/sapphire-css/components/text/text.module.css');
45
- var label = require('@react-aria/label');
46
- var styles$a = require('@danske/sapphire-css/components/dropzone/dropzone.module.css');
17
+ var tree = require('@react-stately/tree');
18
+ var styles$1 = require('@danske/sapphire-css/components/dropzone/dropzone.module.css');
47
19
  var dnd = require('@react-aria/dnd');
20
+ var i18n = require('@react-aria/i18n');
21
+ var utils$2 = require('@react-spectrum/utils');
22
+ var textFieldStyles = require('@danske/sapphire-css/components/textField/textField.module.css');
48
23
  var numberfield$1 = require('@react-aria/numberfield');
49
24
  var numberfield = require('@react-stately/numberfield');
50
- var textFieldStyles = require('@danske/sapphire-css/components/textField/textField.module.css');
51
25
  var tag = require('@react-aria/tag');
52
26
  var list = require('@react-stately/list');
53
- var styles$b = require('@danske/sapphire-css/components/tag/tag.module.css');
54
- var styles$c = require('@danske/sapphire-css/components/labeledValue/labeledValue.module.css');
27
+ var styles$2 = require('@danske/sapphire-css/components/tag/tag.module.css');
28
+ var button = require('@react-aria/button');
29
+ var label = require('@react-aria/label');
30
+ var styles$3 = require('@danske/sapphire-css/components/labeledValue/labeledValue.module.css');
55
31
 
56
32
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
57
33
 
@@ -59,1156 +35,37 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
59
35
  var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
60
36
  var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
61
37
  var styles__default$1 = /*#__PURE__*/_interopDefaultLegacy(styles$1);
38
+ var textFieldStyles__default = /*#__PURE__*/_interopDefaultLegacy(textFieldStyles);
62
39
  var styles__default$2 = /*#__PURE__*/_interopDefaultLegacy(styles$2);
63
40
  var styles__default$3 = /*#__PURE__*/_interopDefaultLegacy(styles$3);
64
- var styles__default$5 = /*#__PURE__*/_interopDefaultLegacy(styles$5);
65
- var styles__default$4 = /*#__PURE__*/_interopDefaultLegacy(styles$4);
66
- var styles__default$6 = /*#__PURE__*/_interopDefaultLegacy(styles$6);
67
- var styles__default$7 = /*#__PURE__*/_interopDefaultLegacy(styles$7);
68
- var styles__default$8 = /*#__PURE__*/_interopDefaultLegacy(styles$8);
69
- var styles__default$9 = /*#__PURE__*/_interopDefaultLegacy(styles$9);
70
- var styles__default$a = /*#__PURE__*/_interopDefaultLegacy(styles$a);
71
- var textFieldStyles__default = /*#__PURE__*/_interopDefaultLegacy(textFieldStyles);
72
- var styles__default$b = /*#__PURE__*/_interopDefaultLegacy(styles$b);
73
- var styles__default$c = /*#__PURE__*/_interopDefaultLegacy(styles$c);
74
-
75
- var __defProp$J = Object.defineProperty;
76
- var __defProps$F = Object.defineProperties;
77
- var __getOwnPropDescs$F = Object.getOwnPropertyDescriptors;
78
- var __getOwnPropSymbols$K = Object.getOwnPropertySymbols;
79
- var __hasOwnProp$K = Object.prototype.hasOwnProperty;
80
- var __propIsEnum$K = Object.prototype.propertyIsEnumerable;
81
- var __defNormalProp$J = (obj, key, value) => key in obj ? __defProp$J(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82
- var __spreadValues$J = (a, b) => {
83
- for (var prop in b || (b = {}))
84
- if (__hasOwnProp$K.call(b, prop))
85
- __defNormalProp$J(a, prop, b[prop]);
86
- if (__getOwnPropSymbols$K)
87
- for (var prop of __getOwnPropSymbols$K(b)) {
88
- if (__propIsEnum$K.call(b, prop))
89
- __defNormalProp$J(a, prop, b[prop]);
90
- }
91
- return a;
92
- };
93
- var __spreadProps$F = (a, b) => __defProps$F(a, __getOwnPropDescs$F(b));
94
- var __objRest$v = (source, exclude) => {
95
- var target = {};
96
- for (var prop in source)
97
- if (__hasOwnProp$K.call(source, prop) && exclude.indexOf(prop) < 0)
98
- target[prop] = source[prop];
99
- if (source != null && __getOwnPropSymbols$K)
100
- for (var prop of __getOwnPropSymbols$K(source)) {
101
- if (exclude.indexOf(prop) < 0 && __propIsEnum$K.call(source, prop))
102
- target[prop] = source[prop];
103
- }
104
- return target;
105
- };
106
- const ToggleButton = React__default["default"].forwardRef(function Button(_a, ref) {
107
- var _b = _a, {
108
- iconAlign = "left",
109
- icon,
110
- size = "medium"
111
- } = _b, otherProps = __objRest$v(_b, [
112
- "iconAlign",
113
- "icon",
114
- "size"
115
- ]);
116
- sapphireReact.useThemeCheck();
117
- const { autoFocus, isDisabled } = otherProps;
118
- const domRef = utils.useFocusableRef(ref);
119
- const { hoverProps, isHovered } = interactions.useHover({ isDisabled });
120
- const { styleProps } = sapphireReact.useSapphireStyleProps(otherProps);
121
- const iconWrapper = icon && /* @__PURE__ */ React__default["default"].createElement("span", {
122
- className: clsx__default["default"](styles__default["default"]["sapphire-button__icon"])
123
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
124
- size: size === "small" ? "s" : size === "medium" ? "m" : "l"
125
- }, icon));
126
- const state = toggle.useToggleState(otherProps);
127
- const { buttonProps, isPressed } = button.useToggleButton(otherProps, state, domRef);
128
- sapphireReact.usePreventTouchEnd(domRef);
129
- return /* @__PURE__ */ React__default["default"].createElement(focus.FocusRing, {
130
- focusRingClass: clsx__default["default"](styles__default["default"]["is-focus"]),
131
- autoFocus
132
- }, /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$F(__spreadValues$J({}, utils$1.mergeProps(buttonProps, hoverProps)), {
133
- ref: domRef,
134
- style: __spreadValues$J({}, styleProps.style),
135
- className: clsx__default["default"](styles__default["default"]["sapphire-button"], styles__default["default"]["js-focus"], styles__default["default"]["js-hover"], {
136
- [styles__default["default"]["is-active"]]: isPressed,
137
- [styles__default["default"]["is-hover"]]: isHovered,
138
- [styles__default["default"]["is-disabled"]]: isDisabled,
139
- [styles__default["default"]["sapphire-button--small"]]: size === "small",
140
- [styles__default["default"]["sapphire-button--large"]]: size === "large",
141
- [styles__default["default"]["sapphire-button--with-left-icon"]]: icon && iconAlign === "left",
142
- [styles__default["default"]["sapphire-button--with-right-icon"]]: icon && iconAlign === "right"
143
- }, state.isSelected ? styles__default["default"]["sapphire-button--selected"] : styles__default["default"]["sapphire-button--unselected"], styleProps.className)
144
- }), iconAlign === "left" && iconWrapper, otherProps.children, iconAlign === "right" && iconWrapper));
145
- });
146
-
147
- var year$6 = "År";
148
- var week$6 = "Uge {weekNumber}";
149
- var da$3 = {
150
- year: year$6,
151
- week: week$6
152
- };
153
-
154
- var year$5 = "Year";
155
- var week$5 = "Week {weekNumber}";
156
- var en$3 = {
157
- year: year$5,
158
- week: week$5
159
- };
160
-
161
- var year$4 = "Jahr";
162
- var week$4 = "Woche {weekNumber}";
163
- var de$3 = {
164
- year: year$4,
165
- week: week$4
166
- };
167
-
168
- var year$3 = "Vuosi";
169
- var week$3 = "Viikko {weekNumber}";
170
- var fi$3 = {
171
- year: year$3,
172
- week: week$3
173
- };
174
-
175
- var year$2 = "År";
176
- var week$2 = "Uke {weekNumber}";
177
- var no$3 = {
178
- year: year$2,
179
- week: week$2
180
- };
181
-
182
- var year$1 = "Rok";
183
- var week$1 = "Tydzień {weekNumber}";
184
- var pl$3 = {
185
- year: year$1,
186
- week: week$1
187
- };
188
-
189
- var year = "År";
190
- var week = "Vecka {weekNumber}";
191
- var se$3 = {
192
- year: year,
193
- week: week
194
- };
195
-
196
- var intlMessages$3 = {
197
- "da-DK": da$3,
198
- "en-US": en$3,
199
- "de-DE": de$3,
200
- "fi-FI": fi$3,
201
- "no-NO": no$3,
202
- "pl-PL": pl$3,
203
- "sv-SE": se$3
204
- };
205
-
206
- var __defProp$I = Object.defineProperty;
207
- var __defProps$E = Object.defineProperties;
208
- var __getOwnPropDescs$E = Object.getOwnPropertyDescriptors;
209
- var __getOwnPropSymbols$J = Object.getOwnPropertySymbols;
210
- var __hasOwnProp$J = Object.prototype.hasOwnProperty;
211
- var __propIsEnum$J = Object.prototype.propertyIsEnumerable;
212
- var __defNormalProp$I = (obj, key, value) => key in obj ? __defProp$I(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
213
- var __spreadValues$I = (a, b) => {
214
- for (var prop in b || (b = {}))
215
- if (__hasOwnProp$J.call(b, prop))
216
- __defNormalProp$I(a, prop, b[prop]);
217
- if (__getOwnPropSymbols$J)
218
- for (var prop of __getOwnPropSymbols$J(b)) {
219
- if (__propIsEnum$J.call(b, prop))
220
- __defNormalProp$I(a, prop, b[prop]);
221
- }
222
- return a;
223
- };
224
- var __spreadProps$E = (a, b) => __defProps$E(a, __getOwnPropDescs$E(b));
225
- var __objRest$u = (source, exclude) => {
226
- var target = {};
227
- for (var prop in source)
228
- if (__hasOwnProp$J.call(source, prop) && exclude.indexOf(prop) < 0)
229
- target[prop] = source[prop];
230
- if (source != null && __getOwnPropSymbols$J)
231
- for (var prop of __getOwnPropSymbols$J(source)) {
232
- if (exclude.indexOf(prop) < 0 && __propIsEnum$J.call(source, prop))
233
- target[prop] = source[prop];
234
- }
235
- return target;
236
- };
237
- const CalendarButton = React__default["default"].forwardRef(function SapphireCalendarButton(_a, forwardedRef) {
238
- var _b = _a, {
239
- children,
240
- className = "",
241
- isSelected,
242
- isDisabled,
243
- isInGridCell,
244
- hasCurrentIndicator
245
- } = _b, otherProps = __objRest$u(_b, [
246
- "children",
247
- "className",
248
- "isSelected",
249
- "isDisabled",
250
- "isInGridCell",
251
- "hasCurrentIndicator"
252
- ]);
253
- const { hoverProps, isHovered } = interactions.useHover({ isDisabled });
254
- const ElementType = isInGridCell ? "span" : "button";
255
- return /* @__PURE__ */ React__default["default"].createElement(focus.FocusRing, {
256
- focusRingClass: styles__default$1["default"]["is-focus"]
257
- }, /* @__PURE__ */ React__default["default"].createElement(ElementType, __spreadProps$E(__spreadValues$I(__spreadValues$I({
258
- ref: forwardedRef,
259
- role: "button"
260
- }, ElementType === "button" ? { type: "button" } : {}), utils$1.mergeProps(otherProps, hoverProps)), {
261
- className: clsx__default["default"](className, styles__default$1["default"]["js-focus"], styles__default$1["default"]["js-hover"], styles__default$1["default"]["sapphire-calendar__button"], {
262
- [styles__default$1["default"][`sapphire-calendar__button--selected`]]: isSelected,
263
- [styles__default$1["default"]["sapphire-calendar__button--current"]]: hasCurrentIndicator,
264
- [styles__default$1["default"][`is-hover`]]: isHovered,
265
- [styles__default$1["default"][`is-disabled`]]: isDisabled
266
- })
267
- }), /* @__PURE__ */ React__default["default"].createElement("span", {
268
- className: styles__default$1["default"]["sapphire-calendar__button-text"]
269
- }, children)));
270
- });
271
- const CalendarDayButton = React__default["default"].forwardRef(function SapphireCalendarDayButton(_c, forwardedRef) {
272
- var _d = _c, {
273
- isOutsideVisibleRange,
274
- rangeHighlight
275
- } = _d, props = __objRest$u(_d, [
276
- "isOutsideVisibleRange",
277
- "rangeHighlight"
278
- ]);
279
- return /* @__PURE__ */ React__default["default"].createElement(CalendarButton, __spreadProps$E(__spreadValues$I({}, props), {
280
- isInGridCell: true,
281
- className: clsx__default["default"](styles__default$1["default"]["sapphire-calendar__button--day"], {
282
- [styles__default$1["default"]["sapphire-calendar__button--range-selection"]]: rangeHighlight.highlighted,
283
- [styles__default$1["default"]["sapphire-calendar__button--range-start"]]: rangeHighlight.highlighted && rangeHighlight.start,
284
- [styles__default$1["default"]["sapphire-calendar__button--range-end"]]: rangeHighlight.highlighted && rangeHighlight.end,
285
- [styles__default$1["default"]["sapphire-calendar__button--selection-start"]]: rangeHighlight.highlighted && rangeHighlight.start && props.isSelected,
286
- [styles__default$1["default"]["sapphire-calendar__button--selection-end"]]: rangeHighlight.highlighted && rangeHighlight.end && props.isSelected,
287
- [styles__default$1["default"]["sapphire-calendar__button--outside-month"]]: isOutsideVisibleRange
288
- }),
289
- ref: forwardedRef
290
- }));
291
- });
292
-
293
- function range(start, end) {
294
- return Array(end - start + 1).fill(null).map((_, index) => start + index);
295
- }
296
- function* chunks(array, chunkSize) {
297
- for (let i = 0; i < array.length; i += chunkSize) {
298
- yield array.slice(i, i + chunkSize);
299
- }
300
- }
301
- const sentenceCase = (sentence) => sentence.slice(0, 1).toLocaleUpperCase() + sentence.slice(1);
302
-
303
- var __defProp$H = Object.defineProperty;
304
- var __defProps$D = Object.defineProperties;
305
- var __getOwnPropDescs$D = Object.getOwnPropertyDescriptors;
306
- var __getOwnPropSymbols$I = Object.getOwnPropertySymbols;
307
- var __hasOwnProp$I = Object.prototype.hasOwnProperty;
308
- var __propIsEnum$I = Object.prototype.propertyIsEnumerable;
309
- var __defNormalProp$H = (obj, key, value) => key in obj ? __defProp$H(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
310
- var __spreadValues$H = (a, b) => {
311
- for (var prop in b || (b = {}))
312
- if (__hasOwnProp$I.call(b, prop))
313
- __defNormalProp$H(a, prop, b[prop]);
314
- if (__getOwnPropSymbols$I)
315
- for (var prop of __getOwnPropSymbols$I(b)) {
316
- if (__propIsEnum$I.call(b, prop))
317
- __defNormalProp$H(a, prop, b[prop]);
318
- }
319
- return a;
320
- };
321
- var __spreadProps$D = (a, b) => __defProps$D(a, __getOwnPropDescs$D(b));
322
- var __objRest$t = (source, exclude) => {
323
- var target = {};
324
- for (var prop in source)
325
- if (__hasOwnProp$I.call(source, prop) && exclude.indexOf(prop) < 0)
326
- target[prop] = source[prop];
327
- if (source != null && __getOwnPropSymbols$I)
328
- for (var prop of __getOwnPropSymbols$I(source)) {
329
- if (exclude.indexOf(prop) < 0 && __propIsEnum$I.call(source, prop))
330
- target[prop] = source[prop];
331
- }
332
- return target;
333
- };
334
- function CalendarDaysGrid(_a) {
335
- var _b = _a, {
336
- state,
337
- startDate = state.visibleRange.start,
338
- showWeekNumbers
339
- } = _b, props = __objRest$t(_b, [
340
- "state",
341
- "startDate",
342
- "showWeekNumbers"
343
- ]);
344
- const { locale } = i18n.useLocale();
345
- const { gridProps, headerProps } = calendar.useCalendarGrid(__spreadProps$D(__spreadValues$H({}, props), {
346
- startDate,
347
- endDate: date.endOfMonth(startDate)
348
- }), state);
349
- const weeksInMonth = date.getWeeksInMonth(startDate, locale);
350
- const dayFormatter = i18n.useDateFormatter({
351
- weekday: "short",
352
- timeZone: state.timeZone
353
- });
354
- const weekDays = React.useMemo(() => {
355
- const weekStart = date.startOfWeek(date.today(state.timeZone), locale);
356
- return [...new Array(7).keys()].map((index) => {
357
- const date = weekStart.add({ days: index });
358
- const dateDay = date.toDate(state.timeZone);
359
- return dayFormatter.format(dateDay);
360
- });
361
- }, [locale, state.timeZone, dayFormatter]);
362
- return /* @__PURE__ */ React__default["default"].createElement("table", __spreadProps$D(__spreadValues$H({}, gridProps), {
363
- className: clsx__default["default"](styles__default$1["default"]["sapphire-calendar__table"], {
364
- [styles__default$1["default"]["sapphire-calendar__table--with-week-numbers"]]: showWeekNumbers
365
- })
366
- }), /* @__PURE__ */ React__default["default"].createElement("thead", __spreadValues$H({}, headerProps), /* @__PURE__ */ React__default["default"].createElement("tr", null, showWeekNumbers && /* @__PURE__ */ React__default["default"].createElement("th", {
367
- className: styles__default$1["default"]["sapphire-calendar__table-head-cell"],
368
- "aria-hidden": "true"
369
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
370
- className: styles__default$1["default"]["sapphire-calendar__week-number"]
371
- }, "#")), weekDays.map((day, index) => /* @__PURE__ */ React__default["default"].createElement("th", {
372
- key: index,
373
- className: styles__default$1["default"]["sapphire-calendar__table-head-cell"]
374
- }, /* @__PURE__ */ React__default["default"].createElement("abbr", {
375
- className: styles__default$1["default"]["sapphire-calendar__day-of-week"]
376
- }, sentenceCase(day)))))), /* @__PURE__ */ React__default["default"].createElement("tbody", null, [...new Array(weeksInMonth).keys()].map((weekIndex) => {
377
- return /* @__PURE__ */ React__default["default"].createElement("tr", {
378
- className: styles__default$1["default"]["sapphire-calendar__table-body-row"],
379
- key: weekIndex
380
- }, showWeekNumbers && /* @__PURE__ */ React__default["default"].createElement(CalendarWeekNumberCell, {
381
- date: startDate.add({ days: 7 * weekIndex })
382
- }), state.getDatesInWeek(weekIndex, startDate).map((date, i) => date ? /* @__PURE__ */ React__default["default"].createElement(CalendarCell, {
383
- currentMonth: startDate,
384
- key: date.toString(),
385
- state,
386
- date
387
- }) : /* @__PURE__ */ React__default["default"].createElement("td", {
388
- key: i
389
- })));
390
- }), /* @__PURE__ */ React__default["default"].createElement("tr", null)));
391
- }
392
- function CalendarWeekNumberCell({ date }) {
393
- const weekNumber = getWeekNumber(date);
394
- const formatMessage = i18n.useMessageFormatter(intlMessages$3);
395
- return /* @__PURE__ */ React__default["default"].createElement("th", {
396
- className: styles__default$1["default"]["sapphire-calendar__table-body-cell"],
397
- role: "rowheader",
398
- "aria-label": formatMessage("week", { weekNumber })
399
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
400
- className: styles__default$1["default"]["sapphire-calendar__week-number"]
401
- }, weekNumber));
402
- }
403
- function CalendarCell({
404
- state,
405
- date: date$1,
406
- currentMonth
407
- }) {
408
- const ref = React__default["default"].useRef(null);
409
- const { locale } = i18n.useLocale();
410
- const sameMonth = date.isSameMonth(date$1, currentMonth);
411
- const {
412
- cellProps,
413
- buttonProps,
414
- isSelected: isInSelection,
415
- isDisabled,
416
- formattedDate,
417
- isUnavailable
418
- } = calendar.useCalendarCell({ date: date$1, isDisabled: !sameMonth }, state, ref);
419
- const highlightedRange = "highlightedRange" in state ? state.highlightedRange : null;
420
- const isSelected = isInSelection && (!highlightedRange || date.isSameDay(highlightedRange.start, date$1) || date.isSameDay(highlightedRange.end, date$1));
421
- return /* @__PURE__ */ React__default["default"].createElement("td", __spreadProps$D(__spreadValues$H({}, cellProps), {
422
- className: styles__default$1["default"]["sapphire-calendar__table-body-cell"]
423
- }), /* @__PURE__ */ React__default["default"].createElement(CalendarDayButton, __spreadProps$D(__spreadValues$H({}, buttonProps), {
424
- ref,
425
- isSelected,
426
- isDisabled: isDisabled || isUnavailable,
427
- hasCurrentIndicator: date.today(state.timeZone).compare(date$1) === 0,
428
- isOutsideVisibleRange: !date.isSameMonth(currentMonth, date$1),
429
- rangeHighlight: highlightedRange ? getRangeHighlight({ date: date$1, highlightedRange, locale }) : { highlighted: false }
430
- }), formattedDate));
431
- }
432
- const getRangeHighlight = ({
433
- date: date$1,
434
- highlightedRange,
435
- locale
436
- }) => {
437
- const isInSelection = !!highlightedRange && highlightedRange.start.compare(date$1) <= 0 && highlightedRange.end.compare(date$1) >= 0;
438
- const rangeIsNotASingleDay = !!highlightedRange && !date.isSameDay(highlightedRange.start, highlightedRange.end);
439
- const isStartOfWeek = date.getDayOfWeek(date$1, locale) === 0;
440
- const isEndOfWeek = date.getDayOfWeek(date$1, locale) === 6;
441
- const isStartOfMonth = date.isSameDay(date$1, date.startOfMonth(date$1));
442
- const isEndOfMonth = date.isSameDay(date$1, date.endOfMonth(date$1));
443
- const isStartOfRange = highlightedRange && date.isSameDay(highlightedRange == null ? void 0 : highlightedRange.start, date$1);
444
- const isEndOfRange = highlightedRange && date.isSameDay(highlightedRange == null ? void 0 : highlightedRange.end, date$1);
445
- const highlighted = isInSelection && rangeIsNotASingleDay;
446
- return {
447
- highlighted,
448
- start: highlighted && (isStartOfWeek || isStartOfMonth || isStartOfRange),
449
- end: highlighted && (isEndOfWeek || isEndOfMonth || isEndOfRange)
450
- };
451
- };
452
- const getWeekNumber = function(dateValue) {
453
- const date$1 = new Date(dateValue.toDate(date.getLocalTimeZone()));
454
- date$1.setHours(0, 0, 0, 0);
455
- date$1.setDate(date$1.getDate() + 3 - (date$1.getDay() + 6) % 7);
456
- const week1 = new Date(date$1.getFullYear(), 0, 4);
457
- return 1 + Math.round(((date$1.getTime() - week1.getTime()) / 864e5 - 3 + (week1.getDay() + 6) % 7) / 7);
458
- };
459
-
460
- var __defProp$G = Object.defineProperty;
461
- var __defProps$C = Object.defineProperties;
462
- var __getOwnPropDescs$C = Object.getOwnPropertyDescriptors;
463
- var __getOwnPropSymbols$H = Object.getOwnPropertySymbols;
464
- var __hasOwnProp$H = Object.prototype.hasOwnProperty;
465
- var __propIsEnum$H = Object.prototype.propertyIsEnumerable;
466
- var __defNormalProp$G = (obj, key, value) => key in obj ? __defProp$G(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
467
- var __spreadValues$G = (a, b) => {
468
- for (var prop in b || (b = {}))
469
- if (__hasOwnProp$H.call(b, prop))
470
- __defNormalProp$G(a, prop, b[prop]);
471
- if (__getOwnPropSymbols$H)
472
- for (var prop of __getOwnPropSymbols$H(b)) {
473
- if (__propIsEnum$H.call(b, prop))
474
- __defNormalProp$G(a, prop, b[prop]);
475
- }
476
- return a;
477
- };
478
- var __spreadProps$C = (a, b) => __defProps$C(a, __getOwnPropDescs$C(b));
479
- const isSame = { month: date.isSameMonth, year: date.isSameYear };
480
- function CalendarMonthOrYearCell({
481
- date: date$1,
482
- state,
483
- isDisabled,
484
- field,
485
- children
486
- }) {
487
- const ref = React__default["default"].useRef(null);
488
- const isFocused = state.focusedDate[field] === date$1[field];
489
- let tabIndex;
490
- if (!isDisabled) {
491
- tabIndex = isSame[field](date$1, state.focusedDate) ? 0 : -1;
492
- }
493
- React.useEffect(() => {
494
- if (isFocused && ref.current) {
495
- utils$1.focusWithoutScrolling(ref.current);
496
- }
497
- }, [isFocused, ref]);
498
- const { pressProps } = interactions.usePress({
499
- isDisabled: state.isDisabled || isDisabled,
500
- onPress: () => {
501
- state.setFocusedDate(date$1);
502
- if (!state.isReadOnly) {
503
- state.narrowView();
504
- }
505
- }
506
- });
507
- const buttonProps = utils$1.mergeProps(pressProps, {
508
- onFocus() {
509
- if (!isDisabled) {
510
- state.setFocusedDate(date$1);
511
- }
512
- },
513
- tabIndex,
514
- role: "button",
515
- "aria-disabled": isDisabled || void 0
516
- });
517
- return /* @__PURE__ */ React__default["default"].createElement("td", {
518
- className: styles__default$1["default"]["sapphire-calendar__table-body-cell"],
519
- role: "gridcell"
520
- }, /* @__PURE__ */ React__default["default"].createElement(CalendarButton, __spreadProps$C(__spreadValues$G({
521
- ref
522
- }, buttonProps), {
523
- isInGridCell: true,
524
- isSelected: !!state.value && isSame[field](state.value, date$1),
525
- isDisabled: state.isDisabled || isDisabled,
526
- hasCurrentIndicator: isSame[field](date$1, date.today(state.timeZone))
527
- }), children));
528
- }
529
-
530
- function useCustomDurationCalendarGrid({
531
- cellsDuration,
532
- perRow = 3
533
- }, state) {
534
- const { direction } = i18n.useLocale();
535
- const onKeyDown = (e) => {
536
- switch (e.key) {
537
- case "Enter":
538
- case " ":
539
- e.preventDefault();
540
- state.selectFocusedDate();
541
- break;
542
- case "ArrowLeft":
543
- e.preventDefault();
544
- e.stopPropagation();
545
- if (direction === "rtl") {
546
- state.setFocusedDate(state.focusedDate.add({ [cellsDuration]: 1 }));
547
- } else {
548
- state.setFocusedDate(state.focusedDate.add({ [cellsDuration]: -1 }));
549
- }
550
- break;
551
- case "ArrowUp":
552
- e.preventDefault();
553
- e.stopPropagation();
554
- state.setFocusedDate(state.focusedDate.add({ [cellsDuration]: -perRow }));
555
- break;
556
- case "ArrowRight":
557
- e.preventDefault();
558
- e.stopPropagation();
559
- if (direction === "rtl") {
560
- state.setFocusedDate(state.focusedDate.add({ [cellsDuration]: -1 }));
561
- } else {
562
- state.setFocusedDate(state.focusedDate.add({ [cellsDuration]: 1 }));
563
- }
564
- break;
565
- case "ArrowDown":
566
- e.preventDefault();
567
- e.stopPropagation();
568
- state.setFocusedDate(state.focusedDate.add({ [cellsDuration]: perRow }));
569
- break;
570
- }
571
- };
572
- const gridProps = {
573
- role: "grid",
574
- "aria-readonly": state.isReadOnly || void 0,
575
- "aria-disabled": state.isDisabled || void 0,
576
- onKeyDown,
577
- onFocus: () => state.setFocused(true),
578
- onBlur: () => state.setFocused(false)
579
- };
580
- return { gridProps };
581
- }
582
-
583
- var __defProp$F = Object.defineProperty;
584
- var __getOwnPropSymbols$G = Object.getOwnPropertySymbols;
585
- var __hasOwnProp$G = Object.prototype.hasOwnProperty;
586
- var __propIsEnum$G = Object.prototype.propertyIsEnumerable;
587
- var __defNormalProp$F = (obj, key, value) => key in obj ? __defProp$F(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
588
- var __spreadValues$F = (a, b) => {
589
- for (var prop in b || (b = {}))
590
- if (__hasOwnProp$G.call(b, prop))
591
- __defNormalProp$F(a, prop, b[prop]);
592
- if (__getOwnPropSymbols$G)
593
- for (var prop of __getOwnPropSymbols$G(b)) {
594
- if (__propIsEnum$G.call(b, prop))
595
- __defNormalProp$F(a, prop, b[prop]);
596
- }
597
- return a;
598
- };
599
- function CalendarMonthsGrid({
600
- state
601
- }) {
602
- const formatter = i18n.useDateFormatter({
603
- month: "long",
604
- timeZone: state.timeZone
605
- });
606
- const numMonths = state.focusedDate.calendar.getMonthsInYear(state.focusedDate);
607
- const months = range(1, numMonths).map((month) => formatter.format(state.focusedDate.set({ month }).toDate(state.timeZone)));
608
- const monthRows = [...chunks(months, 3)];
609
- const { gridProps } = useCustomDurationCalendarGrid({ cellsDuration: "months" }, state);
610
- return /* @__PURE__ */ React__default["default"].createElement("table", __spreadValues$F({
611
- className: clsx__default["default"](styles__default$1["default"]["sapphire-calendar__table"], styles__default$1["default"]["sapphire-calendar__table--month-year"])
612
- }, gridProps), /* @__PURE__ */ React__default["default"].createElement("tbody", null, monthRows.map((currentRowMonths, rowIndex) => /* @__PURE__ */ React__default["default"].createElement("tr", {
613
- key: rowIndex,
614
- className: styles__default$1["default"]["sapphire-calendar__table-body-row"]
615
- }, currentRowMonths.map((month, index) => {
616
- const newFocusedDate = state.focusedDate.set({
617
- month: months.indexOf(month) + 1
618
- });
619
- const isMonthDisabled = state.isInvalid(date.startOfMonth(newFocusedDate)) && state.isInvalid(date.endOfMonth(newFocusedDate));
620
- return /* @__PURE__ */ React__default["default"].createElement(CalendarMonthOrYearCell, {
621
- key: index,
622
- date: newFocusedDate,
623
- field: "month",
624
- isDisabled: isMonthDisabled,
625
- state
626
- }, sentenceCase(month));
627
- })))));
628
- }
629
-
630
- var __defProp$E = Object.defineProperty;
631
- var __getOwnPropSymbols$F = Object.getOwnPropertySymbols;
632
- var __hasOwnProp$F = Object.prototype.hasOwnProperty;
633
- var __propIsEnum$F = Object.prototype.propertyIsEnumerable;
634
- var __defNormalProp$E = (obj, key, value) => key in obj ? __defProp$E(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
635
- var __spreadValues$E = (a, b) => {
636
- for (var prop in b || (b = {}))
637
- if (__hasOwnProp$F.call(b, prop))
638
- __defNormalProp$E(a, prop, b[prop]);
639
- if (__getOwnPropSymbols$F)
640
- for (var prop of __getOwnPropSymbols$F(b)) {
641
- if (__propIsEnum$F.call(b, prop))
642
- __defNormalProp$E(a, prop, b[prop]);
643
- }
644
- return a;
645
- };
646
- function CalendarYearsGrid({
647
- state
648
- }) {
649
- const years = range(state.visibleRange.start.year, state.visibleRange.end.year).slice(0, 12);
650
- const yearRows = [...chunks(years, 3)];
651
- const { gridProps } = useCustomDurationCalendarGrid({ cellsDuration: "years" }, state);
652
- return /* @__PURE__ */ React__default["default"].createElement("table", __spreadValues$E({
653
- className: clsx__default["default"](styles__default$1["default"]["sapphire-calendar__table"], styles__default$1["default"]["sapphire-calendar__table--month-year"])
654
- }, gridProps), /* @__PURE__ */ React__default["default"].createElement("tbody", null, yearRows.map((currentRowYears, rowIndex) => /* @__PURE__ */ React__default["default"].createElement("tr", {
655
- key: rowIndex,
656
- className: styles__default$1["default"]["sapphire-calendar__table-body-row"]
657
- }, currentRowYears.map((year, index) => {
658
- const newFocusedDate = state.focusedDate.set({
659
- year
660
- });
661
- const isYearDisabled = state.isInvalid(date.startOfYear(newFocusedDate)) && state.isInvalid(date.endOfYear(newFocusedDate));
662
- return /* @__PURE__ */ React__default["default"].createElement(CalendarMonthOrYearCell, {
663
- key: index,
664
- date: newFocusedDate,
665
- field: "year",
666
- isDisabled: isYearDisabled,
667
- state
668
- }, year);
669
- })))));
670
- }
671
-
672
- var __defProp$D = Object.defineProperty;
673
- var __defProps$B = Object.defineProperties;
674
- var __getOwnPropDescs$B = Object.getOwnPropertyDescriptors;
675
- var __getOwnPropSymbols$E = Object.getOwnPropertySymbols;
676
- var __hasOwnProp$E = Object.prototype.hasOwnProperty;
677
- var __propIsEnum$E = Object.prototype.propertyIsEnumerable;
678
- var __defNormalProp$D = (obj, key, value) => key in obj ? __defProp$D(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
679
- var __spreadValues$D = (a, b) => {
680
- for (var prop in b || (b = {}))
681
- if (__hasOwnProp$E.call(b, prop))
682
- __defNormalProp$D(a, prop, b[prop]);
683
- if (__getOwnPropSymbols$E)
684
- for (var prop of __getOwnPropSymbols$E(b)) {
685
- if (__propIsEnum$E.call(b, prop))
686
- __defNormalProp$D(a, prop, b[prop]);
687
- }
688
- return a;
689
- };
690
- var __spreadProps$B = (a, b) => __defProps$B(a, __getOwnPropDescs$B(b));
691
- var __objRest$s = (source, exclude) => {
692
- var target = {};
693
- for (var prop in source)
694
- if (__hasOwnProp$E.call(source, prop) && exclude.indexOf(prop) < 0)
695
- target[prop] = source[prop];
696
- if (source != null && __getOwnPropSymbols$E)
697
- for (var prop of __getOwnPropSymbols$E(source)) {
698
- if (exclude.indexOf(prop) < 0 && __propIsEnum$E.call(source, prop))
699
- target[prop] = source[prop];
700
- }
701
- return target;
702
- };
703
- const viewToVisibleDuration = {
704
- days: {
705
- months: 1
706
- },
707
- months: {
708
- years: 1
709
- },
710
- years: {
711
- years: 12
712
- }
713
- };
714
- function useSapphireCalendarState(_a) {
715
- var _b = _a, {
716
- view: viewProp,
717
- defaultView = "days",
718
- onViewChange
719
- } = _b, otherOptions = __objRest$s(_b, [
720
- "view",
721
- "defaultView",
722
- "onViewChange"
723
- ]);
724
- const [view, setView] = utils$2.useControlledState(viewProp, defaultView, onViewChange);
725
- const state = calendar$1.useCalendarState(__spreadProps$B(__spreadValues$D({}, otherOptions), {
726
- visibleDuration: viewToVisibleDuration[view]
727
- }));
728
- const broadenView = () => {
729
- switch (view) {
730
- case "days":
731
- return setView("months");
732
- case "months":
733
- return setView("years");
734
- }
735
- };
736
- const narrowView = () => {
737
- switch (view) {
738
- case "months":
739
- return setView("days");
740
- case "years":
741
- return setView("months");
742
- }
743
- };
744
- const canDrillUp = !state.isReadOnly && ["days", "months"].includes(view);
745
- return __spreadProps$B(__spreadValues$D({}, state), {
746
- view,
747
- narrowView,
748
- broadenView,
749
- canBroadenView: canDrillUp
750
- });
751
- }
752
-
753
- var __defProp$C = Object.defineProperty;
754
- var __defProps$A = Object.defineProperties;
755
- var __getOwnPropDescs$A = Object.getOwnPropertyDescriptors;
756
- var __getOwnPropSymbols$D = Object.getOwnPropertySymbols;
757
- var __hasOwnProp$D = Object.prototype.hasOwnProperty;
758
- var __propIsEnum$D = Object.prototype.propertyIsEnumerable;
759
- var __defNormalProp$C = (obj, key, value) => key in obj ? __defProp$C(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
760
- var __spreadValues$C = (a, b) => {
761
- for (var prop in b || (b = {}))
762
- if (__hasOwnProp$D.call(b, prop))
763
- __defNormalProp$C(a, prop, b[prop]);
764
- if (__getOwnPropSymbols$D)
765
- for (var prop of __getOwnPropSymbols$D(b)) {
766
- if (__propIsEnum$D.call(b, prop))
767
- __defNormalProp$C(a, prop, b[prop]);
768
- }
769
- return a;
770
- };
771
- var __spreadProps$A = (a, b) => __defProps$A(a, __getOwnPropDescs$A(b));
772
- function CalendarHeader({
773
- isLeft,
774
- isRight,
775
- children,
776
- prevButtonProps,
777
- nextButtonProps
778
- }) {
779
- return /* @__PURE__ */ React__default["default"].createElement("div", {
780
- className: clsx__default["default"](styles__default$1["default"]["sapphire-calendar__header"], {
781
- [styles__default$1["default"]["sapphire-calendar__header--left"]]: isLeft,
782
- [styles__default$1["default"]["sapphire-calendar__header--right"]]: isRight
783
- })
784
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
785
- className: styles__default$1["default"]["sapphire-calendar__header-prev-month"]
786
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.IconButton, __spreadProps$A(__spreadValues$C({}, prevButtonProps), {
787
- variant: "tertiary",
788
- appearance: "ghost",
789
- size: "large",
790
- "aria-label": "Previous"
791
- }), /* @__PURE__ */ React__default["default"].createElement(react.ChevronLeft, null))), /* @__PURE__ */ React__default["default"].createElement("div", {
792
- className: styles__default$1["default"]["sapphire-calendar__header-title"]
793
- }, children), /* @__PURE__ */ React__default["default"].createElement("div", {
794
- className: styles__default$1["default"]["sapphire-calendar__header-next-month"]
795
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.IconButton, __spreadProps$A(__spreadValues$C({}, nextButtonProps), {
796
- variant: "tertiary",
797
- appearance: "ghost",
798
- size: "large",
799
- "aria-label": "Next"
800
- }), /* @__PURE__ */ React__default["default"].createElement(react.ChevronRight, null))));
801
- }
802
41
 
803
- var __defProp$B = Object.defineProperty;
804
- var __defProps$z = Object.defineProperties;
805
- var __getOwnPropDescs$z = Object.getOwnPropertyDescriptors;
806
- var __getOwnPropSymbols$C = Object.getOwnPropertySymbols;
807
- var __hasOwnProp$C = Object.prototype.hasOwnProperty;
808
- var __propIsEnum$C = Object.prototype.propertyIsEnumerable;
809
- var __defNormalProp$B = (obj, key, value) => key in obj ? __defProp$B(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
810
- var __spreadValues$B = (a, b) => {
811
- for (var prop in b || (b = {}))
812
- if (__hasOwnProp$C.call(b, prop))
813
- __defNormalProp$B(a, prop, b[prop]);
814
- if (__getOwnPropSymbols$C)
815
- for (var prop of __getOwnPropSymbols$C(b)) {
816
- if (__propIsEnum$C.call(b, prop))
817
- __defNormalProp$B(a, prop, b[prop]);
818
- }
819
- return a;
820
- };
821
- var __spreadProps$z = (a, b) => __defProps$z(a, __getOwnPropDescs$z(b));
822
- function CalendarPageAnimation({
42
+ function FilterDropdown({
823
43
  children,
824
- state: { direction, key }
44
+ label,
45
+ value,
46
+ isDisabled = false,
47
+ isApplyDisabled = false,
48
+ isOpen: isOpenProp,
49
+ applyButtonLabel = "Apply",
50
+ clearButtonLabel = "Clear",
51
+ defaultOpen = false,
52
+ hasApplyButton = false,
53
+ noMaxWidth,
54
+ onApply,
55
+ onClear,
56
+ onOpenChange
825
57
  }) {
826
- return /* @__PURE__ */ React__default["default"].createElement(reactTransitionGroup.TransitionGroup, {
827
- className: clsx__default["default"](styles__default$1["default"]["sapphire-calendar__grid-page-animation"], styles__default$1["default"][`sapphire-calendar__grid-page-animation--${direction}`])
828
- }, /* @__PURE__ */ React__default["default"].createElement(reactTransitionGroup.CSSTransition, {
829
- key,
830
- addEndListener: (node, done) => {
831
- node.addEventListener("transitionend", done, false);
832
- },
833
- unmountOnExit: true,
834
- classNames: {
835
- enter: styles__default$1["default"]["enter"],
836
- enterActive: styles__default$1["default"]["enter-active"],
837
- exit: styles__default$1["default"]["exit"],
838
- exitActive: styles__default$1["default"]["exit-active"]
839
- }
840
- }, children));
841
- }
842
- function useCalendarAnimationState(state) {
843
- const [animationState, setAnimationState] = React.useState({ key: 0, direction: "next" });
844
- return __spreadProps$z(__spreadValues$B({}, state), {
845
- focusNextPage: () => {
846
- setAnimationState(({ key }) => ({
847
- key: key + 1,
848
- direction: "next"
849
- }));
850
- state.focusNextPage();
851
- },
852
- focusPreviousPage: () => {
853
- setAnimationState(({ key }) => ({
854
- key: key - 1,
855
- direction: "prev"
856
- }));
857
- state.focusPreviousPage();
858
- },
859
- animationState
860
- });
861
- }
862
-
863
- var __defProp$A = Object.defineProperty;
864
- var __defProps$y = Object.defineProperties;
865
- var __getOwnPropDescs$y = Object.getOwnPropertyDescriptors;
866
- var __getOwnPropSymbols$B = Object.getOwnPropertySymbols;
867
- var __hasOwnProp$B = Object.prototype.hasOwnProperty;
868
- var __propIsEnum$B = Object.prototype.propertyIsEnumerable;
869
- var __defNormalProp$A = (obj, key, value) => key in obj ? __defProp$A(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
870
- var __spreadValues$A = (a, b) => {
871
- for (var prop in b || (b = {}))
872
- if (__hasOwnProp$B.call(b, prop))
873
- __defNormalProp$A(a, prop, b[prop]);
874
- if (__getOwnPropSymbols$B)
875
- for (var prop of __getOwnPropSymbols$B(b)) {
876
- if (__propIsEnum$B.call(b, prop))
877
- __defNormalProp$A(a, prop, b[prop]);
878
- }
879
- return a;
880
- };
881
- var __spreadProps$y = (a, b) => __defProps$y(a, __getOwnPropDescs$y(b));
882
- var __objRest$r = (source, exclude) => {
883
- var target = {};
884
- for (var prop in source)
885
- if (__hasOwnProp$B.call(source, prop) && exclude.indexOf(prop) < 0)
886
- target[prop] = source[prop];
887
- if (source != null && __getOwnPropSymbols$B)
888
- for (var prop of __getOwnPropSymbols$B(source)) {
889
- if (exclude.indexOf(prop) < 0 && __propIsEnum$B.call(source, prop))
890
- target[prop] = source[prop];
891
- }
892
- return target;
893
- };
894
- const Calendar = (_a) => {
895
- var _b = _a, {
896
- showWeekNumbers
897
- } = _b, props = __objRest$r(_b, [
898
- "showWeekNumbers"
899
- ]);
900
- sapphireReact.useThemeCheck();
901
- const { locale } = i18n.useLocale();
902
- const formatMessage = i18n.useMessageFormatter(intlMessages$3);
903
- const { styleProps } = sapphireReact.useSapphireStyleProps(props);
904
- const state = useCalendarAnimationState(useSapphireCalendarState(__spreadProps$y(__spreadValues$A({
905
- selectionAlignment: "start"
906
- }, props), {
907
- locale,
908
- createCalendar: date.createCalendar
909
- })));
910
- const monthDateFormatter = i18n.useDateFormatter({
911
- month: "long",
912
- year: "numeric",
913
- era: state.visibleRange.start.calendar.identifier === "gregory" && state.visibleRange.start.era === "BC" ? "short" : void 0,
914
- calendar: state.visibleRange.start.calendar.identifier,
915
- timeZone: state.timeZone
916
- });
917
- const { calendarProps, prevButtonProps, nextButtonProps } = calendar.useCalendar(props, state);
918
- const renderGrid = () => {
919
- switch (state.view) {
920
- case "years":
921
- return /* @__PURE__ */ React__default["default"].createElement(CalendarYearsGrid, {
922
- state
923
- });
924
- case "months":
925
- return /* @__PURE__ */ React__default["default"].createElement(CalendarMonthsGrid, {
926
- state
927
- });
928
- case "days":
929
- default:
930
- return /* @__PURE__ */ React__default["default"].createElement(CalendarDaysGrid, {
931
- state,
932
- showWeekNumbers
933
- });
934
- }
935
- };
936
- const renderTitle = () => {
937
- switch (state.view) {
938
- case "days":
939
- return sentenceCase(monthDateFormatter.format(state.visibleRange.start.toDate(state.timeZone)));
940
- case "months":
941
- return state.focusedDate.year;
942
- case "years":
943
- return sentenceCase(formatMessage("year"));
944
- }
945
- };
946
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$A({
947
- className: styles__default$1["default"]["sapphire-calendar"]
948
- }, utils$1.mergeProps(calendarProps, utils$1.filterDOMProps(props))), /* @__PURE__ */ React__default["default"].createElement("div", {
949
- className: clsx__default["default"](styles__default$1["default"]["sapphire-calendar__table-container"], styleProps.className),
950
- style: styleProps.style
951
- }, /* @__PURE__ */ React__default["default"].createElement(CalendarHeader, {
952
- prevButtonProps,
953
- nextButtonProps
954
- }, state.canBroadenView ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Button, {
955
- onPress: state.broadenView,
956
- isDisabled: state.isDisabled,
957
- variant: "tertiary",
958
- appearance: "ghost",
959
- size: "large"
960
- }, renderTitle()) : renderTitle()), state.view === "days" ? /* @__PURE__ */ React__default["default"].createElement(CalendarPageAnimation, {
961
- state: state.animationState
962
- }, renderGrid()) : renderGrid()));
963
- };
964
-
965
- var __defProp$z = Object.defineProperty;
966
- var __defProps$x = Object.defineProperties;
967
- var __getOwnPropDescs$x = Object.getOwnPropertyDescriptors;
968
- var __getOwnPropSymbols$A = Object.getOwnPropertySymbols;
969
- var __hasOwnProp$A = Object.prototype.hasOwnProperty;
970
- var __propIsEnum$A = Object.prototype.propertyIsEnumerable;
971
- var __defNormalProp$z = (obj, key, value) => key in obj ? __defProp$z(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
972
- var __spreadValues$z = (a, b) => {
973
- for (var prop in b || (b = {}))
974
- if (__hasOwnProp$A.call(b, prop))
975
- __defNormalProp$z(a, prop, b[prop]);
976
- if (__getOwnPropSymbols$A)
977
- for (var prop of __getOwnPropSymbols$A(b)) {
978
- if (__propIsEnum$A.call(b, prop))
979
- __defNormalProp$z(a, prop, b[prop]);
980
- }
981
- return a;
982
- };
983
- var __spreadProps$x = (a, b) => __defProps$x(a, __getOwnPropDescs$x(b));
984
- var __objRest$q = (source, exclude) => {
985
- var target = {};
986
- for (var prop in source)
987
- if (__hasOwnProp$A.call(source, prop) && exclude.indexOf(prop) < 0)
988
- target[prop] = source[prop];
989
- if (source != null && __getOwnPropSymbols$A)
990
- for (var prop of __getOwnPropSymbols$A(source)) {
991
- if (exclude.indexOf(prop) < 0 && __propIsEnum$A.call(source, prop))
992
- target[prop] = source[prop];
993
- }
994
- return target;
995
- };
996
- const useRangeCalendarState = (_a) => {
997
- var _b = _a, {
998
- onChange
999
- } = _b, options = __objRest$q(_b, [
1000
- "onChange"
1001
- ]);
1002
- const lastPredefinedRange = React.useRef(void 0);
1003
- const state = calendar$1.useRangeCalendarState(__spreadProps$x(__spreadValues$z({}, options), {
1004
- onChange: (value) => {
1005
- onChange == null ? void 0 : onChange(value, lastPredefinedRange.current);
1006
- lastPredefinedRange.current = void 0;
1007
- }
1008
- }));
1009
- return __spreadProps$x(__spreadValues$z({}, state), {
1010
- setValue: (value, predefinedRange) => {
1011
- lastPredefinedRange.current = predefinedRange;
1012
- state.setValue(value);
1013
- }
1014
- });
1015
- };
1016
-
1017
- var __defProp$y = Object.defineProperty;
1018
- var __defProps$w = Object.defineProperties;
1019
- var __getOwnPropDescs$w = Object.getOwnPropertyDescriptors;
1020
- var __getOwnPropSymbols$z = Object.getOwnPropertySymbols;
1021
- var __hasOwnProp$z = Object.prototype.hasOwnProperty;
1022
- var __propIsEnum$z = Object.prototype.propertyIsEnumerable;
1023
- var __defNormalProp$y = (obj, key, value) => key in obj ? __defProp$y(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1024
- var __spreadValues$y = (a, b) => {
1025
- for (var prop in b || (b = {}))
1026
- if (__hasOwnProp$z.call(b, prop))
1027
- __defNormalProp$y(a, prop, b[prop]);
1028
- if (__getOwnPropSymbols$z)
1029
- for (var prop of __getOwnPropSymbols$z(b)) {
1030
- if (__propIsEnum$z.call(b, prop))
1031
- __defNormalProp$y(a, prop, b[prop]);
1032
- }
1033
- return a;
1034
- };
1035
- var __spreadProps$w = (a, b) => __defProps$w(a, __getOwnPropDescs$w(b));
1036
- var __objRest$p = (source, exclude) => {
1037
- var target = {};
1038
- for (var prop in source)
1039
- if (__hasOwnProp$z.call(source, prop) && exclude.indexOf(prop) < 0)
1040
- target[prop] = source[prop];
1041
- if (source != null && __getOwnPropSymbols$z)
1042
- for (var prop of __getOwnPropSymbols$z(source)) {
1043
- if (exclude.indexOf(prop) < 0 && __propIsEnum$z.call(source, prop))
1044
- target[prop] = source[prop];
1045
- }
1046
- return target;
1047
- };
1048
- const _RangeCalendar = function RangeCalendar2(_a, forwardedRef) {
1049
- var _b = _a, {
1050
- showWeekNumbers,
1051
- showTwoMonths = false,
1052
- allowUnavailableDatesWithinRange = false,
1053
- predefinedRanges
1054
- } = _b, props = __objRest$p(_b, [
1055
- "showWeekNumbers",
1056
- "showTwoMonths",
1057
- "allowUnavailableDatesWithinRange",
1058
- "predefinedRanges"
1059
- ]);
1060
- sapphireReact.useThemeCheck();
1061
- const { styleProps } = sapphireReact.useSapphireStyleProps(props);
1062
- const ref = utils$1.useObjectRef(forwardedRef);
1063
- const { locale } = i18n.useLocale();
1064
- const state = useCalendarAnimationState(useRangeCalendarState(__spreadProps$w(__spreadValues$y({}, props), {
1065
- locale,
1066
- allowsNonContiguousRanges: allowUnavailableDatesWithinRange,
1067
- visibleDuration: React.useMemo(() => ({ months: showTwoMonths ? 2 : 1 }), [showTwoMonths]),
1068
- createCalendar: date.createCalendar
1069
- })));
1070
- const { calendarProps, prevButtonProps, nextButtonProps } = calendar.useRangeCalendar(props, state, ref);
1071
- const monthDateFormatter = i18n.useDateFormatter({
1072
- month: "long",
1073
- year: "numeric",
1074
- era: state.visibleRange.start.calendar.identifier === "gregory" && state.visibleRange.start.era === "BC" ? "short" : void 0,
1075
- calendar: state.visibleRange.start.calendar.identifier,
1076
- timeZone: state.timeZone
1077
- });
1078
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$y({
1079
- ref,
1080
- className: clsx__default["default"](styles__default$1["default"]["sapphire-calendar"], styleProps.className),
1081
- style: styleProps.style
1082
- }, utils$1.mergeProps(calendarProps, utils$1.filterDOMProps(props))), /* @__PURE__ */ React__default["default"].createElement("div", {
1083
- className: styles__default$1["default"]["sapphire-calendar__tables-row"]
1084
- }, [state.visibleRange.start].concat(showTwoMonths ? state.visibleRange.start.add({ months: 1 }) : []).map((startOfMonth, index, visibleMonths) => {
1085
- const isLeft = visibleMonths.length > 1 && index === 0;
1086
- const isRight = visibleMonths.length > 1 && index === visibleMonths.length - 1;
1087
- const shouldAnimate = visibleMonths.length === 1;
1088
- const daysGrid = /* @__PURE__ */ React__default["default"].createElement(CalendarDaysGrid, {
1089
- startDate: startOfMonth,
1090
- state,
1091
- showWeekNumbers
1092
- });
1093
- return /* @__PURE__ */ React__default["default"].createElement("div", {
1094
- key: index,
1095
- className: styles__default$1["default"]["sapphire-calendar__table-container"]
1096
- }, /* @__PURE__ */ React__default["default"].createElement(CalendarHeader, {
1097
- prevButtonProps,
1098
- nextButtonProps,
1099
- isLeft,
1100
- isRight
1101
- }, sentenceCase(monthDateFormatter.format(startOfMonth.toDate(state.timeZone)))), shouldAnimate ? /* @__PURE__ */ React__default["default"].createElement(CalendarPageAnimation, {
1102
- state: state.animationState
1103
- }, daysGrid) : daysGrid);
1104
- })), predefinedRanges && /* @__PURE__ */ React__default["default"].createElement("div", {
1105
- className: styles__default$1["default"]["sapphire-calendar__custom-ranges"]
1106
- }, Object.entries(predefinedRanges).map(([key, { label, dateRange }]) => /* @__PURE__ */ React__default["default"].createElement("div", {
1107
- key
1108
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Button, {
1109
- variant: "secondary",
1110
- appearance: "ghost",
1111
- onPress: () => {
1112
- state.setValue(dateRange, key);
1113
- state.setAnchorDate(null);
1114
- state.setFocusedDate(date.toCalendarDate(dateRange.end));
1115
- }
1116
- }, label)))));
1117
- };
1118
- const RangeCalendar = React__default["default"].forwardRef(_RangeCalendar);
1119
-
1120
- var __defProp$x = Object.defineProperty;
1121
- var __defProps$v = Object.defineProperties;
1122
- var __getOwnPropDescs$v = Object.getOwnPropertyDescriptors;
1123
- var __getOwnPropSymbols$y = Object.getOwnPropertySymbols;
1124
- var __hasOwnProp$y = Object.prototype.hasOwnProperty;
1125
- var __propIsEnum$y = Object.prototype.propertyIsEnumerable;
1126
- var __defNormalProp$x = (obj, key, value) => key in obj ? __defProp$x(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1127
- var __spreadValues$x = (a, b) => {
1128
- for (var prop in b || (b = {}))
1129
- if (__hasOwnProp$y.call(b, prop))
1130
- __defNormalProp$x(a, prop, b[prop]);
1131
- if (__getOwnPropSymbols$y)
1132
- for (var prop of __getOwnPropSymbols$y(b)) {
1133
- if (__propIsEnum$y.call(b, prop))
1134
- __defNormalProp$x(a, prop, b[prop]);
1135
- }
1136
- return a;
1137
- };
1138
- var __spreadProps$v = (a, b) => __defProps$v(a, __getOwnPropDescs$v(b));
1139
- var __objRest$o = (source, exclude) => {
1140
- var target = {};
1141
- for (var prop in source)
1142
- if (__hasOwnProp$y.call(source, prop) && exclude.indexOf(prop) < 0)
1143
- target[prop] = source[prop];
1144
- if (source != null && __getOwnPropSymbols$y)
1145
- for (var prop of __getOwnPropSymbols$y(source)) {
1146
- if (exclude.indexOf(prop) < 0 && __propIsEnum$y.call(source, prop))
1147
- target[prop] = source[prop];
1148
- }
1149
- return target;
1150
- };
1151
- const NotificationBadge = (props) => {
1152
- sapphireReact.useThemeCheck();
1153
- const _a = props, {
1154
- animate = true,
1155
- children,
1156
- count,
1157
- containerType = "circle",
1158
- variant = "primary",
1159
- size = "medium",
1160
- show = true
1161
- } = _a, otherProps = __objRest$o(_a, [
1162
- "animate",
1163
- "children",
1164
- "count",
1165
- "containerType",
1166
- "variant",
1167
- "size",
1168
- "show"
1169
- ]);
1170
- const { styleProps } = sapphireReact.useSapphireStyleProps(props);
1171
- const badge = () => show || animate ? /* @__PURE__ */ React__default["default"].createElement("span", __spreadProps$v(__spreadValues$x({}, otherProps), {
1172
- role: "status",
1173
- className: clsx__default["default"](styleProps.className, styles__default$2["default"]["sapphire-notification-badge"], styles__default$2["default"][`sapphire-notification-badge--${size}`], styles__default$2["default"][`sapphire-notification-badge--${variant}`], {
1174
- [styles__default$2["default"][`sapphire-notification-badge--pop-in`]]: show && animate,
1175
- [styles__default$2["default"][`sapphire-notification-badge--pop-out`]]: !show && animate
1176
- }),
1177
- style: styleProps.style
1178
- }), size !== "small" && displayCount) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null);
1179
- const displayCount = count.toString().length > 2 ? `99+` : count;
1180
- return children ? /* @__PURE__ */ React__default["default"].createElement("span", {
1181
- className: clsx__default["default"](styles__default$2["default"]["sapphire-notification-badge-container"], {
1182
- [styles__default$2["default"]["sapphire-notification-badge-container--rectangle"]]: containerType === "rectangle"
1183
- })
1184
- }, children, badge()) : badge();
1185
- };
1186
-
1187
- function FilterDropdown({
1188
- children,
1189
- label,
1190
- value,
1191
- isOpen: isOpenProp,
1192
- clearButtonLabel = "Clear",
1193
- applyButtonLabel = "Apply",
1194
- defaultOpen = false,
1195
- onOpenChange,
1196
- hasApplyButton = false,
1197
- onApply,
1198
- onClear,
1199
- noMaxWidth,
1200
- isDisabled = false
1201
- }) {
1202
- const [isOpen, setIsOpen] = utils$2.useControlledState(isOpenProp, defaultOpen, onOpenChange);
1203
- const hasValue = value != null && value !== "";
1204
- const close = () => setIsOpen(false);
1205
- const apply = () => {
1206
- onApply == null ? void 0 : onApply();
1207
- close();
58
+ const [isOpen, setIsOpen] = utils.useControlledState(isOpenProp, defaultOpen, onOpenChange);
59
+ const hasValue = value != null && value !== "";
60
+ const close = () => setIsOpen(false);
61
+ const apply = () => {
62
+ onApply == null ? void 0 : onApply();
63
+ close();
1208
64
  };
1209
65
  const applyButton = /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Button, {
1210
66
  type: "submit",
1211
- excludeFromTabOrder: !hasApplyButton
67
+ excludeFromTabOrder: !hasApplyButton,
68
+ isDisabled: isApplyDisabled
1212
69
  }, applyButtonLabel);
1213
70
  return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.PopoverTrigger, {
1214
71
  popoverContent: /* @__PURE__ */ React__default["default"].createElement("form", {
@@ -1220,1321 +77,59 @@ function FilterDropdown({
1220
77
  variant: "secondary",
1221
78
  onPress: () => {
1222
79
  close();
1223
- onClear == null ? void 0 : onClear();
1224
- },
1225
- isDisabled: !hasValue
1226
- }, clearButtonLabel), hasApplyButton ? applyButton : /* @__PURE__ */ React__default["default"].createElement(visuallyHidden.VisuallyHidden, null, applyButton))),
1227
- placement: "bottom left",
1228
- isOpen,
1229
- onOpenChange: setIsOpen,
1230
- noMaxWidth
1231
- }, /* @__PURE__ */ React__default["default"].createElement(ToggleButton, {
1232
- icon: isOpen ? /* @__PURE__ */ React__default["default"].createElement(react.ChevronUp, null) : /* @__PURE__ */ React__default["default"].createElement(react.ChevronDown, null),
1233
- iconAlign: "right",
1234
- isSelected: hasValue,
1235
- isDisabled
1236
- }, label, value ? ": " : "", value));
1237
- }
1238
-
1239
- const placeholders = new string.LocalizedStringDictionary({
1240
- ach: { year: "mwaka", month: "dwe", day: "nino" },
1241
- af: { year: "jjjj", month: "mm", day: "dd" },
1242
- am: { year: "\u12D3\u12D3\u12D3\u12D3", month: "\u121A\u121C", day: "\u1240\u1240" },
1243
- an: { year: "aaaa", month: "mm", day: "dd" },
1244
- ar: { year: "\u0633\u0646\u0629", month: "\u0634\u0647\u0631", day: "\u064A\u0648\u0645" },
1245
- ast: { year: "aaaa", month: "mm", day: "dd" },
1246
- az: { year: "iiii", month: "aa", day: "gg" },
1247
- be: { year: "\u0433\u0433\u0433\u0433", month: "\u043C\u043C", day: "\u0434\u0434" },
1248
- bg: { year: "\u0433\u0433\u0433\u0433", month: "\u043C\u043C", day: "\u0434\u0434" },
1249
- bn: { year: "yyyy", month: "\u09AE\u09BF\u09AE\u09BF", day: "dd" },
1250
- br: { year: "bbbb", month: "mm", day: "dd" },
1251
- bs: { year: "gggg", month: "mm", day: "dd" },
1252
- ca: { year: "aaaa", month: "mm", day: "dd" },
1253
- cak: { year: "jjjj", month: "ii", day: "q'q'" },
1254
- ckb: { year: "\u0633\u0627\u06B5", month: "\u0645\u0627\u0646\u06AF", day: "\u0695\u06C6\u0698" },
1255
- cs: { year: "rrrr", month: "mm", day: "dd" },
1256
- cy: { year: "bbbb", month: "mm", day: "dd" },
1257
- da: { year: "\xE5\xE5\xE5\xE5", month: "mm", day: "dd" },
1258
- de: { year: "jjjj", month: "mm", day: "tt" },
1259
- dsb: { year: "llll", month: "mm", day: "\u017A\u017A" },
1260
- el: { year: "\u03B5\u03B5\u03B5\u03B5", month: "\u03BC\u03BC", day: "\u03B7\u03B7" },
1261
- en: { year: "yyyy", month: "mm", day: "dd" },
1262
- eo: { year: "jjjj", month: "mm", day: "tt" },
1263
- es: { year: "aaaa", month: "mm", day: "dd" },
1264
- et: { year: "aaaa", month: "kk", day: "pp" },
1265
- eu: { year: "uuuu", month: "hh", day: "ee" },
1266
- fa: { year: "\u0633\u0627\u0644", month: "\u0645\u0627\u0647", day: "\u0631\u0648\u0632" },
1267
- ff: { year: "hhhh", month: "ll", day: "\xF1\xF1" },
1268
- fi: { year: "vvvv", month: "kk", day: "pp" },
1269
- fr: { year: "aaaa", month: "mm", day: "jj" },
1270
- fy: { year: "jjjj", month: "mm", day: "dd" },
1271
- ga: { year: "bbbb", month: "mm", day: "ll" },
1272
- gd: { year: "bbbb", month: "mm", day: "ll" },
1273
- gl: { year: "aaaa", month: "mm", day: "dd" },
1274
- he: { year: "\u05E9\u05E0\u05D4", month: "\u05D7\u05D5\u05D3\u05E9", day: "\u05D9\u05D5\u05DD" },
1275
- hr: { year: "gggg", month: "mm", day: "dd" },
1276
- hsb: { year: "llll", month: "mm", day: "dd" },
1277
- hu: { year: "\xE9\xE9\xE9\xE9", month: "hh", day: "nn" },
1278
- ia: { year: "aaaa", month: "mm", day: "dd" },
1279
- id: { year: "tttt", month: "bb", day: "hh" },
1280
- it: { year: "aaaa", month: "mm", day: "gg" },
1281
- ja: { year: " \u5E74 ", month: "\u6708", day: "\u65E5" },
1282
- ka: { year: "\u10EC\u10EC\u10EC\u10EC", month: "\u10D7\u10D7", day: "\u10E0\u10E0" },
1283
- kk: { year: "\u0436\u0436\u0436\u0436", month: "\u0430\u0430", day: "\u043A\u043A" },
1284
- kn: { year: "\u0CB5\u0CB5\u0CB5\u0CB5", month: "\u0CAE\u0CBF\u0CAE\u0CC0", day: "\u0CA6\u0CBF\u0CA6\u0CBF" },
1285
- ko: { year: "\uC5F0\uB3C4", month: "\uC6D4", day: "\uC77C" },
1286
- lb: { year: "jjjj", month: "mm", day: "dd" },
1287
- lo: { year: "\u0E9B\u0E9B\u0E9B\u0E9B", month: "\u0E94\u0E94", day: "\u0EA7\u0EA7" },
1288
- lt: { year: "mmmm", month: "mm", day: "dd" },
1289
- lv: { year: "gggg", month: "mm", day: "dd" },
1290
- meh: { year: "aaaa", month: "mm", day: "dd" },
1291
- ml: { year: "\u0D35\u0D7C\u0D37\u0D02", month: "\u0D2E\u0D3E\u0D38\u0D02", day: "\u0D24\u0D40\u0D2F\u0D24\u0D3F" },
1292
- ms: { year: "tttt", month: "mm", day: "hh" },
1293
- nl: { year: "jjjj", month: "mm", day: "dd" },
1294
- nn: { year: "\xE5\xE5\xE5\xE5", month: "mm", day: "dd" },
1295
- no: { year: "\xE5\xE5\xE5\xE5", month: "mm", day: "dd" },
1296
- oc: { year: "aaaa", month: "mm", day: "jj" },
1297
- pl: { year: "rrrr", month: "mm", day: "dd" },
1298
- pt: { year: "aaaa", month: "mm", day: "dd" },
1299
- rm: { year: "oooo", month: "mm", day: "dd" },
1300
- ro: { year: "aaaa", month: "ll", day: "zz" },
1301
- ru: { year: "\u0433\u0433\u0433\u0433", month: "\u043C\u043C", day: "\u0434\u0434" },
1302
- sc: { year: "aaaa", month: "mm", day: "dd" },
1303
- scn: { year: "aaaa", month: "mm", day: "jj" },
1304
- sk: { year: "rrrr", month: "mm", day: "dd" },
1305
- sl: { year: "llll", month: "mm", day: "dd" },
1306
- sr: { year: "\u0433\u0433\u0433\u0433", month: "\u043C\u043C", day: "\u0434\u0434" },
1307
- sv: { year: "\xE5\xE5\xE5\xE5", month: "mm", day: "dd" },
1308
- szl: { year: "rrrr", month: "mm", day: "dd" },
1309
- tg: { year: "\u0441\u0441\u0441\u0441", month: "\u043C\u043C", day: "\u0440\u0440" },
1310
- th: { year: "\u0E1B\u0E1B\u0E1B\u0E1B", month: "\u0E14\u0E14", day: "\u0E27\u0E27" },
1311
- tr: { year: "yyyy", month: "aa", day: "gg" },
1312
- uk: { year: "\u0440\u0440\u0440\u0440", month: "\u043C\u043C", day: "\u0434\u0434" },
1313
- "zh-CN": { year: "\u5E74", month: "\u6708", day: "\u65E5" },
1314
- "zh-TW": { year: "\u5E74", month: "\u6708", day: "\u65E5" }
1315
- }, "en");
1316
- function getPlaceholder(field, value, locale) {
1317
- if (field === "era" || field === "dayPeriod") {
1318
- return value;
1319
- }
1320
- if (field === "year" || field === "month" || field === "day") {
1321
- return placeholders.getStringForLocale(field, locale);
1322
- }
1323
- return "\u2013\u2013";
1324
- }
1325
-
1326
- var __defProp$w = Object.defineProperty;
1327
- var __defProps$u = Object.defineProperties;
1328
- var __getOwnPropDescs$u = Object.getOwnPropertyDescriptors;
1329
- var __getOwnPropSymbols$x = Object.getOwnPropertySymbols;
1330
- var __hasOwnProp$x = Object.prototype.hasOwnProperty;
1331
- var __propIsEnum$x = Object.prototype.propertyIsEnumerable;
1332
- var __defNormalProp$w = (obj, key, value) => key in obj ? __defProp$w(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1333
- var __spreadValues$w = (a, b) => {
1334
- for (var prop in b || (b = {}))
1335
- if (__hasOwnProp$x.call(b, prop))
1336
- __defNormalProp$w(a, prop, b[prop]);
1337
- if (__getOwnPropSymbols$x)
1338
- for (var prop of __getOwnPropSymbols$x(b)) {
1339
- if (__propIsEnum$x.call(b, prop))
1340
- __defNormalProp$w(a, prop, b[prop]);
1341
- }
1342
- return a;
1343
- };
1344
- var __spreadProps$u = (a, b) => __defProps$u(a, __getOwnPropDescs$u(b));
1345
- const segmentTypes = [
1346
- "day",
1347
- "hour",
1348
- "minute",
1349
- "second",
1350
- "era",
1351
- "year",
1352
- "month",
1353
- "dayPeriod",
1354
- "literal",
1355
- "timeZoneName"
1356
- ];
1357
- const isAnyModified = (segments) => segments.map(({ type, isPlaceholder }) => {
1358
- return type !== "literal" && !isPlaceholder;
1359
- }).some((isModified) => isModified);
1360
- const setPlaceholderLanguage = (segment, locale) => {
1361
- const placeholder = getPlaceholder(segment.type, segment.text, locale);
1362
- return __spreadProps$u(__spreadValues$w({}, segment), {
1363
- text: segment.isPlaceholder ? placeholder : segment.text,
1364
- placeholder
1365
- });
1366
- };
1367
-
1368
- var __defProp$v = Object.defineProperty;
1369
- var __defProps$t = Object.defineProperties;
1370
- var __getOwnPropDescs$t = Object.getOwnPropertyDescriptors;
1371
- var __getOwnPropSymbols$w = Object.getOwnPropertySymbols;
1372
- var __hasOwnProp$w = Object.prototype.hasOwnProperty;
1373
- var __propIsEnum$w = Object.prototype.propertyIsEnumerable;
1374
- var __defNormalProp$v = (obj, key, value) => key in obj ? __defProp$v(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1375
- var __spreadValues$v = (a, b) => {
1376
- for (var prop in b || (b = {}))
1377
- if (__hasOwnProp$w.call(b, prop))
1378
- __defNormalProp$v(a, prop, b[prop]);
1379
- if (__getOwnPropSymbols$w)
1380
- for (var prop of __getOwnPropSymbols$w(b)) {
1381
- if (__propIsEnum$w.call(b, prop))
1382
- __defNormalProp$v(a, prop, b[prop]);
1383
- }
1384
- return a;
1385
- };
1386
- var __spreadProps$t = (a, b) => __defProps$t(a, __getOwnPropDescs$t(b));
1387
- const DateSegment = ({ segment, state }) => segment.type === "literal" ? /* @__PURE__ */ React__default["default"].createElement(SeparatorSegment, {
1388
- segment
1389
- }) : /* @__PURE__ */ React__default["default"].createElement(EditableSegment, {
1390
- segment,
1391
- state
1392
- });
1393
- const SeparatorSegment = ({ segment }) => /* @__PURE__ */ React__default["default"].createElement("span", {
1394
- "aria-hidden": "true",
1395
- className: clsx__default["default"](styles__default$3["default"]["sapphire-date-field__segment"])
1396
- }, segment.text);
1397
- const EditableSegment = ({ segment, state }) => {
1398
- const ref = React.useRef(null);
1399
- const { segmentProps } = datepicker.useDateSegment(segment, state, ref);
1400
- const { locale } = i18n.useLocale();
1401
- const segmentWithTranslatedPlaceholders = setPlaceholderLanguage(segment, locale);
1402
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$t(__spreadValues$v({}, segmentProps), {
1403
- style: segmentProps.style,
1404
- ref,
1405
- className: clsx__default["default"](styles__default$3["default"]["sapphire-date-field__segment"], {
1406
- [styles__default$3["default"]["sapphire-date-field__segment--filled"]]: !segmentWithTranslatedPlaceholders.isPlaceholder
1407
- })
1408
- }), segmentWithTranslatedPlaceholders.text);
1409
- };
1410
-
1411
- var __defProp$u = Object.defineProperty;
1412
- var __defProps$s = Object.defineProperties;
1413
- var __getOwnPropDescs$s = Object.getOwnPropertyDescriptors;
1414
- var __getOwnPropSymbols$v = Object.getOwnPropertySymbols;
1415
- var __hasOwnProp$v = Object.prototype.hasOwnProperty;
1416
- var __propIsEnum$v = Object.prototype.propertyIsEnumerable;
1417
- var __defNormalProp$u = (obj, key, value) => key in obj ? __defProp$u(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1418
- var __spreadValues$u = (a, b) => {
1419
- for (var prop in b || (b = {}))
1420
- if (__hasOwnProp$v.call(b, prop))
1421
- __defNormalProp$u(a, prop, b[prop]);
1422
- if (__getOwnPropSymbols$v)
1423
- for (var prop of __getOwnPropSymbols$v(b)) {
1424
- if (__propIsEnum$v.call(b, prop))
1425
- __defNormalProp$u(a, prop, b[prop]);
1426
- }
1427
- return a;
1428
- };
1429
- var __spreadProps$s = (a, b) => __defProps$s(a, __getOwnPropDescs$s(b));
1430
- const DateFieldButton = (props) => {
1431
- const ref = React.useRef(null);
1432
- const { buttonProps, isPressed } = sapphireReact.useButton(props, ref);
1433
- const { hoverProps, isHovered } = interactions.useHover({ isDisabled: props.isDisabled });
1434
- const { focusProps, isFocusVisible } = focus.useFocusRing();
1435
- return /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$s(__spreadValues$u({}, utils$1.mergeProps(buttonProps, hoverProps, focusProps)), {
1436
- ref,
1437
- className: clsx__default["default"](styles__default$3["default"]["sapphire-date-field__button"], styles__default$3["default"]["js-focus"], styles__default$3["default"]["js-hover"], {
1438
- [styles__default$3["default"]["is-active"]]: isPressed,
1439
- [styles__default$3["default"]["is-hover"]]: isHovered,
1440
- [styles__default$3["default"]["is-focus"]]: isFocusVisible
1441
- })
1442
- }), props.children);
1443
- };
1444
-
1445
- var clear$6 = "Nulstil";
1446
- var da$2 = {
1447
- clear: clear$6
1448
- };
1449
-
1450
- var clear$5 = "Clear";
1451
- var en$2 = {
1452
- clear: clear$5
1453
- };
1454
-
1455
- var clear$4 = "Zurücksetzen";
1456
- var de$2 = {
1457
- clear: clear$4
1458
- };
1459
-
1460
- var clear$3 = "Nollaa";
1461
- var fi$2 = {
1462
- clear: clear$3
1463
- };
1464
-
1465
- var clear$2 = "Nullstill";
1466
- var no$2 = {
1467
- clear: clear$2
1468
- };
1469
-
1470
- var clear$1 = "Zresetuj";
1471
- var pl$2 = {
1472
- clear: clear$1
1473
- };
1474
-
1475
- var clear = "Återställ";
1476
- var se$2 = {
1477
- clear: clear
1478
- };
1479
-
1480
- var intlMessages$2 = {
1481
- "da-DK": da$2,
1482
- "en-US": en$2,
1483
- "de-DE": de$2,
1484
- "fi-FI": fi$2,
1485
- "nb-NO": no$2,
1486
- "pl-PL": pl$2,
1487
- "sv-SE": se$2
1488
- };
1489
-
1490
- var __defProp$t = Object.defineProperty;
1491
- var __defProps$r = Object.defineProperties;
1492
- var __getOwnPropDescs$r = Object.getOwnPropertyDescriptors;
1493
- var __getOwnPropSymbols$u = Object.getOwnPropertySymbols;
1494
- var __hasOwnProp$u = Object.prototype.hasOwnProperty;
1495
- var __propIsEnum$u = Object.prototype.propertyIsEnumerable;
1496
- var __defNormalProp$t = (obj, key, value) => key in obj ? __defProp$t(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1497
- var __spreadValues$t = (a, b) => {
1498
- for (var prop in b || (b = {}))
1499
- if (__hasOwnProp$u.call(b, prop))
1500
- __defNormalProp$t(a, prop, b[prop]);
1501
- if (__getOwnPropSymbols$u)
1502
- for (var prop of __getOwnPropSymbols$u(b)) {
1503
- if (__propIsEnum$u.call(b, prop))
1504
- __defNormalProp$t(a, prop, b[prop]);
1505
- }
1506
- return a;
1507
- };
1508
- var __spreadProps$r = (a, b) => __defProps$r(a, __getOwnPropDescs$r(b));
1509
- var __objRest$n = (source, exclude) => {
1510
- var target = {};
1511
- for (var prop in source)
1512
- if (__hasOwnProp$u.call(source, prop) && exclude.indexOf(prop) < 0)
1513
- target[prop] = source[prop];
1514
- if (source != null && __getOwnPropSymbols$u)
1515
- for (var prop of __getOwnPropSymbols$u(source)) {
1516
- if (exclude.indexOf(prop) < 0 && __propIsEnum$u.call(source, prop))
1517
- target[prop] = source[prop];
1518
- }
1519
- return target;
1520
- };
1521
- function DateInput(_a) {
1522
- var _b = _a, {
1523
- noClearButton = false,
1524
- size = "large"
1525
- } = _b, props = __objRest$n(_b, [
1526
- "noClearButton",
1527
- "size"
1528
- ]);
1529
- const ref = React.useRef(null);
1530
- const formatMessage = i18n.useMessageFormatter(intlMessages$2);
1531
- const { locale } = i18n.useLocale();
1532
- const customDateFormatLocale = sapphireReact.useCustomDateFormatLocale();
1533
- const state = datepicker$1.useDateFieldState(__spreadProps$r(__spreadValues$t({}, props), {
1534
- locale: customDateFormatLocale || locale,
1535
- createCalendar: date.createCalendar
1536
- }));
1537
- const { fieldProps } = datepicker.useDateField(props, state, ref);
1538
- const clear = () => {
1539
- segmentTypes.forEach(state.clearSegment);
1540
- };
1541
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$r(__spreadValues$t({}, fieldProps), {
1542
- className: styles__default$3["default"]["sapphire-date-field__input"],
1543
- ref
1544
- }), state.segments.map((segment, i) => /* @__PURE__ */ React__default["default"].createElement(DateSegment, {
1545
- key: i,
1546
- segment,
1547
- state
1548
- }))), !noClearButton && !props.isReadOnly && !props.isDisabled && isAnyModified(state.segments) && /* @__PURE__ */ React__default["default"].createElement(DateFieldButton, {
1549
- "aria-label": formatMessage("clear"),
1550
- onPress: clear
1551
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
1552
- size: size === "medium" ? "m" : "l"
1553
- }, /* @__PURE__ */ React__default["default"].createElement(react.CloseCircle, null))));
1554
- }
1555
-
1556
- var __defProp$s = Object.defineProperty;
1557
- var __defProps$q = Object.defineProperties;
1558
- var __getOwnPropDescs$q = Object.getOwnPropertyDescriptors;
1559
- var __getOwnPropSymbols$t = Object.getOwnPropertySymbols;
1560
- var __hasOwnProp$t = Object.prototype.hasOwnProperty;
1561
- var __propIsEnum$t = Object.prototype.propertyIsEnumerable;
1562
- var __defNormalProp$s = (obj, key, value) => key in obj ? __defProp$s(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1563
- var __spreadValues$s = (a, b) => {
1564
- for (var prop in b || (b = {}))
1565
- if (__hasOwnProp$t.call(b, prop))
1566
- __defNormalProp$s(a, prop, b[prop]);
1567
- if (__getOwnPropSymbols$t)
1568
- for (var prop of __getOwnPropSymbols$t(b)) {
1569
- if (__propIsEnum$t.call(b, prop))
1570
- __defNormalProp$s(a, prop, b[prop]);
1571
- }
1572
- return a;
1573
- };
1574
- var __spreadProps$q = (a, b) => __defProps$q(a, __getOwnPropDescs$q(b));
1575
- var __objRest$m = (source, exclude) => {
1576
- var target = {};
1577
- for (var prop in source)
1578
- if (__hasOwnProp$t.call(source, prop) && exclude.indexOf(prop) < 0)
1579
- target[prop] = source[prop];
1580
- if (source != null && __getOwnPropSymbols$t)
1581
- for (var prop of __getOwnPropSymbols$t(source)) {
1582
- if (exclude.indexOf(prop) < 0 && __propIsEnum$t.call(source, prop))
1583
- target[prop] = source[prop];
1584
- }
1585
- return target;
1586
- };
1587
- function _DateField(_a, ref) {
1588
- var _b = _a, {
1589
- error,
1590
- note,
1591
- contextualHelp,
1592
- noClearButton = false,
1593
- showWeekNumbers,
1594
- size = "large",
1595
- labelPlacement = "above",
1596
- necessityIndicator = false
1597
- } = _b, otherProps = __objRest$m(_b, [
1598
- "error",
1599
- "note",
1600
- "contextualHelp",
1601
- "noClearButton",
1602
- "showWeekNumbers",
1603
- "size",
1604
- "labelPlacement",
1605
- "necessityIndicator"
1606
- ]);
1607
- sapphireReact.useThemeCheck();
1608
- const groupRef = React.useRef(null);
1609
- const dialogRef = React.useRef(null);
1610
- const { styleProps } = sapphireReact.useSapphireStyleProps(otherProps);
1611
- const { dialogProps } = dialog.useDialog({}, dialogRef);
1612
- const state = datepicker$1.useDatePickerState(__spreadValues$s(__spreadValues$s({}, otherProps), error ? { validationState: "invalid" } : {}));
1613
- const {
1614
- groupProps,
1615
- labelProps,
1616
- fieldProps,
1617
- buttonProps,
1618
- dialogProps: dialogPropsFromDatePicker,
1619
- calendarProps,
1620
- descriptionProps,
1621
- errorMessageProps
1622
- } = datepicker.useDatePicker(__spreadProps$q(__spreadValues$s({}, otherProps), {
1623
- description: note
1624
- }), state, groupRef);
1625
- const isMedium = size === "medium";
1626
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps$q(__spreadValues$s({}, otherProps), {
1627
- noShrink: true,
1628
- isDisabled: otherProps.isDisabled,
1629
- error: state.validationState === "invalid",
1630
- size,
1631
- ref,
1632
- labelPlacement
1633
- }), otherProps.label && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Label, __spreadProps$q(__spreadValues$s({}, labelProps), {
1634
- size,
1635
- necessityIndicator: otherProps.isRequired && necessityIndicator ? "required" : !otherProps.isRequired && necessityIndicator ? "optional" : void 0,
1636
- contextualHelp
1637
- }), otherProps.label)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$s(__spreadProps$q(__spreadValues$s({}, groupProps), {
1638
- ref: groupRef,
1639
- className: clsx__default["default"](styles__default$3["default"]["sapphire-date-field"], {
1640
- [styles__default$3["default"]["sapphire-date-field--error"]]: state.validationState === "invalid",
1641
- [styles__default$3["default"]["sapphire-date-field--medium"]]: isMedium
1642
- })
1643
- }), styleProps.style.width ? { style: { width: styleProps.style.width } } : {}), /* @__PURE__ */ React__default["default"].createElement(interactions.PressResponder, __spreadProps$q(__spreadValues$s({}, buttonProps), {
1644
- isPressed: state.isOpen
1645
- }), /* @__PURE__ */ React__default["default"].createElement(DateFieldButton, {
1646
- isDisabled: otherProps.isDisabled || otherProps.isReadOnly
1647
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
1648
- size: isMedium ? "m" : "l"
1649
- }, /* @__PURE__ */ React__default["default"].createElement(react.Calendar, null)))), /* @__PURE__ */ React__default["default"].createElement(DateInput, __spreadProps$q(__spreadValues$s({}, fieldProps), {
1650
- noClearButton,
1651
- size
1652
- })))), (typeof error === "string" && error !== "" || note) && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Footer, null, error ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, __spreadValues$s({}, errorMessageProps), error) : note ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, __spreadValues$s({}, descriptionProps), note) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null)), state.isOpen && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Popover, {
1653
- state,
1654
- triggerRef: groupRef,
1655
- placement: "bottom start"
1656
- }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$s(__spreadValues$s({
1657
- ref: dialogRef
1658
- }, dialogProps), dialogPropsFromDatePicker), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.View, {
1659
- padding: sapphireReact.tokens.size.spacing50
1660
- }, /* @__PURE__ */ React__default["default"].createElement(Calendar, __spreadProps$q(__spreadValues$s({}, calendarProps), {
1661
- defaultFocusedValue: state.dateValue,
1662
- showWeekNumbers
1663
- }))))));
1664
- }
1665
- const DateField = React.forwardRef(_DateField);
1666
-
1667
- var __defProp$r = Object.defineProperty;
1668
- var __defProps$p = Object.defineProperties;
1669
- var __getOwnPropDescs$p = Object.getOwnPropertyDescriptors;
1670
- var __getOwnPropSymbols$s = Object.getOwnPropertySymbols;
1671
- var __hasOwnProp$s = Object.prototype.hasOwnProperty;
1672
- var __propIsEnum$s = Object.prototype.propertyIsEnumerable;
1673
- var __defNormalProp$r = (obj, key, value) => key in obj ? __defProp$r(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1674
- var __spreadValues$r = (a, b) => {
1675
- for (var prop in b || (b = {}))
1676
- if (__hasOwnProp$s.call(b, prop))
1677
- __defNormalProp$r(a, prop, b[prop]);
1678
- if (__getOwnPropSymbols$s)
1679
- for (var prop of __getOwnPropSymbols$s(b)) {
1680
- if (__propIsEnum$s.call(b, prop))
1681
- __defNormalProp$r(a, prop, b[prop]);
1682
- }
1683
- return a;
1684
- };
1685
- var __spreadProps$p = (a, b) => __defProps$p(a, __getOwnPropDescs$p(b));
1686
- var __objRest$l = (source, exclude) => {
1687
- var target = {};
1688
- for (var prop in source)
1689
- if (__hasOwnProp$s.call(source, prop) && exclude.indexOf(prop) < 0)
1690
- target[prop] = source[prop];
1691
- if (source != null && __getOwnPropSymbols$s)
1692
- for (var prop of __getOwnPropSymbols$s(source)) {
1693
- if (exclude.indexOf(prop) < 0 && __propIsEnum$s.call(source, prop))
1694
- target[prop] = source[prop];
1695
- }
1696
- return target;
1697
- };
1698
- const useDateRangePickerState = (_a) => {
1699
- var _b = _a, {
1700
- onChange
1701
- } = _b, options = __objRest$l(_b, [
1702
- "onChange"
1703
- ]);
1704
- const lastPredefinedRange = React.useRef(void 0);
1705
- const state = datepicker$1.useDateRangePickerState(__spreadProps$p(__spreadValues$r({}, options), {
1706
- onChange: (value) => {
1707
- onChange == null ? void 0 : onChange(value, lastPredefinedRange.current);
1708
- lastPredefinedRange.current = void 0;
1709
- }
1710
- }));
1711
- return __spreadProps$p(__spreadValues$r({}, state), {
1712
- setDateRange: (value, predefinedRange) => {
1713
- lastPredefinedRange.current = predefinedRange;
1714
- state.setDateRange(value);
1715
- }
1716
- });
1717
- };
1718
-
1719
- var __defProp$q = Object.defineProperty;
1720
- var __defProps$o = Object.defineProperties;
1721
- var __getOwnPropDescs$o = Object.getOwnPropertyDescriptors;
1722
- var __getOwnPropSymbols$r = Object.getOwnPropertySymbols;
1723
- var __hasOwnProp$r = Object.prototype.hasOwnProperty;
1724
- var __propIsEnum$r = Object.prototype.propertyIsEnumerable;
1725
- var __defNormalProp$q = (obj, key, value) => key in obj ? __defProp$q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1726
- var __spreadValues$q = (a, b) => {
1727
- for (var prop in b || (b = {}))
1728
- if (__hasOwnProp$r.call(b, prop))
1729
- __defNormalProp$q(a, prop, b[prop]);
1730
- if (__getOwnPropSymbols$r)
1731
- for (var prop of __getOwnPropSymbols$r(b)) {
1732
- if (__propIsEnum$r.call(b, prop))
1733
- __defNormalProp$q(a, prop, b[prop]);
1734
- }
1735
- return a;
1736
- };
1737
- var __spreadProps$o = (a, b) => __defProps$o(a, __getOwnPropDescs$o(b));
1738
- function DateRangeInput({
1739
- dateRangePickerState,
1740
- startFieldProps,
1741
- endFieldProps,
1742
- noClearButton = false,
1743
- size = "large"
1744
- }) {
1745
- const startFieldRef = React.useRef(null);
1746
- const endFieldRef = React.useRef(null);
1747
- const formatMessage = i18n.useMessageFormatter(intlMessages$2);
1748
- const { locale } = i18n.useLocale();
1749
- const customDateFormatLocale = sapphireReact.useCustomDateFormatLocale();
1750
- const startFieldState = datepicker$1.useDateFieldState(__spreadProps$o(__spreadValues$q({}, startFieldProps), {
1751
- locale: customDateFormatLocale || locale,
1752
- createCalendar: date.createCalendar
1753
- }));
1754
- const endFieldState = datepicker$1.useDateFieldState(__spreadProps$o(__spreadValues$q({}, endFieldProps), {
1755
- locale: customDateFormatLocale || locale,
1756
- createCalendar: date.createCalendar
1757
- }));
1758
- const { fieldProps: startFieldAriaProps } = datepicker.useDateField(startFieldProps, startFieldState, startFieldRef);
1759
- const { fieldProps: endFieldAriaProps } = datepicker.useDateField(endFieldProps, endFieldState, endFieldRef);
1760
- const clearFields = () => {
1761
- segmentTypes.forEach((segmentType) => {
1762
- startFieldState.clearSegment(segmentType);
1763
- endFieldState.clearSegment(segmentType);
1764
- });
1765
- dateRangePickerState.setValue({ start: null, end: null });
1766
- };
1767
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$o(__spreadValues$q({}, startFieldAriaProps), {
1768
- className: styles__default$3["default"]["sapphire-date-field__input"],
1769
- ref: startFieldRef
1770
- }), startFieldState.segments.map((segment, i) => /* @__PURE__ */ React__default["default"].createElement(DateSegment, {
1771
- key: i,
1772
- segment,
1773
- state: startFieldState
1774
- }))), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
1775
- size: size == "medium" ? "m" : "l"
1776
- }, /* @__PURE__ */ React__default["default"].createElement(react.ArrowRight, null)), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$o(__spreadValues$q({}, endFieldAriaProps), {
1777
- className: styles__default$3["default"]["sapphire-date-field__input"],
1778
- ref: endFieldRef
1779
- }), endFieldState.segments.map((segment, i) => /* @__PURE__ */ React__default["default"].createElement(DateSegment, {
1780
- key: i,
1781
- segment,
1782
- state: endFieldState
1783
- }))), !noClearButton && !startFieldProps.isReadOnly && !endFieldProps.isReadOnly && !startFieldProps.isDisabled && !endFieldProps.isDisabled && isAnyModified([
1784
- ...startFieldState.segments,
1785
- ...endFieldState.segments
1786
- ]) && /* @__PURE__ */ React__default["default"].createElement(DateFieldButton, {
1787
- "aria-label": formatMessage("clear"),
1788
- onPress: clearFields
1789
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
1790
- size: size === "medium" ? "m" : "l"
1791
- }, /* @__PURE__ */ React__default["default"].createElement(react.CloseCircle, null))));
1792
- }
1793
-
1794
- var __defProp$p = Object.defineProperty;
1795
- var __defProps$n = Object.defineProperties;
1796
- var __getOwnPropDescs$n = Object.getOwnPropertyDescriptors;
1797
- var __getOwnPropSymbols$q = Object.getOwnPropertySymbols;
1798
- var __hasOwnProp$q = Object.prototype.hasOwnProperty;
1799
- var __propIsEnum$q = Object.prototype.propertyIsEnumerable;
1800
- var __defNormalProp$p = (obj, key, value) => key in obj ? __defProp$p(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1801
- var __spreadValues$p = (a, b) => {
1802
- for (var prop in b || (b = {}))
1803
- if (__hasOwnProp$q.call(b, prop))
1804
- __defNormalProp$p(a, prop, b[prop]);
1805
- if (__getOwnPropSymbols$q)
1806
- for (var prop of __getOwnPropSymbols$q(b)) {
1807
- if (__propIsEnum$q.call(b, prop))
1808
- __defNormalProp$p(a, prop, b[prop]);
1809
- }
1810
- return a;
1811
- };
1812
- var __spreadProps$n = (a, b) => __defProps$n(a, __getOwnPropDescs$n(b));
1813
- var __objRest$k = (source, exclude) => {
1814
- var target = {};
1815
- for (var prop in source)
1816
- if (__hasOwnProp$q.call(source, prop) && exclude.indexOf(prop) < 0)
1817
- target[prop] = source[prop];
1818
- if (source != null && __getOwnPropSymbols$q)
1819
- for (var prop of __getOwnPropSymbols$q(source)) {
1820
- if (exclude.indexOf(prop) < 0 && __propIsEnum$q.call(source, prop))
1821
- target[prop] = source[prop];
1822
- }
1823
- return target;
1824
- };
1825
- function _DateRangeField(_a, ref) {
1826
- var _b = _a, {
1827
- error,
1828
- note,
1829
- contextualHelp,
1830
- noClearButton = false,
1831
- locale,
1832
- showWeekNumbers,
1833
- showTwoMonths,
1834
- allowUnavailableDatesWithinRange,
1835
- predefinedRanges,
1836
- size = "large",
1837
- labelPlacement = "above",
1838
- necessityIndicator = false
1839
- } = _b, otherProps = __objRest$k(_b, [
1840
- "error",
1841
- "note",
1842
- "contextualHelp",
1843
- "noClearButton",
1844
- "locale",
1845
- "showWeekNumbers",
1846
- "showTwoMonths",
1847
- "allowUnavailableDatesWithinRange",
1848
- "predefinedRanges",
1849
- "size",
1850
- "labelPlacement",
1851
- "necessityIndicator"
1852
- ]);
1853
- sapphireReact.useThemeCheck();
1854
- const groupRef = React.useRef(null);
1855
- const dialogRef = React.useRef(null);
1856
- const { locale: existingLocale } = i18n.useLocale();
1857
- const preferredLocale = locale || existingLocale;
1858
- const { styleProps } = sapphireReact.useSapphireStyleProps(otherProps);
1859
- const { dialogProps } = dialog.useDialog({}, dialogRef);
1860
- const state = useDateRangePickerState(__spreadValues$p(__spreadValues$p(__spreadValues$p({}, otherProps), error ? { validationState: "invalid" } : {}), allowUnavailableDatesWithinRange ? { allowsNonContiguousRanges: allowUnavailableDatesWithinRange } : {}));
1861
- const {
1862
- groupProps,
1863
- labelProps,
1864
- startFieldProps,
1865
- endFieldProps,
1866
- buttonProps,
1867
- dialogProps: dialogPropsFromDatePicker,
1868
- calendarProps,
1869
- descriptionProps,
1870
- errorMessageProps
1871
- } = datepicker.useDateRangePicker(__spreadProps$n(__spreadValues$p({}, otherProps), {
1872
- description: note,
1873
- allowsNonContiguousRanges: allowUnavailableDatesWithinRange
1874
- }), state, groupRef);
1875
- const isMedium = size === "medium";
1876
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps$n(__spreadValues$p({}, otherProps), {
1877
- noShrink: true,
1878
- isDisabled: otherProps.isDisabled,
1879
- error: state.validationState === "invalid",
1880
- size,
1881
- ref,
1882
- labelPlacement
1883
- }), /* @__PURE__ */ React__default["default"].createElement(i18n.I18nProvider, {
1884
- locale: preferredLocale
1885
- }, otherProps.label && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Label, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Label, __spreadProps$n(__spreadValues$p({}, labelProps), {
1886
- size,
1887
- necessityIndicator: otherProps.isRequired && necessityIndicator ? "required" : !otherProps.isRequired && necessityIndicator ? "optional" : void 0,
1888
- contextualHelp
1889
- }), otherProps.label)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$p(__spreadProps$n(__spreadValues$p({}, groupProps), {
1890
- ref: groupRef,
1891
- className: clsx__default["default"](styles__default$3["default"]["sapphire-date-field"], styles__default$3["default"]["sapphire-date-field--range"], {
1892
- [styles__default$3["default"]["sapphire-date-field--error"]]: state.validationState === "invalid",
1893
- [styles__default$3["default"]["sapphire-date-field--medium"]]: isMedium
1894
- })
1895
- }), styleProps.style.width ? { style: { width: styleProps.style.width } } : {}), /* @__PURE__ */ React__default["default"].createElement(interactions.PressResponder, __spreadProps$n(__spreadValues$p({}, buttonProps), {
1896
- isPressed: state.isOpen
1897
- }), /* @__PURE__ */ React__default["default"].createElement(DateFieldButton, {
1898
- isDisabled: otherProps.isDisabled || otherProps.isReadOnly
1899
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
1900
- size: isMedium ? "m" : "l"
1901
- }, /* @__PURE__ */ React__default["default"].createElement(react.Calendar, null)))), /* @__PURE__ */ React__default["default"].createElement(DateRangeInput, {
1902
- dateRangePickerState: state,
1903
- startFieldProps,
1904
- endFieldProps,
1905
- noClearButton,
1906
- size
1907
- }))), error !== false && (typeof error === "string" && error !== "" || note) && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Footer, null, error ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, __spreadValues$p({}, errorMessageProps), error) : note ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, __spreadValues$p({}, descriptionProps), note) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null)), state.isOpen && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Popover, {
1908
- state,
1909
- triggerRef: groupRef,
1910
- placement: "bottom start"
1911
- }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$p(__spreadValues$p({
1912
- ref: dialogRef
1913
- }, dialogProps), dialogPropsFromDatePicker), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.View, {
1914
- padding: sapphireReact.tokens.size.spacing50
1915
- }, /* @__PURE__ */ React__default["default"].createElement(RangeCalendar, __spreadProps$n(__spreadValues$p({}, calendarProps), {
1916
- allowUnavailableDatesWithinRange,
1917
- showWeekNumbers,
1918
- showTwoMonths,
1919
- predefinedRanges
1920
- })))))));
1921
- }
1922
- const DateRangeField = React.forwardRef(_DateRangeField);
1923
-
1924
- const isEndDateBeforeStartDate = (dateRange) => dateRange && dateRange.end && dateRange.start && dateRange.end.compare(dateRange.start) < 0;
1925
- const isDateOutsideValidRange = (value, minValue, maxValue) => {
1926
- if (value) {
1927
- if (minValue && value.compare(minValue) < 0) {
1928
- return "before";
1929
- }
1930
- if (maxValue && value.compare(maxValue) > 0) {
1931
- return "after";
1932
- }
1933
- }
1934
- };
1935
-
1936
- var __defProp$o = Object.defineProperty;
1937
- var __defProps$m = Object.defineProperties;
1938
- var __getOwnPropDescs$m = Object.getOwnPropertyDescriptors;
1939
- var __getOwnPropSymbols$p = Object.getOwnPropertySymbols;
1940
- var __hasOwnProp$p = Object.prototype.hasOwnProperty;
1941
- var __propIsEnum$p = Object.prototype.propertyIsEnumerable;
1942
- var __defNormalProp$o = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1943
- var __spreadValues$o = (a, b) => {
1944
- for (var prop in b || (b = {}))
1945
- if (__hasOwnProp$p.call(b, prop))
1946
- __defNormalProp$o(a, prop, b[prop]);
1947
- if (__getOwnPropSymbols$p)
1948
- for (var prop of __getOwnPropSymbols$p(b)) {
1949
- if (__propIsEnum$p.call(b, prop))
1950
- __defNormalProp$o(a, prop, b[prop]);
1951
- }
1952
- return a;
1953
- };
1954
- var __spreadProps$m = (a, b) => __defProps$m(a, __getOwnPropDescs$m(b));
1955
- var __objRest$j = (source, exclude) => {
1956
- var target = {};
1957
- for (var prop in source)
1958
- if (__hasOwnProp$p.call(source, prop) && exclude.indexOf(prop) < 0)
1959
- target[prop] = source[prop];
1960
- if (source != null && __getOwnPropSymbols$p)
1961
- for (var prop of __getOwnPropSymbols$p(source)) {
1962
- if (exclude.indexOf(prop) < 0 && __propIsEnum$p.call(source, prop))
1963
- target[prop] = source[prop];
1964
- }
1965
- return target;
1966
- };
1967
- const getIconSize = (size) => {
1968
- switch (size) {
1969
- case "medium":
1970
- return "m";
1971
- case "large":
1972
- return "l";
1973
- case "extraLarge":
1974
- return "xl";
1975
- default:
1976
- return "s";
1977
- }
1978
- };
1979
- const Avatar = (_a) => {
1980
- var _b = _a, {
1981
- monogram,
1982
- icon,
1983
- color = "informative",
1984
- size = "medium"
1985
- } = _b, props = __objRest$j(_b, [
1986
- "monogram",
1987
- "icon",
1988
- "color",
1989
- "size"
1990
- ]);
1991
- sapphireReact.useThemeCheck();
1992
- const { styleProps } = sapphireReact.useSapphireStyleProps(props);
1993
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$m(__spreadValues$o({}, styleProps), {
1994
- className: clsx__default["default"](styleProps.className, styles__default$4["default"]["sapphire-avatar"], {
1995
- [styles__default$4["default"]["sapphire-avatar--extra-large"]]: size === "extraLarge",
1996
- [styles__default$4["default"]["sapphire-avatar--large"]]: size === "large",
1997
- [styles__default$4["default"]["sapphire-avatar--small"]]: size === "small",
1998
- [styles__default$4["default"]["sapphire-avatar--extra-small"]]: size === "extraSmall"
1999
- }, color !== "passive" && styles__default$4["default"][`sapphire-avatar--${color}`])
2000
- }), icon ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
2001
- size: getIconSize(size)
2002
- }, icon) : monogram);
2003
- };
2004
-
2005
- var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
2006
- var __hasOwnProp$o = Object.prototype.hasOwnProperty;
2007
- var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
2008
- var __objRest$i = (source, exclude) => {
2009
- var target = {};
2010
- for (var prop in source)
2011
- if (__hasOwnProp$o.call(source, prop) && exclude.indexOf(prop) < 0)
2012
- target[prop] = source[prop];
2013
- if (source != null && __getOwnPropSymbols$o)
2014
- for (var prop of __getOwnPropSymbols$o(source)) {
2015
- if (exclude.indexOf(prop) < 0 && __propIsEnum$o.call(source, prop))
2016
- target[prop] = source[prop];
2017
- }
2018
- return target;
2019
- };
2020
- const getColor = (variant) => {
2021
- switch (variant) {
2022
- case "success":
2023
- return "positive";
2024
- case "error":
2025
- return "negative";
2026
- case "neutral":
2027
- return "passive";
2028
- default:
2029
- return variant;
2030
- }
2031
- };
2032
- const getIcon = (variant, icon) => {
2033
- if (icon) {
2034
- return icon;
2035
- }
2036
- switch (variant) {
2037
- case "success":
2038
- return /* @__PURE__ */ React__default["default"].createElement(react.CheckMarkCircle, null);
2039
- case "error":
2040
- return /* @__PURE__ */ React__default["default"].createElement(react.AlertCircle, null);
2041
- case "warning":
2042
- return /* @__PURE__ */ React__default["default"].createElement(react.AlertTriangle, null);
2043
- case "informative":
2044
- return /* @__PURE__ */ React__default["default"].createElement(react.Bell, null);
2045
- default:
2046
- return null;
2047
- }
2048
- };
2049
- const FeedbackMessage = (_a) => {
2050
- var _b = _a, {
2051
- heading,
2052
- body,
2053
- actions,
2054
- variant = "neutral",
2055
- icon
2056
- } = _b, otherProps = __objRest$i(_b, [
2057
- "heading",
2058
- "body",
2059
- "actions",
2060
- "variant",
2061
- "icon"
2062
- ]);
2063
- sapphireReact.useThemeCheck();
2064
- const {
2065
- styleProps: { style, className }
2066
- } = sapphireReact.useSapphireStyleProps(otherProps);
2067
- return /* @__PURE__ */ React__default["default"].createElement("div", {
2068
- className: clsx__default["default"](styles__default$5["default"]["sapphire-feedback-message"], className),
2069
- style
2070
- }, variant !== "neutral" && /* @__PURE__ */ React__default["default"].createElement(Avatar, {
2071
- color: getColor(variant),
2072
- size: "extraLarge",
2073
- icon: getIcon(variant, icon)
2074
- }), /* @__PURE__ */ React__default["default"].createElement("div", {
2075
- className: styles__default$5["default"]["sapphire-feedback-message__content"]
2076
- }, typeof heading === "string" ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Heading, {
2077
- level: 6
2078
- }, heading) : heading, /* @__PURE__ */ React__default["default"].createElement("section", {
2079
- className: styles__default$5["default"]["sapphire-feedback-message__body"]
2080
- }, body)), actions);
2081
- };
2082
-
2083
- var __defProp$n = Object.defineProperty;
2084
- var __defProps$l = Object.defineProperties;
2085
- var __getOwnPropDescs$l = Object.getOwnPropertyDescriptors;
2086
- var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
2087
- var __hasOwnProp$n = Object.prototype.hasOwnProperty;
2088
- var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
2089
- var __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2090
- var __spreadValues$n = (a, b) => {
2091
- for (var prop in b || (b = {}))
2092
- if (__hasOwnProp$n.call(b, prop))
2093
- __defNormalProp$n(a, prop, b[prop]);
2094
- if (__getOwnPropSymbols$n)
2095
- for (var prop of __getOwnPropSymbols$n(b)) {
2096
- if (__propIsEnum$n.call(b, prop))
2097
- __defNormalProp$n(a, prop, b[prop]);
2098
- }
2099
- return a;
2100
- };
2101
- var __spreadProps$l = (a, b) => __defProps$l(a, __getOwnPropDescs$l(b));
2102
- const useComboBoxState = (options) => {
2103
- const state = combobox.useComboBoxState(__spreadProps$l(__spreadValues$n({}, options), {
2104
- defaultFilter: (textValue, query) => {
2105
- if (query.length > 0) {
2106
- return options.defaultFilter ? options.defaultFilter(textValue, query) : textValue.toLowerCase().includes(query.toLowerCase());
2107
- } else {
2108
- return false;
2109
- }
2110
- }
2111
- }));
2112
- return __spreadProps$l(__spreadValues$n({}, state), {
2113
- open: (focusStrategy, triggerMode) => {
2114
- if (triggerMode !== "manual") {
2115
- state.open(focusStrategy, triggerMode);
2116
- }
2117
- }
2118
- });
2119
- };
2120
-
2121
- var __defProp$m = Object.defineProperty;
2122
- var __defProps$k = Object.defineProperties;
2123
- var __getOwnPropDescs$k = Object.getOwnPropertyDescriptors;
2124
- var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
2125
- var __hasOwnProp$m = Object.prototype.hasOwnProperty;
2126
- var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
2127
- var __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2128
- var __spreadValues$m = (a, b) => {
2129
- for (var prop in b || (b = {}))
2130
- if (__hasOwnProp$m.call(b, prop))
2131
- __defNormalProp$m(a, prop, b[prop]);
2132
- if (__getOwnPropSymbols$m)
2133
- for (var prop of __getOwnPropSymbols$m(b)) {
2134
- if (__propIsEnum$m.call(b, prop))
2135
- __defNormalProp$m(a, prop, b[prop]);
2136
- }
2137
- return a;
2138
- };
2139
- var __spreadProps$k = (a, b) => __defProps$k(a, __getOwnPropDescs$k(b));
2140
- var __objRest$h = (source, exclude) => {
2141
- var target = {};
2142
- for (var prop in source)
2143
- if (__hasOwnProp$m.call(source, prop) && exclude.indexOf(prop) < 0)
2144
- target[prop] = source[prop];
2145
- if (source != null && __getOwnPropSymbols$m)
2146
- for (var prop of __getOwnPropSymbols$m(source)) {
2147
- if (exclude.indexOf(prop) < 0 && __propIsEnum$m.call(source, prop))
2148
- target[prop] = source[prop];
2149
- }
2150
- return target;
2151
- };
2152
- function SearchField(propsAndRef) {
2153
- var _b;
2154
- sapphireReact.useThemeCheck();
2155
- const _a = propsAndRef, { loadingState, loadingSkeletonRowsCount, forwardedRef } = _a, props = __objRest$h(_a, ["loadingState", "loadingSkeletonRowsCount", "forwardedRef"]);
2156
- const inputRef = utils$1.useObjectRef(forwardedRef);
2157
- const buttonRef = React.useRef(null);
2158
- const listBoxRef = utils.useFocusableRef(null);
2159
- const popoverRef = React.useRef(null);
2160
- const triggerRef = utils.useFocusableRef(null);
2161
- const {
2162
- styleProps: { style, className }
2163
- } = sapphireReact.useSapphireStyleProps(props);
2164
- const state = useComboBoxState(__spreadProps$k(__spreadValues$m({}, props), {
2165
- inputValue: props.value,
2166
- defaultInputValue: props.defaultValue,
2167
- onInputChange: props.onChange,
2168
- allowsEmptyCollection: false,
2169
- allowsCustomValue: true,
2170
- shouldCloseOnBlur: true
2171
- }));
2172
- const { inputProps: comboBoxInputProps, listBoxProps } = combobox$1.useComboBox(__spreadProps$k(__spreadValues$m({}, props), {
2173
- inputRef,
2174
- listBoxRef,
2175
- popoverRef
2176
- }), state);
2177
- const searchProps = {
2178
- "aria-label": props["aria-label"],
2179
- "aria-labelledby": props["aria-labelledby"],
2180
- isDisabled: props.isDisabled,
2181
- isReadOnly: props.isReadOnly,
2182
- value: state.inputValue,
2183
- onSubmit: (value) => {
2184
- var _a2;
2185
- if (!state.selectionManager.isFocused) {
2186
- (_a2 = props == null ? void 0 : props.onSubmit) == null ? void 0 : _a2.call(props, value);
2187
- }
2188
- },
2189
- onClear: () => {
2190
- var _a2;
2191
- state.setInputValue("");
2192
- (_a2 = props.onClear) == null ? void 0 : _a2.call(props);
2193
- }
2194
- };
2195
- const searchFieldState = searchfield.useSearchFieldState(searchProps);
2196
- const { clearButtonProps, inputProps: searchFieldInputProps } = searchfield$1.useSearchField(searchProps, searchFieldState, inputRef);
2197
- const { buttonProps } = sapphireReact.useButton(__spreadProps$k(__spreadValues$m({}, clearButtonProps), {
2198
- elementType: "div"
2199
- }), buttonRef);
2200
- return /* @__PURE__ */ React__default["default"].createElement("div", {
2201
- className: clsx__default["default"](styles__default$6["default"]["sapphire-search-field"], className, {
2202
- [styles__default$6["default"]["sapphire-search-field--medium"]]: props.size === "medium",
2203
- [styles__default$6["default"]["sapphire-search-field--surface-secondary"]]: props.surface === "secondary",
2204
- [styles__default$6["default"]["is-disabled"]]: props.isDisabled
2205
- }),
2206
- style,
2207
- ref: triggerRef
2208
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
2209
- className: styles__default$6["default"]["sapphire-search-field__icon"]
2210
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
2211
- size: props.size === "medium" ? "m" : "l"
2212
- }, /* @__PURE__ */ React__default["default"].createElement(react.Search, null))), /* @__PURE__ */ React__default["default"].createElement("input", __spreadProps$k(__spreadValues$m({}, utils$1.mergeProps(comboBoxInputProps, searchFieldInputProps)), {
2213
- ref: inputRef,
2214
- className: clsx__default["default"](styles__default$6["default"]["sapphire-search-field__input"], {
2215
- [styles__default$6["default"]["sapphire-search-field__input--empty"]]: state.inputValue.length === 0
2216
- })
2217
- })), /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$m({
2218
- ref: buttonRef,
2219
- className: styles__default$6["default"]["sapphire-search-field__button"]
2220
- }, buttonProps), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
2221
- size: props.size === "medium" ? "m" : "l"
2222
- }, /* @__PURE__ */ React__default["default"].createElement(react.CloseCircle, null))), state.isOpen && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ListBoxPopover, {
2223
- state,
2224
- triggerRef,
2225
- popoverRef,
2226
- listBoxRef,
2227
- listBoxProps,
2228
- loadingState,
2229
- loadingSkeletonRowsCount,
2230
- selectWidth: ((_b = triggerRef.current) == null ? void 0 : _b.offsetWidth) || 0,
2231
- size: props.size,
2232
- disableSelectedStyles: true,
2233
- isNonModal: true
2234
- }, props.children || []));
2235
- }
2236
-
2237
- var __defProp$l = Object.defineProperty;
2238
- var __defProps$j = Object.defineProperties;
2239
- var __getOwnPropDescs$j = Object.getOwnPropertyDescriptors;
2240
- var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
2241
- var __hasOwnProp$l = Object.prototype.hasOwnProperty;
2242
- var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
2243
- var __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2244
- var __spreadValues$l = (a, b) => {
2245
- for (var prop in b || (b = {}))
2246
- if (__hasOwnProp$l.call(b, prop))
2247
- __defNormalProp$l(a, prop, b[prop]);
2248
- if (__getOwnPropSymbols$l)
2249
- for (var prop of __getOwnPropSymbols$l(b)) {
2250
- if (__propIsEnum$l.call(b, prop))
2251
- __defNormalProp$l(a, prop, b[prop]);
2252
- }
2253
- return a;
2254
- };
2255
- var __spreadProps$j = (a, b) => __defProps$j(a, __getOwnPropDescs$j(b));
2256
- const ToastCloseButton = (props) => {
2257
- const ref = React.useRef(null);
2258
- const { buttonProps, isPressed } = sapphireReact.useButton(props, ref);
2259
- const { hoverProps, isHovered } = interactions.useHover({ isDisabled: props.isDisabled });
2260
- const { focusProps, isFocusVisible } = focus.useFocusRing();
2261
- return /* @__PURE__ */ React__default["default"].createElement(focus.FocusRing, {
2262
- focusRingClass: clsx__default["default"](styles__default$7["default"]["is-focus"])
2263
- }, /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$j(__spreadValues$l({}, utils$1.mergeProps(buttonProps, hoverProps, focusProps)), {
2264
- "aria-label": "Close",
2265
- ref,
2266
- className: clsx__default["default"](styles__default$7["default"]["sapphire-toast__close-button"], styles__default$7["default"]["js-focus"], styles__default$7["default"]["js-hover"], {
2267
- [styles__default$7["default"]["is-active"]]: isPressed,
2268
- [styles__default$7["default"]["is-hover"]]: isHovered,
2269
- [styles__default$7["default"]["is-focus"]]: isFocusVisible
2270
- })
2271
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
2272
- size: "s"
2273
- }, /* @__PURE__ */ React__default["default"].createElement(react.Close, null))));
2274
- };
2275
-
2276
- var __defProp$k = Object.defineProperty;
2277
- var __defProps$i = Object.defineProperties;
2278
- var __getOwnPropDescs$i = Object.getOwnPropertyDescriptors;
2279
- var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
2280
- var __hasOwnProp$k = Object.prototype.hasOwnProperty;
2281
- var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
2282
- var __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2283
- var __spreadValues$k = (a, b) => {
2284
- for (var prop in b || (b = {}))
2285
- if (__hasOwnProp$k.call(b, prop))
2286
- __defNormalProp$k(a, prop, b[prop]);
2287
- if (__getOwnPropSymbols$k)
2288
- for (var prop of __getOwnPropSymbols$k(b)) {
2289
- if (__propIsEnum$k.call(b, prop))
2290
- __defNormalProp$k(a, prop, b[prop]);
2291
- }
2292
- return a;
2293
- };
2294
- var __spreadProps$i = (a, b) => __defProps$i(a, __getOwnPropDescs$i(b));
2295
- var __objRest$g = (source, exclude) => {
2296
- var target = {};
2297
- for (var prop in source)
2298
- if (__hasOwnProp$k.call(source, prop) && exclude.indexOf(prop) < 0)
2299
- target[prop] = source[prop];
2300
- if (source != null && __getOwnPropSymbols$k)
2301
- for (var prop of __getOwnPropSymbols$k(source)) {
2302
- if (exclude.indexOf(prop) < 0 && __propIsEnum$k.call(source, prop))
2303
- target[prop] = source[prop];
2304
- }
2305
- return target;
2306
- };
2307
- const Toast = (_a) => {
2308
- var _b = _a, {
2309
- state
2310
- } = _b, props = __objRest$g(_b, [
2311
- "state"
2312
- ]);
2313
- var _a2;
2314
- const {
2315
- styleProps: { style, className }
2316
- } = sapphireReact.useSapphireStyleProps(props);
2317
- const ref = React.useRef(null);
2318
- const { toastProps, titleProps, closeButtonProps } = toast.useToast(props, state, ref);
2319
- const content = props.toast.content;
2320
- const icon = (_a2 = content.icon) != null ? _a2 : content.variant === "success" ? /* @__PURE__ */ React__default["default"].createElement(react.CheckMarkCircle, null) : null;
2321
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$i(__spreadValues$k({}, toastProps), {
2322
- className: clsx__default["default"](styles__default$7["default"]["sapphire-toast"], props.toast.animation ? styles__default$7["default"][`sapphire-toast--${props.toast.animation}`] : {}, className),
2323
- style,
2324
- ref,
2325
- onAnimationEnd: () => {
2326
- if (props.toast.animation === "exiting") {
2327
- state.remove(props.toast.key);
2328
- }
2329
- }
2330
- }), /* @__PURE__ */ React__default["default"].createElement("div", {
2331
- className: clsx__default["default"](styles__default$7["default"]["sapphire-toast__content"], {
2332
- [styles__default$7["default"]["sapphire-toast__content--success"]]: content.variant === "success"
2333
- })
2334
- }, icon && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
2335
- size: "m"
2336
- }, icon), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$i(__spreadValues$k({}, titleProps), {
2337
- className: clsx__default["default"]({
2338
- [styles__default$7["default"]["sapphire-toast__title--with-icon"]]: icon
2339
- })
2340
- }), content.content), /* @__PURE__ */ React__default["default"].createElement(ToastCloseButton, __spreadValues$k({}, closeButtonProps))));
2341
- };
2342
-
2343
- var __defProp$j = Object.defineProperty;
2344
- var __defProps$h = Object.defineProperties;
2345
- var __getOwnPropDescs$h = Object.getOwnPropertyDescriptors;
2346
- var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
2347
- var __hasOwnProp$j = Object.prototype.hasOwnProperty;
2348
- var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
2349
- var __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2350
- var __spreadValues$j = (a, b) => {
2351
- for (var prop in b || (b = {}))
2352
- if (__hasOwnProp$j.call(b, prop))
2353
- __defNormalProp$j(a, prop, b[prop]);
2354
- if (__getOwnPropSymbols$j)
2355
- for (var prop of __getOwnPropSymbols$j(b)) {
2356
- if (__propIsEnum$j.call(b, prop))
2357
- __defNormalProp$j(a, prop, b[prop]);
2358
- }
2359
- return a;
2360
- };
2361
- var __spreadProps$h = (a, b) => __defProps$h(a, __getOwnPropDescs$h(b));
2362
- var __objRest$f = (source, exclude) => {
2363
- var target = {};
2364
- for (var prop in source)
2365
- if (__hasOwnProp$j.call(source, prop) && exclude.indexOf(prop) < 0)
2366
- target[prop] = source[prop];
2367
- if (source != null && __getOwnPropSymbols$j)
2368
- for (var prop of __getOwnPropSymbols$j(source)) {
2369
- if (exclude.indexOf(prop) < 0 && __propIsEnum$j.call(source, prop))
2370
- target[prop] = source[prop];
2371
- }
2372
- return target;
2373
- };
2374
- const ToastRegion = (_a) => {
2375
- var _b = _a, {
2376
- state,
2377
- placement = "bottom"
2378
- } = _b, props = __objRest$f(_b, [
2379
- "state",
2380
- "placement"
2381
- ]);
2382
- const ref = React.useRef(null);
2383
- const { regionProps } = toast.useToastRegion(props, state, ref);
2384
- const { overlayZIndex = 100 } = sapphireReact.useThemeContext();
2385
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.SapphireOverlayContainer, null, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ThemeRoot, {
2386
- contrast: true
2387
- }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$h(__spreadValues$j({}, regionProps), {
2388
- ref,
2389
- className: clsx__default["default"](styles__default$7["default"]["sapphire-toast-container"], styles__default$7["default"][`sapphire-toast-container--${placement}`]),
2390
- style: {
2391
- zIndex: overlayZIndex + 200
2392
- }
2393
- }), state.visibleToasts.map((toast) => /* @__PURE__ */ React__default["default"].createElement(Toast, __spreadProps$h(__spreadValues$j({}, props), {
2394
- key: toast.key,
2395
- toast,
2396
- state
2397
- }))))));
2398
- };
2399
-
2400
- const ToastContext = React__default["default"].createContext(null);
2401
- const useToastContext = () => {
2402
- const context = React.useContext(ToastContext);
2403
- return context;
2404
- };
2405
-
2406
- var __defProp$i = Object.defineProperty;
2407
- var __defProps$g = Object.defineProperties;
2408
- var __getOwnPropDescs$g = Object.getOwnPropertyDescriptors;
2409
- var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
2410
- var __hasOwnProp$i = Object.prototype.hasOwnProperty;
2411
- var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
2412
- var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2413
- var __spreadValues$i = (a, b) => {
2414
- for (var prop in b || (b = {}))
2415
- if (__hasOwnProp$i.call(b, prop))
2416
- __defNormalProp$i(a, prop, b[prop]);
2417
- if (__getOwnPropSymbols$i)
2418
- for (var prop of __getOwnPropSymbols$i(b)) {
2419
- if (__propIsEnum$i.call(b, prop))
2420
- __defNormalProp$i(a, prop, b[prop]);
2421
- }
2422
- return a;
2423
- };
2424
- var __spreadProps$g = (a, b) => __defProps$g(a, __getOwnPropDescs$g(b));
2425
- var __objRest$e = (source, exclude) => {
2426
- var target = {};
2427
- for (var prop in source)
2428
- if (__hasOwnProp$i.call(source, prop) && exclude.indexOf(prop) < 0)
2429
- target[prop] = source[prop];
2430
- if (source != null && __getOwnPropSymbols$i)
2431
- for (var prop of __getOwnPropSymbols$i(source)) {
2432
- if (exclude.indexOf(prop) < 0 && __propIsEnum$i.call(source, prop))
2433
- target[prop] = source[prop];
2434
- }
2435
- return target;
2436
- };
2437
- const ToastProvider = (_a) => {
2438
- var _b = _a, {
2439
- children,
2440
- placement = "bottom"
2441
- } = _b, props = __objRest$e(_b, [
2442
- "children",
2443
- "placement"
2444
- ]);
2445
- sapphireReact.useThemeCheck();
2446
- const state = toast$1.useToastState({
2447
- maxVisibleToasts: 1,
2448
- hasExitAnimation: true
2449
- });
2450
- return /* @__PURE__ */ React__default["default"].createElement(ToastContext.Provider, {
2451
- value: state
2452
- }, children, state.visibleToasts.length > 0 && /* @__PURE__ */ React__default["default"].createElement(ToastRegion, __spreadProps$g(__spreadValues$i({}, props), {
2453
- state,
2454
- placement
2455
- })));
2456
- };
2457
-
2458
- const useShowToast = () => {
2459
- const toastState = useToastContext();
2460
- if (!toastState) {
2461
- throw new Error('"useShowToast" should be used inside a <ToastProvider>.');
2462
- }
2463
- return (content, options) => {
2464
- const {
2465
- onClose,
2466
- timeout = 3e3,
2467
- variant = "neutral",
2468
- icon
2469
- } = options || {};
2470
- const toastData = {
2471
- content,
2472
- variant,
2473
- icon
2474
- };
2475
- toastState.add(toastData, { onClose, timeout });
2476
- };
2477
- };
2478
-
2479
- var __defProp$h = Object.defineProperty;
2480
- var __defProps$f = Object.defineProperties;
2481
- var __getOwnPropDescs$f = Object.getOwnPropertyDescriptors;
2482
- var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
2483
- var __hasOwnProp$h = Object.prototype.hasOwnProperty;
2484
- var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
2485
- var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2486
- var __spreadValues$h = (a, b) => {
2487
- for (var prop in b || (b = {}))
2488
- if (__hasOwnProp$h.call(b, prop))
2489
- __defNormalProp$h(a, prop, b[prop]);
2490
- if (__getOwnPropSymbols$h)
2491
- for (var prop of __getOwnPropSymbols$h(b)) {
2492
- if (__propIsEnum$h.call(b, prop))
2493
- __defNormalProp$h(a, prop, b[prop]);
2494
- }
2495
- return a;
2496
- };
2497
- var __spreadProps$f = (a, b) => __defProps$f(a, __getOwnPropDescs$f(b));
2498
- function useTreeState(props) {
2499
- const state = tree.useTreeState(props);
2500
- const onToggle = (key) => {
2501
- state.setExpandedKeys(toggleKey(state.expandedKeys, key, props.expansionMode));
2502
- };
2503
- return __spreadProps$f(__spreadValues$h({}, state), { toggleKey: onToggle });
80
+ onClear == null ? void 0 : onClear();
81
+ },
82
+ isDisabled: !hasValue
83
+ }, clearButtonLabel), hasApplyButton ? applyButton : /* @__PURE__ */ React__default["default"].createElement(visuallyHidden.VisuallyHidden, null, applyButton))),
84
+ placement: "bottom left",
85
+ isOpen,
86
+ onOpenChange: setIsOpen,
87
+ noMaxWidth
88
+ }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ToggleButton, {
89
+ icon: isOpen ? /* @__PURE__ */ React__default["default"].createElement(react.ChevronUp, null) : /* @__PURE__ */ React__default["default"].createElement(react.ChevronDown, null),
90
+ iconAlign: "right",
91
+ isSelected: hasValue,
92
+ isDisabled
93
+ }, label, value ? ": " : "", value));
2504
94
  }
2505
- function toggleKey(set, key, expansionMode = "multiple") {
2506
- const res = new Set(set);
2507
- if (res.has(key)) {
2508
- res.delete(key);
2509
- } else {
2510
- if (expansionMode === "single")
2511
- res.clear();
2512
- res.add(key);
95
+
96
+ const AccordionContext = React__default["default"].createContext({
97
+ sidePadding: void 0
98
+ });
99
+ function useAccordionContext() {
100
+ const context = React.useContext(AccordionContext);
101
+ if (context) {
102
+ return context;
2513
103
  }
2514
- return res;
104
+ throw new Error("Accordion context can only be used within Accordion component.");
2515
105
  }
2516
106
 
2517
- var __defProp$g = Object.defineProperty;
2518
- var __defProps$e = Object.defineProperties;
2519
- var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
2520
- var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
2521
- var __hasOwnProp$g = Object.prototype.hasOwnProperty;
2522
- var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
2523
- var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2524
- var __spreadValues$g = (a, b) => {
107
+ var __defProp$b = Object.defineProperty;
108
+ var __defProps$b = Object.defineProperties;
109
+ var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
110
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
111
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
112
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
113
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
114
+ var __spreadValues$b = (a, b) => {
2525
115
  for (var prop in b || (b = {}))
2526
- if (__hasOwnProp$g.call(b, prop))
2527
- __defNormalProp$g(a, prop, b[prop]);
2528
- if (__getOwnPropSymbols$g)
2529
- for (var prop of __getOwnPropSymbols$g(b)) {
2530
- if (__propIsEnum$g.call(b, prop))
2531
- __defNormalProp$g(a, prop, b[prop]);
116
+ if (__hasOwnProp$b.call(b, prop))
117
+ __defNormalProp$b(a, prop, b[prop]);
118
+ if (__getOwnPropSymbols$b)
119
+ for (var prop of __getOwnPropSymbols$b(b)) {
120
+ if (__propIsEnum$b.call(b, prop))
121
+ __defNormalProp$b(a, prop, b[prop]);
2532
122
  }
2533
123
  return a;
2534
124
  };
2535
- var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
125
+ var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
126
+ const customPaddingStyleProps = (sidePadding) => ({
127
+ paddingLeft: typeof sidePadding === "string" ? sidePadding : `${sidePadding}px`,
128
+ paddingRight: typeof sidePadding === "string" ? sidePadding : `${sidePadding}px`
129
+ });
2536
130
  function _AccordionItem(props) {
2537
131
  const { state, item } = props;
132
+ const { sidePadding } = useAccordionContext();
2538
133
  const isOpen = state.expandedKeys.has(item.key);
2539
134
  const isDisabled = state.disabledKeys.has(item.key);
2540
135
  const { isHovered, hoverProps } = interactions.useHover({ isDisabled });
@@ -2546,301 +141,37 @@ function _AccordionItem(props) {
2546
141
  e.stopPropagation();
2547
142
  };
2548
143
  return /* @__PURE__ */ React__default["default"].createElement("div", {
2549
- className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item"], {
2550
- [styles__default$8["default"]["sapphire-accordion__item--open"]]: isOpen,
2551
- [styles__default$8["default"]["is-disabled"]]: isDisabled
144
+ className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item"], {
145
+ [styles__default["default"]["sapphire-accordion__item--open"]]: isOpen,
146
+ [styles__default["default"]["is-disabled"]]: isDisabled
2552
147
  })
2553
148
  }, /* @__PURE__ */ React__default["default"].createElement("div", {
2554
149
  role: "heading",
2555
150
  "aria-level": props.headerLevel
2556
- }, /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$e(__spreadValues$g({}, utils$1.mergeProps(buttonProps, hoverProps, pressProps, focusProps)), {
151
+ }, /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$b(__spreadValues$b({}, utils$1.mergeProps(buttonProps, hoverProps, pressProps, focusProps)), {
2557
152
  "aria-disabled": isDisabled,
2558
153
  ref,
2559
- className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-header"], styles__default$8["default"]["js-focus"], styles__default$8["default"]["js-hover"], {
2560
- [styles__default$8["default"]["is-focus"]]: isFocusVisible,
2561
- [styles__default$8["default"]["is-hover"]]: isHovered,
2562
- [styles__default$8["default"]["is-active"]]: isPressed
2563
- })
154
+ className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-header"], styles__default["default"]["js-focus"], styles__default["default"]["js-hover"], {
155
+ [styles__default["default"]["is-focus"]]: isFocusVisible,
156
+ [styles__default["default"]["is-hover"]]: isHovered,
157
+ [styles__default["default"]["is-active"]]: isPressed
158
+ }),
159
+ style: sidePadding ? customPaddingStyleProps(sidePadding) : {}
2564
160
  }), item.props.heading, /* @__PURE__ */ React__default["default"].createElement("div", {
2565
- className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-arrow"])
2566
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, null, /* @__PURE__ */ React__default["default"].createElement(react.ChevronDown, null))))), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$e(__spreadValues$g({}, utils$1.mergeProps(regionProps, { onKeyDown })), {
161
+ className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-arrow"])
162
+ }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, null, /* @__PURE__ */ React__default["default"].createElement(react.ChevronDown, null))))), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$b(__spreadValues$b({}, utils$1.mergeProps(regionProps, { onKeyDown })), {
2567
163
  "aria-hidden": !isOpen,
2568
- className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-content-wrapper"])
164
+ className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-content-wrapper"])
2569
165
  }), /* @__PURE__ */ React__default["default"].createElement("div", {
2570
- className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-content"])
166
+ className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-content"]),
167
+ style: sidePadding ? customPaddingStyleProps(sidePadding) : {}
2571
168
  }, item.props.children)));
2572
169
  }
2573
170
  const AccordionItem = collections.Item;
2574
171
 
2575
- var __defProp$f = Object.defineProperty;
2576
- var __defProps$d = Object.defineProperties;
2577
- var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
2578
- var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
2579
- var __hasOwnProp$f = Object.prototype.hasOwnProperty;
2580
- var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
2581
- var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2582
- var __spreadValues$f = (a, b) => {
2583
- for (var prop in b || (b = {}))
2584
- if (__hasOwnProp$f.call(b, prop))
2585
- __defNormalProp$f(a, prop, b[prop]);
2586
- if (__getOwnPropSymbols$f)
2587
- for (var prop of __getOwnPropSymbols$f(b)) {
2588
- if (__propIsEnum$f.call(b, prop))
2589
- __defNormalProp$f(a, prop, b[prop]);
2590
- }
2591
- return a;
2592
- };
2593
- var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
2594
- var __objRest$d = (source, exclude) => {
2595
- var target = {};
2596
- for (var prop in source)
2597
- if (__hasOwnProp$f.call(source, prop) && exclude.indexOf(prop) < 0)
2598
- target[prop] = source[prop];
2599
- if (source != null && __getOwnPropSymbols$f)
2600
- for (var prop of __getOwnPropSymbols$f(source)) {
2601
- if (exclude.indexOf(prop) < 0 && __propIsEnum$f.call(source, prop))
2602
- target[prop] = source[prop];
2603
- }
2604
- return target;
2605
- };
2606
- const _Accordion$1 = (_a, ref) => {
2607
- var _b = _a, {
2608
- expansionMode = "multiple",
2609
- headerLevel = 5,
2610
- hideLastDivider = false
2611
- } = _b, props = __objRest$d(_b, [
2612
- "expansionMode",
2613
- "headerLevel",
2614
- "hideLastDivider"
2615
- ]);
2616
- sapphireReact.useThemeCheck();
2617
- const { styleProps } = sapphireReact.useSapphireStyleProps(props);
2618
- const state = useTreeState(__spreadProps$d(__spreadValues$f({}, props), { expansionMode }));
2619
- const forwardedRef = utils$1.useObjectRef(ref);
2620
- const { accordionProps } = accordion.useAccordion(props, state, forwardedRef);
2621
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$d(__spreadValues$f({}, utils$1.mergeProps(accordionProps, utils$1.filterDOMProps(props, { labelable: true }))), {
2622
- className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion"], {
2623
- [styles__default$8["default"]["sapphire-accordion--without-last-divider"]]: hideLastDivider
2624
- }, styleProps.className),
2625
- ref: forwardedRef,
2626
- style: styleProps.style
2627
- }), [...state.collection].map((item) => /* @__PURE__ */ React__default["default"].createElement(_AccordionItem, {
2628
- headerLevel,
2629
- key: item.key,
2630
- item,
2631
- state
2632
- })));
2633
- };
2634
- const Accordion = React.forwardRef(_Accordion$1);
2635
-
2636
- var __defProp$e = Object.defineProperty;
2637
- var __defProps$c = Object.defineProperties;
2638
- var __getOwnPropDescs$c = Object.getOwnPropertyDescriptors;
2639
- var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
2640
- var __hasOwnProp$e = Object.prototype.hasOwnProperty;
2641
- var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
2642
- var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2643
- var __spreadValues$e = (a, b) => {
2644
- for (var prop in b || (b = {}))
2645
- if (__hasOwnProp$e.call(b, prop))
2646
- __defNormalProp$e(a, prop, b[prop]);
2647
- if (__getOwnPropSymbols$e)
2648
- for (var prop of __getOwnPropSymbols$e(b)) {
2649
- if (__propIsEnum$e.call(b, prop))
2650
- __defNormalProp$e(a, prop, b[prop]);
2651
- }
2652
- return a;
2653
- };
2654
- var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
2655
- var __objRest$c = (source, exclude) => {
2656
- var target = {};
2657
- for (var prop in source)
2658
- if (__hasOwnProp$e.call(source, prop) && exclude.indexOf(prop) < 0)
2659
- target[prop] = source[prop];
2660
- if (source != null && __getOwnPropSymbols$e)
2661
- for (var prop of __getOwnPropSymbols$e(source)) {
2662
- if (exclude.indexOf(prop) < 0 && __propIsEnum$e.call(source, prop))
2663
- target[prop] = source[prop];
2664
- }
2665
- return target;
2666
- };
2667
- const AccordionHeading = (_a) => {
2668
- var _b = _a, {
2669
- children
2670
- } = _b, props = __objRest$c(_b, [
2671
- "children"
2672
- ]);
2673
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$c(__spreadValues$e({}, utils$1.filterDOMProps(props)), {
2674
- className: clsx__default["default"](styles__default$8["default"]["sapphire-accordion__item-heading"])
2675
- }), children);
2676
- };
2677
-
2678
- const _Accordion = Object.assign(Accordion, {
2679
- Heading: AccordionHeading,
2680
- Item: AccordionItem
2681
- });
2682
-
2683
- var __defProp$d = Object.defineProperty;
2684
- var __defProps$b = Object.defineProperties;
2685
- var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
2686
- var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
2687
- var __hasOwnProp$d = Object.prototype.hasOwnProperty;
2688
- var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
2689
- var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2690
- var __spreadValues$d = (a, b) => {
2691
- for (var prop in b || (b = {}))
2692
- if (__hasOwnProp$d.call(b, prop))
2693
- __defNormalProp$d(a, prop, b[prop]);
2694
- if (__getOwnPropSymbols$d)
2695
- for (var prop of __getOwnPropSymbols$d(b)) {
2696
- if (__propIsEnum$d.call(b, prop))
2697
- __defNormalProp$d(a, prop, b[prop]);
2698
- }
2699
- return a;
2700
- };
2701
- var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
2702
- var __objRest$b = (source, exclude) => {
2703
- var target = {};
2704
- for (var prop in source)
2705
- if (__hasOwnProp$d.call(source, prop) && exclude.indexOf(prop) < 0)
2706
- target[prop] = source[prop];
2707
- if (source != null && __getOwnPropSymbols$d)
2708
- for (var prop of __getOwnPropSymbols$d(source)) {
2709
- if (exclude.indexOf(prop) < 0 && __propIsEnum$d.call(source, prop))
2710
- target[prop] = source[prop];
2711
- }
2712
- return target;
2713
- };
2714
- const Heading = React.forwardRef(function Heading2(props, ref) {
2715
- sapphireReact.useThemeCheck();
2716
- const domProps = utils$1.filterDOMProps(props);
2717
- const _a = props, { children, level, elementType } = _a, otherProps = __objRest$b(_a, ["children", "level", "elementType"]);
2718
- const { styleProps } = sapphireReact.useTextStyleProps(otherProps);
2719
- const HeadingTag = elementType ? elementType : `h${level}`;
2720
- return /* @__PURE__ */ React__default["default"].createElement(HeadingTag, __spreadProps$b(__spreadValues$d(__spreadValues$d({}, domProps), styleProps), {
2721
- className: clsx__default["default"](styles__default$9["default"]["sapphire-text"], styles__default$9["default"][`sapphire-text--heading-${level}`], styleProps.className, {
2722
- [styles__default$9["default"]["sapphire-text--heading-alternative"]]: props.fontVariant === "alternative"
2723
- }),
2724
- ref
2725
- }), children);
2726
- });
2727
-
2728
- var __defProp$c = Object.defineProperty;
172
+ var __defProp$a = Object.defineProperty;
2729
173
  var __defProps$a = Object.defineProperties;
2730
174
  var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
2731
- var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
2732
- var __hasOwnProp$c = Object.prototype.hasOwnProperty;
2733
- var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
2734
- var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2735
- var __spreadValues$c = (a, b) => {
2736
- for (var prop in b || (b = {}))
2737
- if (__hasOwnProp$c.call(b, prop))
2738
- __defNormalProp$c(a, prop, b[prop]);
2739
- if (__getOwnPropSymbols$c)
2740
- for (var prop of __getOwnPropSymbols$c(b)) {
2741
- if (__propIsEnum$c.call(b, prop))
2742
- __defNormalProp$c(a, prop, b[prop]);
2743
- }
2744
- return a;
2745
- };
2746
- var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
2747
- var __objRest$a = (source, exclude) => {
2748
- var target = {};
2749
- for (var prop in source)
2750
- if (__hasOwnProp$c.call(source, prop) && exclude.indexOf(prop) < 0)
2751
- target[prop] = source[prop];
2752
- if (source != null && __getOwnPropSymbols$c)
2753
- for (var prop of __getOwnPropSymbols$c(source)) {
2754
- if (exclude.indexOf(prop) < 0 && __propIsEnum$c.call(source, prop))
2755
- target[prop] = source[prop];
2756
- }
2757
- return target;
2758
- };
2759
- const Subheading = React.forwardRef(function Subheading2(props, ref) {
2760
- sapphireReact.useThemeCheck();
2761
- const _a = props, {
2762
- children,
2763
- level = 1,
2764
- elementType: CustomElement = "div",
2765
- isBold = false
2766
- } = _a, otherProps = __objRest$a(_a, [
2767
- "children",
2768
- "level",
2769
- "elementType",
2770
- "isBold"
2771
- ]);
2772
- const { styleProps } = sapphireReact.useTextStyleProps(otherProps);
2773
- const levelClassName = `sapphire-text--subheading-${level}`;
2774
- return /* @__PURE__ */ React__default["default"].createElement(CustomElement, __spreadProps$a(__spreadValues$c(__spreadValues$c({}, utils$1.filterDOMProps(props)), styleProps), {
2775
- className: clsx__default["default"](styleProps.className, styles__default$9["default"]["sapphire-text"], styles__default$9["default"][levelClassName], {
2776
- [styles__default$9["default"]["sapphire-text--strong"]]: isBold
2777
- }),
2778
- style: styleProps.style,
2779
- ref
2780
- }), children);
2781
- });
2782
-
2783
- var __defProp$b = Object.defineProperty;
2784
- var __defProps$9 = Object.defineProperties;
2785
- var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
2786
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
2787
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
2788
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
2789
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2790
- var __spreadValues$b = (a, b) => {
2791
- for (var prop in b || (b = {}))
2792
- if (__hasOwnProp$b.call(b, prop))
2793
- __defNormalProp$b(a, prop, b[prop]);
2794
- if (__getOwnPropSymbols$b)
2795
- for (var prop of __getOwnPropSymbols$b(b)) {
2796
- if (__propIsEnum$b.call(b, prop))
2797
- __defNormalProp$b(a, prop, b[prop]);
2798
- }
2799
- return a;
2800
- };
2801
- var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
2802
- var __objRest$9 = (source, exclude) => {
2803
- var target = {};
2804
- for (var prop in source)
2805
- if (__hasOwnProp$b.call(source, prop) && exclude.indexOf(prop) < 0)
2806
- target[prop] = source[prop];
2807
- if (source != null && __getOwnPropSymbols$b)
2808
- for (var prop of __getOwnPropSymbols$b(source)) {
2809
- if (exclude.indexOf(prop) < 0 && __propIsEnum$b.call(source, prop))
2810
- target[prop] = source[prop];
2811
- }
2812
- return target;
2813
- };
2814
- const Body = React.forwardRef(function Body2(props, ref) {
2815
- sapphireReact.useThemeCheck();
2816
- const _a = props, {
2817
- children,
2818
- level = 1,
2819
- elementType: CustomElement = "p",
2820
- isUnderlined = false,
2821
- isBold = false
2822
- } = _a, otherProps = __objRest$9(_a, [
2823
- "children",
2824
- "level",
2825
- "elementType",
2826
- "isUnderlined",
2827
- "isBold"
2828
- ]);
2829
- const { styleProps } = sapphireReact.useTextStyleProps(otherProps);
2830
- const levelClassName = `sapphire-text--body-${level}`;
2831
- return /* @__PURE__ */ React__default["default"].createElement(CustomElement, __spreadProps$9(__spreadValues$b(__spreadValues$b({}, utils$1.filterDOMProps(props)), styleProps), {
2832
- className: clsx__default["default"](styleProps.className, styles__default$9["default"]["sapphire-text"], styles__default$9["default"][levelClassName], {
2833
- [styles__default$9["default"]["sapphire-text--strong"]]: isBold,
2834
- [styles__default$9["default"]["sapphire-text--underlined"]]: isUnderlined
2835
- }),
2836
- style: styleProps.style,
2837
- ref
2838
- }), children);
2839
- });
2840
-
2841
- var __defProp$a = Object.defineProperty;
2842
- var __defProps$8 = Object.defineProperties;
2843
- var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
2844
175
  var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
2845
176
  var __hasOwnProp$a = Object.prototype.hasOwnProperty;
2846
177
  var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
@@ -2856,47 +187,29 @@ var __spreadValues$a = (a, b) => {
2856
187
  }
2857
188
  return a;
2858
189
  };
2859
- var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
2860
- var __objRest$8 = (source, exclude) => {
2861
- var target = {};
2862
- for (var prop in source)
2863
- if (__hasOwnProp$a.call(source, prop) && exclude.indexOf(prop) < 0)
2864
- target[prop] = source[prop];
2865
- if (source != null && __getOwnPropSymbols$a)
2866
- for (var prop of __getOwnPropSymbols$a(source)) {
2867
- if (exclude.indexOf(prop) < 0 && __propIsEnum$a.call(source, prop))
2868
- target[prop] = source[prop];
2869
- }
2870
- return target;
2871
- };
2872
- const Caption = React.forwardRef(function Caption2(props, ref) {
2873
- sapphireReact.useThemeCheck();
2874
- const _a = props, {
2875
- children,
2876
- level = 1,
2877
- elementType: CustomElement = "div"
2878
- } = _a, otherProps = __objRest$8(_a, [
2879
- "children",
2880
- "level",
2881
- "elementType"
2882
- ]);
2883
- const { styleProps } = sapphireReact.useTextStyleProps(otherProps);
2884
- const levelClassName = `sapphire-text--caption-${level}`;
2885
- return /* @__PURE__ */ React__default["default"].createElement(CustomElement, __spreadProps$8(__spreadValues$a(__spreadValues$a({}, utils$1.filterDOMProps(props)), styleProps), {
2886
- className: clsx__default["default"](styleProps.className, styles__default$9["default"]["sapphire-text"], styles__default$9["default"][levelClassName]),
2887
- style: styleProps.style,
2888
- ref
2889
- }), children);
2890
- });
2891
-
2892
- const Typography = {
2893
- Heading,
2894
- Subheading,
2895
- Body,
2896
- Caption
2897
- };
190
+ var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
191
+ function useTreeState(props) {
192
+ const state = tree.useTreeState(props);
193
+ const onToggle = (key) => {
194
+ state.setExpandedKeys(toggleKey(state.expandedKeys, key, props.expansionMode));
195
+ };
196
+ return __spreadProps$a(__spreadValues$a({}, state), { toggleKey: onToggle });
197
+ }
198
+ function toggleKey(set, key, expansionMode = "multiple") {
199
+ const res = new Set(set);
200
+ if (res.has(key)) {
201
+ res.delete(key);
202
+ } else {
203
+ if (expansionMode === "single")
204
+ res.clear();
205
+ res.add(key);
206
+ }
207
+ return res;
208
+ }
2898
209
 
2899
210
  var __defProp$9 = Object.defineProperty;
211
+ var __defProps$9 = Object.defineProperties;
212
+ var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
2900
213
  var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
2901
214
  var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
2902
215
  var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
@@ -2912,6 +225,7 @@ var __spreadValues$9 = (a, b) => {
2912
225
  }
2913
226
  return a;
2914
227
  };
228
+ var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
2915
229
  var __objRest$7 = (source, exclude) => {
2916
230
  var target = {};
2917
231
  for (var prop in source)
@@ -2924,55 +238,49 @@ var __objRest$7 = (source, exclude) => {
2924
238
  }
2925
239
  return target;
2926
240
  };
2927
- const Fieldset = (_a) => {
241
+ const _Accordion$1 = (_a, ref) => {
2928
242
  var _b = _a, {
2929
- label: label$1,
2930
- contextualHelp,
2931
- note,
2932
- error,
2933
- isDisabled,
2934
- isRequired,
2935
- necessityIndicator,
2936
- children,
2937
- size = "large",
2938
- labelPlacement = "above"
243
+ expansionMode = "multiple",
244
+ headerLevel = 5,
245
+ hideLastDivider = false,
246
+ hasNegativeSideMargin = false,
247
+ sidePadding
2939
248
  } = _b, props = __objRest$7(_b, [
2940
- "label",
2941
- "contextualHelp",
2942
- "note",
2943
- "error",
2944
- "isDisabled",
2945
- "isRequired",
2946
- "necessityIndicator",
2947
- "children",
2948
- "size",
2949
- "labelPlacement"
249
+ "expansionMode",
250
+ "headerLevel",
251
+ "hideLastDivider",
252
+ "hasNegativeSideMargin",
253
+ "sidePadding"
2950
254
  ]);
2951
255
  sapphireReact.useThemeCheck();
2952
- const { fieldProps, descriptionProps, errorMessageProps } = label.useField({
2953
- isInvalid: !!error,
2954
- label: label$1
2955
- });
2956
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadValues$9({
2957
- elementType: "fieldset",
2958
- error: !!error,
2959
- isDisabled,
2960
- size,
2961
- labelPlacement
2962
- }, utils$1.mergeProps(props, fieldProps)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Label, {
2963
- elementType: "legend"
2964
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Label, {
2965
- size,
2966
- necessityIndicator: isRequired && necessityIndicator ? "required" : !isRequired && necessityIndicator ? "optional" : void 0,
2967
- contextualHelp
2968
- }, label$1)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, {
2969
- isGroup: true
2970
- }, children), (error || note) && /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Footer, null, error ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, __spreadValues$9({}, errorMessageProps), error) : note ? /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Note, __spreadValues$9({}, descriptionProps), note) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null)));
256
+ const { styleProps } = sapphireReact.useSapphireStyleProps(props);
257
+ const state = useTreeState(__spreadProps$9(__spreadValues$9({}, props), { expansionMode }));
258
+ const forwardedRef = utils$1.useObjectRef(ref);
259
+ const { accordionProps } = accordion.useAccordion(props, state, forwardedRef);
260
+ return /* @__PURE__ */ React__default["default"].createElement(AccordionContext.Provider, {
261
+ value: { sidePadding }
262
+ }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$9(__spreadValues$9({}, utils$1.mergeProps(accordionProps, utils$1.filterDOMProps(props, { labelable: true }))), {
263
+ ref: forwardedRef,
264
+ className: clsx__default["default"](styles__default["default"]["sapphire-accordion"], {
265
+ [styles__default["default"]["sapphire-accordion--without-last-divider"]]: hideLastDivider,
266
+ [styles__default["default"]["sapphire-accordion--negative-margin-self"]]: !sidePadding && hasNegativeSideMargin
267
+ }, styleProps.className),
268
+ style: __spreadValues$9(__spreadValues$9({}, sidePadding && hasNegativeSideMargin ? {
269
+ marginLeft: typeof sidePadding === "string" ? `calc(${sidePadding} * -1)` : `-${sidePadding}px`,
270
+ width: `calc(100% + calc(${sidePadding} * 2${typeof sidePadding === "string" ? "" : "px"}))`
271
+ } : {}), styleProps.style)
272
+ }), [...state.collection].map((item) => /* @__PURE__ */ React__default["default"].createElement(_AccordionItem, {
273
+ headerLevel,
274
+ key: item.key,
275
+ item,
276
+ state
277
+ }))));
2971
278
  };
279
+ const Accordion = React.forwardRef(_Accordion$1);
2972
280
 
2973
281
  var __defProp$8 = Object.defineProperty;
2974
- var __defProps$7 = Object.defineProperties;
2975
- var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
282
+ var __defProps$8 = Object.defineProperties;
283
+ var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
2976
284
  var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
2977
285
  var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
2978
286
  var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
@@ -2988,7 +296,7 @@ var __spreadValues$8 = (a, b) => {
2988
296
  }
2989
297
  return a;
2990
298
  };
2991
- var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
299
+ var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
2992
300
  var __objRest$6 = (source, exclude) => {
2993
301
  var target = {};
2994
302
  for (var prop in source)
@@ -3001,13 +309,60 @@ var __objRest$6 = (source, exclude) => {
3001
309
  }
3002
310
  return target;
3003
311
  };
312
+ const AccordionHeading = (_a) => {
313
+ var _b = _a, {
314
+ children
315
+ } = _b, props = __objRest$6(_b, [
316
+ "children"
317
+ ]);
318
+ return /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$8(__spreadValues$8({}, utils$1.filterDOMProps(props)), {
319
+ className: clsx__default["default"](styles__default["default"]["sapphire-accordion__item-heading"])
320
+ }), children);
321
+ };
322
+
323
+ const _Accordion = Object.assign(Accordion, {
324
+ Heading: AccordionHeading,
325
+ Item: AccordionItem
326
+ });
327
+
328
+ var __defProp$7 = Object.defineProperty;
329
+ var __defProps$7 = Object.defineProperties;
330
+ var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
331
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
332
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
333
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
334
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
335
+ var __spreadValues$7 = (a, b) => {
336
+ for (var prop in b || (b = {}))
337
+ if (__hasOwnProp$7.call(b, prop))
338
+ __defNormalProp$7(a, prop, b[prop]);
339
+ if (__getOwnPropSymbols$7)
340
+ for (var prop of __getOwnPropSymbols$7(b)) {
341
+ if (__propIsEnum$7.call(b, prop))
342
+ __defNormalProp$7(a, prop, b[prop]);
343
+ }
344
+ return a;
345
+ };
346
+ var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
347
+ var __objRest$5 = (source, exclude) => {
348
+ var target = {};
349
+ for (var prop in source)
350
+ if (__hasOwnProp$7.call(source, prop) && exclude.indexOf(prop) < 0)
351
+ target[prop] = source[prop];
352
+ if (source != null && __getOwnPropSymbols$7)
353
+ for (var prop of __getOwnPropSymbols$7(source)) {
354
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$7.call(source, prop))
355
+ target[prop] = source[prop];
356
+ }
357
+ return target;
358
+ };
3004
359
  const HiddenFileInput = React__default["default"].forwardRef(function InputWrapper(props, ref) {
3005
360
  const { onChange } = props;
3006
361
  const onFileInputChange = (inputElement) => {
3007
362
  onChange == null ? void 0 : onChange(inputElement);
3008
363
  inputElement.target.value = "";
3009
364
  };
3010
- return /* @__PURE__ */ React__default["default"].createElement("input", __spreadProps$7(__spreadValues$8({}, props), {
365
+ return /* @__PURE__ */ React__default["default"].createElement("input", __spreadProps$7(__spreadValues$7({}, props), {
3011
366
  onChange: onFileInputChange,
3012
367
  ref,
3013
368
  type: "file",
@@ -3021,7 +376,7 @@ const FileTrigger = React__default["default"].forwardRef(function FileTriggerWra
3021
376
  onSelect = () => null,
3022
377
  children,
3023
378
  isDisabled = false
3024
- } = _a, rest = __objRest$6(_a, [
379
+ } = _a, rest = __objRest$5(_a, [
3025
380
  "acceptedFileTypes",
3026
381
  "allowsMultiple",
3027
382
  "onSelect",
@@ -3035,7 +390,7 @@ const FileTrigger = React__default["default"].forwardRef(function FileTriggerWra
3035
390
  var _a2;
3036
391
  (_a2 = inputRef.current) == null ? void 0 : _a2.click();
3037
392
  }
3038
- }, children), /* @__PURE__ */ React__default["default"].createElement(HiddenFileInput, __spreadProps$7(__spreadValues$8({}, domProps), {
393
+ }, children), /* @__PURE__ */ React__default["default"].createElement(HiddenFileInput, __spreadProps$7(__spreadValues$7({}, domProps), {
3039
394
  disabled: isDisabled,
3040
395
  ref: inputRef,
3041
396
  accept: acceptedFileTypes == null ? void 0 : acceptedFileTypes.toString(),
@@ -3107,21 +462,21 @@ var intlMessages$1 = {
3107
462
  "sv-SE": se$1
3108
463
  };
3109
464
 
3110
- var __defProp$7 = Object.defineProperty;
465
+ var __defProp$6 = Object.defineProperty;
3111
466
  var __defProps$6 = Object.defineProperties;
3112
467
  var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
3113
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
3114
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
3115
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
3116
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3117
- var __spreadValues$7 = (a, b) => {
468
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
469
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
470
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
471
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
472
+ var __spreadValues$6 = (a, b) => {
3118
473
  for (var prop in b || (b = {}))
3119
- if (__hasOwnProp$7.call(b, prop))
3120
- __defNormalProp$7(a, prop, b[prop]);
3121
- if (__getOwnPropSymbols$7)
3122
- for (var prop of __getOwnPropSymbols$7(b)) {
3123
- if (__propIsEnum$7.call(b, prop))
3124
- __defNormalProp$7(a, prop, b[prop]);
474
+ if (__hasOwnProp$6.call(b, prop))
475
+ __defNormalProp$6(a, prop, b[prop]);
476
+ if (__getOwnPropSymbols$6)
477
+ for (var prop of __getOwnPropSymbols$6(b)) {
478
+ if (__propIsEnum$6.call(b, prop))
479
+ __defNormalProp$6(a, prop, b[prop]);
3125
480
  }
3126
481
  return a;
3127
482
  };
@@ -3146,12 +501,12 @@ const FileDropzone = React__default["default"].forwardRef(function DropzoneWrapp
3146
501
  dropProps,
3147
502
  dropButtonProps,
3148
503
  isDropTarget: isDropping
3149
- } = dnd.useDrop(__spreadProps$6(__spreadValues$7({}, props), {
504
+ } = dnd.useDrop(__spreadProps$6(__spreadValues$6({}, props), {
3150
505
  ref: pressableRef,
3151
506
  hasDropButton: true,
3152
507
  isDisabled
3153
508
  }));
3154
- const { buttonProps } = sapphireReact.useButton(__spreadProps$6(__spreadValues$7({}, dropButtonProps), { elementType: "div" }), pressableRef);
509
+ const { buttonProps } = sapphireReact.useButton(__spreadProps$6(__spreadValues$6({}, dropButtonProps), { elementType: "div" }), pressableRef);
3155
510
  const { focusProps, isFocusVisible } = focus.useFocusRing();
3156
511
  const { pressProps, isPressed } = interactions.usePress({});
3157
512
  const { clipboardProps } = dnd.useClipboard({
@@ -3182,165 +537,36 @@ const FileDropzone = React__default["default"].forwardRef(function DropzoneWrapp
3182
537
  }, /* @__PURE__ */ React__default["default"].createElement(interactions.Pressable, {
3183
538
  ref: pressableRef,
3184
539
  onPress: onFileSelectOpen
3185
- }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$6(__spreadValues$7({}, utils$1.mergeProps(dropProps, hoverProps, clipboardProps, focusProps, buttonProps, pressProps)), {
540
+ }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$6(__spreadValues$6({}, utils$1.mergeProps(dropProps, hoverProps, clipboardProps, focusProps, buttonProps, pressProps)), {
3186
541
  ref,
3187
- style: __spreadValues$7({}, styleProps.style),
3188
- className: clsx__default["default"](styles__default$a["default"]["sapphire-dropzone"], styles__default$a["default"]["js-focus"], styles__default$a["default"]["js-hover"], {
3189
- [styles__default$a["default"]["is-hover"]]: isHovered && !isDropping,
3190
- [styles__default$a["default"]["is-active"]]: isPressed,
3191
- [styles__default$a["default"]["is-disabled"]]: isDisabled,
3192
- [styles__default$a["default"]["is-focus"]]: isFocusVisible,
3193
- [styles__default$a["default"]["sapphire-dropzone--dropping"]]: isDropping,
3194
- [styles__default$a["default"]["sapphire-dropzone--error"]]: hasError
542
+ style: __spreadValues$6({}, styleProps.style),
543
+ className: clsx__default["default"](styles__default$1["default"]["sapphire-dropzone"], styles__default$1["default"]["js-focus"], styles__default$1["default"]["js-hover"], {
544
+ [styles__default$1["default"]["is-hover"]]: isHovered && !isDropping,
545
+ [styles__default$1["default"]["is-active"]]: isPressed,
546
+ [styles__default$1["default"]["is-disabled"]]: isDisabled,
547
+ [styles__default$1["default"]["is-focus"]]: isFocusVisible,
548
+ [styles__default$1["default"]["sapphire-dropzone--dropping"]]: isDropping,
549
+ [styles__default$1["default"]["sapphire-dropzone--error"]]: hasError
3195
550
  }, styleProps.className),
3196
551
  "aria-label": ariaLabel,
3197
552
  "aria-invalid": hasError,
3198
553
  "aria-describedby": paragraphId
3199
554
  }), /* @__PURE__ */ React__default["default"].createElement("div", {
3200
- className: clsx__default["default"](styles__default$a["default"]["sapphire-dropzone__content"])
555
+ className: clsx__default["default"](styles__default$1["default"]["sapphire-dropzone__content"])
3201
556
  }, /* @__PURE__ */ React__default["default"].createElement("div", {
3202
- className: clsx__default["default"](styles__default$a["default"]["sapphire-dropzone__icon"])
557
+ className: clsx__default["default"](styles__default$1["default"]["sapphire-dropzone__icon"])
3203
558
  }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, null, /* @__PURE__ */ React__default["default"].createElement(react.Upload, null))), /* @__PURE__ */ React__default["default"].createElement("div", {
3204
- className: clsx__default["default"](styles__default$a["default"]["sapphire-dropzone__heading"])
3205
- }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Heading, {
559
+ className: clsx__default["default"](styles__default$1["default"]["sapphire-dropzone__heading"])
560
+ }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Heading, {
3206
561
  level: 6
3207
562
  }, isDropping ? format("dropzone-heading-dropping") : format("dropzone-heading-default"))), /* @__PURE__ */ React__default["default"].createElement("div", {
3208
563
  id: paragraphId,
3209
- className: clsx__default["default"](styles__default$a["default"]["sapphire-dropzone__paragraph"])
3210
- }, /* @__PURE__ */ React__default["default"].createElement(Body, {
564
+ className: clsx__default["default"](styles__default$1["default"]["sapphire-dropzone__paragraph"])
565
+ }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Typography.Body, {
3211
566
  level: 2
3212
567
  }, renderInstruction(isDropping)))))));
3213
568
  });
3214
569
 
3215
- var __defProp$6 = Object.defineProperty;
3216
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
3217
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
3218
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
3219
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3220
- var __spreadValues$6 = (a, b) => {
3221
- for (var prop in b || (b = {}))
3222
- if (__hasOwnProp$6.call(b, prop))
3223
- __defNormalProp$6(a, prop, b[prop]);
3224
- if (__getOwnPropSymbols$6)
3225
- for (var prop of __getOwnPropSymbols$6(b)) {
3226
- if (__propIsEnum$6.call(b, prop))
3227
- __defNormalProp$6(a, prop, b[prop]);
3228
- }
3229
- return a;
3230
- };
3231
- var __objRest$5 = (source, exclude) => {
3232
- var target = {};
3233
- for (var prop in source)
3234
- if (__hasOwnProp$6.call(source, prop) && exclude.indexOf(prop) < 0)
3235
- target[prop] = source[prop];
3236
- if (source != null && __getOwnPropSymbols$6)
3237
- for (var prop of __getOwnPropSymbols$6(source)) {
3238
- if (exclude.indexOf(prop) < 0 && __propIsEnum$6.call(source, prop))
3239
- target[prop] = source[prop];
3240
- }
3241
- return target;
3242
- };
3243
- const AlertDialog = React__default["default"].forwardRef(function AlertDialog2(props, ref) {
3244
- sapphireReact.useThemeCheck();
3245
- const _a = props, {
3246
- variant = "neutral",
3247
- icon,
3248
- body,
3249
- actionsOrientation = "horizontal",
3250
- actions,
3251
- heading
3252
- } = _a, rest = __objRest$5(_a, [
3253
- "variant",
3254
- "icon",
3255
- "body",
3256
- "actionsOrientation",
3257
- "actions",
3258
- "heading"
3259
- ]);
3260
- return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Dialog, __spreadValues$6({
3261
- ref,
3262
- role: "alertdialog",
3263
- type: "active",
3264
- size: "extra-small",
3265
- header: null,
3266
- footer: null,
3267
- content: /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Dialog.Content, null, /* @__PURE__ */ React__default["default"].createElement(FeedbackMessage, {
3268
- marginTop: sapphireReact.tokens.size.spacing60,
3269
- heading: /* @__PURE__ */ React__default["default"].createElement(sapphireReact.DialogTitle, null, (titleProps) => /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Heading, __spreadValues$6({
3270
- level: 6
3271
- }, titleProps), heading)),
3272
- variant,
3273
- icon,
3274
- body,
3275
- actions: /* @__PURE__ */ React__default["default"].createElement(sapphireReact.ButtonGroup, {
3276
- width: "100%",
3277
- stretch: "autoVertical",
3278
- orientation: actionsOrientation
3279
- }, actions)
3280
- }))
3281
- }, rest));
3282
- });
3283
-
3284
- var __defProp$5 = Object.defineProperty;
3285
- var __defProps$5 = Object.defineProperties;
3286
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
3287
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
3288
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
3289
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
3290
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3291
- var __spreadValues$5 = (a, b) => {
3292
- for (var prop in b || (b = {}))
3293
- if (__hasOwnProp$5.call(b, prop))
3294
- __defNormalProp$5(a, prop, b[prop]);
3295
- if (__getOwnPropSymbols$5)
3296
- for (var prop of __getOwnPropSymbols$5(b)) {
3297
- if (__propIsEnum$5.call(b, prop))
3298
- __defNormalProp$5(a, prop, b[prop]);
3299
- }
3300
- return a;
3301
- };
3302
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
3303
- var __objRest$4 = (source, exclude) => {
3304
- var target = {};
3305
- for (var prop in source)
3306
- if (__hasOwnProp$5.call(source, prop) && exclude.indexOf(prop) < 0)
3307
- target[prop] = source[prop];
3308
- if (source != null && __getOwnPropSymbols$5)
3309
- for (var prop of __getOwnPropSymbols$5(source)) {
3310
- if (exclude.indexOf(prop) < 0 && __propIsEnum$5.call(source, prop))
3311
- target[prop] = source[prop];
3312
- }
3313
- return target;
3314
- };
3315
- const useSapphireNumberField = (_a, ref) => {
3316
- var _b = _a, { error } = _b, numberFieldProps = __objRest$4(_b, ["error"]);
3317
- const { locale } = i18n.useLocale();
3318
- const numberFieldState = numberfield.useNumberFieldState(__spreadProps$5(__spreadValues$5({}, numberFieldProps), {
3319
- locale
3320
- }));
3321
- const numberFieldAria = numberfield$1.useNumberField(__spreadProps$5(__spreadValues$5({}, numberFieldProps), {
3322
- validationState: error === false || error === void 0 ? void 0 : "invalid"
3323
- }), numberFieldState, ref);
3324
- return numberFieldAria;
3325
- };
3326
-
3327
- function useAutofillStyle(inputRef) {
3328
- const [styles, setStyles] = React.useState({});
3329
- const updateStyle = () => {
3330
- const input = inputRef.current;
3331
- if (input) {
3332
- const color = window.getComputedStyle(input).backgroundColor;
3333
- setStyles({
3334
- boxShadow: `-100px 0 ${color}, 100px 0 ${color}`
3335
- });
3336
- }
3337
- };
3338
- return {
3339
- autofillStyles: styles,
3340
- updateStyle
3341
- };
3342
- }
3343
-
3344
570
  var increment$6 = "øge";
3345
571
  var decrement$6 = "formindske";
3346
572
  var da = {
@@ -3400,6 +626,76 @@ var intlMessages = {
3400
626
  "sv-SE": se
3401
627
  };
3402
628
 
629
+ var __defProp$5 = Object.defineProperty;
630
+ var __defProps$5 = Object.defineProperties;
631
+ var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
632
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
633
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
634
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
635
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
636
+ var __spreadValues$5 = (a, b) => {
637
+ for (var prop in b || (b = {}))
638
+ if (__hasOwnProp$5.call(b, prop))
639
+ __defNormalProp$5(a, prop, b[prop]);
640
+ if (__getOwnPropSymbols$5)
641
+ for (var prop of __getOwnPropSymbols$5(b)) {
642
+ if (__propIsEnum$5.call(b, prop))
643
+ __defNormalProp$5(a, prop, b[prop]);
644
+ }
645
+ return a;
646
+ };
647
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
648
+ var __objRest$4 = (source, exclude) => {
649
+ var target = {};
650
+ for (var prop in source)
651
+ if (__hasOwnProp$5.call(source, prop) && exclude.indexOf(prop) < 0)
652
+ target[prop] = source[prop];
653
+ if (source != null && __getOwnPropSymbols$5)
654
+ for (var prop of __getOwnPropSymbols$5(source)) {
655
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$5.call(source, prop))
656
+ target[prop] = source[prop];
657
+ }
658
+ return target;
659
+ };
660
+ const StepperButton = (_a) => {
661
+ var _b = _a, {
662
+ variant,
663
+ size
664
+ } = _b, props = __objRest$4(_b, [
665
+ "variant",
666
+ "size"
667
+ ]);
668
+ const ref = React.useRef(null);
669
+ const { buttonProps, isPressed } = sapphireReact.useButton(props, ref);
670
+ const { hoverProps, isHovered } = interactions.useHover({ isDisabled: props.isDisabled });
671
+ return /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$5(__spreadValues$5({}, utils$1.mergeProps(buttonProps, hoverProps, utils$1.filterDOMProps(props))), {
672
+ ref,
673
+ className: clsx__default["default"](textFieldStyles__default["default"]["sapphire-text-field__stepper-button"], textFieldStyles__default["default"]["js-hover"], {
674
+ [textFieldStyles__default["default"]["is-active"]]: isPressed,
675
+ [textFieldStyles__default["default"]["is-hover"]]: isHovered
676
+ })
677
+ }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
678
+ size: size === "lg" ? "md" : "sm"
679
+ }, variant === "increment" ? /* @__PURE__ */ React__default["default"].createElement(react.CaretUp, null) : /* @__PURE__ */ React__default["default"].createElement(react.CaretDown, null)));
680
+ };
681
+
682
+ function useAutofillStyle(inputRef) {
683
+ const [styles, setStyles] = React.useState({});
684
+ const updateStyle = () => {
685
+ const input = inputRef.current;
686
+ if (input) {
687
+ const color = window.getComputedStyle(input).backgroundColor;
688
+ setStyles({
689
+ boxShadow: `-100px 0 ${color}, 100px 0 ${color}`
690
+ });
691
+ }
692
+ };
693
+ return {
694
+ autofillStyles: styles,
695
+ updateStyle
696
+ };
697
+ }
698
+
3403
699
  var __defProp$4 = Object.defineProperty;
3404
700
  var __defProps$4 = Object.defineProperties;
3405
701
  var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
@@ -3431,26 +727,16 @@ var __objRest$3 = (source, exclude) => {
3431
727
  }
3432
728
  return target;
3433
729
  };
3434
- const StepperButton = (_a) => {
3435
- var _b = _a, {
3436
- variant,
3437
- size
3438
- } = _b, props = __objRest$3(_b, [
3439
- "variant",
3440
- "size"
3441
- ]);
3442
- const ref = React.useRef(null);
3443
- const { buttonProps, isPressed } = sapphireReact.useButton(props, ref);
3444
- const { hoverProps, isHovered } = interactions.useHover({ isDisabled: props.isDisabled });
3445
- return /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$4(__spreadValues$4({}, utils$1.mergeProps(buttonProps, hoverProps, utils$1.filterDOMProps(props))), {
3446
- ref,
3447
- className: clsx__default["default"](textFieldStyles__default["default"]["sapphire-text-field__stepper-button"], textFieldStyles__default["default"]["js-hover"], {
3448
- [textFieldStyles__default["default"]["is-active"]]: isPressed,
3449
- [textFieldStyles__default["default"]["is-hover"]]: isHovered
3450
- })
3451
- }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
3452
- size: size === "large" ? "m" : "s"
3453
- }, variant === "increment" ? /* @__PURE__ */ React__default["default"].createElement(react.CaretUp, null) : /* @__PURE__ */ React__default["default"].createElement(react.CaretDown, null)));
730
+ const useSapphireNumberField = (_a, ref) => {
731
+ var _b = _a, { error } = _b, numberFieldProps = __objRest$3(_b, ["error"]);
732
+ const { locale } = i18n.useLocale();
733
+ const numberFieldState = numberfield.useNumberFieldState(__spreadProps$4(__spreadValues$4({}, numberFieldProps), {
734
+ locale
735
+ }));
736
+ const numberFieldAria = numberfield$1.useNumberField(__spreadProps$4(__spreadValues$4({}, numberFieldProps), {
737
+ validationState: error === false || error === void 0 ? void 0 : "invalid"
738
+ }), numberFieldState, ref);
739
+ return numberFieldAria;
3454
740
  };
3455
741
 
3456
742
  var __defProp$3 = Object.defineProperty;
@@ -3494,7 +780,7 @@ const NumberField = React.forwardRef(function NumberField2(props, ref) {
3494
780
  contextualHelp,
3495
781
  prefix,
3496
782
  postfix,
3497
- size = "large",
783
+ size = "lg",
3498
784
  labelPlacement = "above",
3499
785
  necessityIndicator = false,
3500
786
  alignInputRight,
@@ -3535,14 +821,14 @@ const NumberField = React.forwardRef(function NumberField2(props, ref) {
3535
821
  const { focusProps, isFocusVisible } = focus.useFocusRing(props);
3536
822
  const { styleProps } = sapphireReact.useSapphireStyleProps(props);
3537
823
  const { autofillStyles, updateStyle } = useAutofillStyle(inputRef);
3538
- const domRef = React.useRef(null);
3539
- React.useImperativeHandle(ref, () => __spreadProps$3(__spreadValues$3({}, utils.createFocusableRef(domRef, inputRef)), {
824
+ const containerRef = React.useRef(null);
825
+ React.useImperativeHandle(ref, () => __spreadProps$3(__spreadValues$3({}, utils$2.createFocusableRef(containerRef, inputRef)), {
3540
826
  getInputElement() {
3541
827
  return inputRef.current;
3542
828
  }
3543
829
  }));
3544
830
  return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps$3(__spreadValues$3({}, removeUniqueDOMProps(otherProps)), {
3545
- ref: domRef,
831
+ ref: containerRef,
3546
832
  isDisabled,
3547
833
  error: !!error,
3548
834
  size,
@@ -3555,7 +841,7 @@ const NumberField = React.forwardRef(function NumberField2(props, ref) {
3555
841
  className: clsx__default["default"](textFieldStyles__default["default"]["sapphire-text-field"], {
3556
842
  [textFieldStyles__default["default"]["is-focus"]]: isFocusVisible,
3557
843
  [textFieldStyles__default["default"]["sapphire-text-field--error"]]: error === true || typeof error === "string",
3558
- [textFieldStyles__default["default"]["sapphire-text-field--medium"]]: size === "medium"
844
+ [textFieldStyles__default["default"]["sapphire-text-field--md"]]: size === "md"
3559
845
  }),
3560
846
  style: __spreadValues$3({}, styleProps.style.width ? { width: styleProps.style.width } : {})
3561
847
  }, prefix && /* @__PURE__ */ React__default["default"].createElement("span", {
@@ -3642,7 +928,7 @@ function Tag(props) {
3642
928
  const { hoverProps, isHovered } = interactions.useHover({ isDisabled });
3643
929
  const hasAction = otherProps.hasAction;
3644
930
  return /* @__PURE__ */ React__default["default"].createElement(focus.FocusRing, {
3645
- focusRingClass: styles__default$b["default"]["is-focus"]
931
+ focusRingClass: styles__default$2["default"]["is-focus"]
3646
932
  }, /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$2(__spreadProps$2(__spreadValues$2({
3647
933
  ref
3648
934
  }, utils$1.mergeProps({
@@ -3654,30 +940,30 @@ function Tag(props) {
3654
940
  }
3655
941
  }
3656
942
  }, rowProps, hoverProps)), {
3657
- className: clsx__default["default"](styles__default$b["default"]["sapphire-tag"], styles__default$b["default"]["js-focus"], styles__default$b["default"]["js-hover"], {
3658
- [styles__default$b["default"]["sapphire-tag--actionable"]]: hasAction,
3659
- [styles__default$b["default"]["is-active"]]: hasAction && isPressed,
3660
- [styles__default$b["default"]["is-hover"]]: hasAction && isHovered,
3661
- [styles__default$b["default"]["is-disabled"]]: isDisabled
943
+ className: clsx__default["default"](styles__default$2["default"]["sapphire-tag"], styles__default$2["default"]["js-focus"], styles__default$2["default"]["js-hover"], {
944
+ [styles__default$2["default"]["sapphire-tag--actionable"]]: hasAction,
945
+ [styles__default$2["default"]["is-active"]]: hasAction && isPressed,
946
+ [styles__default$2["default"]["is-hover"]]: hasAction && isHovered,
947
+ [styles__default$2["default"]["is-disabled"]]: isDisabled
3662
948
  })
3663
949
  }), hasError ? { "aria-invalid": true } : {}), /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$2(__spreadValues$2({}, gridCellProps), {
3664
- className: styles__default$b["default"]["sapphire-tag__content"]
950
+ className: styles__default$2["default"]["sapphire-tag__content"]
3665
951
  }), hasError && /* @__PURE__ */ React__default["default"].createElement(IconError, null), item.rendered, allowsRemoving && /* @__PURE__ */ React__default["default"].createElement(RemoveButton, __spreadValues$2({}, removeButtonProps)))));
3666
952
  }
3667
953
  function RemoveButton(removeButtonProps) {
3668
954
  const buttonRef = React.useRef(null);
3669
955
  const { buttonProps } = button.useButton(removeButtonProps, buttonRef);
3670
956
  return /* @__PURE__ */ React__default["default"].createElement("button", __spreadProps$2(__spreadValues$2({}, buttonProps), {
3671
- className: clsx__default["default"](styles__default$b["default"]["sapphire-tag__button"], styles__default$b["default"]["js-focus"])
957
+ className: clsx__default["default"](styles__default$2["default"]["sapphire-tag__button"], styles__default$2["default"]["js-focus"])
3672
958
  }), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
3673
- size: "s"
959
+ size: "sm"
3674
960
  }, /* @__PURE__ */ React__default["default"].createElement(react.Close, null)));
3675
961
  }
3676
962
  const IconError = () => {
3677
963
  return /* @__PURE__ */ React__default["default"].createElement("span", {
3678
- className: clsx__default["default"](styles__default$b["default"]["sapphire-tag__error-icon"])
964
+ className: clsx__default["default"](styles__default$2["default"]["sapphire-tag__error-icon"])
3679
965
  }, /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Icon, {
3680
- size: "s"
966
+ size: "sm"
3681
967
  }, /* @__PURE__ */ React__default["default"].createElement(react.AlertCircle, null)));
3682
968
  };
3683
969
 
@@ -3738,7 +1024,7 @@ function TagGroup(props) {
3738
1024
  contextualHelp
3739
1025
  }), labelText)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React__default["default"].createElement("div", __spreadProps$1(__spreadValues$1({}, gridProps), {
3740
1026
  ref,
3741
- className: styles__default$b["default"]["sapphire-tag-group"]
1027
+ className: styles__default$2["default"]["sapphire-tag-group"]
3742
1028
  }), [...state.collection].map((item) => /* @__PURE__ */ React__default["default"].createElement(Tag, {
3743
1029
  key: item.key,
3744
1030
  item,
@@ -3775,7 +1061,7 @@ function LabeledValue(props) {
3775
1061
  contextualHelp,
3776
1062
  label: label$1,
3777
1063
  labelPlacement = "above",
3778
- size = "large"
1064
+ size = "lg"
3779
1065
  } = props;
3780
1066
  const { fieldProps } = label.useField({ label: label$1 });
3781
1067
  return /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field, __spreadProps(__spreadValues({}, fieldProps), {
@@ -3785,8 +1071,8 @@ function LabeledValue(props) {
3785
1071
  contextualHelp,
3786
1072
  size
3787
1073
  }, label$1)), /* @__PURE__ */ React__default["default"].createElement(sapphireReact.Field.Control, null, /* @__PURE__ */ React__default["default"].createElement("div", {
3788
- className: clsx__default["default"](styles__default$c["default"]["sapphire-labeled-value"], {
3789
- [styles__default$c["default"]["sapphire-labeled-value--medium"]]: size === "medium"
1074
+ className: clsx__default["default"](styles__default$3["default"]["sapphire-labeled-value"], {
1075
+ [styles__default$3["default"]["sapphire-labeled-value--md"]]: size === "md"
3790
1076
  })
3791
1077
  }, children)));
3792
1078
  }
@@ -3796,27 +1082,12 @@ Object.defineProperty(exports, 'useLocale', {
3796
1082
  get: function () { return i18n.useLocale; }
3797
1083
  });
3798
1084
  exports.Accordion = _Accordion;
3799
- exports.AlertDialog = AlertDialog;
3800
- exports.Avatar = Avatar;
3801
- exports.Calendar = Calendar;
3802
- exports.DateField = DateField;
3803
- exports.DateRangeField = DateRangeField;
3804
- exports.FeedbackMessage = FeedbackMessage;
3805
- exports.Fieldset = Fieldset;
1085
+ exports.AccordionContext = AccordionContext;
3806
1086
  exports.FileDropzone = FileDropzone;
3807
1087
  exports.FileTrigger = FileTrigger;
3808
1088
  exports.FilterDropdown = FilterDropdown;
3809
1089
  exports.LabeledValue = LabeledValue;
3810
- exports.NotificationBadge = NotificationBadge;
3811
1090
  exports.NumberField = NumberField;
3812
- exports.RangeCalendar = RangeCalendar;
3813
- exports.SearchField = SearchField;
3814
1091
  exports.TagGroup = TagGroup;
3815
1092
  exports.TagItem = TagItem;
3816
- exports.ToastProvider = ToastProvider;
3817
- exports.ToggleButton = ToggleButton;
3818
- exports.Typography = Typography;
3819
- exports.isDateOutsideValidRange = isDateOutsideValidRange;
3820
- exports.isEndDateBeforeStartDate = isEndDateBeforeStartDate;
3821
- exports.useShowToast = useShowToast;
3822
1093
  //# sourceMappingURL=index.js.map