@hexure/ui 1.13.57 → 1.13.59

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.
@@ -17,6 +17,7 @@ export interface CheckboxProps extends AccessibleProps {
17
17
  tooltip?: TooltipProps;
18
18
  /** Optional ID for automation purposes */
19
19
  dataItemid?: string;
20
+ isInvalidRedBackground?: boolean;
20
21
  }
21
22
  declare const Checkbox: FC<CheckboxProps>;
22
23
  export default Checkbox;
@@ -1,5 +1,6 @@
1
1
  import { FC, ReactNode } from 'react';
2
2
  import { AccessibleProps } from '../../utils/Accessibility';
3
+ import { TooltipProps } from '../Tooltip/Tooltip';
3
4
  export interface ButtonProps extends AccessibleProps {
4
5
  disabled?: boolean;
5
6
  children: string;
@@ -8,6 +9,10 @@ export interface ButtonProps extends AccessibleProps {
8
9
  onClick: (e?: any) => void;
9
10
  tabIndex?: number;
10
11
  loading?: boolean;
12
+ /** Tooltip Props */
13
+ toolTip?: TooltipProps;
14
+ /** Set the title of the button on hover */
15
+ title?: string;
11
16
  }
12
17
  export interface DrawerProps extends AccessibleProps {
13
18
  primaryButton?: ButtonProps;
@@ -29,6 +34,7 @@ export interface DrawerProps extends AccessibleProps {
29
34
  onClose: (e?: any) => void;
30
35
  /** Optional ID for automation purposes */
31
36
  dataItemid?: string;
37
+ bottomNotes?: string | ReactNode;
32
38
  }
33
39
  declare const Drawer: FC<DrawerProps>;
34
40
  export default Drawer;
@@ -35,6 +35,7 @@ export interface InputProps extends AccessibleProps {
35
35
  mask?: string;
36
36
  onPaste?: (e?: any) => void;
37
37
  autoComplete?: React.InputHTMLAttributes<HTMLInputElement>['autoComplete'];
38
+ isInvalidRedBackground?: boolean;
38
39
  }
39
40
  declare const Input: FC<InputProps>;
40
41
  export default Input;
@@ -18,6 +18,7 @@ export interface RadioProps extends AccessibleProps {
18
18
  tooltip?: TooltipProps;
19
19
  /** Optional ID for automation purposes */
20
20
  dataItemid?: string;
21
+ isInvalidRedBackground?: boolean;
21
22
  }
22
23
  declare const Radio: FC<RadioProps>;
23
24
  export default Radio;
@@ -29,6 +29,7 @@ export interface SelectProps extends AccessibleProps {
29
29
  onSearch?: (searchTerm: string) => void;
30
30
  /** Optional ID for automation purposes */
31
31
  dataItemid?: string;
32
+ isInvalidRedBackground?: boolean;
32
33
  }
33
34
  declare const Select: FC<SelectProps>;
34
35
  export default Select;
@@ -10,6 +10,8 @@ export interface TooltipProps {
10
10
  trigger?: any;
11
11
  /** Optional ID for automation purposes */
12
12
  dataItemid?: string;
13
+ /** Override the default icon / wrapper height of 16px */
14
+ height?: string;
13
15
  }
14
16
  declare const Tooltip: FC<TooltipProps>;
15
17
  export default Tooltip;
package/dist/esm/index.js CHANGED
@@ -137,11 +137,11 @@ Copy.defaultProps = {
137
137
  type: 'default',
138
138
  };
139
139
 
140
- const Wrapper$h = styled.div `
141
- display: inline-block;
142
- position: relative;
143
- height: 16px;
144
- `;
140
+ const Wrapper$h = styled.div(props => ({
141
+ display: 'inline-block',
142
+ position: 'relative',
143
+ height: props.$height || '16px',
144
+ }));
145
145
  const StyledIcon$6 = styled(Icon) `
146
146
  width: 16px;
147
147
  height: 16px;
@@ -180,10 +180,10 @@ const positions = {
180
180
  };
181
181
  const Content$3 = styled.div(props => (Object.assign({ position: 'absolute', borderRadius: '4px', borderWidth: '1px', borderStyle: 'solid', borderColor: props.theme.PRIMARY_COLOR.Hex, background: '#ffffff', boxShadow: '0px 5px 30px -10px rgba(0, 0, 0, 0.5)', width: props.$width || '240px', padding: '10px 12px', zIndex: 9999 }, positions[props.$position])));
182
182
  Content$3.defaultProps = { theme: EditableTheme };
183
- const Tooltip = ({ children, position = 'right-top', width = '240px', trigger, dataItemid, }) => {
183
+ const Tooltip = ({ children, position = 'right-top', width = '240px', trigger, dataItemid, height, }) => {
184
184
  const [show_content, toggleContent] = useState(false);
185
185
  const baseId = dataItemid || 'tooltip';
186
- return (React.createElement(Wrapper$h, { "data-itemid": `${baseId}-wrapper`, onMouseEnter: toggleContent.bind(null, true), onMouseLeave: toggleContent.bind(null, false) },
186
+ return (React.createElement(Wrapper$h, { "$height": height, "data-itemid": `${baseId}-wrapper`, onMouseEnter: toggleContent.bind(null, true), onMouseLeave: toggleContent.bind(null, false) },
187
187
  trigger || React.createElement(StyledIcon$6, { "data-itemid": `${baseId}-icon`, path: mdiInformationOutline }),
188
188
  show_content ? (React.createElement(Content$3, { "$position": position, "$width": width, "data-itemid": `${baseId}-content` }, children && (React.createElement(Copy, { "data-itemid": `${baseId}-copy`, type: 'small' }, children)))) : null));
189
189
  };
@@ -951,6 +951,7 @@ const Check$1 = styled.span `
951
951
  border-width: 2px;
952
952
  border-style: solid;
953
953
  border-color: ${props => (props.$invalid ? `${Colors.RED.Hex}` : `${Colors.GRAY.Hex}`)};
954
+ background-color: ${props => props.$invalid && props.$isInvalidRedBackground ? '#ffe5e5' : '#ffffff'};
954
955
  box-sizing: border-box;
955
956
  position: relative;
956
957
  &:after {
@@ -979,11 +980,11 @@ const Label$3 = styled.span `
979
980
  box-sizing: border-box;
980
981
  `;
981
982
  const Checkbox = (_a) => {
982
- var { children, color, disabled, checked, onChange, invalid, tooltip, tabIndex, dataItemid } = _a, accessibleProps = __rest(_a, ["children", "color", "disabled", "checked", "onChange", "invalid", "tooltip", "tabIndex", "dataItemid"]);
983
+ var { children, color, disabled, checked, onChange, invalid, tooltip, tabIndex, dataItemid, isInvalidRedBackground = false } = _a, accessibleProps = __rest(_a, ["children", "color", "disabled", "checked", "onChange", "invalid", "tooltip", "tabIndex", "dataItemid", "isInvalidRedBackground"]);
983
984
  const baseId = dataItemid || 'checkbox';
984
985
  return (React.createElement(Wrapper$b, Object.assign({ "$disabled": disabled }, accessibleProps, { "data-itemid": `${baseId}-wrapper` }),
985
986
  React.createElement(Input$2, { checked: checked, "data-itemid": `${baseId}-input`, disabled: disabled, name: accessibleProps.name, onChange: disabled ? undefined : onChange, tabIndex: disabled ? -1 : tabIndex, type: 'checkbox' }),
986
- React.createElement(Check$1, { "$invalid": invalid, "data-itemid": `${baseId}-check` }),
987
+ React.createElement(Check$1, { "$invalid": invalid, "$isInvalidRedBackground": isInvalidRedBackground, "data-itemid": `${baseId}-check` }),
987
988
  children ? (React.createElement(Label$3, { color: color, "data-itemid": `${baseId}-label` },
988
989
  children,
989
990
  tooltip ? React.createElement(Tooltip, Object.assign({}, tooltip)) : null)) : null));
@@ -1046,6 +1047,7 @@ const Wrapper$a = styled.div `
1046
1047
  border-width: 1px;
1047
1048
  border-style: solid;
1048
1049
  border-color: ${props => (props.$invalid ? Colors.RED.Hex : '#cccccc')};
1050
+ background-color: ${props => props.$invalid && props.$isInvalidRedBackground ? '#ffe5e5' : '#ffffff'};
1049
1051
  border-radius: ${({ $style }) => ($style === null || $style === void 0 ? void 0 : $style.borderRadius) || '4px'};
1050
1052
  flex-grow: ${({ $style }) => ($style === null || $style === void 0 ? void 0 : $style.flexGrow) || 0};
1051
1053
  box-sizing: border-box;
@@ -1101,7 +1103,7 @@ const SearchInput$1 = styled.input `
1101
1103
  white-space: nowrap;
1102
1104
  `;
1103
1105
  const Select = (_a) => {
1104
- var { options, optionGroups, placeholder = '--Select-One--', readOnly, invalid, searchable = false, value: propValue, onChange, style, tabIndex, dataItemid } = _a, accessibleProps = __rest(_a, ["options", "optionGroups", "placeholder", "readOnly", "invalid", "searchable", "value", "onChange", "style", "tabIndex", "dataItemid"]);
1106
+ var { options, optionGroups, placeholder = '--Select-One--', readOnly, invalid, searchable = false, value: propValue, onChange, style, tabIndex, dataItemid, isInvalidRedBackground = false } = _a, accessibleProps = __rest(_a, ["options", "optionGroups", "placeholder", "readOnly", "invalid", "searchable", "value", "onChange", "style", "tabIndex", "dataItemid", "isInvalidRedBackground"]);
1105
1107
  const [searchTerm, setSearchTerm] = useState('');
1106
1108
  const [value, setValue] = useState(propValue || '');
1107
1109
  const baseId = dataItemid || 'select';
@@ -1124,7 +1126,7 @@ const Select = (_a) => {
1124
1126
  const filteredOptionGroups = searchable
1125
1127
  ? optionGroups === null || optionGroups === void 0 ? void 0 : optionGroups.map(group => (Object.assign(Object.assign({}, group), { options: group.options.filter(option => { var _a; return (_a = option.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchTerm.toLowerCase()); }) })))
1126
1128
  : optionGroups;
1127
- return (React.createElement(Wrapper$a, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, "data-itemid": `${baseId}-wrapper` },
1129
+ return (React.createElement(Wrapper$a, { "$invalid": invalid, "$isInvalidRedBackground": isInvalidRedBackground, "$readOnly": readOnly, "$style": style, "data-itemid": `${baseId}-wrapper` },
1128
1130
  searchable && (React.createElement(SearchInput$1, Object.assign({ "data-itemid": `${baseId}-search-input`, onChange: handleSearch, placeholder: placeholder, tabIndex: readOnly ? -1 : tabIndex, type: 'text', value: searchTerm }, accessibleProps))),
1129
1131
  React.createElement(Trigger$1, Object.assign({ "data-itemid": `${baseId}-trigger`, disabled: readOnly, onChange: handleChange, placeholder: placeholder, tabIndex: readOnly ? -1 : tabIndex, value: value }, accessibleProps),
1130
1132
  placeholder && !value && (React.createElement("option", { "data-itemid": `${baseId}-placeholder`, disabled: true, value: '' }, placeholder)),
@@ -1289,9 +1291,14 @@ const ButtonBar$1 = styled.div `
1289
1291
  gap: 10px;
1290
1292
  flex-shrink: 0;
1291
1293
  background: #fff;
1294
+ flex-direction: column;
1295
+ `;
1296
+ const ButtonBarNote = styled.div `
1297
+ display: flex;
1298
+ gap: 10px;
1292
1299
  `;
1293
1300
  const Drawer = (_a) => {
1294
- var { children, description, title, onClose, primaryButton, position = 'fixed', secondaryButton, tertiaryButton, scrim = 'dark', width, dataItemid } = _a, accessibleProps = __rest(_a, ["children", "description", "title", "onClose", "primaryButton", "position", "secondaryButton", "tertiaryButton", "scrim", "width", "dataItemid"]);
1301
+ var { children, description, title, onClose, primaryButton, position = 'fixed', secondaryButton, tertiaryButton, scrim = 'dark', width, dataItemid, bottomNotes } = _a, accessibleProps = __rest(_a, ["children", "description", "title", "onClose", "primaryButton", "position", "secondaryButton", "tertiaryButton", "scrim", "width", "dataItemid", "bottomNotes"]);
1295
1302
  useEffect(() => {
1296
1303
  document.onkeydown = e => {
1297
1304
  if (e.key === 'Escape') {
@@ -1313,9 +1320,11 @@ const Drawer = (_a) => {
1313
1320
  React.createElement(Button, { dataItemid: `${baseId}-close-button`, format: 'secondary', icon: mdiClose, small: true }))),
1314
1321
  React.createElement(ContentWrapper$1, { "data-itemid": `${baseId}-content-wrapper` }, children),
1315
1322
  primaryButton || secondaryButton || tertiaryButton ? (React.createElement(ButtonBar$1, { "data-itemid": `${baseId}-button-bar` },
1316
- tertiaryButton ? (React.createElement(Button, Object.assign({}, tertiaryButton, { "data-itemid": `${baseId}-tertiary-button`, format: tertiaryButton.format || 'secondary' }))) : null,
1317
- secondaryButton ? (React.createElement(Button, Object.assign({}, secondaryButton, { "data-itemid": `${baseId}-secondary-button`, format: secondaryButton.format || 'secondary' }))) : null,
1318
- primaryButton ? (React.createElement(Button, Object.assign({}, primaryButton, { "data-itemid": `${baseId}-primary-button`, format: primaryButton.format || 'primary' }))) : null)) : null),
1323
+ React.createElement(Copy, { "data-itemid": `${baseId}-button-bar-notes`, type: 'small' }, bottomNotes),
1324
+ React.createElement(ButtonBarNote, null,
1325
+ tertiaryButton ? (React.createElement(Button, Object.assign({}, tertiaryButton, { "data-itemid": `${baseId}-tertiary-button`, format: tertiaryButton.format || 'secondary' }))) : null,
1326
+ secondaryButton ? (React.createElement(Button, Object.assign({}, secondaryButton, { "data-itemid": `${baseId}-secondary-button`, format: secondaryButton.format || 'secondary' }))) : null,
1327
+ primaryButton ? (React.createElement(Button, Object.assign({}, primaryButton, { "data-itemid": `${baseId}-primary-button`, format: primaryButton.format || 'primary' }))) : null))) : null),
1319
1328
  scrim ? (React.createElement(Scrim$1, { "$position": position, "$scrim": scrim, "data-itemid": `${baseId}-scrim`, onClick: onClose })) : null));
1320
1329
  };
1321
1330
 
@@ -1815,6 +1824,7 @@ const StyledWrapper = styled.div `
1815
1824
  border-width: 1px;
1816
1825
  border-style: solid;
1817
1826
  border-color: ${props => (props.$invalid ? Colors.RED.Hex : '#cccccc')};
1827
+ background-color: ${props => props.$invalid && props.$isInvalidRedBackground ? '#ffe5e5' : '#ffffff'};
1818
1828
  border-radius: ${props => (props.$suggestions ? '4px 4px 0px 0px' : '4px')};
1819
1829
 
1820
1830
  &:focus-within {
@@ -1880,7 +1890,7 @@ const Loader$1 = styled.div `
1880
1890
  const Input$1 = (_a) => {
1881
1891
  var { format, suffix, height, invalid, loading, max, maxLength, min, onBlur, onChange, onFocus, onKeyDown,
1882
1892
  // eslint-disable-next-line @typescript-eslint/no-empty-function
1883
- onSuggestedSelect = () => { }, placeholder, readOnly, showCharCount, step, style, suggestedValues, showErrorTextColor = false, type = 'text', value = '', innerRef = null, tabIndex, isAutoComplete = false, dataItemid, mask, onPaste, autoComplete } = _a, accessibleProps = __rest(_a, ["format", "suffix", "height", "invalid", "loading", "max", "maxLength", "min", "onBlur", "onChange", "onFocus", "onKeyDown", "onSuggestedSelect", "placeholder", "readOnly", "showCharCount", "step", "style", "suggestedValues", "showErrorTextColor", "type", "value", "innerRef", "tabIndex", "isAutoComplete", "dataItemid", "mask", "onPaste", "autoComplete"]);
1893
+ onSuggestedSelect = () => { }, placeholder, readOnly, showCharCount, step, style, suggestedValues, showErrorTextColor = false, type = 'text', value = '', innerRef = null, tabIndex, isAutoComplete = false, dataItemid, mask, onPaste, autoComplete, isInvalidRedBackground = false } = _a, accessibleProps = __rest(_a, ["format", "suffix", "height", "invalid", "loading", "max", "maxLength", "min", "onBlur", "onChange", "onFocus", "onKeyDown", "onSuggestedSelect", "placeholder", "readOnly", "showCharCount", "step", "style", "suggestedValues", "showErrorTextColor", "type", "value", "innerRef", "tabIndex", "isAutoComplete", "dataItemid", "mask", "onPaste", "autoComplete", "isInvalidRedBackground"]);
1884
1894
  const [show_options, setShowOptions] = useState(false);
1885
1895
  const [internalValue, setInternalValue] = useState(value);
1886
1896
  const [internalSuggestedValues, setInternalSuggestedValues] = useState(suggestedValues || []);
@@ -1956,7 +1966,7 @@ const Input$1 = (_a) => {
1956
1966
  formatted_value = formatAsMask(internalValue, mask);
1957
1967
  }
1958
1968
  const baseId = dataItemid || 'input';
1959
- return type === 'textarea' ? (React.createElement(StyledWrapper, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, "$suggestions": show_options && !!internalSuggestedValues.length, "data-itemid": `${baseId}-wrapper`, style: style },
1969
+ return type === 'textarea' ? (React.createElement(StyledWrapper, { "$invalid": invalid, "$isInvalidRedBackground": isInvalidRedBackground, "$readOnly": readOnly, "$style": style, "$suggestions": show_options && !!internalSuggestedValues.length, "data-itemid": `${baseId}-wrapper`, style: style },
1960
1970
  React.createElement(StyledTextArea, Object.assign({ "$height": height, "$invalid": invalid, "$readOnly": readOnly, "$showErrorTextColor": showErrorTextColor, autoComplete: autoComplete, maxLength: maxLength, onBlur: readOnly
1961
1971
  ? e => e.preventDefault()
1962
1972
  : e => {
@@ -1979,7 +1989,7 @@ const Input$1 = (_a) => {
1979
1989
  React.createElement(Icon, { color: Colors.MEDIUM_GRAY.Hex, path: mdiLoading, size: '20px', spin: true }))) : null,
1980
1990
  showCharCount ? (React.createElement(CharacterCount, { "data-itemid": `${baseId}-char-count` },
1981
1991
  internalValue.length,
1982
- maxLength ? ` / ${maxLength}` : null)) : null)) : (React.createElement(StyledWrapper, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, "$suggestions": show_options && !!internalSuggestedValues.length, "data-itemid": `${baseId}-wrapper`, style: style },
1992
+ maxLength ? ` / ${maxLength}` : null)) : null)) : (React.createElement(StyledWrapper, { "$invalid": invalid, "$isInvalidRedBackground": isInvalidRedBackground, "$readOnly": readOnly, "$style": style, "$suggestions": show_options && !!internalSuggestedValues.length, "data-itemid": `${baseId}-wrapper`, style: style },
1983
1993
  React.createElement(StyledInput, Object.assign({ "$height": height, "$invalid": invalid, "$readOnly": readOnly, "$showErrorTextColor": showErrorTextColor, autoComplete: autoComplete, max: max, maxLength: maxLength, min: min, onBlur: readOnly
1984
1994
  ? e => e.preventDefault()
1985
1995
  : e => {
@@ -2534,6 +2544,7 @@ const Check = styled.span `
2534
2544
  border-width: 2px;
2535
2545
  border-style: solid;
2536
2546
  border-color: ${props => (props.$invalid ? `${Colors.RED.Hex}` : `${Colors.GRAY.Hex}`)};
2547
+ background-color: ${props => props.$invalid && props.$isInvalidRedBackground ? '#ffe5e5' : '#ffffff'};
2537
2548
  box-sizing: border-box;
2538
2549
  position: relative;
2539
2550
  &:after {
@@ -2557,11 +2568,11 @@ const Label = styled.span `
2557
2568
  margin-left: 6px;
2558
2569
  `;
2559
2570
  const Radio = (_a) => {
2560
- var { children, disabled, checked, onChange, value, invalid, tooltip, tabIndex, dataItemid } = _a, accessibleProps = __rest(_a, ["children", "disabled", "checked", "onChange", "value", "invalid", "tooltip", "tabIndex", "dataItemid"]);
2571
+ var { children, disabled, checked, onChange, value, invalid, tooltip, tabIndex, dataItemid, isInvalidRedBackground = false } = _a, accessibleProps = __rest(_a, ["children", "disabled", "checked", "onChange", "value", "invalid", "tooltip", "tabIndex", "dataItemid", "isInvalidRedBackground"]);
2561
2572
  const baseId = dataItemid || 'radio';
2562
2573
  return (React.createElement(Wrapper$2, Object.assign({}, accessibleProps, { "data-itemid": `${baseId}-wrapper` }),
2563
2574
  React.createElement(Input, { checked: checked, "data-itemid": `${baseId}-input`, disabled: disabled, name: accessibleProps.name, onChange: disabled ? undefined : onChange, tabIndex: disabled ? -1 : tabIndex, type: 'radio', value: value }),
2564
- React.createElement(Check, { "$invalid": invalid, "data-itemid": `${baseId}-check` }),
2575
+ React.createElement(Check, { "$invalid": invalid, "$isInvalidRedBackground": isInvalidRedBackground, "data-itemid": `${baseId}-check` }),
2565
2576
  React.createElement(Label, { "data-itemid": `${baseId}-label` },
2566
2577
  children,
2567
2578
  tooltip ? React.createElement(Tooltip, Object.assign({}, tooltip)) : null)));