@hitachivantara/uikit-react-core 5.58.2 → 5.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/cjs/Accordion/Accordion.cjs.map +1 -1
  2. package/dist/cjs/Avatar/Avatar.cjs.map +1 -1
  3. package/dist/cjs/Badge/Badge.styles.cjs.map +1 -1
  4. package/dist/cjs/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  5. package/dist/cjs/BaseDropdown/BaseDropdown.cjs +1 -2
  6. package/dist/cjs/BaseDropdown/BaseDropdown.cjs.map +1 -1
  7. package/dist/cjs/BaseInput/BaseInput.styles.cjs.map +1 -1
  8. package/dist/cjs/BaseInput/validations.cjs.map +1 -1
  9. package/dist/cjs/BaseRadio/BaseRadio.cjs.map +1 -1
  10. package/dist/cjs/BaseSwitch/BaseSwitch.cjs.map +1 -1
  11. package/dist/cjs/BreadCrumb/BreadCrumb.cjs.map +1 -1
  12. package/dist/cjs/BreadCrumb/Page/Page.cjs.map +1 -1
  13. package/dist/cjs/BreadCrumb/utils.cjs.map +1 -1
  14. package/dist/cjs/BulkActions/BulkActions.styles.cjs +13 -1
  15. package/dist/cjs/BulkActions/BulkActions.styles.cjs.map +1 -1
  16. package/dist/cjs/Button/Button.styles.cjs.map +1 -1
  17. package/dist/cjs/Calendar/Calendar.cjs.map +1 -1
  18. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
  19. package/dist/cjs/Card/Media/Media.cjs.map +1 -1
  20. package/dist/cjs/Carousel/Carousel.cjs.map +1 -1
  21. package/dist/cjs/Carousel/CarouselControls.cjs.map +1 -1
  22. package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
  23. package/dist/cjs/Carousel/CarouselThumbnails.cjs.map +1 -1
  24. package/dist/cjs/Controls/Controls.cjs.map +1 -1
  25. package/dist/cjs/DropDownMenu/DropDownMenu.cjs +12 -20
  26. package/dist/cjs/DropDownMenu/DropDownMenu.cjs.map +1 -1
  27. package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs +4 -34
  28. package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  29. package/dist/cjs/Dropdown/List/List.cjs.map +1 -1
  30. package/dist/cjs/DropdownButton/DropdownButton.cjs +57 -0
  31. package/dist/cjs/DropdownButton/DropdownButton.cjs.map +1 -0
  32. package/dist/cjs/DropdownButton/DropdownButton.styles.cjs +65 -0
  33. package/dist/cjs/DropdownButton/DropdownButton.styles.cjs.map +1 -0
  34. package/dist/cjs/FileUploader/DropZone/DropZone.cjs.map +1 -1
  35. package/dist/cjs/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  36. package/dist/cjs/Focus/Focus.cjs +1 -3
  37. package/dist/cjs/Focus/Focus.cjs.map +1 -1
  38. package/dist/cjs/Forms/Adornment/Adornment.cjs.map +1 -1
  39. package/dist/cjs/Forms/Suggestions/Suggestions.cjs.map +1 -1
  40. package/dist/cjs/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  41. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  42. package/dist/cjs/Header/Navigation/Navigation.cjs.map +1 -1
  43. package/dist/cjs/Header/Navigation/utils/FocusContext.cjs.map +1 -1
  44. package/dist/cjs/IconButton/IconButton.cjs +2 -1
  45. package/dist/cjs/IconButton/IconButton.cjs.map +1 -1
  46. package/dist/cjs/InlineEditor/InlineEditor.cjs.map +1 -1
  47. package/dist/cjs/Input/Input.cjs +1 -3
  48. package/dist/cjs/Input/Input.cjs.map +1 -1
  49. package/dist/cjs/ListContainer/ListContainer.cjs +3 -5
  50. package/dist/cjs/ListContainer/ListContainer.cjs.map +1 -1
  51. package/dist/cjs/ListContainer/ListItem/ListItem.cjs +4 -6
  52. package/dist/cjs/ListContainer/ListItem/ListItem.cjs.map +1 -1
  53. package/dist/cjs/MultiButton/MultiButton.cjs +24 -11
  54. package/dist/cjs/MultiButton/MultiButton.cjs.map +1 -1
  55. package/dist/cjs/MultiButton/MultiButton.styles.cjs +56 -326
  56. package/dist/cjs/MultiButton/MultiButton.styles.cjs.map +1 -1
  57. package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
  58. package/dist/cjs/Pagination/Pagination.styles.cjs.map +1 -1
  59. package/dist/cjs/Pagination/Select.cjs.map +1 -1
  60. package/dist/cjs/Radio/Radio.cjs.map +1 -1
  61. package/dist/cjs/Select/Select.cjs +6 -2
  62. package/dist/cjs/Select/Select.cjs.map +1 -1
  63. package/dist/cjs/SelectionList/SelectionList.cjs +4 -6
  64. package/dist/cjs/SelectionList/SelectionList.cjs.map +1 -1
  65. package/dist/cjs/Slider/Slider.cjs.map +1 -1
  66. package/dist/cjs/Slider/Slider.styles.cjs.map +1 -1
  67. package/dist/cjs/Slider/utils.cjs.map +1 -1
  68. package/dist/cjs/Snackbar/Snackbar.cjs.map +1 -1
  69. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs +0 -3
  70. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs.map +1 -1
  71. package/dist/cjs/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  72. package/dist/cjs/Stack/Stack.cjs +2 -3
  73. package/dist/cjs/Stack/Stack.cjs.map +1 -1
  74. package/dist/cjs/Switch/Switch.cjs.map +1 -1
  75. package/dist/cjs/Tab/Tab.styles.cjs.map +1 -1
  76. package/dist/cjs/Table/Table.cjs.map +1 -1
  77. package/dist/cjs/Table/TableBody/TableBody.cjs.map +1 -1
  78. package/dist/cjs/Table/TableCell/TableCell.cjs.map +1 -1
  79. package/dist/cjs/Table/TableCell/TableCell.styles.cjs.map +1 -1
  80. package/dist/cjs/Table/TableHeader/TableHeader.cjs.map +1 -1
  81. package/dist/cjs/Table/hooks/useHeaderGroups.cjs.map +1 -1
  82. package/dist/cjs/Table/hooks/useResizeColumns.cjs.map +1 -1
  83. package/dist/cjs/Table/hooks/useRowExpand.cjs.map +1 -1
  84. package/dist/cjs/Table/hooks/useRowSelection.cjs.map +1 -1
  85. package/dist/cjs/Table/hooks/useSticky.cjs.map +1 -1
  86. package/dist/cjs/Table/hooks/useTableStyles.cjs.map +1 -1
  87. package/dist/cjs/Tag/Tag.cjs.map +1 -1
  88. package/dist/cjs/Tag/Tag.styles.cjs.map +1 -1
  89. package/dist/cjs/TagsInput/TagsInput.cjs.map +1 -1
  90. package/dist/cjs/Tooltip/Tooltip.cjs.map +1 -1
  91. package/dist/cjs/TreeView/TreeItem/DefaultContent.cjs.map +1 -1
  92. package/dist/cjs/TreeView/TreeItem/TreeItem.cjs.map +1 -1
  93. package/dist/cjs/VerticalNavigation/Actions/Action.cjs.map +1 -1
  94. package/dist/cjs/VerticalNavigation/Header/Header.cjs.map +1 -1
  95. package/dist/cjs/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
  96. package/dist/cjs/hooks/useClickOutside.cjs.map +1 -1
  97. package/dist/cjs/providers/Provider.cjs.map +1 -1
  98. package/dist/esm/Accordion/Accordion.js.map +1 -1
  99. package/dist/esm/Avatar/Avatar.js.map +1 -1
  100. package/dist/esm/Badge/Badge.styles.js.map +1 -1
  101. package/dist/esm/BaseCheckBox/BaseCheckBox.js.map +1 -1
  102. package/dist/esm/BaseDropdown/BaseDropdown.js +2 -2
  103. package/dist/esm/BaseDropdown/BaseDropdown.js.map +1 -1
  104. package/dist/esm/BaseInput/BaseInput.styles.js.map +1 -1
  105. package/dist/esm/BaseInput/validations.js.map +1 -1
  106. package/dist/esm/BaseRadio/BaseRadio.js.map +1 -1
  107. package/dist/esm/BaseSwitch/BaseSwitch.js.map +1 -1
  108. package/dist/esm/BreadCrumb/BreadCrumb.js.map +1 -1
  109. package/dist/esm/BreadCrumb/Page/Page.js.map +1 -1
  110. package/dist/esm/BreadCrumb/utils.js.map +1 -1
  111. package/dist/esm/BulkActions/BulkActions.styles.js +13 -1
  112. package/dist/esm/BulkActions/BulkActions.styles.js.map +1 -1
  113. package/dist/esm/Button/Button.styles.js.map +1 -1
  114. package/dist/esm/Calendar/Calendar.js.map +1 -1
  115. package/dist/esm/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  116. package/dist/esm/Card/Media/Media.js.map +1 -1
  117. package/dist/esm/Carousel/Carousel.js.map +1 -1
  118. package/dist/esm/Carousel/CarouselControls.js.map +1 -1
  119. package/dist/esm/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  120. package/dist/esm/Carousel/CarouselThumbnails.js.map +1 -1
  121. package/dist/esm/Controls/Controls.js.map +1 -1
  122. package/dist/esm/DropDownMenu/DropDownMenu.js +12 -20
  123. package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
  124. package/dist/esm/DropDownMenu/DropDownMenu.styles.js +4 -34
  125. package/dist/esm/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  126. package/dist/esm/Dropdown/List/List.js.map +1 -1
  127. package/dist/esm/DropdownButton/DropdownButton.js +58 -0
  128. package/dist/esm/DropdownButton/DropdownButton.js.map +1 -0
  129. package/dist/esm/DropdownButton/DropdownButton.styles.js +65 -0
  130. package/dist/esm/DropdownButton/DropdownButton.styles.js.map +1 -0
  131. package/dist/esm/FileUploader/DropZone/DropZone.js.map +1 -1
  132. package/dist/esm/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  133. package/dist/esm/Focus/Focus.js +2 -2
  134. package/dist/esm/Focus/Focus.js.map +1 -1
  135. package/dist/esm/Forms/Adornment/Adornment.js.map +1 -1
  136. package/dist/esm/Forms/Suggestions/Suggestions.js.map +1 -1
  137. package/dist/esm/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  138. package/dist/esm/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  139. package/dist/esm/Header/Navigation/Navigation.js.map +1 -1
  140. package/dist/esm/Header/Navigation/utils/FocusContext.js.map +1 -1
  141. package/dist/esm/IconButton/IconButton.js +2 -1
  142. package/dist/esm/IconButton/IconButton.js.map +1 -1
  143. package/dist/esm/InlineEditor/InlineEditor.js.map +1 -1
  144. package/dist/esm/Input/Input.js +2 -2
  145. package/dist/esm/Input/Input.js.map +1 -1
  146. package/dist/esm/ListContainer/ListContainer.js +4 -4
  147. package/dist/esm/ListContainer/ListContainer.js.map +1 -1
  148. package/dist/esm/ListContainer/ListItem/ListItem.js +5 -5
  149. package/dist/esm/ListContainer/ListItem/ListItem.js.map +1 -1
  150. package/dist/esm/MultiButton/MultiButton.js +26 -11
  151. package/dist/esm/MultiButton/MultiButton.js.map +1 -1
  152. package/dist/esm/MultiButton/MultiButton.styles.js +56 -326
  153. package/dist/esm/MultiButton/MultiButton.styles.js.map +1 -1
  154. package/dist/esm/Pagination/Pagination.js.map +1 -1
  155. package/dist/esm/Pagination/Pagination.styles.js.map +1 -1
  156. package/dist/esm/Pagination/Select.js.map +1 -1
  157. package/dist/esm/Radio/Radio.js.map +1 -1
  158. package/dist/esm/Select/Select.js +6 -2
  159. package/dist/esm/Select/Select.js.map +1 -1
  160. package/dist/esm/SelectionList/SelectionList.js +5 -5
  161. package/dist/esm/SelectionList/SelectionList.js.map +1 -1
  162. package/dist/esm/Slider/Slider.js.map +1 -1
  163. package/dist/esm/Slider/Slider.styles.js.map +1 -1
  164. package/dist/esm/Slider/utils.js.map +1 -1
  165. package/dist/esm/Snackbar/Snackbar.js.map +1 -1
  166. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js +0 -3
  167. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +1 -1
  168. package/dist/esm/SnackbarProvider/SnackbarProvider.js.map +1 -1
  169. package/dist/esm/Stack/Stack.js +3 -3
  170. package/dist/esm/Stack/Stack.js.map +1 -1
  171. package/dist/esm/Switch/Switch.js.map +1 -1
  172. package/dist/esm/Tab/Tab.styles.js.map +1 -1
  173. package/dist/esm/Table/Table.js.map +1 -1
  174. package/dist/esm/Table/TableBody/TableBody.js.map +1 -1
  175. package/dist/esm/Table/TableCell/TableCell.js.map +1 -1
  176. package/dist/esm/Table/TableCell/TableCell.styles.js.map +1 -1
  177. package/dist/esm/Table/TableHeader/TableHeader.js.map +1 -1
  178. package/dist/esm/Table/hooks/useHeaderGroups.js.map +1 -1
  179. package/dist/esm/Table/hooks/useResizeColumns.js.map +1 -1
  180. package/dist/esm/Table/hooks/useRowExpand.js.map +1 -1
  181. package/dist/esm/Table/hooks/useRowSelection.js.map +1 -1
  182. package/dist/esm/Table/hooks/useSticky.js.map +1 -1
  183. package/dist/esm/Table/hooks/useTableStyles.js.map +1 -1
  184. package/dist/esm/Tag/Tag.js.map +1 -1
  185. package/dist/esm/Tag/Tag.styles.js.map +1 -1
  186. package/dist/esm/TagsInput/TagsInput.js.map +1 -1
  187. package/dist/esm/Tooltip/Tooltip.js.map +1 -1
  188. package/dist/esm/TreeView/TreeItem/DefaultContent.js.map +1 -1
  189. package/dist/esm/TreeView/TreeItem/TreeItem.js.map +1 -1
  190. package/dist/esm/VerticalNavigation/Actions/Action.js.map +1 -1
  191. package/dist/esm/VerticalNavigation/Header/Header.js.map +1 -1
  192. package/dist/esm/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
  193. package/dist/esm/hooks/useClickOutside.js.map +1 -1
  194. package/dist/esm/providers/Provider.js.map +1 -1
  195. package/dist/types/index.d.ts +247 -258
  196. package/package.json +5 -5
  197. package/dist/cjs/Select/SelectButton.cjs +0 -92
  198. package/dist/cjs/Select/SelectButton.cjs.map +0 -1
  199. package/dist/esm/Select/SelectButton.js +0 -92
  200. package/dist/esm/Select/SelectButton.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
2
  import { createClasses } from "../utils/classes.js";
3
+ import { getColoringStyle, getSizeStyles } from "../Button/Button.styles.js";
3
4
  import { staticClasses as staticClasses$1 } from "../DropDownMenu/DropDownMenu.styles.js";
4
5
  import "@emotion/react/jsx-runtime";
5
6
  import "react";
@@ -9,9 +10,11 @@ const { staticClasses, useClasses } = createClasses("HvMultiButton", {
9
10
  display: "flex",
10
11
  alignItems: "center",
11
12
  transition: "none",
12
- background: theme.colors.atmo2,
13
13
  position: "relative",
14
- zIndex: 0,
14
+ zIndex: 0
15
+ },
16
+ multiple: {
17
+ background: theme.colors.atmo2,
15
18
  // prevent the focus ring to be hidden by sibling hover background
16
19
  "&>.HvIsFocusVisible": {
17
20
  zIndex: 5
@@ -90,215 +93,50 @@ const { staticClasses, useClasses } = createClasses("HvMultiButton", {
90
93
  border: `solid 1px ${theme.colors.atmo4}`
91
94
  }
92
95
  }
93
- },
94
- // dropdown menu styles
95
- "& $button": {
96
- [`&.${staticClasses$1.container}`]: {
97
- width: "unset"
98
- },
99
- [`& .${staticClasses$1.icon}`]: {
100
- borderTop: `solid 1px ${theme.colors.atmo4}`,
101
- borderBottom: `solid 1px ${theme.colors.atmo4}`,
102
- borderLeft: "solid 1px transparent",
103
- borderRight: "solid 1px transparent",
104
- borderRadius: 0,
105
- "&:disabled": {
106
- borderTop: `solid 1px ${theme.colors.atmo4}`,
107
- borderBottom: `solid 1px ${theme.colors.atmo4}`,
108
- "&:hover": {
109
- borderTop: `solid 1px ${theme.colors.atmo4}`,
110
- borderBottom: `solid 1px ${theme.colors.atmo4}`,
111
- borderLeft: "solid 1px transparent",
112
- borderRight: "solid 1px transparent"
113
- }
114
- }
115
- },
116
- [`& .${staticClasses$1.iconSelected}`]: {
117
- border: `solid 1px ${theme.colors.secondary}`
118
- },
119
- "&$firstButton": {
120
- [`& .${staticClasses$1.icon}`]: {
121
- borderLeft: `solid 1px ${theme.colors.atmo4}`,
122
- borderTopLeftRadius: theme.radii.base,
123
- borderBottomLeftRadius: theme.radii.base,
124
- "&:disabled": {
125
- borderLeft: `solid 1px ${theme.colors.atmo4}`
126
- }
127
- },
128
- [`& .${staticClasses$1.iconSelected}`]: {
129
- border: `solid 1px ${theme.colors.secondary}`
130
- }
131
- },
132
- "&$lastButton": {
133
- [`& .${staticClasses$1.icon}`]: {
134
- borderRight: `solid 1px ${theme.colors.atmo4}`,
135
- borderTopRightRadius: theme.radii.base,
136
- borderBottomRightRadius: theme.radii.base,
137
- "&:disabled": {
138
- borderRight: `solid 1px ${theme.colors.atmo4}`
139
- },
140
- "&:disabled:hover": {
141
- borderRight: `solid 1px ${theme.colors.atmo4}`
142
- }
143
- },
144
- [`& .${staticClasses$1.iconSelected}`]: {
145
- border: `solid 1px ${theme.colors.secondary}`
146
- }
147
- },
148
- "&:not($firstButton) > button": {
149
- marginLeft: "-1px"
150
- }
151
96
  }
152
97
  },
153
98
  splitGroup: {
99
+ width: "fit-content",
154
100
  background: theme.colors.atmo1,
101
+ // Button
155
102
  "& button$button": {
156
- marginLeft: -1,
157
- "&:disabled": {
158
- borderTop: "none",
159
- borderBottom: "none",
160
- "&:hover": {
161
- borderTop: "none",
162
- borderBottom: "none"
163
- }
164
- },
165
103
  "&$firstButton": {
166
- "&:not($selected):disabled": {
167
- borderLeft: "none",
168
- "&:hover": {
169
- borderLeft: "none"
170
- }
104
+ borderTopRightRadius: 0,
105
+ borderBottomRightRadius: 0,
106
+ "& + div$splitContainer": {
107
+ marginLeft: -1
171
108
  }
172
109
  },
173
110
  "&$lastButton": {
174
- "&:not($selected):disabled": {
175
- borderRight: "none",
176
- "&:hover": {
177
- borderRight: "none"
178
- }
179
- }
180
- },
181
- "&:not($firstButton)": {
182
- marginLeft: 0
111
+ borderTopLeftRadius: 0,
112
+ borderBottomLeftRadius: 0
183
113
  }
184
114
  },
185
- // dropdown menu styles
186
- "& $button": {
187
- marginLeft: -1,
188
- [`& .${staticClasses$1.icon}`]: {
189
- "&:disabled": {
190
- borderTop: "none",
191
- borderBottom: "none",
192
- "&:hover": {
193
- borderTop: "none",
194
- borderBottom: "none"
195
- }
196
- }
197
- },
198
- [`& .${staticClasses$1.iconSelected}`]: {
199
- zIndex: 2
200
- },
201
- "&$firstButton": {
202
- [`& .${staticClasses$1.icon}`]: {
203
- "&:disabled": {
204
- borderLeft: "none",
205
- "&:hover": {
206
- borderLeft: "none"
207
- }
208
- }
209
- }
210
- },
211
- "&$lastButton": {
212
- [`& .${staticClasses$1.icon}`]: {
213
- "&:disabled": {
214
- borderRight: "none",
215
- "&:hover": {
216
- borderRight: "none"
217
- }
218
- }
115
+ // Dropdown Menu
116
+ [`& .${staticClasses$1.root}`]: {
117
+ "&:has($firstButton)": {
118
+ "& + div$splitContainer": {
119
+ marginRight: -1
219
120
  }
220
- },
221
- "&:not($firstButton) > button": {
222
- marginLeft: 0
223
121
  }
224
122
  },
225
- "&$secondarySubtle": {
226
- "& button$button": {
227
- borderTop: `solid 1px ${theme.colors.secondary}`,
228
- borderBottom: `solid 1px ${theme.colors.secondary}`,
229
- "&$firstButton": {
230
- borderLeft: `solid 1px ${theme.colors.secondary}`
231
- },
232
- "&$lastButton": {
233
- borderRight: `solid 1px ${theme.colors.secondary}`
234
- },
235
- "&:not($selected):disabled": {
236
- borderTop: "none",
237
- borderBottom: "none",
238
- "&:hover": {
239
- borderTop: "none",
240
- borderBottom: "none"
241
- },
242
- "&$firstButton": {
243
- "&:not($selected):disabled": {
244
- borderLeft: "none",
245
- "&:hover": {
246
- borderLeft: "none"
247
- }
248
- }
249
- },
250
- "&$lastButton": {
251
- "&:not($selected):disabled": {
252
- borderRight: "none",
253
- "&:hover": {
254
- borderRight: "none"
255
- }
256
- }
257
- }
258
- }
259
- },
260
- "& $button": {
261
- [`& .${staticClasses$1.icon}`]: {
262
- borderTop: `solid 1px ${theme.colors.secondary}`,
263
- borderBottom: `solid 1px ${theme.colors.secondary}`,
264
- "&:disabled": {
265
- borderTop: "none",
266
- borderBottom: "none",
267
- "&:hover": {
268
- borderTop: "none",
269
- borderBottom: "none"
270
- }
271
- }
272
- },
273
- "&$firstButton": {
274
- [`& .${staticClasses$1.icon}`]: {
275
- borderLeft: `solid 1px ${theme.colors.secondary}`,
276
- "&:disabled": {
277
- borderLeft: "none",
278
- "&:hover": {
279
- borderLeft: "none"
280
- }
281
- }
282
- }
283
- },
284
- "&$lastButton": {
285
- [`& .${staticClasses$1.icon}`]: {
286
- borderRight: `solid 1px ${theme.colors.secondary}`,
287
- "&:disabled": {
288
- borderRight: "none",
289
- "&:hover": {
290
- borderRight: "none"
291
- }
292
- }
293
- }
294
- }
295
- }
123
+ "& $button$firstButton > button": {
124
+ marginRight: -1.5,
125
+ borderTopRightRadius: 0,
126
+ borderBottomRightRadius: 0
127
+ },
128
+ "& $button$lastButton > button": {
129
+ marginLeft: -1.5,
130
+ borderTopLeftRadius: 0,
131
+ borderBottomLeftRadius: 0
132
+ },
133
+ [`& .${staticClasses$1.iconSelected}`]: {
134
+ zIndex: 2
296
135
  }
297
136
  },
298
- splitGroupDisabled: { background: "transparent" },
137
+ splitGroupDisabled: { background: theme.colors.atmo3 },
299
138
  button: {},
300
139
  selected: {},
301
- // vertical button display Styling
302
140
  vertical: {
303
141
  flexDirection: "column",
304
142
  height: "auto",
@@ -362,151 +200,43 @@ const { staticClasses, useClasses } = createClasses("HvMultiButton", {
362
200
  }
363
201
  }
364
202
  },
365
- primary: {
366
- "& button$button": {
367
- borderTop: "none",
368
- borderBottom: "none",
369
- "&$firstButton": {
370
- borderLeft: "none"
371
- },
372
- "&$lastButton": {
373
- borderRight: "none"
374
- },
375
- "&$selected": {
376
- border: `solid 1px ${theme.colors.secondary}`
377
- }
378
- },
379
- // dropdown menu styles
380
- "& $button": {
381
- [`& .${staticClasses$1.icon}`]: {
382
- borderTop: "none",
383
- borderBottom: "none"
384
- },
385
- [`& .${staticClasses$1.iconSelected}`]: {
386
- border: `solid 1px ${theme.colors.secondary}`
387
- },
388
- "&$firstButton": {
389
- [`& .${staticClasses$1.icon}`]: {
390
- borderLeft: "none"
391
- },
392
- [`& .${staticClasses$1.iconSelected}`]: {
393
- borderLeft: `solid 1px ${theme.colors.secondary}`
394
- }
395
- },
396
- "&$lastButton": {
397
- [`& .${staticClasses$1.icon}`]: {
398
- borderRight: "none"
399
- },
400
- [`& .${staticClasses$1.iconSelected}`]: {
401
- borderRight: `solid 1px ${theme.colors.secondary}`
402
- }
403
- }
404
- }
405
- },
406
- primarySubtle: {
407
- "& button$button": {
408
- borderTop: `solid 1px ${theme.colors.primary}`,
409
- borderBottom: `solid 1px ${theme.colors.primary}`,
410
- "&$firstButton": {
411
- borderLeft: `solid 1px ${theme.colors.primary}`
412
- },
413
- "&$lastButton": {
414
- borderRight: `solid 1px ${theme.colors.primary}`
415
- }
416
- },
417
- // dropdown menu styles
418
- "& $button": {
419
- [`& .${staticClasses$1.icon}`]: {
420
- borderTop: `solid 1px ${theme.colors.primary}`,
421
- borderBottom: `solid 1px ${theme.colors.primary}`
422
- },
423
- "&$firstButton": {
424
- [`& .${staticClasses$1.icon}`]: {
425
- borderLeft: `solid 1px ${theme.colors.primary}`
426
- },
427
- [`& .${staticClasses$1.iconSelected}`]: {
428
- border: `solid 1px ${theme.colors.secondary}`
429
- }
430
- },
431
- "&$lastButton": {
432
- [`& .${staticClasses$1.icon}`]: {
433
- borderRight: `solid 1px ${theme.colors.primary}`
434
- },
435
- [`& .${staticClasses$1.iconSelected}`]: {
436
- border: `solid 1px ${theme.colors.secondary}`
437
- }
438
- }
439
- }
440
- },
441
- primaryGhost: {},
442
- secondary: {},
443
- secondarySubtle: {},
444
- secondaryGhost: {
445
- "& button$button": {
446
- "&:disabled": {
447
- background: theme.colors.atmo3
448
- }
449
- },
450
- // dropdown menu styles
451
- "& $button": {
452
- [`& .${staticClasses$1.icon}`]: {
453
- "&:disabled": {
454
- background: theme.colors.atmo3
455
- }
456
- }
457
- }
458
- },
459
- firstButton: {},
460
- lastButton: {},
461
203
  split: {
462
204
  width: 1,
463
205
  height: "100%",
464
206
  background: "currentColor"
465
207
  },
466
208
  splitContainer: {
209
+ display: "flex",
210
+ justifyContent: "center",
467
211
  zIndex: 1,
468
- marginLeft: -1,
469
- width: 1,
470
- height: "100%",
212
+ width: 2,
471
213
  paddingTop: 4,
472
214
  paddingBottom: 4,
473
- color: theme.colors.secondary,
474
- borderTop: `1px solid ${theme.colors.atmo4}`,
475
- borderBottom: `1px solid ${theme.colors.atmo4}`,
476
- "&$primary": {
477
- color: theme.colors.atmo1,
478
- backgroundColor: theme.colors.primary,
479
- borderTop: `1px solid ${theme.colors.primary}`,
480
- borderBottom: `1px solid ${theme.colors.primary}`
481
- },
482
- "&$primarySubtle": {
483
- color: theme.colors.primary,
484
- borderTop: `1px solid ${theme.colors.primary}`,
485
- borderBottom: `1px solid ${theme.colors.primary}`
486
- },
487
- "&$primaryGhost": {
488
- color: theme.colors.primary,
489
- borderTop: `1px solid ${theme.colors.primary}`,
490
- borderBottom: `1px solid ${theme.colors.primary}`
491
- },
492
- "&$secondarySubtle": {
493
- color: theme.colors.secondary,
494
- borderTop: `1px solid ${theme.colors.secondary}`,
495
- borderBottom: `1px solid ${theme.colors.secondary}`
496
- },
497
- "&$secondaryGhost": {
498
- color: theme.colors.secondary
499
- },
500
- "&$splitDisabled": {
501
- background: "transparent",
502
- color: theme.colors.secondary_60,
503
- borderTop: "none",
504
- borderBottom: "none"
505
- }
215
+ height: "calc(32px - 2px)"
506
216
  },
507
- splitDisabled: {}
217
+ splitDisabled: {
218
+ color: theme.colors.secondary_60
219
+ },
220
+ firstButton: {},
221
+ lastButton: {},
222
+ // TODO - review the need for these classes in v6
223
+ primary: {},
224
+ primarySubtle: {},
225
+ primaryGhost: {},
226
+ secondary: {},
227
+ secondarySubtle: {},
228
+ secondaryGhost: {}
229
+ });
230
+ const getSplitContainerColor = (color, type, disabled) => ({
231
+ color: getColoringStyle(color, type).color,
232
+ backgroundColor: disabled ? theme.colors.atmo3 : type === "subtle" ? theme.colors.atmo1 : "transparent"
233
+ });
234
+ const getSplitContainerHeight = (size) => ({
235
+ height: `calc(${getSizeStyles(size).height} - 2px)`
508
236
  });
509
237
  export {
238
+ getSplitContainerColor,
239
+ getSplitContainerHeight,
510
240
  staticClasses,
511
241
  useClasses
512
242
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MultiButton.styles.js","sources":["../../../src/MultiButton/MultiButton.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { dropDownMenuClasses } from \"../DropDownMenu\";\n\nimport { createClasses } from \"../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvMultiButton\", {\n root: {\n display: \"flex\",\n alignItems: \"center\",\n transition: \"none\",\n background: theme.colors.atmo2,\n position: \"relative\",\n zIndex: 0,\n\n // prevent the focus ring to be hidden by sibling hover background\n \"&>.HvIsFocusVisible\": {\n zIndex: 5,\n },\n\n \"& button$button\": {\n minWidth: \"unset\",\n width: \"100%\",\n maxWidth: 200,\n padding: 0,\n transition: \"none\",\n flex: \"1 0 0px\",\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n borderRadius: 0,\n fontWeight: theme.typography.body.fontWeight,\n fontSize: theme.typography.body.fontSize,\n \"&:disabled\": {\n color: theme.colors.secondary_60,\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n \"&:hover\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n },\n },\n \"&$firstButton\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderBottomLeftRadius: theme.radii.base,\n \"&:disabled\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&$lastButton\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTopRightRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n \"&:disabled:hover\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: \"-1px\",\n },\n \"&$selected\": {\n background: theme.colors.atmo1,\n ...theme.typography.label,\n borderRadius: theme.radii.base,\n border: `solid 1px ${theme.colors.secondary}`,\n zIndex: 2,\n \"&:hover\": {\n background: theme.colors.atmo3,\n \"&:not(:disabled)\": {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n \"&:disabled\": {\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n // prevent the focus ring to be hidden by sibling hover background\n // even when selected\n \"&.HvIsFocusVisible\": {\n zIndex: 5,\n },\n \"&:disabled\": {\n zIndex: 1,\n color: theme.colors.secondary_60,\n background: theme.colors.atmo1,\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n },\n\n // dropdown menu styles\n \"& $button\": {\n [`&.${dropDownMenuClasses.container}`]: {\n width: \"unset\",\n },\n [`& .${dropDownMenuClasses.icon}`]: {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n borderRadius: 0,\n \"&:disabled\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n \"&:hover\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n },\n },\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderBottomLeftRadius: theme.radii.base,\n \"&:disabled\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTopRightRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n \"&:disabled:hover\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n \"&:not($firstButton) > button\": {\n marginLeft: \"-1px\",\n },\n },\n },\n splitGroup: {\n background: theme.colors.atmo1,\n \"& button$button\": {\n marginLeft: -1,\n \"&:disabled\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n },\n \"&$firstButton\": {\n \"&:not($selected):disabled\": {\n borderLeft: \"none\",\n \"&:hover\": {\n borderLeft: \"none\",\n },\n },\n },\n \"&$lastButton\": {\n \"&:not($selected):disabled\": {\n borderRight: \"none\",\n \"&:hover\": {\n borderRight: \"none\",\n },\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: 0,\n },\n },\n // dropdown menu styles\n \"& $button\": {\n marginLeft: -1,\n [`& .${dropDownMenuClasses.icon}`]: {\n \"&:disabled\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n },\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n zIndex: 2,\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n \"&:disabled\": {\n borderLeft: \"none\",\n \"&:hover\": {\n borderLeft: \"none\",\n },\n },\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n \"&:disabled\": {\n borderRight: \"none\",\n \"&:hover\": {\n borderRight: \"none\",\n },\n },\n },\n },\n \"&:not($firstButton) > button\": {\n marginLeft: 0,\n },\n },\n \"&$secondarySubtle\": {\n \"& button$button\": {\n borderTop: `solid 1px ${theme.colors.secondary}`,\n borderBottom: `solid 1px ${theme.colors.secondary}`,\n \"&$firstButton\": {\n borderLeft: `solid 1px ${theme.colors.secondary}`,\n },\n \"&$lastButton\": {\n borderRight: `solid 1px ${theme.colors.secondary}`,\n },\n \"&:not($selected):disabled\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n \"&$firstButton\": {\n \"&:not($selected):disabled\": {\n borderLeft: \"none\",\n \"&:hover\": {\n borderLeft: \"none\",\n },\n },\n },\n \"&$lastButton\": {\n \"&:not($selected):disabled\": {\n borderRight: \"none\",\n \"&:hover\": {\n borderRight: \"none\",\n },\n },\n },\n },\n },\n \"& $button\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderTop: `solid 1px ${theme.colors.secondary}`,\n borderBottom: `solid 1px ${theme.colors.secondary}`,\n \"&:disabled\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n },\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderLeft: `solid 1px ${theme.colors.secondary}`,\n \"&:disabled\": {\n borderLeft: \"none\",\n \"&:hover\": {\n borderLeft: \"none\",\n },\n },\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderRight: `solid 1px ${theme.colors.secondary}`,\n \"&:disabled\": {\n borderRight: \"none\",\n \"&:hover\": {\n borderRight: \"none\",\n },\n },\n },\n },\n },\n },\n },\n splitGroupDisabled: { background: \"transparent\" },\n button: {},\n selected: {},\n // vertical button display Styling\n vertical: {\n flexDirection: \"column\",\n height: \"auto\",\n btnSecondary: {\n flex: \"1 1 20px\",\n },\n \"& button$button\": {\n minWidth: 32,\n width: \"100%\",\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n \"&:disabled\": {\n color: theme.colors.secondary_60,\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n \"&:hover\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n },\n },\n \"&$firstButton\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderTopRightRadius: theme.radii.base,\n },\n \"&$lastButton\": {\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderBottomLeftRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled:hover\": {\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: 0,\n marginTop: -1,\n },\n \"&$selected\": {\n height: 32,\n width: `calc(100% + 2px) !important`,\n background: theme.colors.atmo1,\n ...theme.typography.label,\n borderRadius: theme.radii.base,\n border: `solid 1px ${theme.colors.secondary}`,\n zIndex: 2,\n \"&:hover, &:focus\": {\n background: theme.colors.atmo3,\n },\n \"&:disabled\": {\n zIndex: 1,\n color: theme.colors.secondary_60,\n background: theme.colors.atmo1,\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n },\n },\n primary: {\n \"& button$button\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n\n \"&$firstButton\": {\n borderLeft: \"none\",\n },\n \"&$lastButton\": {\n borderRight: \"none\",\n },\n \"&$selected\": {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n\n // dropdown menu styles\n \"& $button\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderLeft: \"none\",\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n borderLeft: `solid 1px ${theme.colors.secondary}`,\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderRight: \"none\",\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n borderRight: `solid 1px ${theme.colors.secondary}`,\n },\n },\n },\n },\n primarySubtle: {\n \"& button$button\": {\n borderTop: `solid 1px ${theme.colors.primary}`,\n borderBottom: `solid 1px ${theme.colors.primary}`,\n \"&$firstButton\": {\n borderLeft: `solid 1px ${theme.colors.primary}`,\n },\n \"&$lastButton\": {\n borderRight: `solid 1px ${theme.colors.primary}`,\n },\n },\n // dropdown menu styles\n \"& $button\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderTop: `solid 1px ${theme.colors.primary}`,\n borderBottom: `solid 1px ${theme.colors.primary}`,\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderLeft: `solid 1px ${theme.colors.primary}`,\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderRight: `solid 1px ${theme.colors.primary}`,\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n },\n },\n primaryGhost: {},\n secondary: {},\n secondarySubtle: {},\n secondaryGhost: {\n \"& button$button\": {\n \"&:disabled\": {\n background: theme.colors.atmo3,\n },\n },\n // dropdown menu styles\n \"& $button\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n \"&:disabled\": {\n background: theme.colors.atmo3,\n },\n },\n },\n },\n firstButton: {},\n lastButton: {},\n split: {\n width: 1,\n height: \"100%\",\n background: \"currentColor\",\n },\n splitContainer: {\n zIndex: 1,\n marginLeft: -1,\n width: 1,\n height: \"100%\",\n paddingTop: 4,\n paddingBottom: 4,\n color: theme.colors.secondary,\n borderTop: `1px solid ${theme.colors.atmo4}`,\n borderBottom: `1px solid ${theme.colors.atmo4}`,\n \"&$primary\": {\n color: theme.colors.atmo1,\n backgroundColor: theme.colors.primary,\n borderTop: `1px solid ${theme.colors.primary}`,\n borderBottom: `1px solid ${theme.colors.primary}`,\n },\n \"&$primarySubtle\": {\n color: theme.colors.primary,\n borderTop: `1px solid ${theme.colors.primary}`,\n borderBottom: `1px solid ${theme.colors.primary}`,\n },\n \"&$primaryGhost\": {\n color: theme.colors.primary,\n borderTop: `1px solid ${theme.colors.primary}`,\n borderBottom: `1px solid ${theme.colors.primary}`,\n },\n \"&$secondarySubtle\": {\n color: theme.colors.secondary,\n borderTop: `1px solid ${theme.colors.secondary}`,\n borderBottom: `1px solid ${theme.colors.secondary}`,\n },\n \"&$secondaryGhost\": {\n color: theme.colors.secondary,\n },\n \"&$splitDisabled\": {\n background: \"transparent\",\n color: theme.colors.secondary_60,\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n },\n splitDisabled: {},\n});\n"],"names":["dropDownMenuClasses"],"mappings":"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"}
1
+ {"version":3,"file":"MultiButton.styles.js","sources":["../../../src/MultiButton/MultiButton.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../utils/classes\";\nimport { dropDownMenuClasses } from \"../DropDownMenu\";\nimport { getColoringStyle, getSizeStyles } from \"../Button/Button.styles\";\nimport { HvButtonSize } from \"../Button\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvMultiButton\", {\n root: {\n display: \"flex\",\n alignItems: \"center\",\n transition: \"none\",\n position: \"relative\",\n zIndex: 0,\n },\n multiple: {\n background: theme.colors.atmo2,\n\n // prevent the focus ring to be hidden by sibling hover background\n \"&>.HvIsFocusVisible\": {\n zIndex: 5,\n },\n\n \"& button$button\": {\n minWidth: \"unset\",\n width: \"100%\",\n maxWidth: 200,\n padding: 0,\n transition: \"none\",\n flex: \"1 0 0px\",\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n borderRadius: 0,\n fontWeight: theme.typography.body.fontWeight,\n fontSize: theme.typography.body.fontSize,\n \"&:disabled\": {\n color: theme.colors.secondary_60,\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n \"&:hover\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n },\n },\n \"&$firstButton\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderBottomLeftRadius: theme.radii.base,\n \"&:disabled\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&$lastButton\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTopRightRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n \"&:disabled:hover\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: \"-1px\",\n },\n \"&$selected\": {\n background: theme.colors.atmo1,\n ...theme.typography.label,\n borderRadius: theme.radii.base,\n border: `solid 1px ${theme.colors.secondary}`,\n zIndex: 2,\n \"&:hover\": {\n background: theme.colors.atmo3,\n \"&:not(:disabled)\": {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n \"&:disabled\": {\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n // prevent the focus ring to be hidden by sibling hover background\n // even when selected\n \"&.HvIsFocusVisible\": {\n zIndex: 5,\n },\n \"&:disabled\": {\n zIndex: 1,\n color: theme.colors.secondary_60,\n background: theme.colors.atmo1,\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n },\n },\n splitGroup: {\n width: \"fit-content\",\n background: theme.colors.atmo1,\n\n // Button\n \"& button$button\": {\n \"&$firstButton\": {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n \"& + div$splitContainer\": {\n marginLeft: -1,\n },\n },\n \"&$lastButton\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n },\n },\n\n // Dropdown Menu\n [`& .${dropDownMenuClasses.root}`]: {\n \"&:has($firstButton)\": {\n \"& + div$splitContainer\": {\n marginRight: -1,\n },\n },\n },\n \"& $button$firstButton > button\": {\n marginRight: -1.5,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n \"& $button$lastButton > button\": {\n marginLeft: -1.5,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n zIndex: 2,\n },\n },\n splitGroupDisabled: { background: theme.colors.atmo3 },\n button: {},\n selected: {},\n vertical: {\n flexDirection: \"column\",\n height: \"auto\",\n btnSecondary: {\n flex: \"1 1 20px\",\n },\n \"& button$button\": {\n minWidth: 32,\n width: \"100%\",\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n \"&:disabled\": {\n color: theme.colors.secondary_60,\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n \"&:hover\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n },\n },\n \"&$firstButton\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderTopRightRadius: theme.radii.base,\n },\n \"&$lastButton\": {\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderBottomLeftRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled:hover\": {\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: 0,\n marginTop: -1,\n },\n \"&$selected\": {\n height: 32,\n width: `calc(100% + 2px) !important`,\n background: theme.colors.atmo1,\n ...theme.typography.label,\n borderRadius: theme.radii.base,\n border: `solid 1px ${theme.colors.secondary}`,\n zIndex: 2,\n \"&:hover, &:focus\": {\n background: theme.colors.atmo3,\n },\n \"&:disabled\": {\n zIndex: 1,\n color: theme.colors.secondary_60,\n background: theme.colors.atmo1,\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n },\n },\n split: {\n width: 1,\n height: \"100%\",\n background: \"currentColor\",\n },\n splitContainer: {\n display: \"flex\",\n justifyContent: \"center\",\n zIndex: 1,\n width: 2,\n paddingTop: 4,\n paddingBottom: 4,\n height: \"calc(32px - 2px)\",\n },\n splitDisabled: {\n color: theme.colors.secondary_60,\n },\n firstButton: {},\n lastButton: {},\n\n // TODO - review the need for these classes in v6\n primary: {},\n primarySubtle: {},\n primaryGhost: {},\n secondary: {},\n secondarySubtle: {},\n secondaryGhost: {},\n});\n\nexport const getSplitContainerColor = (\n color: string,\n type?: string,\n disabled?: boolean\n) => ({\n color: getColoringStyle(color, type).color,\n backgroundColor: disabled\n ? theme.colors.atmo3\n : type === \"subtle\"\n ? theme.colors.atmo1\n : \"transparent\",\n});\n\nexport const getSplitContainerHeight = (size: HvButtonSize) => ({\n height: `calc(${getSizeStyles(size).height} - 2px)`,\n});\n"],"names":["dropDownMenuClasses"],"mappings":";;;;;;;AAOO,MAAM,EAAE,eAAe,eAAe,cAAc,iBAAiB;AAAA,EAC1E,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,YAAY,MAAM,OAAO;AAAA;AAAA,IAGzB,uBAAuB;AAAA,MACrB,QAAQ;AAAA,IACV;AAAA,IAEA,mBAAmB;AAAA,MACjB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,WAAW,aAAa,MAAM,OAAO,KAAK;AAAA,MAC1C,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,MAC7C,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,cAAc;AAAA,MACd,YAAY,MAAM,WAAW,KAAK;AAAA,MAClC,UAAU,MAAM,WAAW,KAAK;AAAA,MAChC,cAAc;AAAA,QACZ,OAAO,MAAM,OAAO;AAAA,QACpB,WAAW,aAAa,MAAM,OAAO,KAAK;AAAA,QAC1C,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,QAC7C,WAAW;AAAA,UACT,WAAW,aAAa,MAAM,OAAO,KAAK;AAAA,UAC1C,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,UAC7C,YAAY;AAAA,UACZ,aAAa;AAAA,QACf;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,QAC3C,qBAAqB,MAAM,MAAM;AAAA,QACjC,wBAAwB,MAAM,MAAM;AAAA,QACpC,cAAc;AAAA,UACZ,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,aAAa,aAAa,MAAM,OAAO,KAAK;AAAA,QAC5C,sBAAsB,MAAM,MAAM;AAAA,QAClC,yBAAyB,MAAM,MAAM;AAAA,QACrC,cAAc;AAAA,UACZ,aAAa,aAAa,MAAM,OAAO,KAAK;AAAA,QAC9C;AAAA,QACA,oBAAoB;AAAA,UAClB,aAAa,aAAa,MAAM,OAAO,KAAK;AAAA,QAC9C;AAAA,MACF;AAAA,MACA,uBAAuB;AAAA,QACrB,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,QACZ,YAAY,MAAM,OAAO;AAAA,QACzB,GAAG,MAAM,WAAW;AAAA,QACpB,cAAc,MAAM,MAAM;AAAA,QAC1B,QAAQ,aAAa,MAAM,OAAO,SAAS;AAAA,QAC3C,QAAQ;AAAA,QACR,WAAW;AAAA,UACT,YAAY,MAAM,OAAO;AAAA,UACzB,oBAAoB;AAAA,YAClB,QAAQ,aAAa,MAAM,OAAO,SAAS;AAAA,UAC7C;AAAA,UACA,cAAc;AAAA,YACZ,QAAQ,aAAa,MAAM,OAAO,KAAK;AAAA,UACzC;AAAA,QACF;AAAA;AAAA;AAAA,QAGA,sBAAsB;AAAA,UACpB,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,QAAQ;AAAA,UACR,OAAO,MAAM,OAAO;AAAA,UACpB,YAAY,MAAM,OAAO;AAAA,UACzB,QAAQ,aAAa,MAAM,OAAO,KAAK;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,YAAY,MAAM,OAAO;AAAA;AAAA,IAGzB,mBAAmB;AAAA,MACjB,iBAAiB;AAAA,QACf,sBAAsB;AAAA,QACtB,yBAAyB;AAAA,QACzB,0BAA0B;AAAA,UACxB,YAAY;AAAA,QACd;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,qBAAqB;AAAA,QACrB,wBAAwB;AAAA,MAC1B;AAAA,IACF;AAAA;AAAA,IAGA,CAAC,MAAMA,gBAAoB,IAAI,EAAE,GAAG;AAAA,MAClC,uBAAuB;AAAA,QACrB,0BAA0B;AAAA,UACxB,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC,aAAa;AAAA,MACb,sBAAsB;AAAA,MACtB,yBAAyB;AAAA,IAC3B;AAAA,IACA,iCAAiC;AAAA,MAC/B,YAAY;AAAA,MACZ,qBAAqB;AAAA,MACrB,wBAAwB;AAAA,IAC1B;AAAA,IACA,CAAC,MAAMA,gBAAoB,YAAY,EAAE,GAAG;AAAA,MAC1C,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,oBAAoB,EAAE,YAAY,MAAM,OAAO,MAAM;AAAA,EACrD,QAAQ,CAAC;AAAA,EACT,UAAU,CAAC;AAAA,EACX,UAAU;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,mBAAmB;AAAA,MACjB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,MAC3C,aAAa,aAAa,MAAM,OAAO,KAAK;AAAA,MAC5C,WAAW;AAAA,MACX,cAAc;AAAA,MACd,cAAc;AAAA,QACZ,OAAO,MAAM,OAAO;AAAA,QACpB,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,QAC3C,aAAa,aAAa,MAAM,OAAO,KAAK;AAAA,QAC5C,WAAW;AAAA,QACX,cAAc;AAAA,QACd,WAAW;AAAA,UACT,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,UAC3C,aAAa,aAAa,MAAM,OAAO,KAAK;AAAA,UAC5C,WAAW;AAAA,UACX,cAAc;AAAA,QAChB;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,aAAa,MAAM,OAAO,KAAK;AAAA,QAC1C,qBAAqB,MAAM,MAAM;AAAA,QACjC,sBAAsB,MAAM,MAAM;AAAA,MACpC;AAAA,MACA,gBAAgB;AAAA,QACd,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,QAC7C,wBAAwB,MAAM,MAAM;AAAA,QACpC,yBAAyB,MAAM,MAAM;AAAA,QACrC,oBAAoB;AAAA,UAClB,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,QAC/C;AAAA,MACF;AAAA,MACA,uBAAuB;AAAA,QACrB,YAAY;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,MACA,cAAc;AAAA,QACZ,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,YAAY,MAAM,OAAO;AAAA,QACzB,GAAG,MAAM,WAAW;AAAA,QACpB,cAAc,MAAM,MAAM;AAAA,QAC1B,QAAQ,aAAa,MAAM,OAAO,SAAS;AAAA,QAC3C,QAAQ;AAAA,QACR,oBAAoB;AAAA,UAClB,YAAY,MAAM,OAAO;AAAA,QAC3B;AAAA,QACA,cAAc;AAAA,UACZ,QAAQ;AAAA,UACR,OAAO,MAAM,OAAO;AAAA,UACpB,YAAY,MAAM,OAAO;AAAA,UACzB,QAAQ,aAAa,MAAM,OAAO,KAAK;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,OAAO,MAAM,OAAO;AAAA,EACtB;AAAA,EACA,aAAa,CAAC;AAAA,EACd,YAAY,CAAC;AAAA;AAAA,EAGb,SAAS,CAAC;AAAA,EACV,eAAe,CAAC;AAAA,EAChB,cAAc,CAAC;AAAA,EACf,WAAW,CAAC;AAAA,EACZ,iBAAiB,CAAC;AAAA,EAClB,gBAAgB,CAAC;AACnB,CAAC;AAEM,MAAM,yBAAyB,CACpC,OACA,MACA,cACI;AAAA,EACJ,OAAO,iBAAiB,OAAO,IAAI,EAAE;AAAA,EACrC,iBAAiB,WACb,MAAM,OAAO,QACb,SAAS,WACT,MAAM,OAAO,QACb;AACN;AAEa,MAAA,0BAA0B,CAAC,UAAwB;AAAA,EAC9D,QAAQ,QAAQ,cAAc,IAAI,EAAE,MAAM;AAC5C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../src/Pagination/Pagination.tsx"],"sourcesContent":["import { HTMLAttributes, useCallback, useEffect } from \"react\";\nimport Hidden from \"@mui/material/Hidden\";\nimport {\n Start,\n End,\n Backwards,\n Forwards,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvInput, HvInputProps } from \"../Input\";\nimport { HvTypography } from \"../Typography\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { setId } from \"../utils/setId\";\nimport { isKey } from \"../utils/keyboardUtils\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport HvSelect, { Option } from \"./Select\";\nimport { staticClasses, useClasses } from \"./Pagination.styles\";\nimport { usePageInput, getSafePage, setColor } from \"./utils\";\nimport { HvIconButton } from \"../IconButton\";\n\nexport { staticClasses as paginationClasses };\n\nexport type HvPaginationClasses = ExtractNames<typeof useClasses>;\n\nconst defaultPageSizeOptions = [5, 10, 20, 25, 50, 100];\n\nconst DEFAULT_LABELS = {\n /** The show label. */\n pageSizePrev: \"Show\",\n /** Indicate the units of the page size selection. */\n pageSizeEntryName: \"rows\",\n /** Used for the aria-label of the selection of number of unit.s */\n pageSizeSelectorDescription: \"Select how many to display\",\n /** Separator of current page and total pages. */\n pagesSeparator: \"/\",\n /** Title of button `firstPage`. @deprecated Use `firstPage` instead. */\n paginationFirstPageTitle: \"First page\",\n /** Title of button `previousPage`. @deprecated Use `previousPage` instead. */\n paginationPreviousPageTitle: \"Previous page\",\n /** Title of button `nextPage`. @deprecated Use `nextPage` instead. */\n paginationNextPageTitle: \"Next page\",\n /** Title of button `lastPage`. @deprecated Use `lastPage` instead. */\n paginationLastPageTitle: \"Last page\",\n /** Aria-label passed to the page input. */\n paginationInputLabel: \"Current page\",\n /** Label of the first page button */\n firstPage: \"First Page\",\n /** Label of the previous page button */\n previousPage: \"Previous Page\",\n /** Label of the next page button */\n nextPage: \"Next Page\",\n /** Label of the last page button */\n lastPage: \"Last Page\",\n};\n\nexport type HvPaginationLabels = Partial<typeof DEFAULT_LABELS>;\n\nexport interface HvPaginationProps extends HvBaseProps {\n /** The number of pages the component has. */\n pages?: number;\n /** The currently selected page (0-indexed). */\n page?: number;\n /** Controls whether the left page size mechanism should be visible. */\n showPageSizeOptions?: boolean;\n /** The array of possible page sizes for the dropdown. */\n pageSizeOptions?: number[];\n /** The currently selected page size. */\n pageSize?: number;\n /** Controls whether the central page changing mechanism should be visible. */\n showPageJump?: boolean;\n /** Controls whether the previous/first page buttons are enabled. */\n canPrevious?: boolean;\n /** Controls whether the next/last page buttons are enabled. */\n canNext?: boolean;\n /** Function called when the page changes. */\n onPageChange?: (page: number) => void;\n /** Function called when the page size changes. */\n onPageSizeChange?: (pageSize: number) => void;\n /** An object containing all the labels for the component. */\n labels?: HvPaginationLabels;\n /** Other props to show page component. */\n showPageProps?: HTMLAttributes<HTMLDivElement>;\n /** Other props to pagination component. */\n navigationProps?: HTMLAttributes<HTMLDivElement>;\n /** Extra properties passed to the input component representing the current pages. */\n currentPageInputProps?: HvInputProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvPaginationClasses;\n}\n\n/**\n * Pagination is the process of dividing a document into discrete pages. It relates to how users interact\n * with structured content on a website or application.\n */\nexport const HvPagination = (props: HvPaginationProps) => {\n const {\n classes: classesProp,\n className,\n id,\n pages = 1,\n page = 0,\n showPageSizeOptions = true,\n pageSizeOptions = defaultPageSizeOptions,\n pageSize = defaultPageSizeOptions[1],\n showPageJump = true,\n canPrevious = false,\n canNext = false,\n onPageChange,\n onPageSizeChange,\n labels: labelsProp,\n showPageProps,\n navigationProps,\n currentPageInputProps,\n ...others\n } = useDefaultProps(\"HvPagination\", props);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n const [pageInput, handleInputChange] = usePageInput(page);\n const { classes, cx } = useClasses(classesProp);\n\n const changePage = useCallback(\n (newPage: number) => {\n const safePage: number = getSafePage(newPage, page, pages);\n\n onPageChange?.(safePage);\n handleInputChange(null, safePage + 1);\n },\n [page, pages, onPageChange, handleInputChange]\n );\n\n useEffect(() => {\n if (page >= pages && pages > 0) {\n changePage(page);\n }\n }, [changePage, page, pages]);\n\n useEffect(() => {\n if (pageInput !== page + 1) {\n handleInputChange(null, page + 1);\n }\n\n // we only want to \"fix\" the input's display value when `page` property changed\n // (either externally or when internally committed - onBlur or Enter),\n // not while editing the input.\n // breaking a rule of hooks isn't ideal and it's just a hack for fixing\n // a bug preventing properly controlling of the `page` property.\n // fixing it some other way would potentially introduce a breaking change.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [handleInputChange, page]);\n\n const renderPageJump = () => (\n <div className={classes.pageJump}>\n <HvInput\n id={setId(id, \"currentPage\")}\n labels={labels}\n inputProps={{\n \"aria-label\": labels?.paginationInputLabel,\n // We really want the native number input\n type: \"number\",\n }}\n classes={{\n root: classes?.pageSizeInputContainer,\n input: classes?.pageSizeInput,\n inputRoot: classes?.pageSizeInputRoot,\n }}\n onChange={(event, value) => handleInputChange(event, Number(value))}\n value={String(pageInput)}\n onBlur={(evt, value) => changePage(Number(value) - 1)}\n onKeyDown={(evt, value) =>\n isKey(evt, \"Enter\") && changePage(Number(value) - 1)\n }\n disabled={pageSize === 0}\n disableClear\n {...currentPageInputProps}\n />\n </div>\n );\n\n return (\n <div id={id} className={cx(classes.root, className)} {...others}>\n <div className={classes.pageSizeOptions} {...showPageProps}>\n {showPageSizeOptions && (\n <>\n <Hidden xsDown>\n <HvTypography\n component=\"span\"\n className={classes?.pageSizeTextContainer}\n >\n {labels?.pageSizePrev}\n </HvTypography>\n </Hidden>\n <HvSelect\n id={setId(id, \"pageSize\")}\n disabled={pageSize === 0}\n className={classes.pageSizeOptionsSelect}\n aria-label={labels?.pageSizeSelectorDescription}\n onChange={(_: any, val: number) => onPageSizeChange?.(val)}\n value={pageSize}\n classes={{\n header: classes.pageSizeHeader,\n root: classes.pageSizeRoot,\n }}\n >\n {pageSizeOptions.map((option) => (\n <Option key={option} value={option}>\n {option}\n </Option>\n ))}\n </HvSelect>\n <Hidden xsDown>\n <HvTypography\n component=\"span\"\n className={classes.pageSizeTextContainer}\n >\n {labels?.pageSizeEntryName}\n </HvTypography>\n </Hidden>\n </>\n )}\n </div>\n <div className={classes.pageNavigator} {...navigationProps}>\n <HvIconButton\n id={setId(id, \"firstPage-button\")}\n className={classes.iconContainer}\n disabled={!canPrevious}\n onClick={() => changePage(0)}\n title={labels?.firstPage || labels?.paginationFirstPageTitle}\n >\n <Start\n role=\"none\"\n className={classes.icon}\n color={setColor(!canPrevious)}\n iconSize=\"XS\"\n />\n </HvIconButton>\n <HvIconButton\n id={setId(id, \"previousPage-button\")}\n className={classes.iconContainer}\n disabled={!canPrevious}\n onClick={() => changePage(page - 1)}\n title={labels?.previousPage || labels?.paginationPreviousPageTitle}\n >\n <Backwards\n role=\"none\"\n className={classes.icon}\n color={setColor(!canPrevious)}\n iconSize=\"XS\"\n />\n </HvIconButton>\n <div className={classes.pageInfo}>\n {showPageJump ? (\n renderPageJump()\n ) : (\n <HvTypography variant=\"caption2\" component=\"span\">{`${\n page + 1\n }`}</HvTypography>\n )}\n <HvTypography component=\"span\">{`${labels?.pagesSeparator} `}</HvTypography>\n <HvTypography\n component=\"span\"\n id={setId(id, \"totalPages\")}\n className={classes.totalPagesTextContainer}\n >\n {pages}\n </HvTypography>\n </div>\n <HvIconButton\n id={setId(id, \"nextPage-button\")}\n className={classes.iconContainer}\n disabled={!canNext}\n onClick={() => changePage(page + 1)}\n title={labels?.nextPage || labels?.paginationNextPageTitle}\n >\n <Forwards\n role=\"none\"\n className={classes.icon}\n color={setColor(!canNext)}\n iconSize=\"XS\"\n />\n </HvIconButton>\n <HvIconButton\n id={setId(id, \"lastPage-button\")}\n className={classes.iconContainer}\n disabled={!canNext}\n onClick={() => changePage(pages - 1)}\n title={labels?.lastPage || labels?.paginationLastPageTitle}\n >\n <End\n className={classes.icon}\n color={setColor(!canNext)}\n iconSize=\"XS\"\n />\n </HvIconButton>\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../src/Pagination/Pagination.tsx"],"sourcesContent":["import { useCallback, useEffect } from \"react\";\nimport Hidden from \"@mui/material/Hidden\";\nimport {\n Start,\n End,\n Backwards,\n Forwards,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvInput, HvInputProps } from \"../Input\";\nimport { HvTypography } from \"../Typography\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { setId } from \"../utils/setId\";\nimport { isKey } from \"../utils/keyboardUtils\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport HvSelect, { Option } from \"./Select\";\nimport { staticClasses, useClasses } from \"./Pagination.styles\";\nimport { usePageInput, getSafePage, setColor } from \"./utils\";\nimport { HvIconButton } from \"../IconButton\";\n\nexport { staticClasses as paginationClasses };\n\nexport type HvPaginationClasses = ExtractNames<typeof useClasses>;\n\nconst defaultPageSizeOptions = [5, 10, 20, 25, 50, 100];\n\nconst DEFAULT_LABELS = {\n /** The show label. */\n pageSizePrev: \"Show\",\n /** Indicate the units of the page size selection. */\n pageSizeEntryName: \"rows\",\n /** Used for the aria-label of the selection of number of unit.s */\n pageSizeSelectorDescription: \"Select how many to display\",\n /** Separator of current page and total pages. */\n pagesSeparator: \"/\",\n /** Title of button `firstPage`. @deprecated Use `firstPage` instead. */\n paginationFirstPageTitle: \"First page\",\n /** Title of button `previousPage`. @deprecated Use `previousPage` instead. */\n paginationPreviousPageTitle: \"Previous page\",\n /** Title of button `nextPage`. @deprecated Use `nextPage` instead. */\n paginationNextPageTitle: \"Next page\",\n /** Title of button `lastPage`. @deprecated Use `lastPage` instead. */\n paginationLastPageTitle: \"Last page\",\n /** Aria-label passed to the page input. */\n paginationInputLabel: \"Current page\",\n /** Label of the first page button */\n firstPage: \"First Page\",\n /** Label of the previous page button */\n previousPage: \"Previous Page\",\n /** Label of the next page button */\n nextPage: \"Next Page\",\n /** Label of the last page button */\n lastPage: \"Last Page\",\n};\n\nexport type HvPaginationLabels = Partial<typeof DEFAULT_LABELS>;\n\nexport interface HvPaginationProps extends HvBaseProps {\n /** The number of pages the component has. */\n pages?: number;\n /** The currently selected page (0-indexed). */\n page?: number;\n /** Controls whether the left page size mechanism should be visible. */\n showPageSizeOptions?: boolean;\n /** The array of possible page sizes for the dropdown. */\n pageSizeOptions?: number[];\n /** The currently selected page size. */\n pageSize?: number;\n /** Controls whether the central page changing mechanism should be visible. */\n showPageJump?: boolean;\n /** Controls whether the previous/first page buttons are enabled. */\n canPrevious?: boolean;\n /** Controls whether the next/last page buttons are enabled. */\n canNext?: boolean;\n /** Function called when the page changes. */\n onPageChange?: (page: number) => void;\n /** Function called when the page size changes. */\n onPageSizeChange?: (pageSize: number) => void;\n /** An object containing all the labels for the component. */\n labels?: HvPaginationLabels;\n /** Other props to show page component. */\n showPageProps?: React.HTMLAttributes<HTMLDivElement>;\n /** Other props to pagination component. */\n navigationProps?: React.HTMLAttributes<HTMLDivElement>;\n /** Extra properties passed to the input component representing the current pages. */\n currentPageInputProps?: HvInputProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvPaginationClasses;\n}\n\n/**\n * Pagination is the process of dividing a document into discrete pages. It relates to how users interact\n * with structured content on a website or application.\n */\nexport const HvPagination = (props: HvPaginationProps) => {\n const {\n classes: classesProp,\n className,\n id,\n pages = 1,\n page = 0,\n showPageSizeOptions = true,\n pageSizeOptions = defaultPageSizeOptions,\n pageSize = defaultPageSizeOptions[1],\n showPageJump = true,\n canPrevious = false,\n canNext = false,\n onPageChange,\n onPageSizeChange,\n labels: labelsProp,\n showPageProps,\n navigationProps,\n currentPageInputProps,\n ...others\n } = useDefaultProps(\"HvPagination\", props);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n const [pageInput, handleInputChange] = usePageInput(page);\n const { classes, cx } = useClasses(classesProp);\n\n const changePage = useCallback(\n (newPage: number) => {\n const safePage: number = getSafePage(newPage, page, pages);\n\n onPageChange?.(safePage);\n handleInputChange(null, safePage + 1);\n },\n [page, pages, onPageChange, handleInputChange]\n );\n\n useEffect(() => {\n if (page >= pages && pages > 0) {\n changePage(page);\n }\n }, [changePage, page, pages]);\n\n useEffect(() => {\n if (pageInput !== page + 1) {\n handleInputChange(null, page + 1);\n }\n\n // we only want to \"fix\" the input's display value when `page` property changed\n // (either externally or when internally committed - onBlur or Enter),\n // not while editing the input.\n // breaking a rule of hooks isn't ideal and it's just a hack for fixing\n // a bug preventing properly controlling of the `page` property.\n // fixing it some other way would potentially introduce a breaking change.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [handleInputChange, page]);\n\n const renderPageJump = () => (\n <div className={classes.pageJump}>\n <HvInput\n id={setId(id, \"currentPage\")}\n labels={labels}\n inputProps={{\n \"aria-label\": labels?.paginationInputLabel,\n // We really want the native number input\n type: \"number\",\n }}\n classes={{\n root: classes?.pageSizeInputContainer,\n input: classes?.pageSizeInput,\n inputRoot: classes?.pageSizeInputRoot,\n }}\n onChange={(event, value) => handleInputChange(event, Number(value))}\n value={String(pageInput)}\n onBlur={(evt, value) => changePage(Number(value) - 1)}\n onKeyDown={(evt, value) =>\n isKey(evt, \"Enter\") && changePage(Number(value) - 1)\n }\n disabled={pageSize === 0}\n disableClear\n {...currentPageInputProps}\n />\n </div>\n );\n\n return (\n <div id={id} className={cx(classes.root, className)} {...others}>\n <div className={classes.pageSizeOptions} {...showPageProps}>\n {showPageSizeOptions && (\n <>\n <Hidden xsDown>\n <HvTypography\n component=\"span\"\n className={classes?.pageSizeTextContainer}\n >\n {labels?.pageSizePrev}\n </HvTypography>\n </Hidden>\n <HvSelect\n id={setId(id, \"pageSize\")}\n disabled={pageSize === 0}\n className={classes.pageSizeOptionsSelect}\n aria-label={labels?.pageSizeSelectorDescription}\n onChange={(_: any, val: number) => onPageSizeChange?.(val)}\n value={pageSize}\n classes={{\n header: classes.pageSizeHeader,\n root: classes.pageSizeRoot,\n }}\n >\n {pageSizeOptions.map((option) => (\n <Option key={option} value={option}>\n {option}\n </Option>\n ))}\n </HvSelect>\n <Hidden xsDown>\n <HvTypography\n component=\"span\"\n className={classes.pageSizeTextContainer}\n >\n {labels?.pageSizeEntryName}\n </HvTypography>\n </Hidden>\n </>\n )}\n </div>\n <div className={classes.pageNavigator} {...navigationProps}>\n <HvIconButton\n id={setId(id, \"firstPage-button\")}\n className={classes.iconContainer}\n disabled={!canPrevious}\n onClick={() => changePage(0)}\n title={labels?.firstPage || labels?.paginationFirstPageTitle}\n >\n <Start\n role=\"none\"\n className={classes.icon}\n color={setColor(!canPrevious)}\n iconSize=\"XS\"\n />\n </HvIconButton>\n <HvIconButton\n id={setId(id, \"previousPage-button\")}\n className={classes.iconContainer}\n disabled={!canPrevious}\n onClick={() => changePage(page - 1)}\n title={labels?.previousPage || labels?.paginationPreviousPageTitle}\n >\n <Backwards\n role=\"none\"\n className={classes.icon}\n color={setColor(!canPrevious)}\n iconSize=\"XS\"\n />\n </HvIconButton>\n <div className={classes.pageInfo}>\n {showPageJump ? (\n renderPageJump()\n ) : (\n <HvTypography variant=\"caption2\" component=\"span\">{`${\n page + 1\n }`}</HvTypography>\n )}\n <HvTypography component=\"span\">{`${labels?.pagesSeparator} `}</HvTypography>\n <HvTypography\n component=\"span\"\n id={setId(id, \"totalPages\")}\n className={classes.totalPagesTextContainer}\n >\n {pages}\n </HvTypography>\n </div>\n <HvIconButton\n id={setId(id, \"nextPage-button\")}\n className={classes.iconContainer}\n disabled={!canNext}\n onClick={() => changePage(page + 1)}\n title={labels?.nextPage || labels?.paginationNextPageTitle}\n >\n <Forwards\n role=\"none\"\n className={classes.icon}\n color={setColor(!canNext)}\n iconSize=\"XS\"\n />\n </HvIconButton>\n <HvIconButton\n id={setId(id, \"lastPage-button\")}\n className={classes.iconContainer}\n disabled={!canNext}\n onClick={() => changePage(pages - 1)}\n title={labels?.lastPage || labels?.paginationLastPageTitle}\n >\n <End\n className={classes.icon}\n color={setColor(!canNext)}\n iconSize=\"XS\"\n />\n </HvIconButton>\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.styles.js","sources":["../../../src/Pagination/Pagination.styles.tsx"],"sourcesContent":["import { CSSProperties } from \"react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { inputClasses } from \"../Input\";\nimport { createClasses } from \"../utils/classes\";\nimport { baseDropdownClasses } from \"../BaseDropdown\";\n\nconst hoverColor = theme.colors.atmo3;\n\nexport const { staticClasses, useClasses } = createClasses(\"HvPagination\", {\n /** Styles applied to the component root class. */\n root: {\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"stretch\",\n flexWrap: \"wrap\",\n marginTop: theme.space.sm,\n [`& $pageSizeInput`]: {\n ...(theme.typography.caption2 as CSSProperties),\n \"&:focus\": {\n padding: 0,\n },\n },\n [`& $pageSizeInputContainer`]: {\n width: 24,\n minWidth: 24,\n maxWidth: theme.spacing(8),\n },\n [`&& $pageSizeInputRoot`]: {\n backgroundColor: \"transparent\",\n height: \"24px\",\n \"&:focus, &:focus-within, &:hover\": {\n backgroundColor: hoverColor,\n },\n },\n },\n /** Styles applied to the page size selector container. */\n pageSizeOptions: {\n display: \"flex\",\n position: \"absolute\",\n height: 24,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"0\",\n },\n pageSizeHeader: {\n height: 24,\n display: \"flex\",\n alignItems: \"center\",\n [`& .${baseDropdownClasses.arrowContainer}`]: {\n marginTop: -2,\n },\n },\n pageSizeRoot: {\n width: \"auto\",\n },\n /** Styles applied to the element that holds the labels for the page size selector */\n pageSizeTextContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"24px\",\n padding: \"8px 0\",\n ...(theme.typography.caption2 as CSSProperties),\n },\n totalPagesTextContainer: {\n ...(theme.typography.caption2 as CSSProperties),\n },\n /** Styles applied to the page size selector dropdown element. */\n pageSizeOptionsSelect: {\n display: \"inline-block\",\n margin: `0px ${theme.space.xs}`,\n width: \"auto\",\n\n ...(theme.typography.caption2 as CSSProperties),\n },\n /** Styles applied to the page navigation container. */\n pageNavigator: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"32px\",\n gap: 8,\n },\n /** Styles applied to each navigation `HvButton` icon container. */\n iconContainer: {\n padding: 0,\n },\n /** Styles applied to each navigation icon. */\n icon: {},\n /** Styles applied to the central page information container. */\n pageInfo: {\n display: \"inline-block\",\n whiteSpace: \"nowrap\",\n height: \"32px\",\n lineHeight: \"32px\",\n },\n /** Styles applied to the page selector input container. */\n pageJump: {\n display: \"inline-block\",\n marginRight: `4px`,\n [`& .${inputClasses.inputRoot}`]: {\n [`& $pageSizeInput`]: {\n paddingLeft: `4px`,\n paddingRight: `4px`,\n margin: 0,\n textAlign: \"center\",\n borderRadius: theme.radii.base,\n MozAppearance: \"textfield\",\n \"&:focus\": {\n backgroundColor: hoverColor,\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n },\n },\n },\n /** Styles passed down to the page selector Input component as `input`. */\n pageSizeInput: {},\n /** Styles passed down to the page selector Input root. */\n pageSizeInputRoot: {},\n /** Styles passed down to the page selector Input component as `container`. */\n pageSizeInputContainer: {},\n});\n"],"names":["baseDropdownClasses","inputClasses"],"mappings":";;;;;AAQA,MAAM,aAAa,MAAM,OAAO;AAEzB,MAAM,EAAE,eAAe,eAAe,cAAc,gBAAgB;AAAA;AAAA,EAEzE,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,WAAW,MAAM,MAAM;AAAA,IACvB,CAAC,kBAAkB,GAAG;AAAA,MACpB,GAAI,MAAM,WAAW;AAAA,MACrB,WAAW;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,CAAC,2BAA2B,GAAG;AAAA,MAC7B,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU,MAAM,QAAQ,CAAC;AAAA,IAC3B;AAAA,IACA,CAAC,uBAAuB,GAAG;AAAA,MACzB,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,oCAAoC;AAAA,QAClC,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAEA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,WAAW;AAAA,IACX,MAAM;AAAA,EACR;AAAA,EACA,gBAAgB;AAAA,IACd,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,CAAC,MAAMA,gBAAoB,cAAc,EAAE,GAAG;AAAA,MAC5C,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,EACT;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,GAAI,MAAM,WAAW;AAAA,EACvB;AAAA,EACA,yBAAyB;AAAA,IACvB,GAAI,MAAM,WAAW;AAAA,EACvB;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,QAAQ,OAAO,MAAM,MAAM,EAAE;AAAA,IAC7B,OAAO;AAAA,IAEP,GAAI,MAAM,WAAW;AAAA,EACvB;AAAA;AAAA,EAEA,eAAe;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA;AAAA,EAEA,eAAe;AAAA,IACb,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM,CAAC;AAAA;AAAA,EAEP,UAAU;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,CAAC,MAAMC,gBAAa,SAAS,EAAE,GAAG;AAAA,MAChC,CAAC,kBAAkB,GAAG;AAAA,QACpB,aAAa;AAAA,QACb,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,cAAc,MAAM,MAAM;AAAA,QAC1B,eAAe;AAAA,QACf,WAAW;AAAA,UACT,iBAAiB;AAAA,QACnB;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAEA,eAAe,CAAC;AAAA;AAAA,EAEhB,mBAAmB,CAAC;AAAA;AAAA,EAEpB,wBAAwB,CAAC;AAC3B,CAAC;"}
1
+ {"version":3,"file":"Pagination.styles.js","sources":["../../../src/Pagination/Pagination.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { inputClasses } from \"../Input\";\nimport { createClasses } from \"../utils/classes\";\nimport { baseDropdownClasses } from \"../BaseDropdown\";\n\nconst hoverColor = theme.colors.atmo3;\n\nexport const { staticClasses, useClasses } = createClasses(\"HvPagination\", {\n /** Styles applied to the component root class. */\n root: {\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"stretch\",\n flexWrap: \"wrap\",\n marginTop: theme.space.sm,\n [`& $pageSizeInput`]: {\n ...(theme.typography.caption2 as React.CSSProperties),\n \"&:focus\": {\n padding: 0,\n },\n },\n [`& $pageSizeInputContainer`]: {\n width: 24,\n minWidth: 24,\n maxWidth: theme.spacing(8),\n },\n [`&& $pageSizeInputRoot`]: {\n backgroundColor: \"transparent\",\n height: \"24px\",\n \"&:focus, &:focus-within, &:hover\": {\n backgroundColor: hoverColor,\n },\n },\n },\n /** Styles applied to the page size selector container. */\n pageSizeOptions: {\n display: \"flex\",\n position: \"absolute\",\n height: 24,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n left: \"0\",\n },\n pageSizeHeader: {\n height: 24,\n display: \"flex\",\n alignItems: \"center\",\n [`& .${baseDropdownClasses.arrowContainer}`]: {\n marginTop: -2,\n },\n },\n pageSizeRoot: {\n width: \"auto\",\n },\n /** Styles applied to the element that holds the labels for the page size selector */\n pageSizeTextContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"24px\",\n padding: \"8px 0\",\n ...(theme.typography.caption2 as React.CSSProperties),\n },\n totalPagesTextContainer: {\n ...(theme.typography.caption2 as React.CSSProperties),\n },\n /** Styles applied to the page size selector dropdown element. */\n pageSizeOptionsSelect: {\n display: \"inline-block\",\n margin: `0px ${theme.space.xs}`,\n width: \"auto\",\n\n ...(theme.typography.caption2 as React.CSSProperties),\n },\n /** Styles applied to the page navigation container. */\n pageNavigator: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"32px\",\n gap: 8,\n },\n /** Styles applied to each navigation `HvButton` icon container. */\n iconContainer: {\n padding: 0,\n },\n /** Styles applied to each navigation icon. */\n icon: {},\n /** Styles applied to the central page information container. */\n pageInfo: {\n display: \"inline-block\",\n whiteSpace: \"nowrap\",\n height: \"32px\",\n lineHeight: \"32px\",\n },\n /** Styles applied to the page selector input container. */\n pageJump: {\n display: \"inline-block\",\n marginRight: `4px`,\n [`& .${inputClasses.inputRoot}`]: {\n [`& $pageSizeInput`]: {\n paddingLeft: `4px`,\n paddingRight: `4px`,\n margin: 0,\n textAlign: \"center\",\n borderRadius: theme.radii.base,\n MozAppearance: \"textfield\",\n \"&:focus\": {\n backgroundColor: hoverColor,\n },\n \"&:hover\": {\n cursor: \"pointer\",\n },\n },\n },\n },\n /** Styles passed down to the page selector Input component as `input`. */\n pageSizeInput: {},\n /** Styles passed down to the page selector Input root. */\n pageSizeInputRoot: {},\n /** Styles passed down to the page selector Input component as `container`. */\n pageSizeInputContainer: {},\n});\n"],"names":["baseDropdownClasses","inputClasses"],"mappings":";;;;;AAMA,MAAM,aAAa,MAAM,OAAO;AAEzB,MAAM,EAAE,eAAe,eAAe,cAAc,gBAAgB;AAAA;AAAA,EAEzE,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,WAAW,MAAM,MAAM;AAAA,IACvB,CAAC,kBAAkB,GAAG;AAAA,MACpB,GAAI,MAAM,WAAW;AAAA,MACrB,WAAW;AAAA,QACT,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,CAAC,2BAA2B,GAAG;AAAA,MAC7B,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU,MAAM,QAAQ,CAAC;AAAA,IAC3B;AAAA,IACA,CAAC,uBAAuB,GAAG;AAAA,MACzB,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,oCAAoC;AAAA,QAClC,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAEA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,WAAW;AAAA,IACX,MAAM;AAAA,EACR;AAAA,EACA,gBAAgB;AAAA,IACd,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,CAAC,MAAMA,gBAAoB,cAAc,EAAE,GAAG;AAAA,MAC5C,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,OAAO;AAAA,EACT;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,GAAI,MAAM,WAAW;AAAA,EACvB;AAAA,EACA,yBAAyB;AAAA,IACvB,GAAI,MAAM,WAAW;AAAA,EACvB;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,SAAS;AAAA,IACT,QAAQ,OAAO,MAAM,MAAM,EAAE;AAAA,IAC7B,OAAO;AAAA,IAEP,GAAI,MAAM,WAAW;AAAA,EACvB;AAAA;AAAA,EAEA,eAAe;AAAA,IACb,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,KAAK;AAAA,EACP;AAAA;AAAA,EAEA,eAAe;AAAA,IACb,SAAS;AAAA,EACX;AAAA;AAAA,EAEA,MAAM,CAAC;AAAA;AAAA,EAEP,UAAU;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,CAAC,MAAMC,gBAAa,SAAS,EAAE,GAAG;AAAA,MAChC,CAAC,kBAAkB,GAAG;AAAA,QACpB,aAAa;AAAA,QACb,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,cAAc,MAAM,MAAM;AAAA,QAC1B,eAAe;AAAA,QACf,WAAW;AAAA,UACT,iBAAiB;AAAA,QACnB;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAEA,eAAe,CAAC;AAAA;AAAA,EAEhB,mBAAmB,CAAC;AAAA;AAAA,EAEpB,wBAAwB,CAAC;AAC3B,CAAC;"}