@ssa-ui-kit/core 2.30.0 → 2.31.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.
package/dist/index.js CHANGED
@@ -86,6 +86,7 @@ __webpack_require__.d(__webpack_exports__, {
86
86
  CardList: () => (/* reexport */ CardList),
87
87
  ChartBackground: () => (/* reexport */ ChartBackground),
88
88
  Checkbox: () => (/* reexport */ Checkbox_Checkbox),
89
+ Chip: () => (/* reexport */ Chip),
89
90
  CollapsibleNavBar: () => (/* reexport */ CollapsibleNavBar),
90
91
  CollapsibleNavBarContext: () => (/* reexport */ CollapsibleNavBarContext),
91
92
  CollapsibleNavBarCustomIconSVG: () => (/* reexport */ CollapsibleNavBarCustomIconSVG),
@@ -148,6 +149,7 @@ __webpack_require__.d(__webpack_exports__, {
148
149
  Pagination: () => (/* reexport */ Pagination_Pagination),
149
150
  PaginationContext: () => (/* reexport */ PaginationContext),
150
151
  PaginationContextProvider: () => (/* reexport */ PaginationContextProvider),
152
+ PersonInfo: () => (/* reexport */ PersonInfo),
151
153
  PieChart: () => (/* reexport */ PieChart),
152
154
  PieChartComponent: () => (/* reexport */ PieChartComponent),
153
155
  PieChartLegend: () => (/* reexport */ PieChartLegend),
@@ -8782,6 +8784,247 @@ const CardList = ({
8782
8784
  ;// ./src/components/CardList/index.ts
8783
8785
 
8784
8786
 
8787
+ ;// ./src/components/Chip/styles.tsx
8788
+
8789
+ function Chip_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
8790
+
8791
+ const ChipBase = /*#__PURE__*/base_default()("div", true ? {
8792
+ target: "ea97dtp5"
8793
+ } : 0)( true ? {
8794
+ name: "1crjacs",
8795
+ styles: "display:inline-flex;align-items:center;justify-content:center;font-family:Manrope,sans-serif;font-weight:500;border-radius:24px;white-space:nowrap;user-select:none;outline:none"
8796
+ } : 0);
8797
+ const Chip_styles_small = true ? {
8798
+ name: "17p2qgf",
8799
+ styles: "height:24px;padding:2px 8px;font-size:12px;line-height:16px"
8800
+ } : 0;
8801
+ const Chip_styles_medium = true ? {
8802
+ name: "sge2fk",
8803
+ styles: "height:32px;padding:4px 12px;font-size:14px;line-height:20px"
8804
+ } : 0;
8805
+ const Chip_styles_large = true ? {
8806
+ name: "7ik91b",
8807
+ styles: "height:40px;padding:6px 16px;font-size:16px;line-height:24px"
8808
+ } : 0;
8809
+ const baseFilled = theme => /*#__PURE__*/(0,react_namespaceObject.css)("background-color:", theme.colors.greyLighter, ";border:none;" + ( true ? "" : 0), true ? "" : 0);
8810
+ const baseOutlined = theme => /*#__PURE__*/(0,react_namespaceObject.css)("background-color:", theme.colors.white, ";border:1px solid ", theme.colors.grey, ";" + ( true ? "" : 0), true ? "" : 0);
8811
+ const filled = theme => /*#__PURE__*/(0,react_namespaceObject.css)(baseFilled(theme), ";color:", theme.colors.greyDarker, ";" + ( true ? "" : 0), true ? "" : 0);
8812
+ const filledDisabled = theme => /*#__PURE__*/(0,react_namespaceObject.css)(baseFilled(theme), ";color:", theme.colors.greyDisabled, ";opacity:0.6;" + ( true ? "" : 0), true ? "" : 0);
8813
+ const outlined = theme => /*#__PURE__*/(0,react_namespaceObject.css)(baseOutlined(theme), ";color:", theme.colors.greyDarker, ";" + ( true ? "" : 0), true ? "" : 0);
8814
+ const outlinedDisabled = theme => /*#__PURE__*/(0,react_namespaceObject.css)(baseOutlined(theme), ";color:", theme.colors.greyDisabled, ";opacity:0.6;" + ( true ? "" : 0), true ? "" : 0);
8815
+ const clickable = true ? {
8816
+ name: "1q9v0e",
8817
+ styles: "cursor:pointer;transition:all 0.2s ease;&:hover{opacity:0.8;}&:active{opacity:0.7;}"
8818
+ } : 0;
8819
+ const clickableDisabled = true ? {
8820
+ name: "1sfig4b",
8821
+ styles: "cursor:not-allowed"
8822
+ } : 0;
8823
+ const IconWrapper = /*#__PURE__*/base_default()("span", true ? {
8824
+ target: "ea97dtp4"
8825
+ } : 0)( true ? {
8826
+ name: "ltz2qk",
8827
+ styles: "display:flex;align-items:center;margin-right:7px;& svg path{stroke-width:1;}"
8828
+ } : 0);
8829
+ const AvatarWrapper = /*#__PURE__*/base_default()("span", true ? {
8830
+ target: "ea97dtp3"
8831
+ } : 0)( true ? {
8832
+ name: "1twmlgg",
8833
+ styles: "display:flex;align-items:center;margin-right:7px"
8834
+ } : 0);
8835
+ const TitleWrapper = /*#__PURE__*/base_default()("span", true ? {
8836
+ target: "ea97dtp2"
8837
+ } : 0)( true ? {
8838
+ name: "xltcoo",
8839
+ styles: "color:inherit;font-weight:700;margin-right:4px"
8840
+ } : 0);
8841
+ const LabelWrapper = /*#__PURE__*/base_default()("span", true ? {
8842
+ target: "ea97dtp1"
8843
+ } : 0)( true ? {
8844
+ name: "opde7s",
8845
+ styles: "color:inherit"
8846
+ } : 0);
8847
+ const DeleteIconButton = /*#__PURE__*/base_default()("button", true ? {
8848
+ target: "ea97dtp0"
8849
+ } : 0)( true ? {
8850
+ name: "eddkk8",
8851
+ styles: "display:flex;align-items:center;justify-content:center;margin-left:7px;padding:0;padding-top:1px;cursor:pointer;border:none;background:none;color:inherit;transition:opacity 0.2s ease;& svg path{stroke-width:1;}&:hover{opacity:0.7;}&:active{opacity:0.5;}&:disabled{cursor:not-allowed;pointer-events:none;}"
8852
+ } : 0);
8853
+ ;// ./src/components/Chip/constants.ts
8854
+
8855
+ const VARIANTS = {
8856
+ OUTLINED: 'outlined',
8857
+ FILLED: 'filled'
8858
+ };
8859
+ const COLORS = {
8860
+ DEFAULT: 'default',
8861
+ PRIMARY: 'primary',
8862
+ SUCCESS: 'success',
8863
+ ERROR: 'error',
8864
+ INFO: 'info',
8865
+ WARNING: 'warning'
8866
+ };
8867
+ const constants_mapSizes = {
8868
+ small: Chip_styles_small,
8869
+ medium: Chip_styles_medium,
8870
+ large: Chip_styles_large
8871
+ };
8872
+ const ICON_SIZES = {
8873
+ small: 12,
8874
+ medium: 14,
8875
+ large: 16
8876
+ };
8877
+ ;// ./src/components/Chip/helpers.ts
8878
+
8879
+
8880
+
8881
+ const colorMap = theme => ({
8882
+ primary: {
8883
+ main: theme.colors.blue,
8884
+ bg: theme.colors.blue20
8885
+ },
8886
+ success: {
8887
+ main: theme.colors.green,
8888
+ bg: theme.colors.green20
8889
+ },
8890
+ error: {
8891
+ main: theme.colors.red,
8892
+ bg: theme.colors.red40
8893
+ },
8894
+ info: {
8895
+ main: theme.colors.blueLight,
8896
+ bg: theme.colors.blueLight20
8897
+ },
8898
+ warning: {
8899
+ main: theme.colors.yellow,
8900
+ bg: theme.colors.yellow20
8901
+ }
8902
+ });
8903
+ const getVariantColorBlock = (theme, variant, colorConfig, disabled) => {
8904
+ if (variant === 'outlined') {
8905
+ return /*#__PURE__*/(0,react_namespaceObject.css)("background-color:", colorConfig.bg, ";border:1px solid ", colorConfig.main, ";color:", colorConfig.main, ";", disabled ? 'opacity: 0.5;' : '', ";" + ( true ? "" : 0), true ? "" : 0);
8906
+ }
8907
+ return /*#__PURE__*/(0,react_namespaceObject.css)("background-color:", colorConfig.main, ";border:1px solid ", colorConfig.bg, ";color:", theme.colors.white, ";", disabled ? 'opacity: 0.5;' : '', ";" + ( true ? "" : 0), true ? "" : 0);
8908
+ };
8909
+ const getVariantColors = (theme, variant, color, disabled) => {
8910
+ const variantKey = variant ?? VARIANTS.FILLED;
8911
+ const colorKey = color ?? COLORS.DEFAULT;
8912
+ const paletteMap = colorMap(theme);
8913
+ const palette = colorKey === COLORS.DEFAULT ? null : paletteMap[colorKey];
8914
+ const chipStyles = colorKey === COLORS.DEFAULT ? variantKey === VARIANTS.OUTLINED ? disabled ? outlinedDisabled(theme) : outlined(theme) : disabled ? filledDisabled(theme) : filled(theme) : palette ? getVariantColorBlock(theme, variantKey, palette, disabled) : variantKey === VARIANTS.OUTLINED ? outlined(theme) : filled(theme);
8915
+ const iconColor = (() => {
8916
+ if (!palette) {
8917
+ return disabled ? theme.colors.greyDisabled : theme.colors.greyDarker;
8918
+ }
8919
+ if (variantKey === VARIANTS.OUTLINED) {
8920
+ return palette.main;
8921
+ }
8922
+ return theme.colors.white;
8923
+ })();
8924
+ return {
8925
+ chipStyles,
8926
+ iconColor
8927
+ };
8928
+ };
8929
+ ;// ./src/components/Chip/Chip.tsx
8930
+
8931
+
8932
+
8933
+
8934
+
8935
+
8936
+
8937
+ const Chip = /*#__PURE__*/(0,external_react_namespaceObject.forwardRef)(function Chip({
8938
+ label,
8939
+ title,
8940
+ variant = VARIANTS.FILLED,
8941
+ color = COLORS.DEFAULT,
8942
+ size = 'medium',
8943
+ disabled = false,
8944
+ icon,
8945
+ avatar,
8946
+ onDelete,
8947
+ deleteIcon,
8948
+ showIcon = true,
8949
+ onClick,
8950
+ clickable: clickableProp,
8951
+ className,
8952
+ css: customCss,
8953
+ ...props
8954
+ }, ref) {
8955
+ const theme = (0,react_namespaceObject.useTheme)();
8956
+ const isClickable = !disabled && (onClick || clickableProp);
8957
+ const hasDeleteIcon = Boolean(onDelete);
8958
+ const {
8959
+ chipStyles,
8960
+ iconColor
8961
+ } = getVariantColors(theme, variant, color, disabled);
8962
+ const sizeStyles = constants_mapSizes[size];
8963
+ const iconName = showIcon ? icon ?? 'plus' : null;
8964
+ const deleteIconName = deleteIcon ?? 'cross';
8965
+ const leadingIcon = iconName ? (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
8966
+ name: iconName,
8967
+ color: iconColor,
8968
+ size: ICON_SIZES[size]
8969
+ }) : null;
8970
+ const handleDeleteClick = event => {
8971
+ event.stopPropagation();
8972
+ if (onDelete && !disabled) {
8973
+ onDelete(event);
8974
+ }
8975
+ };
8976
+ const handleKeyDown = event => {
8977
+ if (disabled) return;
8978
+ if (event.key === 'Backspace' || event.key === 'Delete') {
8979
+ if (onDelete) {
8980
+ event.preventDefault();
8981
+ const syntheticEvent = {
8982
+ ...event,
8983
+ stopPropagation: () => {},
8984
+ currentTarget: event.currentTarget,
8985
+ target: event.target
8986
+ };
8987
+ onDelete(syntheticEvent);
8988
+ }
8989
+ }
8990
+ if (event.key === 'Escape') {
8991
+ event.currentTarget.blur();
8992
+ }
8993
+ };
8994
+ return (0,jsx_runtime_namespaceObject.jsxs)(ChipBase, {
8995
+ ...props,
8996
+ ref: ref,
8997
+ role: isClickable ? 'button' : undefined,
8998
+ tabIndex: !disabled && (isClickable || hasDeleteIcon) ? 0 : undefined,
8999
+ "aria-disabled": disabled ? 'true' : 'false',
9000
+ className: className,
9001
+ css: [sizeStyles, chipStyles, isClickable && !disabled ? clickable : undefined, disabled ? clickableDisabled : undefined, customCss, true ? "" : 0, true ? "" : 0],
9002
+ onClick: disabled ? undefined : onClick,
9003
+ onKeyDown: handleKeyDown,
9004
+ children: [avatar && (0,jsx_runtime_namespaceObject.jsx)(AvatarWrapper, {
9005
+ children: avatar
9006
+ }), leadingIcon && !avatar && (0,jsx_runtime_namespaceObject.jsx)(IconWrapper, {
9007
+ children: leadingIcon
9008
+ }), title && (0,jsx_runtime_namespaceObject.jsx)(TitleWrapper, {
9009
+ children: title
9010
+ }), (0,jsx_runtime_namespaceObject.jsx)(LabelWrapper, {
9011
+ children: label
9012
+ }), hasDeleteIcon && (0,jsx_runtime_namespaceObject.jsx)(DeleteIconButton, {
9013
+ type: "button",
9014
+ onClick: handleDeleteClick,
9015
+ "aria-label": "Delete",
9016
+ disabled: disabled,
9017
+ children: (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
9018
+ name: deleteIconName,
9019
+ color: iconColor,
9020
+ size: ICON_SIZES[size]
9021
+ })
9022
+ })]
9023
+ });
9024
+ });
9025
+ ;// ./src/components/Chip/index.ts
9026
+
9027
+
8785
9028
  ;// ./src/components/Charts/PieChart/colorPalettes.ts
8786
9029
  const getBalancePalette = theme => {
8787
9030
  const legendColorNames = ['yellow', 'blue', 'green', 'yellowWarm', 'blueLight', 'turquoise', 'pink', 'purple', 'blueCool', 'cyanTeal'];
@@ -9318,7 +9561,8 @@ const useChartInfo = () => {
9318
9561
  const {
9319
9562
  filteredData,
9320
9563
  selected,
9321
- lineShape
9564
+ lineShape,
9565
+ data
9322
9566
  } = useBarLineComplexChartContext();
9323
9567
  const {
9324
9568
  isFullscreenMode,
@@ -9331,8 +9575,19 @@ const useChartInfo = () => {
9331
9575
  context.refs.setFloating(null);
9332
9576
  };
9333
9577
  }, []);
9334
- const transformedChartData = filteredData.map((item, index) => {
9335
- const markerColor = (0,utils_namespaceObject.pathOr)(colorPalette[index], ['marker', 'color'])(item);
9578
+
9579
+ // Get orientation from data to determine if we need to reverse the order
9580
+ const orientation = (0,utils_namespaceObject.pathOr)('v', [0, 'orientation'])(data);
9581
+
9582
+ // For horizontal charts, reverse the data order so lines render in the correct direction
9583
+ // Plotly renders horizontal charts from bottom to top, so we reverse to match legend order
9584
+ // The legend will be reversed back using traceorder: 'reversed' in the layout
9585
+ const orderedData = orientation === 'h' ? [...filteredData].reverse() : filteredData;
9586
+ const transformedChartData = orderedData.map((item, index) => {
9587
+ // Calculate the original index in filteredData for color assignment
9588
+ // When reversed, the item at position 'index' was originally at position 'filteredData.length - 1 - index'
9589
+ const originalIndex = orientation === 'h' ? filteredData.length - 1 - index : index;
9590
+ const markerColor = (0,utils_namespaceObject.pathOr)(colorPalette[originalIndex], ['marker', 'color'])(item);
9336
9591
  const valueDimension = item.valueDimension === null || item.valueDimension === undefined ? '' : item.valueDimension;
9337
9592
  const extraParams = {
9338
9593
  mode: 'markers',
@@ -9819,6 +10074,7 @@ const BarLineComplexChartView = ({
9819
10074
  family: FONT_FAMILY,
9820
10075
  size: isFullscreenMode ? 16 : 12
9821
10076
  },
10077
+ traceorder: orientation === 'h' ? 'reversed' : 'normal',
9822
10078
  ...legend
9823
10079
  },
9824
10080
  ...layoutRest
@@ -14052,6 +14308,301 @@ const DatePickerInner = ({
14052
14308
  const DatePicker = /*#__PURE__*/(0,external_react_namespaceObject.forwardRef)(DatePickerInner);
14053
14309
  ;// ./src/components/DatePicker/index.ts
14054
14310
 
14311
+ ;// ./src/components/PersonInfo/constants.ts
14312
+ const DEFAULT_BADGE_COLORS = ['purple', 'blueLight', 'green', 'blue', 'pink', 'turquoise', 'yellow', 'yellowWarm'];
14313
+ const BADGE_COLORS = theme => ({
14314
+ purple: {
14315
+ text: theme.colors.purple,
14316
+ bg: theme.colors.purple20
14317
+ },
14318
+ blueLight: {
14319
+ text: theme.colors.blueLight,
14320
+ bg: theme.colors.blueLight20
14321
+ },
14322
+ green: {
14323
+ text: theme.colors.green,
14324
+ bg: theme.colors.green20
14325
+ },
14326
+ blue: {
14327
+ text: theme.colors.blue,
14328
+ bg: theme.colors.blue20
14329
+ },
14330
+ pink: {
14331
+ text: theme.colors.pink,
14332
+ bg: theme.colors.pink20
14333
+ },
14334
+ turquoise: {
14335
+ text: theme.colors.turquoise,
14336
+ bg: theme.colors.turquoise20
14337
+ },
14338
+ yellow: {
14339
+ text: theme.colors.yellow,
14340
+ bg: theme.colors.yellow20
14341
+ },
14342
+ yellowWarm: {
14343
+ text: theme.colors.yellowLighter,
14344
+ bg: theme.colors.yellowLighter20
14345
+ }
14346
+ });
14347
+ ;// ./src/components/PersonInfo/styles.ts
14348
+
14349
+ function PersonInfo_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
14350
+
14351
+
14352
+ const PersonInfoBase = /*#__PURE__*/base_default()("div", true ? {
14353
+ target: "ej2kihb12"
14354
+ } : 0)( true ? {
14355
+ name: "3w0yoi",
14356
+ styles: "display:flex;flex-direction:column;gap:8px"
14357
+ } : 0);
14358
+ const PersonInfoHeader = /*#__PURE__*/base_default()("div", true ? {
14359
+ target: "ej2kihb11"
14360
+ } : 0)( true ? {
14361
+ name: "1ocjxm6",
14362
+ styles: "display:flex;align-items:flex-start;gap:8px"
14363
+ } : 0);
14364
+ const styles_IconWrapper = /*#__PURE__*/base_default()("div", true ? {
14365
+ target: "ej2kihb10"
14366
+ } : 0)( true ? {
14367
+ name: "13ltyg2",
14368
+ styles: "display:flex;align-items:flex-start;flex-shrink:0"
14369
+ } : 0);
14370
+ const styles_TitleWrapper = /*#__PURE__*/base_default()("div", true ? {
14371
+ target: "ej2kihb9"
14372
+ } : 0)( true ? {
14373
+ name: "1tcizyl",
14374
+ styles: "display:flex;flex-direction:column;gap:4px;flex:1"
14375
+ } : 0);
14376
+ const Title = /*#__PURE__*/base_default()("div", true ? {
14377
+ target: "ej2kihb8"
14378
+ } : 0)( true ? {
14379
+ name: "edklr6",
14380
+ styles: "font-size:14px;font-weight:600;line-height:19px"
14381
+ } : 0);
14382
+ const TextBase = /*#__PURE__*/base_default()("div", true ? {
14383
+ target: "ej2kihb7"
14384
+ } : 0)( true ? {
14385
+ name: "1bzpq77",
14386
+ styles: "font-size:14px;font-weight:400;line-height:19px"
14387
+ } : 0);
14388
+ const ValueWithCounter = /*#__PURE__*/base_default()("div", true ? {
14389
+ target: "ej2kihb6"
14390
+ } : 0)( true ? {
14391
+ name: "1j5vobt",
14392
+ styles: "display:flex;align-items:center;gap:4px"
14393
+ } : 0);
14394
+ const Counter = /*#__PURE__*/base_default()(TextBase.withComponent('span', true ? {
14395
+ target: "ej2kihb13"
14396
+ } : 0), true ? {
14397
+ target: "ej2kihb5"
14398
+ } : 0)("color:", ({
14399
+ theme
14400
+ }) => theme.colors.greyDropdownFocused, ";margin-left:5px;" + ( true ? "" : 0));
14401
+ const AttributesList = /*#__PURE__*/base_default()("div", true ? {
14402
+ target: "ej2kihb4"
14403
+ } : 0)( true ? {
14404
+ name: "urqszi",
14405
+ styles: "display:flex;flex-direction:column;gap:4px"
14406
+ } : 0);
14407
+ const styles_AvatarWrapper = /*#__PURE__*/base_default()("div", true ? {
14408
+ target: "ej2kihb3"
14409
+ } : 0)( true ? {
14410
+ name: "1yydxi7",
14411
+ styles: "display:flex;align-items:center;gap:8px"
14412
+ } : 0);
14413
+ const BadgeWrapper = /*#__PURE__*/base_default()("div", true ? {
14414
+ target: "ej2kihb2"
14415
+ } : 0)( true ? {
14416
+ name: "mwxihw",
14417
+ styles: "display:flex;align-items:center;gap:8px;flex-wrap:wrap"
14418
+ } : 0);
14419
+ const StyledBadge = /*#__PURE__*/base_default()(Badge_Badge, true ? {
14420
+ target: "ej2kihb1"
14421
+ } : 0)( true ? {
14422
+ name: "tv444a",
14423
+ styles: "padding:4px 8px;border-radius:20px"
14424
+ } : 0);
14425
+ const CustomBadge = /*#__PURE__*/base_default()("div", true ? {
14426
+ target: "ej2kihb0"
14427
+ } : 0)("display:inline-block;padding:2px 8px;border-radius:24px;font-weight:500;font-size:14px;color:", ({
14428
+ theme,
14429
+ colorName
14430
+ }) => {
14431
+ const {
14432
+ text
14433
+ } = BADGE_COLORS(theme)[colorName];
14434
+ return text;
14435
+ }, ";background-color:", ({
14436
+ theme,
14437
+ colorName
14438
+ }) => {
14439
+ const {
14440
+ bg
14441
+ } = BADGE_COLORS(theme)[colorName];
14442
+ return bg;
14443
+ }, ";" + ( true ? "" : 0));
14444
+ ;// ./src/components/PersonInfo/PersonInfoIcon.tsx
14445
+
14446
+
14447
+
14448
+
14449
+
14450
+ const PersonInfoIcon = ({
14451
+ icon
14452
+ }) => {
14453
+ const theme = (0,react_namespaceObject.useTheme)();
14454
+ return (0,jsx_runtime_namespaceObject.jsx)(styles_IconWrapper, {
14455
+ children: typeof icon === 'string' ? (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
14456
+ name: icon,
14457
+ size: 16,
14458
+ color: theme.colors.greyDarker
14459
+ }) : icon
14460
+ });
14461
+ };
14462
+ ;// ./src/components/PersonInfo/PersonInfoValue.tsx
14463
+
14464
+
14465
+
14466
+ const PersonInfoValue = ({
14467
+ value,
14468
+ counter,
14469
+ css,
14470
+ counterCss
14471
+ }) => {
14472
+ return (0,jsx_runtime_namespaceObject.jsxs)(TextBase, {
14473
+ css: css,
14474
+ children: [value, counter && (0,jsx_runtime_namespaceObject.jsxs)(Counter, {
14475
+ css: counterCss,
14476
+ children: [" ", counter]
14477
+ })]
14478
+ });
14479
+ };
14480
+ ;// ./src/components/PersonInfo/PersonInfoAvatar.tsx
14481
+
14482
+
14483
+
14484
+
14485
+
14486
+ const PersonInfoAvatar = ({
14487
+ avatar,
14488
+ value,
14489
+ counter,
14490
+ styles
14491
+ }) => {
14492
+ return (0,jsx_runtime_namespaceObject.jsxs)(styles_AvatarWrapper, {
14493
+ children: [(0,jsx_runtime_namespaceObject.jsx)(Avatar_Avatar, {
14494
+ size: 24,
14495
+ image: avatar
14496
+ }), value && (0,jsx_runtime_namespaceObject.jsx)(PersonInfoValue, {
14497
+ value: value,
14498
+ counter: counter,
14499
+ css: styles?.avatarName,
14500
+ counterCss: styles?.counter
14501
+ })]
14502
+ });
14503
+ };
14504
+ ;// ./src/components/PersonInfo/PersonInfoBadges.tsx
14505
+
14506
+
14507
+
14508
+
14509
+ const PersonInfoBadges = ({
14510
+ badges,
14511
+ styles
14512
+ }) => {
14513
+ if (!badges) return null;
14514
+ if (!Array.isArray(badges)) {
14515
+ return (0,jsx_runtime_namespaceObject.jsx)(BadgeWrapper, {
14516
+ css: styles?.badge,
14517
+ children: badges
14518
+ });
14519
+ }
14520
+ return (0,jsx_runtime_namespaceObject.jsx)(BadgeWrapper, {
14521
+ css: styles?.badge,
14522
+ children: badges.map((badgeItem, index) => {
14523
+ if (typeof badgeItem === 'string') {
14524
+ const colorIndex = index % DEFAULT_BADGE_COLORS.length;
14525
+ const colorName = DEFAULT_BADGE_COLORS[colorIndex];
14526
+ return (0,jsx_runtime_namespaceObject.jsx)(CustomBadge, {
14527
+ colorName: colorName,
14528
+ css: styles?.badgeItem,
14529
+ children: badgeItem
14530
+ }, index);
14531
+ }
14532
+ return (0,jsx_runtime_namespaceObject.jsx)((external_react_default()).Fragment, {
14533
+ children: badgeItem
14534
+ }, index);
14535
+ })
14536
+ });
14537
+ };
14538
+ ;// ./src/components/PersonInfo/PersonInfo.tsx
14539
+
14540
+
14541
+
14542
+
14543
+
14544
+
14545
+
14546
+ const PersonInfo = /*#__PURE__*/external_react_default().forwardRef(function PersonInfo({
14547
+ title,
14548
+ icon,
14549
+ value,
14550
+ badges,
14551
+ avatar,
14552
+ counter,
14553
+ attributes,
14554
+ description,
14555
+ styles,
14556
+ className,
14557
+ ...props
14558
+ }, ref) {
14559
+ return (0,jsx_runtime_namespaceObject.jsx)(PersonInfoBase, {
14560
+ ref: ref,
14561
+ className: className,
14562
+ ...props,
14563
+ children: (0,jsx_runtime_namespaceObject.jsxs)(PersonInfoHeader, {
14564
+ children: [icon && (0,jsx_runtime_namespaceObject.jsx)(PersonInfoIcon, {
14565
+ icon: icon
14566
+ }), (0,jsx_runtime_namespaceObject.jsxs)(styles_TitleWrapper, {
14567
+ children: [(0,jsx_runtime_namespaceObject.jsx)(Title, {
14568
+ css: styles?.title,
14569
+ children: title
14570
+ }), avatar && (0,jsx_runtime_namespaceObject.jsx)(PersonInfoAvatar, {
14571
+ avatar: avatar,
14572
+ value: value,
14573
+ counter: counter,
14574
+ styles: styles
14575
+ }), !avatar && value && (0,jsx_runtime_namespaceObject.jsx)(PersonInfoValue, {
14576
+ value: value,
14577
+ counter: counter,
14578
+ css: styles?.value,
14579
+ counterCss: styles?.counter
14580
+ }), badges && (0,jsx_runtime_namespaceObject.jsx)(PersonInfoBadges, {
14581
+ badges: badges,
14582
+ styles: styles
14583
+ }), attributes && attributes.length > 0 && (0,jsx_runtime_namespaceObject.jsx)(AttributesList, {
14584
+ children: attributes.map((attr, index) => {
14585
+ if (typeof attr === 'string') {
14586
+ return (0,jsx_runtime_namespaceObject.jsx)(TextBase, {
14587
+ css: styles?.attributes,
14588
+ children: attr
14589
+ }, index);
14590
+ }
14591
+ return (0,jsx_runtime_namespaceObject.jsx)((external_react_default()).Fragment, {
14592
+ children: attr
14593
+ }, index);
14594
+ })
14595
+ }), description && (0,jsx_runtime_namespaceObject.jsx)(TextBase, {
14596
+ css: styles?.description,
14597
+ children: description
14598
+ })]
14599
+ })]
14600
+ })
14601
+ });
14602
+ });
14603
+ ;// ./src/components/PersonInfo/index.ts
14604
+
14605
+
14055
14606
  ;// ./src/components/DateRangePicker/constants.ts
14056
14607
  const constants_DEFAULT_MASK_FORMAT = 'mm/dd/yyyy';
14057
14608
  const DEFAULT_MONTH_MASK_FORMAT = 'mm/yyyy';
@@ -19254,29 +19805,29 @@ function Typeahead_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tr
19254
19805
  // TODO: automatically calculate max-height
19255
19806
  // https://github.com/ssagroup/ui-kit/issues/385
19256
19807
  const TypeaheadOptionsBase = /*#__PURE__*/base_default()("ul", true ? {
19257
- target: "e1vig1dw6"
19808
+ target: "e1vig1dw7"
19258
19809
  } : 0)("padding:0;margin:0;list-style:none;background:#fff;border-radius:8px;filter:", ({
19259
19810
  theme
19260
19811
  }) => `drop-shadow(-4px 4px 14px ${theme.colors.greyDarker14})`, ";backdrop-filter:", ({
19261
19812
  theme
19262
19813
  }) => `drop-shadow(-4px 4px 14px ${theme.colors.greyDarker14})`, ";overflow-y:auto;max-height:350px;" + ( true ? "" : 0));
19263
19814
  const TypeaheadOption = /*#__PURE__*/base_default()("li", true ? {
19264
- target: "e1vig1dw5"
19815
+ target: "e1vig1dw6"
19265
19816
  } : 0)("display:flex;align-items:center;padding:0 16px;border:none;cursor:pointer;font-size:14px;gap:8px;padding:10px 12px;min-height:40px;line-height:20px;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;background:", ({
19266
19817
  isActive,
19267
19818
  theme
19268
19819
  }) => isActive ? theme.colors.blueRoyal12 : 'none', ";&:hover{background:rgba(72, 125, 225, 0.06);}" + ( true ? "" : 0));
19269
- const TypeaheadInput = theme => /*#__PURE__*/(0,css_namespaceObject.css)("&.typeahead-input{color:", theme.colors.greyDarker, ";border:none;border-radius:0;height:32px;cursor:pointer;padding:0;background:transparent;text-indent:8px;&:active,&:focus{min-width:100%;}}" + ( true ? "" : 0), true ? "" : 0);
19820
+ const TypeaheadInput = theme => /*#__PURE__*/(0,css_namespaceObject.css)("&.typeahead-input{flex:1;width:100%;color:", theme.colors.greyDarker, ";border:none;border-radius:0;height:32px;cursor:pointer;padding:0;background:transparent;text-indent:8px;&:active,&:focus{min-width:100%;}}" + ( true ? "" : 0), true ? "" : 0);
19270
19821
  const TypeaheadInputPlaceholder = /*#__PURE__*/(0,css_namespaceObject.css)( true ? {
19271
19822
  name: "1kivhs5",
19272
19823
  styles: "position:absolute;top:0;left:-4px;font-weight:400;font-size:0.875rem;line-height:1rem;color:rgba(0, 0, 0, 0.54);&:disabled:hover{cursor:default;}"
19273
19824
  } : 0);
19274
19825
  const TypeaheadInputWrapper = /*#__PURE__*/(0,css_namespaceObject.css)( true ? {
19275
- name: "1f6chlt",
19276
- styles: "height:32px;z-index:5;background:transparent;margin-left:-8px;&:active,&:focus{min-width:100%;}"
19826
+ name: "16adhtk",
19827
+ styles: "flex:1;width:100%;height:32px;z-index:5;background:transparent;margin-left:-8px;&:active,&:focus{min-width:100%;}"
19277
19828
  } : 0);
19278
19829
  const TypeaheadItem = /*#__PURE__*/base_default()("div", true ? {
19279
- target: "e1vig1dw4"
19830
+ target: "e1vig1dw5"
19280
19831
  } : 0)("display:flex;gap:6px;background:", ({
19281
19832
  theme,
19282
19833
  isDisabled
@@ -19286,15 +19837,21 @@ const TypeaheadItem = /*#__PURE__*/base_default()("div", true ? {
19286
19837
  theme,
19287
19838
  isDisabled
19288
19839
  }) => isDisabled ? theme.colors.grey : theme.colors.greyDarker, ";font-weight:500;font-size:14px;min-height:20px;align-items:center;padding:6px;user-select:none;overflow:hidden;" + ( true ? "" : 0));
19840
+ const TypeaheadItemAvatar = /*#__PURE__*/base_default()("span", true ? {
19841
+ target: "e1vig1dw4"
19842
+ } : 0)( true ? {
19843
+ name: "za0kxg",
19844
+ styles: "display:flex;align-items:center;flex-shrink:0"
19845
+ } : 0);
19289
19846
  const TypeaheadItemLabel = /*#__PURE__*/base_default()("div", true ? {
19290
19847
  target: "e1vig1dw3"
19291
19848
  } : 0)("color:", ({
19292
19849
  theme,
19293
19850
  isDisabled
19294
- }) => isDisabled ? theme.colors.grey : theme.colors.greyDarker, ";font-size:14px;font-weight:500;display:block;gap:6px;align-items:center;cursor:default;overflow:hidden;text-overflow:ellipsis;" + ( true ? "" : 0));
19851
+ }) => isDisabled ? theme.colors.grey : theme.colors.greyDarker, ";font-size:14px;font-weight:500;display:flex;align-items:center;cursor:default;overflow:hidden;text-overflow:ellipsis;" + ( true ? "" : 0));
19295
19852
  const TypeaheadItemCross = /*#__PURE__*/base_default()(Button_Button, true ? {
19296
19853
  target: "e1vig1dw2"
19297
- } : 0)("background:none;padding:0;padding-right:5;height:auto;&:active,&:focus,&:hover{cursor:", ({
19854
+ } : 0)("background:none;padding:0;padding-right:5px;height:auto;&:active,&:focus,&:hover{cursor:", ({
19298
19855
  isDisabled
19299
19856
  }) => isDisabled ? 'default' : 'pointer', ";background:none;box-shadow:none;}&:disabled{background:none;}" + ( true ? "" : 0));
19300
19857
  const TypeaheadInputsGroupWrapper = /*#__PURE__*/base_default()(Wrapper_Wrapper, true ? {
@@ -19361,10 +19918,14 @@ const MultipleTrigger = () => {
19361
19918
  children: [Object.values(context.optionsWithKey).length > 0 && context.selectedItems.map((selectedItem, index) => {
19362
19919
  const currentOption = context.optionsWithKey[selectedItem];
19363
19920
  const optionText = currentOption ? currentOption.children || currentOption.label || currentOption.value : '';
19921
+ const avatar = currentOption?.avatar;
19364
19922
  return (0,jsx_runtime_namespaceObject.jsxs)(TypeaheadItem, {
19365
19923
  onClick: e => e.stopPropagation(),
19366
19924
  isDisabled: context.isDisabled,
19367
- children: [(0,jsx_runtime_namespaceObject.jsx)(TypeaheadItemLabel, {
19925
+ children: [avatar && (0,jsx_runtime_namespaceObject.jsx)(TypeaheadItemAvatar, {
19926
+ "data-testid": "typeahead-item-avatar",
19927
+ children: avatar
19928
+ }), (0,jsx_runtime_namespaceObject.jsx)(TypeaheadItemLabel, {
19368
19929
  isDisabled: context.isDisabled,
19369
19930
  children: optionText
19370
19931
  }), (0,jsx_runtime_namespaceObject.jsx)(TypeaheadItemCross, {
@@ -19676,8 +20237,8 @@ function TypeaheadOption_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tri
19676
20237
 
19677
20238
 
19678
20239
  var TypeaheadOption_ref = true ? {
19679
- name: "1gz2b5f",
19680
- styles: "overflow:hidden;text-overflow:ellipsis"
20240
+ name: "szjn6i",
20241
+ styles: "overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1"
19681
20242
  } : 0;
19682
20243
  var TypeaheadOption_ref2 = true ? {
19683
20244
  name: "1kqn2f4",
@@ -19689,10 +20250,14 @@ var TypeaheadOption_ref3 = true ? {
19689
20250
  } : 0;
19690
20251
  const TypeaheadOption_TypeaheadOption = ({
19691
20252
  children,
20253
+ avatar,
19692
20254
  ...rest
19693
20255
  }) => (0,jsx_runtime_namespaceObject.jsxs)(TypeaheadOption, {
19694
20256
  ...rest,
19695
- children: [(0,jsx_runtime_namespaceObject.jsxs)("div", {
20257
+ children: [avatar && (0,jsx_runtime_namespaceObject.jsx)(TypeaheadItemAvatar, {
20258
+ "data-testid": "typeahead-option-avatar",
20259
+ children: avatar
20260
+ }), (0,jsx_runtime_namespaceObject.jsxs)("div", {
19696
20261
  css: TypeaheadOption_ref,
19697
20262
  children: [children, ' ']
19698
20263
  }), rest.isActive && (0,jsx_runtime_namespaceObject.jsx)(Button_Button, {
@@ -20583,12 +21148,14 @@ const SelectWidget = props => {
20583
21148
  onFocus,
20584
21149
  value,
20585
21150
  onChangeOverride,
20586
- multiple
21151
+ multiple,
21152
+ uiSchema
20587
21153
  } = props;
20588
21154
  const {
20589
21155
  enumOptions = [],
20590
21156
  enumDisabled = []
20591
21157
  } = options;
21158
+ const customPlaceholder = placeholder || uiSchema?.['ui:placeholder'];
20592
21159
  const isMultiple = !!multiple || Array.isArray(value);
20593
21160
  const items = Array.isArray(enumOptions) ? enumOptions : [];
20594
21161
  const handleChange = onChangeOverride ? onChangeOverride : value => {
@@ -20657,7 +21224,7 @@ const SelectWidget = props => {
20657
21224
  isDisabled: disabled,
20658
21225
  name: name,
20659
21226
  isMultiple: isMultiple,
20660
- placeholder: placeholder || undefined,
21227
+ placeholder: customPlaceholder || undefined,
20661
21228
  onChange: handleTypeaheadChange,
20662
21229
  onEmptyChange: onEmptyChange,
20663
21230
  onClearAll: onClearAll,
@@ -21126,6 +21693,8 @@ const JsonSchemaForm_Form = /*#__PURE__*/base_default()(UnstyledForm, true ? {
21126
21693
 
21127
21694
 
21128
21695
 
21696
+
21697
+
21129
21698
 
21130
21699
 
21131
21700