@hitachivantara/uikit-react-core 5.82.4 → 5.83.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 (161) hide show
  1. package/dist/cjs/BaseInput/BaseInput.cjs +4 -7
  2. package/dist/cjs/ButtonBase/ButtonBase.styles.cjs +6 -5
  3. package/dist/cjs/Calendar/Calendar.cjs +2 -2
  4. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs +12 -28
  5. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.cjs +2 -1
  6. package/dist/cjs/Calendar/utils.cjs +53 -21
  7. package/dist/cjs/ColorPicker/ColorPicker.cjs +11 -9
  8. package/dist/cjs/ColorPicker/ColorPicker.styles.cjs +14 -7
  9. package/dist/cjs/ColorPicker/Fields/Fields.cjs +6 -3
  10. package/dist/cjs/DatePicker/DatePicker.cjs +1 -2
  11. package/dist/cjs/DatePicker/utils.cjs +2 -2
  12. package/dist/cjs/Input/Input.cjs +9 -8
  13. package/dist/cjs/Select/Option.cjs +1 -2
  14. package/dist/cjs/Select/Select.cjs +6 -1
  15. package/dist/cjs/Table/TableRow/TableRow.styles.cjs +20 -5
  16. package/dist/cjs/Table/hooks/{useBulkActions.cjs → useHvBulkActions.cjs} +6 -7
  17. package/dist/cjs/Table/hooks/{useFilters.cjs → useHvFilters.cjs} +2 -2
  18. package/dist/cjs/Table/hooks/{useGlobalFilter.cjs → useHvGlobalFilter.cjs} +2 -2
  19. package/dist/cjs/Table/hooks/{useHeaderGroups.cjs → useHvHeaderGroups.cjs} +4 -4
  20. package/dist/cjs/Table/hooks/{usePagination.cjs → useHvPagination.cjs} +4 -4
  21. package/dist/cjs/Table/hooks/{useResizeColumns.cjs → useHvResizeColumns.cjs} +4 -4
  22. package/dist/cjs/Table/hooks/{useRowExpand.cjs → useHvRowExpand.cjs} +6 -5
  23. package/dist/cjs/Table/hooks/{useRowSelection.cjs → useHvRowSelection.cjs} +4 -8
  24. package/dist/cjs/Table/hooks/{useRowState.cjs → useHvRowState.cjs} +2 -2
  25. package/dist/cjs/Table/hooks/{useSortBy.cjs → useHvSortBy.cjs} +4 -4
  26. package/dist/cjs/Table/hooks/{useSticky.cjs → useHvSticky.cjs} +4 -6
  27. package/dist/cjs/Table/hooks/{useTable.cjs → useHvTable.cjs} +6 -4
  28. package/dist/cjs/Table/hooks/{useTableStyles.cjs → useHvTableStyles.cjs} +4 -5
  29. package/dist/cjs/Table/renderers/{DateColumnCell/DateColumnCell.cjs → DateColumnCell.cjs} +1 -1
  30. package/dist/cjs/Table/renderers/DefaultCell.cjs +21 -0
  31. package/dist/cjs/Table/renderers/{DropdownColumnCell/DropdownColumnCell.cjs → DropdownColumnCell.cjs} +1 -1
  32. package/dist/cjs/Table/renderers/{ProgressColumnCell/ProgressColumnCell.cjs → ProgressColumnCell.cjs} +20 -2
  33. package/dist/cjs/Table/renderers/{SwitchColumnCell/SwitchColumnCell.cjs → SwitchColumnCell.cjs} +13 -4
  34. package/dist/cjs/Table/renderers/renderers.cjs +21 -8
  35. package/dist/cjs/Tag/Tag.cjs +67 -49
  36. package/dist/cjs/Tag/Tag.styles.cjs +50 -64
  37. package/dist/cjs/TagsInput/TagsInput.cjs +1 -4
  38. package/dist/cjs/TagsInput/TagsInput.styles.cjs +1 -4
  39. package/dist/cjs/TextArea/TextArea.cjs +4 -4
  40. package/dist/cjs/TimeAgo/TimeAgo.cjs +2 -1
  41. package/dist/cjs/TimePicker/TimePicker.cjs +2 -1
  42. package/dist/cjs/index.cjs +40 -50
  43. package/dist/cjs/utils/keyboardUtils.cjs +4 -0
  44. package/dist/esm/BaseInput/BaseInput.js +3 -6
  45. package/dist/esm/BaseInput/BaseInput.js.map +1 -1
  46. package/dist/esm/ButtonBase/ButtonBase.styles.js +6 -5
  47. package/dist/esm/ButtonBase/ButtonBase.styles.js.map +1 -1
  48. package/dist/esm/Calendar/Calendar.js +3 -3
  49. package/dist/esm/Calendar/Calendar.js.map +1 -1
  50. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js +13 -24
  51. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  52. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js +3 -2
  53. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  54. package/dist/esm/Calendar/utils.js +54 -20
  55. package/dist/esm/Calendar/utils.js.map +1 -1
  56. package/dist/esm/ColorPicker/ColorPicker.js +12 -10
  57. package/dist/esm/ColorPicker/ColorPicker.js.map +1 -1
  58. package/dist/esm/ColorPicker/ColorPicker.styles.js +14 -7
  59. package/dist/esm/ColorPicker/ColorPicker.styles.js.map +1 -1
  60. package/dist/esm/ColorPicker/Fields/Fields.js +6 -3
  61. package/dist/esm/ColorPicker/Fields/Fields.js.map +1 -1
  62. package/dist/esm/Controls/Controls.js.map +1 -1
  63. package/dist/esm/DatePicker/DatePicker.js +2 -3
  64. package/dist/esm/DatePicker/DatePicker.js.map +1 -1
  65. package/dist/esm/DatePicker/utils.js +2 -2
  66. package/dist/esm/DatePicker/utils.js.map +1 -1
  67. package/dist/esm/Input/Input.js +10 -9
  68. package/dist/esm/Input/Input.js.map +1 -1
  69. package/dist/esm/Select/Option.js +1 -2
  70. package/dist/esm/Select/Option.js.map +1 -1
  71. package/dist/esm/Select/Select.js +6 -1
  72. package/dist/esm/Select/Select.js.map +1 -1
  73. package/dist/esm/Table/TableRow/TableRow.styles.js +16 -1
  74. package/dist/esm/Table/TableRow/TableRow.styles.js.map +1 -1
  75. package/dist/esm/Table/hooks/{useBulkActions.js → useHvBulkActions.js} +5 -6
  76. package/dist/esm/Table/hooks/useHvBulkActions.js.map +1 -0
  77. package/dist/esm/Table/hooks/{useFilters.js → useHvFilters.js} +1 -1
  78. package/dist/esm/Table/hooks/useHvFilters.js.map +1 -0
  79. package/dist/esm/Table/hooks/{useGlobalFilter.js → useHvGlobalFilter.js} +1 -1
  80. package/dist/esm/Table/hooks/useHvGlobalFilter.js.map +1 -0
  81. package/dist/esm/Table/hooks/{useHeaderGroups.js → useHvHeaderGroups.js} +3 -3
  82. package/dist/esm/Table/hooks/useHvHeaderGroups.js.map +1 -0
  83. package/dist/esm/Table/hooks/{usePagination.js → useHvPagination.js} +4 -4
  84. package/dist/esm/Table/hooks/useHvPagination.js.map +1 -0
  85. package/dist/esm/Table/hooks/{useResizeColumns.js → useHvResizeColumns.js} +3 -3
  86. package/dist/esm/Table/hooks/useHvResizeColumns.js.map +1 -0
  87. package/dist/esm/Table/hooks/{useRowExpand.js → useHvRowExpand.js} +5 -4
  88. package/dist/esm/Table/hooks/useHvRowExpand.js.map +1 -0
  89. package/dist/esm/Table/hooks/{useRowSelection.js → useHvRowSelection.js} +3 -7
  90. package/dist/esm/Table/hooks/useHvRowSelection.js.map +1 -0
  91. package/dist/esm/Table/hooks/{useRowState.js → useHvRowState.js} +1 -1
  92. package/dist/esm/Table/hooks/useHvRowState.js.map +1 -0
  93. package/dist/esm/Table/hooks/{useSortBy.js → useHvSortBy.js} +3 -3
  94. package/dist/esm/Table/hooks/useHvSortBy.js.map +1 -0
  95. package/dist/esm/Table/hooks/{useSticky.js → useHvSticky.js} +3 -5
  96. package/dist/esm/Table/hooks/useHvSticky.js.map +1 -0
  97. package/dist/esm/Table/hooks/{useTable.js → useHvTable.js} +5 -3
  98. package/dist/esm/Table/hooks/useHvTable.js.map +1 -0
  99. package/dist/esm/Table/hooks/{useTableStyles.js → useHvTableStyles.js} +3 -4
  100. package/dist/esm/Table/hooks/useHvTableStyles.js.map +1 -0
  101. package/dist/esm/Table/renderers/{DateColumnCell/DateColumnCell.js → DateColumnCell.js} +1 -1
  102. package/dist/esm/Table/renderers/DateColumnCell.js.map +1 -0
  103. package/dist/esm/Table/renderers/DefaultCell.js +21 -0
  104. package/dist/esm/Table/renderers/DefaultCell.js.map +1 -0
  105. package/dist/esm/Table/renderers/{DropdownColumnCell/DropdownColumnCell.js → DropdownColumnCell.js} +1 -1
  106. package/dist/esm/Table/renderers/DropdownColumnCell.js.map +1 -0
  107. package/dist/esm/Table/renderers/{ProgressColumnCell/ProgressColumnCell.js → ProgressColumnCell.js} +19 -1
  108. package/dist/esm/Table/renderers/ProgressColumnCell.js.map +1 -0
  109. package/dist/esm/Table/renderers/{SwitchColumnCell/SwitchColumnCell.js → SwitchColumnCell.js} +12 -3
  110. package/dist/esm/Table/renderers/SwitchColumnCell.js.map +1 -0
  111. package/dist/esm/Table/renderers/renderers.js +18 -5
  112. package/dist/esm/Table/renderers/renderers.js.map +1 -1
  113. package/dist/esm/Tag/Tag.js +71 -51
  114. package/dist/esm/Tag/Tag.js.map +1 -1
  115. package/dist/esm/Tag/Tag.styles.js +50 -64
  116. package/dist/esm/Tag/Tag.styles.js.map +1 -1
  117. package/dist/esm/TagsInput/TagsInput.js +1 -4
  118. package/dist/esm/TagsInput/TagsInput.js.map +1 -1
  119. package/dist/esm/TagsInput/TagsInput.styles.js +1 -4
  120. package/dist/esm/TagsInput/TagsInput.styles.js.map +1 -1
  121. package/dist/esm/TextArea/TextArea.js +4 -4
  122. package/dist/esm/TextArea/TextArea.js.map +1 -1
  123. package/dist/esm/TimeAgo/TimeAgo.js +2 -1
  124. package/dist/esm/TimeAgo/TimeAgo.js.map +1 -1
  125. package/dist/esm/TimePicker/TimePicker.js +2 -1
  126. package/dist/esm/TimePicker/TimePicker.js.map +1 -1
  127. package/dist/esm/index.js +34 -44
  128. package/dist/esm/index.js.map +1 -1
  129. package/dist/esm/utils/keyboardUtils.js +4 -0
  130. package/dist/esm/utils/keyboardUtils.js.map +1 -1
  131. package/dist/types/index.d.ts +367 -395
  132. package/package.json +6 -6
  133. package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs +0 -26
  134. package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs +0 -21
  135. package/dist/cjs/Table/utils/fallbacks.cjs +0 -16
  136. package/dist/cjs/Table/utils/utils.cjs +0 -19
  137. package/dist/esm/Table/hooks/useBulkActions.js.map +0 -1
  138. package/dist/esm/Table/hooks/useFilters.js.map +0 -1
  139. package/dist/esm/Table/hooks/useGlobalFilter.js.map +0 -1
  140. package/dist/esm/Table/hooks/useHeaderGroups.js.map +0 -1
  141. package/dist/esm/Table/hooks/usePagination.js.map +0 -1
  142. package/dist/esm/Table/hooks/useResizeColumns.js.map +0 -1
  143. package/dist/esm/Table/hooks/useRowExpand.js.map +0 -1
  144. package/dist/esm/Table/hooks/useRowSelection.js.map +0 -1
  145. package/dist/esm/Table/hooks/useRowState.js.map +0 -1
  146. package/dist/esm/Table/hooks/useSortBy.js.map +0 -1
  147. package/dist/esm/Table/hooks/useSticky.js.map +0 -1
  148. package/dist/esm/Table/hooks/useTable.js.map +0 -1
  149. package/dist/esm/Table/hooks/useTableStyles.js.map +0 -1
  150. package/dist/esm/Table/renderers/DateColumnCell/DateColumnCell.js.map +0 -1
  151. package/dist/esm/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +0 -1
  152. package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +0 -1
  153. package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js +0 -26
  154. package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js.map +0 -1
  155. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +0 -1
  156. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js +0 -21
  157. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js.map +0 -1
  158. package/dist/esm/Table/utils/fallbacks.js +0 -16
  159. package/dist/esm/Table/utils/fallbacks.js.map +0 -1
  160. package/dist/esm/Table/utils/utils.js +0 -19
  161. package/dist/esm/Table/utils/utils.js.map +0 -1
@@ -1,88 +1,74 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Chip = require("@mui/material/Chip");
4
3
  const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
5
4
  const uikitStyles = require("@hitachivantara/uikit-styles");
6
- const focusUtils = require("../utils/focusUtils.cjs");
7
5
  const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvTag", {
8
6
  root: {
7
+ display: "inline-flex",
8
+ alignItems: "center",
9
+ justifyContent: "center",
10
+ cursor: "default",
9
11
  color: uikitStyles.theme.colors.base_dark,
10
- [`& .${Chip.chipClasses.avatar}`]: {
11
- width: 12,
12
- height: 12,
13
- marginLeft: 2,
14
- marginRight: 0
12
+ backgroundColor: "var(--bgColor)",
13
+ height: 16,
14
+ borderRadius: 0,
15
+ maxWidth: 180,
16
+ whiteSpace: "nowrap",
17
+ ":hover, :focus": {
18
+ backgroundColor: "var(--bgColor)"
15
19
  }
16
20
  },
17
- chipRoot: {
18
- [`&.${Chip.chipClasses.root}`]: {
19
- height: 16,
20
- borderRadius: 0,
21
- maxWidth: 180,
22
- fontFamily: uikitStyles.theme.fontFamily.body,
23
- "&:focus-visible": {
24
- backgroundColor: uikitStyles.theme.alpha("base_light", 0.3)
25
- },
26
- "&$categorical": {
27
- borderRadius: 8,
28
- "& $label": {
29
- color: uikitStyles.theme.colors.secondary
30
- }
31
- }
32
- },
33
- "&$disabled": {
34
- opacity: 1,
35
- backgroundColor: uikitStyles.theme.colors.atmo3,
36
- "& $label": {
37
- color: uikitStyles.theme.colors.secondary_60
38
- }
39
- },
40
- [`& .${Chip.chipClasses.label}`]: {
41
- paddingLeft: 4,
42
- paddingRight: 4,
43
- ...uikitStyles.theme.typography.caption2,
44
- color: "currentcolor"
21
+ categorical: {
22
+ borderRadius: 8,
23
+ "& $label": {
24
+ color: uikitStyles.theme.colors.secondary
25
+ }
26
+ },
27
+ disabled: {
28
+ backgroundColor: uikitStyles.theme.colors.atmo3,
29
+ ":hover, :focus": {
30
+ backgroundColor: uikitStyles.theme.colors.atmo3
45
31
  },
46
- [`& .${Chip.chipClasses.deleteIcon}`]: {
47
- margin: 0,
48
- width: 16,
49
- height: 16,
50
- padding: 0,
51
- color: "currentColor",
52
- "& svg .color0": {
53
- fill: "currentcolor"
54
- },
55
- "&:hover": {
56
- backgroundColor: uikitStyles.theme.colors.containerBackgroundHover,
57
- color: "unset"
58
- },
59
- "&:focus": {
60
- ...focusUtils.outlineStyles,
61
- borderRadius: 0
62
- },
63
- "&:focus:not(:focus-visible)": {
64
- outline: "0 !important",
65
- boxShadow: "none !important"
66
- }
32
+ "& $label": {
33
+ color: uikitStyles.theme.colors.secondary_60
67
34
  }
68
35
  },
69
- disabled: {},
70
- clickable: {
71
- cursor: "pointer",
72
- "&:focus-visible": {
73
- ...focusUtils.outlineStyles
36
+ label: {
37
+ padding: uikitStyles.theme.spacing(0, "4px"),
38
+ color: "inherit"
39
+ },
40
+ deleteIcon: {
41
+ width: 16,
42
+ height: 16,
43
+ "&:hover": {
44
+ backgroundColor: uikitStyles.theme.colors.containerBackgroundHover
74
45
  }
75
46
  },
76
- categorical: {},
77
- label: {},
78
- deleteIcon: {},
47
+ selected: {},
48
+ clickable: {
49
+ cursor: "pointer"
50
+ },
51
+ icon: {
52
+ width: 12,
53
+ height: 12,
54
+ marginLeft: 2
55
+ },
56
+ /** @deprecated use `root` instead */
57
+ chipRoot: {},
58
+ /** @deprecated unused */
79
59
  // TODO: redundant - use deleteIcon. remove in v6
60
+ /** @deprecated */
80
61
  button: {},
62
+ /** @deprecated */
81
63
  tagButton: {},
82
64
  // TODO: redundant - use $clickable or :not($disabled). remove in v6
65
+ /** @deprecated */
83
66
  focusVisible: {},
67
+ /** @deprecated */
84
68
  disabledDeleteIcon: {},
69
+ /** @deprecated */
85
70
  categoricalFocus: {},
71
+ /** @deprecated */
86
72
  categoricalDisabled: {}
87
73
  });
88
74
  exports.staticClasses = staticClasses;
@@ -387,12 +387,9 @@ const HvTagsInput = React.forwardRef(
387
387
  Tag.HvTag,
388
388
  {
389
389
  label,
390
- className: cx({
390
+ className: cx(classes.chipRoot, {
391
391
  [classes.tagSelected]: i === tagCursorPos
392
392
  }),
393
- classes: {
394
- chipRoot: classes.chipRoot
395
- },
396
393
  type,
397
394
  ...!(readOnly || disabled || type === "categorical") && {
398
395
  onDelete: (event) => onDeleteTagHandler(event, i)
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Chip = require("@mui/material/Chip");
4
3
  const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
5
4
  const uikitStyles = require("@hitachivantara/uikit-styles");
6
5
  const BaseInput_styles = require("../BaseInput/BaseInput.styles.cjs");
@@ -25,9 +24,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvTagsInput
25
24
  },
26
25
  root: { display: "inline-block", width: "100%" },
27
26
  chipRoot: {
28
- [`&.${Chip.chipClasses.root}`]: {
29
- maxWidth: "none"
30
- }
27
+ maxWidth: "none"
31
28
  },
32
29
  disabled: {
33
30
  "& $tagsList": {
@@ -83,7 +83,7 @@ const HvTextArea = React.forwardRef(function HvTextArea2(props, ref) {
83
83
  const performValidation = React.useCallback(() => {
84
84
  const inputValidity = validations.validateInput(
85
85
  inputRef.current,
86
- value,
86
+ String(value),
87
87
  required,
88
88
  minCharQuantity,
89
89
  maxCharQuantity,
@@ -115,7 +115,7 @@ const HvTextArea = React.forwardRef(function HvTextArea2(props, ref) {
115
115
  const onContainerBlurHandler = (event) => {
116
116
  setFocused(false);
117
117
  const inputValidity = performValidation();
118
- onBlur?.(event, value, inputValidity);
118
+ onBlur?.(event, String(value), inputValidity);
119
119
  };
120
120
  const onChangeHandler = (event, currentValue) => {
121
121
  isDirty.current = true;
@@ -126,7 +126,7 @@ const HvTextArea = React.forwardRef(function HvTextArea2(props, ref) {
126
126
  const onFocusHandler = (event) => {
127
127
  setFocused(true);
128
128
  setValidationState(utils$1.validationStates.standBy);
129
- onFocus?.(event, value);
129
+ onFocus?.(event, String(value));
130
130
  };
131
131
  const isScrolledDown = React.useCallback(() => {
132
132
  const el = inputRef.current;
@@ -221,7 +221,7 @@ const HvTextArea = React.forwardRef(function HvTextArea2(props, ref) {
221
221
  id: setId.setId(elementId, "charCounter"),
222
222
  className: classes.characterCounter,
223
223
  separator: middleCountLabel,
224
- currentCharQuantity: value.length,
224
+ currentCharQuantity: String(value).length,
225
225
  maxCharQuantity,
226
226
  ...countCharProps
227
227
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
5
+ const utils = require("../Calendar/utils.cjs");
5
6
  const generic = require("../types/generic.cjs");
6
7
  const TimeAgo_styles = require("./TimeAgo.styles.cjs");
7
8
  const useTimeAgo = require("./useTimeAgo.cjs");
@@ -11,7 +12,7 @@ const HvTimeAgo = generic.fixedForwardRef(function HvTimeAgo2(props, ref) {
11
12
  classes: classesProp,
12
13
  className,
13
14
  timestamp,
14
- locale = "en",
15
+ locale = utils.DEFAULT_LOCALE,
15
16
  component: Component = Typography.HvTypography,
16
17
  emptyElement = "—",
17
18
  disableRefresh = false,
@@ -8,6 +8,7 @@ const datepicker$1 = require("@react-aria/datepicker");
8
8
  const datepicker = require("@react-stately/datepicker");
9
9
  const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
10
10
  const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
11
+ const utils$1 = require("../Calendar/utils.cjs");
11
12
  const useControlled = require("../hooks/useControlled.cjs");
12
13
  const useUniqueId = require("../hooks/useUniqueId.cjs");
13
14
  const setId = require("../utils/setId.cjs");
@@ -51,7 +52,7 @@ const HvTimePicker = React.forwardRef(
51
52
  timeFormat,
52
53
  showSeconds,
53
54
  disableExpand,
54
- locale = "en",
55
+ locale = utils$1.DEFAULT_LOCALE,
55
56
  onToggle,
56
57
  onChange,
57
58
  // misc properties:
@@ -33,19 +33,6 @@ const theme = require("./utils/theme.cjs");
33
33
  const useSavedState = require("./utils/useSavedState.cjs");
34
34
  const wrapperTooltip = require("./utils/wrapperTooltip.cjs");
35
35
  const helpers = require("./utils/helpers.cjs");
36
- const useTable = require("./Table/hooks/useTable.cjs");
37
- const useTableStyles = require("./Table/hooks/useTableStyles.cjs");
38
- const useSortBy = require("./Table/hooks/useSortBy.cjs");
39
- const useSticky = require("./Table/hooks/useSticky.cjs");
40
- const usePagination = require("./Table/hooks/usePagination.cjs");
41
- const useRowSelection = require("./Table/hooks/useRowSelection.cjs");
42
- const useBulkActions = require("./Table/hooks/useBulkActions.cjs");
43
- const useRowExpand = require("./Table/hooks/useRowExpand.cjs");
44
- const useHeaderGroups = require("./Table/hooks/useHeaderGroups.cjs");
45
- const useResizeColumns = require("./Table/hooks/useResizeColumns.cjs");
46
- const useGlobalFilter = require("./Table/hooks/useGlobalFilter.cjs");
47
- const useFilters = require("./Table/hooks/useFilters.cjs");
48
- const useRowState = require("./Table/hooks/useRowState.cjs");
49
36
  const utils = require("./Typography/utils.cjs");
50
37
  const Typography_styles = require("./Typography/Typography.styles.cjs");
51
38
  const Typography = require("./Typography/Typography.cjs");
@@ -245,6 +232,7 @@ const Switch_styles = require("./Switch/Switch.styles.cjs");
245
232
  const Switch = require("./Switch/Switch.cjs");
246
233
  const Tab_styles = require("./Tab/Tab.styles.cjs");
247
234
  const Tab = require("./Tab/Tab.cjs");
235
+ const useHvTable = require("./Table/hooks/useHvTable.cjs");
248
236
  const Table_styles = require("./Table/Table.styles.cjs");
249
237
  const Table = require("./Table/Table.cjs");
250
238
  const TableContainer_styles = require("./Table/TableContainer/TableContainer.styles.cjs");
@@ -259,13 +247,23 @@ const TableRow_styles = require("./Table/TableRow/TableRow.styles.cjs");
259
247
  const TableRow = require("./Table/TableRow/TableRow.cjs");
260
248
  const TableCell_styles = require("./Table/TableCell/TableCell.styles.cjs");
261
249
  const TableCell = require("./Table/TableCell/TableCell.cjs");
250
+ const useHvTableStyles = require("./Table/hooks/useHvTableStyles.cjs");
251
+ const useHvSortBy = require("./Table/hooks/useHvSortBy.cjs");
252
+ const useHvSticky = require("./Table/hooks/useHvSticky.cjs");
253
+ const useHvPagination = require("./Table/hooks/useHvPagination.cjs");
254
+ const useHvRowSelection = require("./Table/hooks/useHvRowSelection.cjs");
255
+ const useHvBulkActions = require("./Table/hooks/useHvBulkActions.cjs");
256
+ const useHvRowExpand = require("./Table/hooks/useHvRowExpand.cjs");
257
+ const useHvHeaderGroups = require("./Table/hooks/useHvHeaderGroups.cjs");
258
+ const useHvResizeColumns = require("./Table/hooks/useHvResizeColumns.cjs");
259
+ const useHvGlobalFilter = require("./Table/hooks/useHvGlobalFilter.cjs");
260
+ const useHvFilters = require("./Table/hooks/useHvFilters.cjs");
261
+ const useHvRowState = require("./Table/hooks/useHvRowState.cjs");
262
262
  const renderers = require("./Table/renderers/renderers.cjs");
263
- const DateColumnCell = require("./Table/renderers/DateColumnCell/DateColumnCell.cjs");
264
- const DropdownColumnCell = require("./Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs");
265
- const ProgressColumnCell = require("./Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs");
266
- const SwitchColumnCell = require("./Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs");
267
- const fallbacks = require("./Table/utils/fallbacks.cjs");
268
- const utils$1 = require("./Table/utils/utils.cjs");
263
+ const DateColumnCell = require("./Table/renderers/DateColumnCell.cjs");
264
+ const DropdownColumnCell = require("./Table/renderers/DropdownColumnCell.cjs");
265
+ const ProgressColumnCell = require("./Table/renderers/ProgressColumnCell.cjs");
266
+ const SwitchColumnCell = require("./Table/renderers/SwitchColumnCell.cjs");
269
267
  const Tabs_styles = require("./Tabs/Tabs.styles.cjs");
270
268
  const Tabs = require("./Tabs/Tabs.cjs");
271
269
  const Tag_styles = require("./Tag/Tag.styles.cjs");
@@ -369,6 +367,7 @@ exports.outlineStyles = focusUtils.outlineStyles;
369
367
  exports.getComponentName = getComponentName.getComponentName;
370
368
  exports.hexToRgbA = hexToRgbA.hexToRgbA;
371
369
  exports.iconVariant = iconVariant.iconVariant;
370
+ exports.isDeleteKey = keyboardUtils.isDeleteKey;
372
371
  exports.isKey = keyboardUtils.isKey;
373
372
  exports.isOneOfKeys = keyboardUtils.isOneOfKeys;
374
373
  exports.multiSelectionEventHandler = multiSelectionEventHandler.multiSelectionEventHandler;
@@ -384,33 +383,6 @@ exports.setElementAttrs = theme.setElementAttrs;
384
383
  exports.useSavedState = useSavedState.useSavedState;
385
384
  exports.wrapperTooltip = wrapperTooltip.wrapperTooltip;
386
385
  exports.uniqueId = helpers.uniqueId;
387
- exports.useHvData = useTable.default;
388
- exports.useHvTable = useTable.default;
389
- exports.getHeaderFooterPropsHook = useTableStyles.getHeaderFooterPropsHook;
390
- exports.useHvTableStyles = useTableStyles.default;
391
- exports.useHvSortBy = useSortBy.default;
392
- exports.getHeaderGroupPropsHook = useSticky.getHeaderGroupPropsHook;
393
- exports.getTableHeadPropsHook = useSticky.getTableHeadPropsHook;
394
- exports.useHvTableSticky = useSticky.default;
395
- exports.defaultGetHvPaginationProps = usePagination.defaultGetHvPaginationProps;
396
- exports.useHvPagination = usePagination.default;
397
- exports.CellWithCheckBox = useRowSelection.CellWithCheckBox;
398
- exports.defaultGetToggleAllPageRowsSelectedProps = useRowSelection.defaultGetToggleAllPageRowsSelectedProps;
399
- exports.defaultGetToggleAllRowsSelectedProps = useRowSelection.defaultGetToggleAllRowsSelectedProps;
400
- exports.defaultGetToggleRowSelectedProps = useRowSelection.defaultGetToggleRowSelectedProps;
401
- exports.prepareRow = useRowSelection.prepareRow;
402
- exports.reducer = useRowSelection.reducer;
403
- exports.useHvRowSelection = useRowSelection.default;
404
- exports.useInstance = useRowSelection.useInstance;
405
- exports.defaultgetHvBulkActionsProps = useBulkActions.defaultgetHvBulkActionsProps;
406
- exports.useHvBulkActions = useBulkActions.default;
407
- exports.CellWithExpandButton = useRowExpand.CellWithExpandButton;
408
- exports.useHvRowExpand = useRowExpand.default;
409
- exports.useHvHeaderGroups = useHeaderGroups.default;
410
- exports.useHvResizeColumns = useResizeColumns.default;
411
- exports.useHvGlobalFilter = useGlobalFilter.default;
412
- exports.useHvFilters = useFilters.default;
413
- exports.useHvRowState = useRowState.default;
414
386
  exports.typographyVariants = utils.typographyVariants;
415
387
  exports.typographyClasses = Typography_styles.staticClasses;
416
388
  exports.HvTypography = Typography.HvTypography;
@@ -617,6 +589,8 @@ exports.switchClasses = Switch_styles.staticClasses;
617
589
  exports.HvSwitch = Switch.HvSwitch;
618
590
  exports.tabClasses = Tab_styles.staticClasses;
619
591
  exports.HvTab = Tab.HvTab;
592
+ exports.useHvData = useHvTable.useHvTable;
593
+ exports.useHvTable = useHvTable.useHvTable;
620
594
  exports.tableClasses = Table_styles.staticClasses;
621
595
  exports.HvTable = Table.HvTable;
622
596
  exports.tableContainerClasses = TableContainer_styles.staticClasses;
@@ -631,11 +605,31 @@ exports.tableRowClasses = TableRow_styles.staticClasses;
631
605
  exports.HvTableRow = TableRow.HvTableRow;
632
606
  exports.tableCellClasses = TableCell_styles.staticClasses;
633
607
  exports.HvTableCell = TableCell.HvTableCell;
608
+ exports.useHvTableStyles = useHvTableStyles.useHvTableStyles;
609
+ exports.useHvSortBy = useHvSortBy.useHvSortBy;
610
+ exports.useHvTableSticky = useHvSticky.useHvTableSticky;
611
+ exports.defaultGetHvPaginationProps = useHvPagination.defaultGetHvPaginationProps;
612
+ exports.useHvPagination = useHvPagination.useHvPagination;
613
+ exports.defaultGetToggleAllPageRowsSelectedProps = useHvRowSelection.defaultGetToggleAllPageRowsSelectedProps;
614
+ exports.defaultGetToggleAllRowsSelectedProps = useHvRowSelection.defaultGetToggleAllRowsSelectedProps;
615
+ exports.defaultGetToggleRowSelectedProps = useHvRowSelection.defaultGetToggleRowSelectedProps;
616
+ exports.useHvRowSelection = useHvRowSelection.useHvRowSelection;
617
+ exports.useHvBulkActions = useHvBulkActions.useHvBulkActions;
618
+ exports.CellWithExpandButton = useHvRowExpand.CellWithExpandButton;
619
+ exports.useHvRowExpand = useHvRowExpand.useHvRowExpand;
620
+ exports.useHvHeaderGroups = useHvHeaderGroups.useHvHeaderGroups;
621
+ exports.useHvResizeColumns = useHvResizeColumns.useHvResizeColumns;
622
+ exports.useHvGlobalFilter = useHvGlobalFilter.useHvGlobalFilter;
623
+ exports.useHvFilters = useHvFilters.useHvFilters;
624
+ exports.useHvRowState = useHvRowState.useHvRowState;
634
625
  exports.hvDateColumn = renderers.hvDateColumn;
635
626
  exports.hvDropdownColumn = renderers.hvDropdownColumn;
636
627
  exports.hvExpandColumn = renderers.hvExpandColumn;
628
+ exports.hvNodeFallback = renderers.hvNodeFallback;
637
629
  exports.hvNumberColumn = renderers.hvNumberColumn;
630
+ exports.hvNumberFallback = renderers.hvNumberFallback;
638
631
  exports.hvProgressColumn = renderers.hvProgressColumn;
632
+ exports.hvStringFallback = renderers.hvStringFallback;
639
633
  exports.hvSwitchColumn = renderers.hvSwitchColumn;
640
634
  exports.hvTagColumn = renderers.hvTagColumn;
641
635
  exports.hvTextColumn = renderers.hvTextColumn;
@@ -644,10 +638,6 @@ exports.HvDropdownColumnCell = DropdownColumnCell.HvDropdownColumnCell;
644
638
  exports.HvProgressColumnCell = ProgressColumnCell.HvProgressColumnCell;
645
639
  exports.normalizeProgressBar = ProgressColumnCell.normalizeProgressBar;
646
640
  exports.HvSwitchColumnCell = SwitchColumnCell.HvSwitchColumnCell;
647
- exports.hvNodeFallback = fallbacks.hvNodeFallback;
648
- exports.hvNumberFallback = fallbacks.hvNumberFallback;
649
- exports.hvStringFallback = fallbacks.hvStringFallback;
650
- exports.getBorderStyles = utils$1.getBorderStyles;
651
641
  exports.tabsClasses = Tabs_styles.staticClasses;
652
642
  exports.HvTabs = Tabs.HvTabs;
653
643
  exports.tagClasses = Tag_styles.staticClasses;
@@ -25,5 +25,9 @@ const isKey = (event, keyCode) => {
25
25
  const isOneOfKeys = (event, keys) => {
26
26
  return keys.some((key) => isKey(event, key));
27
27
  };
28
+ function isDeleteKey(event) {
29
+ return isOneOfKeys(event, ["Backspace", "Delete"]);
30
+ }
31
+ exports.isDeleteKey = isDeleteKey;
28
32
  exports.isKey = isKey;
29
33
  exports.isOneOfKeys = isOneOfKeys;
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useContext } from "react";
3
3
  import { css, Global } from "@emotion/react";
4
- import MuiInput from "@mui/material/Input";
4
+ import MuiInputBase from "@mui/material/InputBase";
5
5
  import { useForkRef } from "@mui/material/utils";
6
6
  import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
7
7
  import { theme } from "@hitachivantara/uikit-styles";
@@ -72,9 +72,6 @@ const HvBaseInput = forwardRef(function HvBaseInput2(props, ref) {
72
72
  localInvalid,
73
73
  id
74
74
  );
75
- const onChangeHandler = (event) => {
76
- onChange?.(event, event.target.value);
77
- };
78
75
  return /* @__PURE__ */ jsxs(Fragment, { children: [
79
76
  /* @__PURE__ */ jsx(Global, { styles: baseInputStyles }),
80
77
  /* @__PURE__ */ jsxs(
@@ -88,7 +85,7 @@ const HvBaseInput = forwardRef(function HvBaseInput2(props, ref) {
88
85
  }),
89
86
  children: [
90
87
  /* @__PURE__ */ jsx(
91
- MuiInput,
88
+ MuiInputBase,
92
89
  {
93
90
  id,
94
91
  name: formElementProps.name,
@@ -98,7 +95,7 @@ const HvBaseInput = forwardRef(function HvBaseInput2(props, ref) {
98
95
  placeholder,
99
96
  readOnly: !!formElementProps.readOnly,
100
97
  disabled: formElementProps.disabled,
101
- onChange: onChangeHandler,
98
+ onChange: (event) => onChange?.(event, event.target.value),
102
99
  className: cx({
103
100
  [classes.inputRootInvalid]: localInvalid,
104
101
  [classes.inputRootReadOnly]: formElementProps.readOnly
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInput.js","sources":["../../../src/BaseInput/BaseInput.tsx"],"sourcesContent":["import { forwardRef, useContext } from \"react\";\nimport { css as emotionCss, Global } from \"@emotion/react\";\nimport MuiInput, { InputProps as MuiInputProps } from \"@mui/material/Input\";\nimport {\n InputBaseProps,\n InputBaseComponentProps as MuiInputBaseComponentProps,\n} from \"@mui/material/InputBase\";\nimport { useForkRef } from \"@mui/material/utils\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport {\n buildAriaPropsFromContext,\n buildFormElementPropsFromContext,\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n} from \"../FormElement\";\nimport { staticClasses, useClasses } from \"./BaseInput.styles\";\n\nexport { staticClasses as baseInputClasses };\n\nexport type HvBaseInputClasses = ExtractNames<typeof useClasses>;\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n WebkitTextFillColor: theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears time input clock in Chrome\n \"input::-webkit-calendar-picker-indicator\": {\n display: \"none\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,input::-webkit-search-cancel-button,input::-webkit-search-results-button,input::-webkit-search-results-decoration\":\n {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<MuiInputProps, \"onChange\" | \"classes\" | \"ref\"> {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: string;\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: string;\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string,\n ) => void;\n /** The input type. */\n type?: string;\n /** Label inside the input used to help user. */\n placeholder?: string;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /** Attributes applied to the input element. */\n inputProps?: MuiInputBaseComponentProps;\n /** Allows passing a ref to the underlying input */\n inputRef?: InputBaseProps[\"inputRef\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = forwardRef<\n // no-indent\n unknown,\n HvBaseInputProps\n>(function HvBaseInput(props, ref) {\n const {\n classes: classesProp,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline,\n resizable,\n invalid,\n inputRef,\n inputProps = {},\n ...others\n } = useDefaultProps(\"HvBaseInput\", props);\n const { classes, cx } = useClasses(classesProp);\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n formElementContext,\n );\n\n const forkedRef = useForkRef(ref, inputRef);\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext,\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id,\n );\n\n const onChangeHandler: MuiInputProps[\"onChange\"] = (event) => {\n onChange?.(event, event.target.value);\n };\n\n return (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(classes.root, className, {\n [classes.disabled]: formElementProps.disabled,\n [classes.invalid]: localInvalid,\n [classes.resizable]: multiline && resizable,\n [classes.readOnly]: formElementProps.readOnly,\n })}\n >\n <MuiInput\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={onChangeHandler}\n className={cx({\n [classes.inputRootInvalid]: localInvalid,\n [classes.inputRootReadOnly]: formElementProps.readOnly,\n })}\n classes={{\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n input: cx(classes.input, {\n [classes.inputResizable]: !formElementProps.disabled && resizable,\n [classes.inputDisabled]: formElementProps.disabled,\n [classes.inputReadOnly]: formElementProps.readOnly,\n }),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={forkedRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div role=\"presentation\" className={classes.inputBorderContainer} />\n )}\n </div>\n </>\n );\n});\n"],"names":["emotionCss","HvBaseInput"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInput.js","sources":["../../../src/BaseInput/BaseInput.tsx"],"sourcesContent":["import { forwardRef, useContext } from \"react\";\nimport { css as emotionCss, Global } from \"@emotion/react\";\nimport MuiInputBase, { InputBaseProps } from \"@mui/material/InputBase\";\nimport { useForkRef } from \"@mui/material/utils\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport {\n buildAriaPropsFromContext,\n buildFormElementPropsFromContext,\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n} from \"../FormElement\";\nimport { staticClasses, useClasses } from \"./BaseInput.styles\";\n\nexport { staticClasses as baseInputClasses };\n\nexport type HvBaseInputClasses = ExtractNames<typeof useClasses>;\n\n// Global styles for the base input.\nconst baseInputStyles = emotionCss({\n \"input:-webkit-autofill\": {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.colors.atmo1} inset`,\n WebkitTextFillColor: theme.colors.secondary,\n },\n\n // Clears number input up/down arrows in Chrome and Firefox\n \"input::-webkit-outer-spin-button,input::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0,\n },\n \"input[type=number]\": {\n MozAppearance: \"textfield\",\n },\n\n // Clears time input clock in Chrome\n \"input::-webkit-calendar-picker-indicator\": {\n display: \"none\",\n },\n\n // Clears search input clear button in Chrome\n \"input::-webkit-search-decoration,input::-webkit-search-cancel-button,input::-webkit-search-results-button,input::-webkit-search-results-decoration\":\n {\n display: \"none\",\n },\n});\n\nexport interface HvBaseInputProps\n extends Omit<\n InputBaseProps,\n \"onChange\" | \"classes\" | \"ref\" | \"color\" | \"size\"\n > {\n /** The input name. */\n name?: string;\n /** The value of the input, when controlled. */\n value?: React.InputHTMLAttributes<HTMLInputElement>[\"value\"];\n /** The initial value of the input, when uncontrolled. */\n defaultValue?: React.InputHTMLAttributes<HTMLInputElement>[\"value\"];\n /** If `true` the input is disabled. */\n disabled?: boolean;\n /** Indicates that the input is not editable. */\n readOnly?: boolean;\n /** If true, the input element will be required. */\n required?: boolean;\n /** The function that will be executed onChange, allows modification of the input,\n * it receives the value. If a new value should be presented it must returned it. */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n value: string,\n ) => void;\n /** If true, a textarea element will be rendered. */\n multiline?: boolean;\n /** If true and multiline is also true the textarea element will be resizable. */\n resizable?: boolean;\n /** Denotes if the input is in an invalid state. */\n invalid?: boolean;\n /**\n * Allows passing a ref to the underlying input\n * @deprecated Use `ref` directly instead\n * */\n inputRef?: InputBaseProps[\"inputRef\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBaseInputClasses;\n}\n\n/**\n * An Input component that only posses the most basic functionalities.\n * It should be used alongside the other form elements to construct a proper accessible form.\n */\nexport const HvBaseInput = forwardRef<\n // no-indent\n React.ElementRef<\"input\">,\n HvBaseInputProps\n>(function HvBaseInput(props, ref) {\n const {\n classes: classesProp,\n className = \"\",\n id,\n name,\n value,\n defaultValue,\n required,\n readOnly,\n disabled,\n onChange,\n type = \"text\",\n placeholder,\n multiline,\n resizable,\n invalid,\n inputRef,\n inputProps = {},\n ...others\n } = useDefaultProps(\"HvBaseInput\", props);\n const { classes, cx } = useClasses(classesProp);\n const formElementContext = useContext(HvFormElementContext);\n const formElementProps = buildFormElementPropsFromContext(\n name,\n disabled,\n readOnly,\n required,\n formElementContext,\n );\n\n const forkedRef = useForkRef(ref, inputRef);\n\n const localInvalid = invalid || formElementProps.status === \"invalid\";\n\n const formElementDescriptorsContext = useContext(\n HvFormElementDescriptorsContext,\n );\n const ariaProps = buildAriaPropsFromContext(\n inputProps,\n formElementDescriptorsContext,\n localInvalid,\n id,\n );\n\n return (\n <>\n <Global styles={baseInputStyles} />\n <div\n className={cx(classes.root, className, {\n [classes.disabled]: formElementProps.disabled,\n [classes.invalid]: localInvalid,\n [classes.resizable]: multiline && resizable,\n [classes.readOnly]: formElementProps.readOnly,\n })}\n >\n <MuiInputBase\n id={id}\n name={formElementProps.name}\n value={value}\n defaultValue={defaultValue}\n type={type}\n placeholder={placeholder}\n readOnly={!!formElementProps.readOnly}\n disabled={formElementProps.disabled}\n onChange={(event) => onChange?.(event, event.target.value)}\n className={cx({\n [classes.inputRootInvalid]: localInvalid,\n [classes.inputRootReadOnly]: formElementProps.readOnly,\n })}\n classes={{\n root: classes.inputRoot,\n focused: classes.inputRootFocused,\n disabled: classes.inputRootDisabled,\n multiline: classes.inputRootMultiline,\n input: cx(classes.input, {\n [classes.inputResizable]: !formElementProps.disabled && resizable,\n [classes.inputDisabled]: formElementProps.disabled,\n [classes.inputReadOnly]: formElementProps.readOnly,\n }),\n }}\n inputProps={{\n // Avoid the required attribute at the root node\n required: formElementProps.required,\n ...inputProps,\n ...ariaProps,\n }}\n inputRef={forkedRef}\n multiline={multiline}\n rows={10}\n {...others}\n />\n {!multiline && (\n <div role=\"presentation\" className={classes.inputBorderContainer} />\n )}\n </div>\n </>\n );\n});\n"],"names":["emotionCss","HvBaseInput"],"mappings":"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"}
@@ -8,12 +8,13 @@ const { staticClasses, useClasses } = createClasses("HvButtonBase", {
8
8
  background: "none",
9
9
  padding: 0,
10
10
  // Background color common for almost all variants
11
- "&:hover": {
12
- backgroundColor: theme.colors.containerBackgroundHover
11
+ ":where(:not($disabled))": {
12
+ ":hover, :focus-visible": {
13
+ backgroundColor: theme.colors.containerBackgroundHover
14
+ }
13
15
  },
14
- "&:focus-visible": {
15
- ...outlineStyles,
16
- backgroundColor: theme.colors.containerBackgroundHover
16
+ ":focus-visible": {
17
+ ...outlineStyles
17
18
  },
18
19
  // Default button - no size specified
19
20
  fontFamily: theme.fontFamily.body,
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.styles.js","sources":["../../../src/ButtonBase/ButtonBase.styles.ts"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvButtonBase\", {\n root: {\n display: \"inline-flex\",\n cursor: \"pointer\",\n background: \"none\",\n padding: 0,\n\n // Background color common for almost all variants\n \"&:hover\": {\n backgroundColor: theme.colors.containerBackgroundHover,\n },\n \"&:focus-visible\": {\n ...outlineStyles,\n backgroundColor: theme.colors.containerBackgroundHover,\n },\n\n // Default button - no size specified\n fontFamily: theme.fontFamily.body,\n fontSize: \"inherit\",\n color: \"inherit\",\n },\n disabled: {\n cursor: \"not-allowed\",\n color: theme.colors.secondary_60,\n \"&:hover, &:focus-visible\": {\n backgroundColor: \"transparent\",\n },\n },\n});\n"],"names":[],"mappings":";;;AAKO,MAAM,EAAE,eAAe,eAAe,cAAc,gBAAgB;AAAA,EACzE,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA;AAAA,IAGT,WAAW;AAAA,MACT,iBAAiB,MAAM,OAAO;AAAA,IAChC;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,iBAAiB,MAAM,OAAO;AAAA,IAChC;AAAA;AAAA,IAGA,YAAY,MAAM,WAAW;AAAA,IAC7B,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,OAAO,MAAM,OAAO;AAAA,IACpB,4BAA4B;AAAA,MAC1B,iBAAiB;AAAA,IAAA;AAAA,EACnB;AAEJ,CAAC;"}
1
+ {"version":3,"file":"ButtonBase.styles.js","sources":["../../../src/ButtonBase/ButtonBase.styles.ts"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvButtonBase\", {\n root: {\n display: \"inline-flex\",\n cursor: \"pointer\",\n background: \"none\",\n padding: 0,\n\n // Background color common for almost all variants\n \":where(:not($disabled))\": {\n \":hover, :focus-visible\": {\n backgroundColor: theme.colors.containerBackgroundHover,\n },\n },\n \":focus-visible\": {\n ...outlineStyles,\n },\n\n // Default button - no size specified\n fontFamily: theme.fontFamily.body,\n fontSize: \"inherit\",\n color: \"inherit\",\n },\n disabled: {\n cursor: \"not-allowed\",\n color: theme.colors.secondary_60,\n \"&:hover, &:focus-visible\": {\n backgroundColor: \"transparent\",\n },\n },\n});\n"],"names":[],"mappings":";;;AAKO,MAAM,EAAE,eAAe,eAAe,cAAc,gBAAgB;AAAA,EACzE,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA;AAAA,IAGT,2BAA2B;AAAA,MACzB,0BAA0B;AAAA,QACxB,iBAAiB,MAAM,OAAO;AAAA,MAAA;AAAA,IAElC;AAAA,IACA,kBAAkB;AAAA,MAChB,GAAG;AAAA,IACL;AAAA;AAAA,IAGA,YAAY,MAAM,WAAW;AAAA,IAC7B,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,OAAO,MAAM,OAAO;AAAA,IACpB,4BAA4B;AAAA,MAC1B,iBAAiB;AAAA,IAAA;AAAA,EACnB;AAEJ,CAAC;"}
@@ -4,14 +4,14 @@ import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
4
4
  import { setId } from "../utils/setId.js";
5
5
  import { useClasses } from "./Calendar.styles.js";
6
6
  import { staticClasses } from "./Calendar.styles.js";
7
- import { isRange } from "./utils.js";
8
- import { HvSingleCalendar } from "./SingleCalendar/SingleCalendar.js";
7
+ import { DEFAULT_LOCALE, isRange } from "./utils.js";
9
8
  import { HvFormElementContext, HvFormElementValueContext } from "../FormElement/context.js";
9
+ import { HvSingleCalendar } from "./SingleCalendar/SingleCalendar.js";
10
10
  const HvCalendar = (props) => {
11
11
  const {
12
12
  classes: classesProp,
13
13
  id: idProp,
14
- locale = "en-US",
14
+ locale = DEFAULT_LOCALE,
15
15
  value: valueProp,
16
16
  visibleMonth,
17
17
  visibleYear,
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sources":["../../../src/Calendar/Calendar.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport {\n HvFormElementContext,\n HvFormElementValueContext,\n} from \"../FormElement\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./Calendar.styles\";\nimport { HvSingleCalendar } from \"./SingleCalendar\";\nimport { DateRangeProp, VisibilitySelectorActions } from \"./types\";\nimport { isRange } from \"./utils\";\n\nexport { staticClasses as calendarClasses };\n\nexport type HvCalendarClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCalendarProps {\n /**\n * Styles applied from the theme.\n */\n classes?: HvCalendarClasses;\n /**\n * Identifier.\n */\n id?: string;\n /**\n * The calendar locale. If undefined, it defaults to en-US\n *\n */\n locale?: string;\n /**\n * Date that the calendar would show.\n * if using the object format the calendar enter in range mode showing two calendars\n */\n value?: DateRangeProp | Date;\n /**\n * Controls the visible month of the Calendar\n */\n visibleMonth?: number;\n /**\n * Controls the visible year of the Calendar\n */\n visibleYear?: number;\n /**\n * Controls the visible month of the Calendar on the right side of the datepicker\n */\n rightVisibleMonth?: number;\n /**\n * Controls the visible year of the Calendar on the right side of the datepicker\n */\n rightVisibleYear?: number;\n /**\n * Callback function to be triggered when the selected date has changed.\n */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n | undefined,\n value: Date | DateRangeProp,\n ) => void;\n /**\n * Callback function to be triggered when the selected date input has changed.\n */\n onInputChange?: (\n event:\n | React.ChangeEvent<\n HTMLTextAreaElement | HTMLInputElement | HTMLButtonElement\n >\n | undefined,\n value: Date | DateRangeProp,\n position: \"left\" | \"right\",\n ) => void;\n /**\n * Callback function to be triggered when the user clicks on the month or year selector.\n * it receives the action that was pressed:\n * previous_month, next_month, previous_year, next_year,month\n */\n onVisibleDateChange?: (\n event:\n | React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n | undefined,\n action: VisibilitySelectorActions,\n value?: Date | DateRangeProp | number,\n position?: \"left\" | \"right\",\n ) => void;\n /**\n * The maximum selectable date after this all values are disabled.\n */\n maximumDate?: Date;\n /**\n * The minimum selectable date before this all values are disabled.\n */\n minimumDate?: Date;\n /**\n * An element placed before the Calendar\n */\n startAdornment?: React.ReactNode;\n /**\n * Indicates if header should display the day of week.\n */\n showDayOfWeek?: boolean;\n /**\n * Label shown when date is invalid.\n */\n invalidDateLabel?: string;\n}\n\nexport const HvCalendar = (props: HvCalendarProps) => {\n const {\n classes: classesProp,\n id: idProp,\n locale = \"en-US\",\n value: valueProp,\n visibleMonth,\n visibleYear,\n rightVisibleMonth,\n rightVisibleYear,\n minimumDate,\n maximumDate,\n startAdornment,\n onChange,\n onInputChange,\n onVisibleDateChange,\n invalidDateLabel,\n ...others\n } = useDefaultProps(\"HvCalendar\", props);\n const { classes } = useClasses(classesProp);\n\n const context = useContext(HvFormElementContext);\n const elementValue = useContext(HvFormElementValueContext);\n const value = valueProp ?? elementValue;\n const id = idProp ?? setId(context.id, \"single-calendar\");\n const rangeMode = isRange(value);\n const rightCalendarId = setId(id, \"single-calendar-right\");\n const clampedMonth =\n visibleMonth && visibleMonth % 13 > 0 ? visibleMonth % 13 : 1;\n\n const singleCalendar = (\n <HvSingleCalendar\n id={id}\n locale={locale}\n value={value}\n visibleMonth={clampedMonth}\n visibleYear={visibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) => {\n onInputChange?.(evt, date, \"left\");\n }}\n onVisibleDateChange={onVisibleDateChange}\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n );\n\n const rangeCalendar = (\n <div className={classes.rangeCalendarContainer}>\n <HvSingleCalendar\n className={classes.singleCalendar}\n id={id}\n locale={locale}\n value={value}\n visibleMonth={clampedMonth}\n visibleYear={visibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) => {\n onInputChange?.(evt, date, \"left\");\n }}\n onVisibleDateChange={(event, action, index) =>\n onVisibleDateChange?.(event, action, index, \"left\")\n }\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n\n <HvSingleCalendar\n className={classes.singleCalendar}\n id={rightCalendarId}\n locale={locale}\n value={value}\n visibleMonth={rightVisibleMonth}\n visibleYear={rightVisibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) => {\n onInputChange?.(evt, date, \"right\");\n }}\n onVisibleDateChange={(event, action, index) => {\n onVisibleDateChange?.(event, action, index, \"right\");\n }}\n showEndDate\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n </div>\n );\n\n return (\n <div className={classes.root}>\n {startAdornment}\n {rangeMode ? rangeCalendar : singleCalendar}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AA+Ga,MAAA,aAAa,CAAC,UAA2B;AAC9C,QAAA;AAAA,IACJ,SAAS;AAAA,IACT,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,cAAc,KAAK;AACvC,QAAM,EAAE,QAAA,IAAY,WAAW,WAAW;AAEpC,QAAA,UAAU,WAAW,oBAAoB;AACzC,QAAA,eAAe,WAAW,yBAAyB;AACzD,QAAM,QAAQ,aAAa;AAC3B,QAAM,KAAK,UAAU,MAAM,QAAQ,IAAI,iBAAiB;AAClD,QAAA,YAAY,QAAQ,KAAK;AACzB,QAAA,kBAAkB,MAAM,IAAI,uBAAuB;AACzD,QAAM,eACJ,gBAAgB,eAAe,KAAK,IAAI,eAAe,KAAK;AAE9D,QAAM,iBACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe,CAAC,KAAK,SAAS;AACZ,wBAAA,KAAK,MAAM,MAAM;AAAA,MACnC;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACN;AAGF,QAAM,gBACJ,qBAAC,OAAI,EAAA,WAAW,QAAQ,wBACtB,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,QAAQ;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe,CAAC,KAAK,SAAS;AACZ,0BAAA,KAAK,MAAM,MAAM;AAAA,QACnC;AAAA,QACA,qBAAqB,CAAC,OAAO,QAAQ,UACnC,sBAAsB,OAAO,QAAQ,OAAO,MAAM;AAAA,QAEpD;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACN;AAAA,IAEA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,QAAQ;AAAA,QACnB,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe,CAAC,KAAK,SAAS;AACZ,0BAAA,KAAK,MAAM,OAAO;AAAA,QACpC;AAAA,QACA,qBAAqB,CAAC,OAAO,QAAQ,UAAU;AACvB,gCAAA,OAAO,QAAQ,OAAO,OAAO;AAAA,QACrD;AAAA,QACA,aAAW;AAAA,QACX;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAGF,SACG,qBAAA,OAAA,EAAI,WAAW,QAAQ,MACrB,UAAA;AAAA,IAAA;AAAA,IACA,YAAY,gBAAgB;AAAA,EAAA,GAC/B;AAEJ;"}
1
+ {"version":3,"file":"Calendar.js","sources":["../../../src/Calendar/Calendar.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport {\n HvFormElementContext,\n HvFormElementValueContext,\n} from \"../FormElement\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./Calendar.styles\";\nimport { HvSingleCalendar } from \"./SingleCalendar\";\nimport { DateRangeProp, VisibilitySelectorActions } from \"./types\";\nimport { DEFAULT_LOCALE, isRange } from \"./utils\";\n\nexport { staticClasses as calendarClasses };\n\nexport type HvCalendarClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCalendarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n /**\n * Styles applied from the theme.\n */\n classes?: HvCalendarClasses;\n /**\n * The calendar locale.\n */\n locale?: string;\n /**\n * Date that the calendar would show.\n * if using the object format the calendar enter in range mode showing two calendars\n */\n value?: DateRangeProp | Date;\n /**\n * Controls the visible month of the Calendar\n */\n visibleMonth?: number;\n /**\n * Controls the visible year of the Calendar\n */\n visibleYear?: number;\n /**\n * Controls the visible month of the Calendar on the right side of the datepicker\n */\n rightVisibleMonth?: number;\n /**\n * Controls the visible year of the Calendar on the right side of the datepicker\n */\n rightVisibleYear?: number;\n /**\n * Callback function to be triggered when the selected date has changed.\n */\n onChange?: (\n event:\n | React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n | undefined,\n value: Date | DateRangeProp,\n ) => void;\n /**\n * Callback function to be triggered when the selected date input has changed.\n */\n onInputChange?: (\n event:\n | React.ChangeEvent<\n HTMLTextAreaElement | HTMLInputElement | HTMLButtonElement\n >\n | undefined,\n value: Date | DateRangeProp,\n position: \"left\" | \"right\",\n ) => void;\n /**\n * Callback function to be triggered when the user clicks on the month or year selector.\n * it receives the action that was pressed:\n * previous_month, next_month, previous_year, next_year,month\n */\n onVisibleDateChange?: (\n event:\n | React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>\n | undefined,\n action: VisibilitySelectorActions,\n value?: Date | DateRangeProp | number,\n position?: \"left\" | \"right\",\n ) => void;\n /**\n * The maximum selectable date after this all values are disabled.\n */\n maximumDate?: Date;\n /**\n * The minimum selectable date before this all values are disabled.\n */\n minimumDate?: Date;\n /**\n * An element placed before the Calendar\n */\n startAdornment?: React.ReactNode;\n /**\n * Indicates if header should display the day of week.\n */\n showDayOfWeek?: boolean;\n /**\n * Label shown when date is invalid.\n */\n invalidDateLabel?: string;\n}\n\nexport const HvCalendar = (props: HvCalendarProps) => {\n const {\n classes: classesProp,\n id: idProp,\n locale = DEFAULT_LOCALE,\n value: valueProp,\n visibleMonth,\n visibleYear,\n rightVisibleMonth,\n rightVisibleYear,\n minimumDate,\n maximumDate,\n startAdornment,\n onChange,\n onInputChange,\n onVisibleDateChange,\n invalidDateLabel,\n ...others\n } = useDefaultProps(\"HvCalendar\", props);\n const { classes } = useClasses(classesProp);\n\n const context = useContext(HvFormElementContext);\n const elementValue = useContext(HvFormElementValueContext);\n const value = valueProp ?? elementValue;\n const id = idProp ?? setId(context.id, \"single-calendar\");\n const rangeMode = isRange(value);\n const rightCalendarId = setId(id, \"single-calendar-right\");\n const clampedMonth =\n visibleMonth && visibleMonth % 13 > 0 ? visibleMonth % 13 : 1;\n\n const singleCalendar = (\n <HvSingleCalendar\n id={id}\n locale={locale}\n value={value}\n visibleMonth={clampedMonth}\n visibleYear={visibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) => {\n onInputChange?.(evt, date, \"left\");\n }}\n onVisibleDateChange={onVisibleDateChange}\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n );\n\n const rangeCalendar = (\n <div className={classes.rangeCalendarContainer}>\n <HvSingleCalendar\n className={classes.singleCalendar}\n id={id}\n locale={locale}\n value={value}\n visibleMonth={clampedMonth}\n visibleYear={visibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) => {\n onInputChange?.(evt, date, \"left\");\n }}\n onVisibleDateChange={(event, action, index) =>\n onVisibleDateChange?.(event, action, index, \"left\")\n }\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n\n <HvSingleCalendar\n className={classes.singleCalendar}\n id={rightCalendarId}\n locale={locale}\n value={value}\n visibleMonth={rightVisibleMonth}\n visibleYear={rightVisibleYear}\n minimumDate={minimumDate}\n maximumDate={maximumDate}\n onChange={onChange}\n onInputChange={(evt, date) => {\n onInputChange?.(evt, date, \"right\");\n }}\n onVisibleDateChange={(event, action, index) => {\n onVisibleDateChange?.(event, action, index, \"right\");\n }}\n showEndDate\n invalidDateLabel={invalidDateLabel}\n {...others}\n />\n </div>\n );\n\n return (\n <div className={classes.root}>\n {startAdornment}\n {rangeMode ? rangeCalendar : singleCalendar}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AA2Ga,MAAA,aAAa,CAAC,UAA2B;AAC9C,QAAA;AAAA,IACJ,SAAS;AAAA,IACT,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,cAAc,KAAK;AACvC,QAAM,EAAE,QAAA,IAAY,WAAW,WAAW;AAEpC,QAAA,UAAU,WAAW,oBAAoB;AACzC,QAAA,eAAe,WAAW,yBAAyB;AACzD,QAAM,QAAQ,aAAa;AAC3B,QAAM,KAAK,UAAU,MAAM,QAAQ,IAAI,iBAAiB;AAClD,QAAA,YAAY,QAAQ,KAAK;AACzB,QAAA,kBAAkB,MAAM,IAAI,uBAAuB;AACzD,QAAM,eACJ,gBAAgB,eAAe,KAAK,IAAI,eAAe,KAAK;AAE9D,QAAM,iBACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe,CAAC,KAAK,SAAS;AACZ,wBAAA,KAAK,MAAM,MAAM;AAAA,MACnC;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACN;AAGF,QAAM,gBACJ,qBAAC,OAAI,EAAA,WAAW,QAAQ,wBACtB,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,QAAQ;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe,CAAC,KAAK,SAAS;AACZ,0BAAA,KAAK,MAAM,MAAM;AAAA,QACnC;AAAA,QACA,qBAAqB,CAAC,OAAO,QAAQ,UACnC,sBAAsB,OAAO,QAAQ,OAAO,MAAM;AAAA,QAEpD;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACN;AAAA,IAEA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,QAAQ;AAAA,QACnB,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,aAAa;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe,CAAC,KAAK,SAAS;AACZ,0BAAA,KAAK,MAAM,OAAO;AAAA,QACpC;AAAA,QACA,qBAAqB,CAAC,OAAO,QAAQ,UAAU;AACvB,gCAAA,OAAO,QAAQ,OAAO,OAAO;AAAA,QACrD;AAAA,QACA,aAAW;AAAA,QACX;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAGF,SACG,qBAAA,OAAA,EAAI,WAAW,QAAQ,MACrB,UAAA;AAAA,IAAA;AAAA,IACA,YAAY,gBAAgB;AAAA,EAAA,GAC/B;AAEJ;"}