@ssa-ui-kit/core 3.12.0 → 3.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -53,7 +53,6 @@ import { RadioProps } from './types';
53
53
  * default: '#ff0000',
54
54
  * hovered: '#cc0000',
55
55
  * disabled: '#cccccc',
56
- * focusShadow: 'rgba(255,0,0,0.25)',
57
56
  * }}
58
57
  * onChange={handleChange}
59
58
  * />
@@ -1,5 +1,3 @@
1
1
  export declare const RadioBase: import("@emotion/styled").StyledComponent<import("..").LabelProps & {
2
2
  theme?: import("@emotion/react").Theme;
3
- } & {
4
- focusShadowColor?: string;
5
3
  }, {}, {}>;
@@ -49,7 +49,6 @@
49
49
  * default: '#ff0000',
50
50
  * hovered: '#cc0000',
51
51
  * disabled: '#cccccc',
52
- * focusShadow: 'rgba(255, 0, 0, 0.25)',
53
52
  * }}
54
53
  * onChange={(value) => handleChange(value)}
55
54
  * />
@@ -120,7 +119,5 @@ export interface RadioProps {
120
119
  hovered?: string;
121
120
  /** Disabled state icon color */
122
121
  disabled?: string;
123
- /** Focus ring drop-shadow color */
124
- focusShadow?: string;
125
122
  };
126
123
  }
package/dist/index.js CHANGED
@@ -14386,7 +14386,7 @@ const IconMapComponent = ({
14386
14386
  ...props
14387
14387
  }) => {
14388
14388
  const Component = iconsMap[name];
14389
- if (Component == null) {
14389
+ if ((0,utils_namespaceObject.isNill)(Component)) {
14390
14390
  return null;
14391
14391
  }
14392
14392
  return (0,jsx_runtime_namespaceObject.jsx)(Component, {
@@ -14485,10 +14485,11 @@ const useTooltip = props => {
14485
14485
  };
14486
14486
  ;// ./src/components/Tooltip/useTooltipContext.tsx
14487
14487
 
14488
+
14488
14489
  const TooltipContext = /*#__PURE__*/(0,external_react_namespaceObject.createContext)(null);
14489
14490
  const useTooltipContext = () => {
14490
14491
  const tooltipContext = (0,external_react_namespaceObject.useContext)(TooltipContext);
14491
- if (tooltipContext == null) {
14492
+ if ((0,utils_namespaceObject.isNill)(tooltipContext)) {
14492
14493
  throw new Error('The component should be wrapped with <Tooltip> to have access to the context');
14493
14494
  }
14494
14495
  return tooltipContext;
@@ -16269,6 +16270,7 @@ function NumberField_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried t
16269
16270
 
16270
16271
 
16271
16272
 
16273
+
16272
16274
  var NumberField_ref = true ? {
16273
16275
  name: "t1bvca",
16274
16276
  styles: "padding:0 14px"
@@ -16293,8 +16295,8 @@ const NumberField = ({
16293
16295
  const {
16294
16296
  disabled
16295
16297
  } = inputProps;
16296
- const formattedValue = value == null ? value : (0,number_format_namespaceObject.format)(value, numberFormat);
16297
- const formattedDefaultValue = defaultValue == null ? defaultValue : (0,number_format_namespaceObject.format)(defaultValue, numberFormat);
16298
+ const formattedValue = (0,utils_namespaceObject.isNill)(value) ? value : (0,number_format_namespaceObject.format)(value, numberFormat);
16299
+ const formattedDefaultValue = (0,utils_namespaceObject.isNill)(defaultValue) ? defaultValue : (0,number_format_namespaceObject.format)(defaultValue, numberFormat);
16298
16300
  const [_value, setValue] = (0,hooks_namespaceObject.useUncontrolled)({
16299
16301
  value: formattedValue,
16300
16302
  defaultValue: formattedDefaultValue,
@@ -17013,10 +17015,9 @@ const Slider = ({
17013
17015
 
17014
17016
  const RadioBase = /*#__PURE__*/base_default()(Label_Label, true ? {
17015
17017
  target: "efp6u1p0"
17016
- } : 0)("display:inline-flex;flex-grow:0;align-items:center;cursor:pointer;gap:5px;&:has(input:disabled){cursor:default;}svg{flex-shrink:0;}input:focus+svg{filter:drop-shadow(\n ", ({
17017
- theme,
17018
- focusShadowColor
17019
- }) => `-4px 4px 10px ${focusShadowColor || theme.colors.blue20}`, "\n );}input{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}span{font-size:14px;font-weight:100;}" + ( true ? "" : 0));
17018
+ } : 0)("display:inline-flex;flex-grow:0;align-items:center;cursor:pointer;gap:8px;span{font-size:14px;font-weight:500;}&:has(input:disabled){cursor:default;}&:has(input:disabled) span{color:", ({
17019
+ theme
17020
+ }) => theme.colors.grey, ";}svg{flex-shrink:0;}input{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}" + ( true ? "" : 0));
17020
17021
  ;// ./src/components/Radio/Radio.tsx
17021
17022
 
17022
17023
 
@@ -17077,7 +17078,6 @@ const RadioBase = /*#__PURE__*/base_default()(Label_Label, true ? {
17077
17078
  * default: '#ff0000',
17078
17079
  * hovered: '#cc0000',
17079
17080
  * disabled: '#cccccc',
17080
- * focusShadow: 'rgba(255,0,0,0.25)',
17081
17081
  * }}
17082
17082
  * onChange={handleChange}
17083
17083
  * />
@@ -17111,27 +17111,22 @@ const Radio = ({
17111
17111
  let defaultColor;
17112
17112
  let hoveredColor;
17113
17113
  let disabledColor;
17114
- let focusShadowColor;
17115
17114
  if (color === 'primary') {
17116
17115
  defaultColor = theme.palette.primary.main;
17117
17116
  hoveredColor = theme.palette.primary.dark;
17118
17117
  disabledColor = theme.colors.greyFocused40;
17119
- focusShadowColor = theme.colors.blue20;
17120
17118
  } else if (color === 'success') {
17121
17119
  defaultColor = theme.palette.success.main;
17122
17120
  hoveredColor = theme.palette.success.dark;
17123
17121
  disabledColor = theme.colors.greyFocused40;
17124
- focusShadowColor = theme.colors.green40;
17125
17122
  } else {
17126
17123
  defaultColor = colors?.default || theme.palette.primary.main;
17127
17124
  hoveredColor = colors?.hovered || theme.palette.primary.dark;
17128
17125
  disabledColor = colors?.disabled || theme.colors.greyFocused40;
17129
- focusShadowColor = colors?.focusShadow;
17130
17126
  }
17131
17127
  return (0,jsx_runtime_namespaceObject.jsxs)(RadioBase, {
17132
17128
  htmlFor: radioId,
17133
17129
  className: className,
17134
- focusShadowColor: focusShadowColor,
17135
17130
  onMouseEnter: () => setIsHovered(true),
17136
17131
  onMouseLeave: () => setIsHovered(false),
17137
17132
  children: [(0,jsx_runtime_namespaceObject.jsx)("input", {
@@ -17706,6 +17701,7 @@ function Dropdown_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to s
17706
17701
 
17707
17702
 
17708
17703
 
17704
+
17709
17705
  const DropdownBase = /*#__PURE__*/base_default()("div", true ? {
17710
17706
  target: "eizhqtp1"
17711
17707
  } : 0)( true ? {
@@ -17901,12 +17897,12 @@ const Dropdown = ({
17901
17897
  }), [onChange, activeItem, maxHeight, placement]);
17902
17898
  const value = activeItem ? activeItem.label || activeItem.children || activeItem.value || activeItem || placeholder : placeholder;
17903
17899
  const rawAvatar = activeItem && activeItem.avatar;
17904
- const selectedAvatar = rawAvatar != null ? typeof rawAvatar === 'string' ? (0,jsx_runtime_namespaceObject.jsx)(Avatar_Avatar, {
17900
+ const selectedAvatar = !(0,utils_namespaceObject.isNill)(rawAvatar) ? typeof rawAvatar === 'string' ? (0,jsx_runtime_namespaceObject.jsx)(Avatar_Avatar, {
17905
17901
  size: AvatarSizes.small,
17906
17902
  image: rawAvatar,
17907
17903
  border: avatarBorder
17908
17904
  }) : /*#__PURE__*/external_react_default().isValidElement(rawAvatar) ? rawAvatar : null : null;
17909
- const toggleContent = selectedAvatar != null ? (0,jsx_runtime_namespaceObject.jsxs)(SelectedContent, {
17905
+ const toggleContent = !(0,utils_namespaceObject.isNill)(selectedAvatar) ? (0,jsx_runtime_namespaceObject.jsxs)(SelectedContent, {
17910
17906
  children: [selectedAvatar, (0,jsx_runtime_namespaceObject.jsx)("span", {
17911
17907
  style: {
17912
17908
  minWidth: 0
@@ -18350,6 +18346,7 @@ const MultipleDropdown = /*#__PURE__*/external_react_default().forwardRef(Multip
18350
18346
  ;// ./src/components/Popover/hooks/usePopover.tsx
18351
18347
 
18352
18348
 
18349
+
18353
18350
  /**
18354
18351
  * usePopover - Hook for popover functionality
18355
18352
  *
@@ -18401,7 +18398,7 @@ const usePopover = ({
18401
18398
  });
18402
18399
  const context = data.context;
18403
18400
  const click = (0,external_floating_ui_react_namespaceObject.useClick)(context, {
18404
- enabled: controlledOpen == null && ['click', 'both'].includes(interactionsEnabled),
18401
+ enabled: (0,utils_namespaceObject.isNill)(controlledOpen) && ['click', 'both'].includes(interactionsEnabled),
18405
18402
  keyboardHandlers
18406
18403
  });
18407
18404
  const isControlled = controlledOpen !== undefined;
@@ -18415,7 +18412,7 @@ const usePopover = ({
18415
18412
  });
18416
18413
  const role = (0,external_floating_ui_react_namespaceObject.useRole)(context);
18417
18414
  const hover = (0,external_floating_ui_react_namespaceObject.useHover)(context, {
18418
- enabled: controlledOpen == null && ['hover', 'both'].includes(interactionsEnabled),
18415
+ enabled: (0,utils_namespaceObject.isNill)(controlledOpen) && ['hover', 'both'].includes(interactionsEnabled),
18419
18416
  handleClose: (0,external_floating_ui_react_namespaceObject.safePolygon)()
18420
18417
  });
18421
18418
  const interactionsHooks = [dismiss, role];
@@ -18452,6 +18449,7 @@ const usePopover = ({
18452
18449
  };
18453
18450
  ;// ./src/components/Popover/hooks/usePopoverContext.tsx
18454
18451
 
18452
+
18455
18453
  /**
18456
18454
  * Context for popover components
18457
18455
  *
@@ -18479,7 +18477,7 @@ const PopoverContext = /*#__PURE__*/external_react_namespaceObject.createContext
18479
18477
  */
18480
18478
  const usePopoverContext = () => {
18481
18479
  const context = external_react_namespaceObject.useContext(PopoverContext);
18482
- if (context == null) {
18480
+ if ((0,utils_namespaceObject.isNill)(context)) {
18483
18481
  throw new Error('Popover components must be wrapped in <Popover />');
18484
18482
  }
18485
18483
  return context;
@@ -18826,6 +18824,7 @@ const external_react_hook_form_namespaceObject = require("react-hook-form");
18826
18824
 
18827
18825
 
18828
18826
 
18827
+
18829
18828
  const findExactMatch = (input, options) => {
18830
18829
  const normalizedInput = input.toLowerCase();
18831
18830
  return Object.values(options).find(opt => {
@@ -18927,7 +18926,7 @@ const useTypeahead = ({
18927
18926
  }, [optionsWithKey, selectedItems, allowCustomValues]);
18928
18927
  const inputValue = (0,external_react_namespaceObject.useMemo)(() => {
18929
18928
  if (isMultiple) return rawInput ?? '';
18930
- if (rawInput != null) return rawInput;
18929
+ if (!(0,utils_namespaceObject.isNill)(rawInput)) return rawInput;
18931
18930
  return selectedItems.length === 1 ? optionsWithKey[selectedItems[0]]?.label?.toString() ?? String(selectedItems[0] ?? '') : '';
18932
18931
  }, [isMultiple, rawInput, selectedItems, optionsWithKey]);
18933
18932
  const filteredChildren = (0,external_react_namespaceObject.useMemo)(() => {
@@ -19008,7 +19007,7 @@ const useTypeahead = ({
19008
19007
  shouldClose = true,
19009
19008
  resetInput = true
19010
19009
  }) => {
19011
- if (isDisabled || value == null) return;
19010
+ if (isDisabled || (0,utils_namespaceObject.isNill)(value)) return;
19012
19011
  const alreadySelected = selectedItems.includes(value);
19013
19012
  const updatedSelected = isMultiple ? alreadySelected ? selectedItems.filter(item => item !== value) : [...selectedItems, value] : alreadySelected ? [] : [value];
19014
19013
  const fieldValue = isMultiple ? updatedSelected : updatedSelected[0];
@@ -20270,6 +20269,7 @@ const useDatePickerMask = ({
20270
20269
 
20271
20270
 
20272
20271
 
20272
+
20273
20273
  const CONFIG = {
20274
20274
  [PICKER_TYPE.DAYS]: {
20275
20275
  format: DEFAULT_MASK_FORMAT,
@@ -20299,7 +20299,7 @@ const CONFIG = {
20299
20299
  unit: 'year'
20300
20300
  }
20301
20301
  };
20302
- const getNumberAtIndex = (parts, index, fallback) => index >= 0 && parts[index] != null ? parts[index] : fallback;
20302
+ const getNumberAtIndex = (parts, index, fallback) => index >= 0 && !(0,utils_namespaceObject.isNill)(parts[index]) ? parts[index] : fallback;
20303
20303
  const useDatePicker = ({
20304
20304
  dateMin,
20305
20305
  dateMax,
@@ -48995,12 +48995,7 @@ function NavBarPopover_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried
48995
48995
 
48996
48996
 
48997
48997
 
48998
- var NavBarPopover_ref = true ? {
48999
- name: "eqp0yr",
49000
- styles: "height:auto;padding:0;margin:0;cursor:pointer;background-color:unset;border-radius:0"
49001
- } : 0;
49002
- const CollapsibleNavBarPopover = ({
49003
- triggerIcon,
48998
+ const SubMenuContent = ({
49004
48999
  title,
49005
49000
  content
49006
49001
  }) => {
@@ -49008,42 +49003,29 @@ const CollapsibleNavBarPopover = ({
49008
49003
  const {
49009
49004
  theme: navBarTheme
49010
49005
  } = useCollapsibleNavBarContext();
49011
- const [open, setOpen] = (0,external_react_namespaceObject.useState)(false);
49012
- const onOpenChange = open => {
49013
- setOpen(open);
49014
- };
49015
49006
  const {
49016
- width
49017
- } = (0,hooks_namespaceObject.useWindowSize)();
49018
- (0,external_react_namespaceObject.useEffect)(() => {
49019
- setOpen(false);
49020
- }, [width]);
49021
- return (0,jsx_runtime_namespaceObject.jsxs)(Popover, {
49022
- floatingOptions: {
49023
- onOpenChange,
49024
- open,
49025
- middleware: [(0,external_floating_ui_react_namespaceObject.offset)({
49026
- mainAxis: 37
49027
- })]
49028
- },
49029
- placement: "right-start",
49030
- interactionsEnabled: "both",
49031
- children: [(0,jsx_runtime_namespaceObject.jsx)(PopoverTrigger, {
49032
- variant: "tertiary",
49033
- dataTestId: "collapsible-nav-bar-trigger-button",
49034
- css: NavBarPopover_ref,
49035
- startIcon: triggerIcon
49036
- }), (0,jsx_runtime_namespaceObject.jsxs)(PopoverContent, {
49007
+ placement
49008
+ } = usePopoverContext();
49009
+ // When flip switches alignment to "-end" there's no room below the trigger,
49010
+ // so the list renders above the heading instead of the heading drifting with it.
49011
+ const isFlippedUp = placement.endsWith('-end');
49012
+ return (0,jsx_runtime_namespaceObject.jsx)(PopoverContent, {
49013
+ css: /*#__PURE__*/(0,react_namespaceObject.css)({
49014
+ [theme.mediaQueries.xs]: {
49015
+ display: 'none'
49016
+ },
49017
+ [theme.mediaQueries.md]: {
49018
+ display: 'block'
49019
+ },
49020
+ zIndex: 20
49021
+ }, true ? "" : 0, true ? "" : 0),
49022
+ isFocusManagerDisabled: true,
49023
+ children: (0,jsx_runtime_namespaceObject.jsxs)("div", {
49037
49024
  css: /*#__PURE__*/(0,react_namespaceObject.css)({
49038
- [theme.mediaQueries.xs]: {
49039
- display: 'none'
49040
- },
49041
- [theme.mediaQueries.md]: {
49042
- display: 'block'
49043
- },
49044
- zIndex: 20
49025
+ display: 'flex',
49026
+ flexDirection: isFlippedUp ? 'column-reverse' : 'column',
49027
+ gap: 1
49045
49028
  }, true ? "" : 0, true ? "" : 0),
49046
- isFocusManagerDisabled: true,
49047
49029
  children: [(0,jsx_runtime_namespaceObject.jsx)(PopoverHeading, {
49048
49030
  css: /*#__PURE__*/(0,react_namespaceObject.css)({
49049
49031
  color: navBarTheme === 'default' ? theme.colors.white : theme.colors.greyGraphite,
@@ -49052,7 +49034,6 @@ const CollapsibleNavBarPopover = ({
49052
49034
  background: navBarTheme === 'default' ? theme.colors.greyGraphite : '#F4F5F9',
49053
49035
  borderRadius: 5,
49054
49036
  cursor: 'default',
49055
- marginBottom: 1,
49056
49037
  width: 'auto',
49057
49038
  whiteSpace: 'nowrap',
49058
49039
  '&::before': {
@@ -49063,7 +49044,11 @@ const CollapsibleNavBarPopover = ({
49063
49044
  position: 'absolute',
49064
49045
  width: 9,
49065
49046
  height: 9,
49066
- top: 7,
49047
+ ...(isFlippedUp ? {
49048
+ bottom: 7
49049
+ } : {
49050
+ top: 7
49051
+ }),
49067
49052
  left: -4,
49068
49053
  transform: 'rotate(45deg)',
49069
49054
  zIndex: -1
@@ -49097,6 +49082,49 @@ const CollapsibleNavBarPopover = ({
49097
49082
  }, true ? "" : 0, true ? "" : 0),
49098
49083
  children: content
49099
49084
  })]
49085
+ })
49086
+ });
49087
+ };
49088
+ var NavBarPopover_ref = true ? {
49089
+ name: "eqp0yr",
49090
+ styles: "height:auto;padding:0;margin:0;cursor:pointer;background-color:unset;border-radius:0"
49091
+ } : 0;
49092
+ const CollapsibleNavBarPopover = ({
49093
+ triggerIcon,
49094
+ title,
49095
+ content
49096
+ }) => {
49097
+ const [open, setOpen] = (0,external_react_namespaceObject.useState)(false);
49098
+ const onOpenChange = open => {
49099
+ setOpen(open);
49100
+ };
49101
+ const {
49102
+ width
49103
+ } = (0,hooks_namespaceObject.useWindowSize)();
49104
+ (0,external_react_namespaceObject.useEffect)(() => {
49105
+ setOpen(false);
49106
+ }, [width]);
49107
+ return (0,jsx_runtime_namespaceObject.jsxs)(Popover, {
49108
+ floatingOptions: {
49109
+ onOpenChange,
49110
+ open,
49111
+ middleware: [(0,external_floating_ui_react_namespaceObject.offset)({
49112
+ mainAxis: 37
49113
+ }), (0,external_floating_ui_react_namespaceObject.flip)({
49114
+ crossAxis: true,
49115
+ padding: 5
49116
+ })]
49117
+ },
49118
+ placement: "right-start",
49119
+ interactionsEnabled: "both",
49120
+ children: [(0,jsx_runtime_namespaceObject.jsx)(PopoverTrigger, {
49121
+ variant: "tertiary",
49122
+ dataTestId: "collapsible-nav-bar-trigger-button",
49123
+ css: NavBarPopover_ref,
49124
+ startIcon: triggerIcon
49125
+ }), (0,jsx_runtime_namespaceObject.jsx)(SubMenuContent, {
49126
+ title: title,
49127
+ content: content
49100
49128
  })]
49101
49129
  });
49102
49130
  };
@@ -50369,6 +50397,7 @@ function Pagination_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to
50369
50397
 
50370
50398
 
50371
50399
 
50400
+
50372
50401
  /**
50373
50402
  * Pagination - Navigation controls for paginated data
50374
50403
  *
@@ -50537,7 +50566,7 @@ const Pagination = ({
50537
50566
  setPage(page - 1);
50538
50567
  }
50539
50568
  },
50540
- isDisabled: isDisabled || pagesCount == null || pagesCount <= 1 || page == null || page === 1,
50569
+ isDisabled: isDisabled || (0,utils_namespaceObject.isNill)(pagesCount) || pagesCount <= 1 || (0,utils_namespaceObject.isNill)(page) || page === 1,
50541
50570
  css: Pagination_ref2
50542
50571
  }), (0,jsx_runtime_namespaceObject.jsx)(PaginationButtons, {
50543
50572
  range: range,
@@ -50551,7 +50580,7 @@ const Pagination = ({
50551
50580
  setPage(page + 1);
50552
50581
  }
50553
50582
  },
50554
- isDisabled: isDisabled || pagesCount == null || pagesCount <= 1 || page == null || page === pagesCount,
50583
+ isDisabled: isDisabled || (0,utils_namespaceObject.isNill)(pagesCount) || pagesCount <= 1 || (0,utils_namespaceObject.isNill)(page) || page === pagesCount,
50555
50584
  css: Pagination_ref3
50556
50585
  })]
50557
50586
  })]
@@ -53161,6 +53190,7 @@ const Notification_styles_actionBtnStyles = textColor => /*#__PURE__*/(0,react_n
53161
53190
 
53162
53191
 
53163
53192
 
53193
+
53164
53194
  const NotificationItem = ({
53165
53195
  id,
53166
53196
  variant,
@@ -53231,7 +53261,7 @@ const NotificationItem = ({
53231
53261
  name: icon,
53232
53262
  color: resolvedIconColor,
53233
53263
  size: iconSize
53234
- }) : icon != null ? icon : (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
53264
+ }) : !(0,utils_namespaceObject.isNill)(icon) ? icon : (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
53235
53265
  name: "user",
53236
53266
  color: resolvedIconColor,
53237
53267
  size: iconSize