@gobolt/genesis 0.4.33 → 0.4.37

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.
@@ -3,6 +3,7 @@ export type GoBoltUser = {
3
3
  first_name: string;
4
4
  last_name: string;
5
5
  image_url?: string;
6
+ url?: string;
6
7
  };
7
8
  export interface AvatarProps {
8
9
  size?: number;
@@ -11,6 +12,8 @@ export interface AvatarProps {
11
12
  children?: string;
12
13
  backgroundColor?: string;
13
14
  user?: GoBoltUser | null;
15
+ url?: string;
16
+ alt?: string;
14
17
  }
15
- declare const Avatar: ({ size, shape, children, backgroundColor, user, }: AvatarProps) => import("react/jsx-runtime").JSX.Element;
18
+ declare const Avatar: ({ size, shape, children, backgroundColor, user, url, alt, ...rest }: AvatarProps) => import("react/jsx-runtime").JSX.Element;
16
19
  export default Avatar;
@@ -13,6 +13,7 @@ export interface OverflowMenuProps {
13
13
  style?: React.CSSProperties;
14
14
  onItemClick?: (item: OverflowMenuItemProps) => void;
15
15
  overrideTextColor?: string;
16
+ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
16
17
  }
17
18
  declare const OverflowMenu: React.ForwardRefExoticComponent<OverflowMenuProps & React.RefAttributes<HTMLDivElement>>;
18
19
  export default OverflowMenu;
@@ -12,6 +12,7 @@ export interface InfiniteScrollConfig<T = any> {
12
12
  scrollHeight?: number;
13
13
  scrollWidth?: number;
14
14
  useWindowScroll?: boolean;
15
+ filterFn: (data: T[]) => T[];
15
16
  }
16
17
  export interface TableProps<T extends Record<string, any>> {
17
18
  dataSource: T[];
package/dist/index.cjs CHANGED
@@ -60441,7 +60441,10 @@ const Avatar = ({
60441
60441
  shape = "circle",
60442
60442
  children: children2,
60443
60443
  backgroundColor = "#00282B",
60444
- user = null
60444
+ user = null,
60445
+ url: url3,
60446
+ alt,
60447
+ ...rest
60445
60448
  }) => {
60446
60449
  if (!user) {
60447
60450
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -60451,7 +60454,9 @@ const Avatar = ({
60451
60454
  shape,
60452
60455
  size,
60453
60456
  alt: "Default Avatar",
60454
- style: { backgroundColor }
60457
+ style: { backgroundColor },
60458
+ src: url3,
60459
+ ...rest
60455
60460
  }
60456
60461
  );
60457
60462
  }
@@ -60459,7 +60464,9 @@ const Avatar = ({
60459
60464
  if (user && !user?.image_url) {
60460
60465
  const simpleUser = {
60461
60466
  first_name: parseFirstName(user.first_name),
60462
- last_name: user.last_name
60467
+ last_name: user.last_name,
60468
+ image_url: user.image_url,
60469
+ url: user.url
60463
60470
  };
60464
60471
  const initials = createInitials(simpleUser);
60465
60472
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -60470,6 +60477,7 @@ const Avatar = ({
60470
60477
  size,
60471
60478
  alt: fullName,
60472
60479
  style: { backgroundColor },
60480
+ ...rest,
60473
60481
  children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", color: "white", style: { fontWeight: 600 }, children: initials })
60474
60482
  }
60475
60483
  );
@@ -60481,9 +60489,10 @@ const Avatar = ({
60481
60489
  "data-testid": "avatar",
60482
60490
  shape,
60483
60491
  size,
60484
- src: user?.image_url,
60492
+ src: url3 || user?.image_url,
60485
60493
  alt: fullName,
60486
60494
  style: { backgroundColor },
60495
+ ...rest,
60487
60496
  children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", color: "white", style: { fontWeight: 600 }, children: children2 })
60488
60497
  }
60489
60498
  );
@@ -60491,10 +60500,11 @@ const Avatar = ({
60491
60500
  return /* @__PURE__ */ jsxRuntime.jsx(
60492
60501
  Avatar$1,
60493
60502
  {
60503
+ ...rest,
60494
60504
  "data-testid": "avatar",
60495
60505
  shape,
60496
60506
  size,
60497
- src: user?.image_url,
60507
+ src: url3 || user?.image_url,
60498
60508
  alt: fullName
60499
60509
  }
60500
60510
  );
@@ -81243,12 +81253,10 @@ const OverflowMenuContainer = styled.div`
81243
81253
  transform: translateZ(0);
81244
81254
  transform-style: preserve-3d;
81245
81255
 
81246
- /* Initial hidden state to prevent flash */
81247
- ${({ $isAnimating }) => !$isAnimating && `
81248
- opacity: 0;
81249
- transform: scale(0.96) translateY(-6px);
81250
- pointer-events: none;
81251
- `}
81256
+ /* Initial visible state - let animation handle the entrance */
81257
+ opacity: 1;
81258
+
81259
+ /* Animation will override initial state when $isAnimating is true */
81252
81260
 
81253
81261
  /* Prevent layout shifts and ensure smooth rendering */
81254
81262
  contain: layout style paint;
@@ -81295,10 +81303,12 @@ const OverflowMenu = React.forwardRef(
81295
81303
  className,
81296
81304
  style: style2,
81297
81305
  onItemClick,
81298
- overrideTextColor
81306
+ overrideTextColor,
81307
+ getPopupContainer = () => document.body
81299
81308
  }, ref) => {
81300
81309
  const [internalIsOpen, setInternalIsOpen] = React.useState(false);
81301
81310
  const [isAnimating, setIsAnimating] = React.useState(false);
81311
+ const [triggerRect, setTriggerRect] = React.useState(null);
81302
81312
  const triggerRef = React.useRef(null);
81303
81313
  const menuRef = React.useRef(null);
81304
81314
  const { theme } = useGenesis();
@@ -81326,25 +81336,65 @@ const OverflowMenu = React.forwardRef(
81326
81336
  );
81327
81337
  React.useEffect(() => {
81328
81338
  if (isOpen) {
81329
- const timer2 = setTimeout(() => {
81330
- setIsAnimating(true);
81331
- }, 10);
81339
+ if (getPopupContainer !== void 0 && triggerRef.current) {
81340
+ const rect = triggerRef.current.getBoundingClientRect();
81341
+ setTriggerRect(rect);
81342
+ }
81343
+ setIsAnimating(true);
81332
81344
  document.addEventListener("mousedown", handleClickOutside);
81333
81345
  return () => {
81334
- clearTimeout(timer2);
81335
81346
  document.removeEventListener("mousedown", handleClickOutside);
81336
81347
  };
81337
81348
  } else {
81338
81349
  setIsAnimating(false);
81350
+ setTriggerRect(null);
81339
81351
  document.removeEventListener("mousedown", handleClickOutside);
81340
81352
  }
81341
- }, [isOpen, handleClickOutside]);
81353
+ }, [isOpen, handleClickOutside, getPopupContainer]);
81342
81354
  const getMenuStyle = React.useMemo(() => {
81343
81355
  const baseStyle = {
81344
- position: "absolute",
81356
+ position: getPopupContainer !== void 0 ? "fixed" : "absolute",
81345
81357
  zIndex: 1e3,
81346
81358
  ...style2
81347
81359
  };
81360
+ if (getPopupContainer !== void 0 && triggerRect) {
81361
+ const { top, left, right, bottom, width, height } = triggerRect;
81362
+ switch (placement) {
81363
+ case "bottom": {
81364
+ return {
81365
+ ...baseStyle,
81366
+ top: bottom + offset2,
81367
+ ...alignment === "right" ? { right: window.innerWidth - right } : { left }
81368
+ };
81369
+ }
81370
+ case "top": {
81371
+ return {
81372
+ ...baseStyle,
81373
+ bottom: window.innerHeight - top + offset2,
81374
+ ...alignment === "right" ? { right: window.innerWidth - right } : { left }
81375
+ };
81376
+ }
81377
+ case "left": {
81378
+ return {
81379
+ ...baseStyle,
81380
+ top,
81381
+ right: window.innerWidth - left + offset2,
81382
+ ...alignment === "right" ? { bottom: window.innerHeight - bottom } : {}
81383
+ };
81384
+ }
81385
+ case "right": {
81386
+ return {
81387
+ ...baseStyle,
81388
+ top,
81389
+ left: right + offset2,
81390
+ ...alignment === "right" ? { bottom: window.innerHeight - bottom } : {}
81391
+ };
81392
+ }
81393
+ default: {
81394
+ return baseStyle;
81395
+ }
81396
+ }
81397
+ }
81348
81398
  switch (placement) {
81349
81399
  case "bottom": {
81350
81400
  return {
@@ -81380,7 +81430,7 @@ const OverflowMenu = React.forwardRef(
81380
81430
  return baseStyle;
81381
81431
  }
81382
81432
  }
81383
- }, [placement, alignment, offset2, style2]);
81433
+ }, [placement, alignment, offset2, style2, getPopupContainer, triggerRect]);
81384
81434
  const handleItemClick = React.useCallback(
81385
81435
  (item) => {
81386
81436
  onItemClick?.(item);
@@ -81388,6 +81438,25 @@ const OverflowMenu = React.forwardRef(
81388
81438
  },
81389
81439
  [onItemClick, handleOpenChange]
81390
81440
  );
81441
+ const renderMenuContent = (content2) => /* @__PURE__ */ jsxRuntime.jsx(
81442
+ OverflowMenuContainer,
81443
+ {
81444
+ ref: menuRef,
81445
+ theme,
81446
+ className,
81447
+ style: getMenuStyle,
81448
+ $isAnimating: isAnimating,
81449
+ $placement: placement,
81450
+ children: content2
81451
+ }
81452
+ );
81453
+ const renderMenu = (content2) => {
81454
+ if (getPopupContainer !== void 0 && triggerRef.current) {
81455
+ const container = getPopupContainer(triggerRef.current);
81456
+ return ReactDOM.createPortal(renderMenuContent(content2), container);
81457
+ }
81458
+ return renderMenuContent(content2);
81459
+ };
81391
81460
  if (items && items.length > 0) {
81392
81461
  return /* @__PURE__ */ jsxRuntime.jsxs(OverflowMenuWrapper, { ref, children: [
81393
81462
  /* @__PURE__ */ jsxRuntime.jsx("div", { ref: triggerRef, onClick: handleTriggerClick, children: overrideTextColor ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -81396,41 +81465,21 @@ const OverflowMenu = React.forwardRef(
81396
81465
  overrideTextColor
81397
81466
  }
81398
81467
  ) : trigger }),
81399
- isOpen && /* @__PURE__ */ jsxRuntime.jsx(
81400
- OverflowMenuContainer,
81401
- {
81402
- ref: menuRef,
81403
- theme,
81404
- className,
81405
- style: getMenuStyle,
81406
- $isAnimating: isAnimating,
81407
- $placement: placement,
81408
- children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
81409
- OverflowMenuItem,
81410
- {
81411
- ...item,
81412
- onClick: () => handleItemClick(item)
81413
- },
81414
- item.id
81415
- ))
81416
- }
81468
+ isOpen && renderMenu(
81469
+ items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
81470
+ OverflowMenuItem,
81471
+ {
81472
+ ...item,
81473
+ onClick: () => handleItemClick(item)
81474
+ },
81475
+ item.id
81476
+ ))
81417
81477
  )
81418
81478
  ] });
81419
81479
  }
81420
81480
  return /* @__PURE__ */ jsxRuntime.jsxs(OverflowMenuWrapper, { ref, children: [
81421
81481
  /* @__PURE__ */ jsxRuntime.jsx("div", { ref: triggerRef, onClick: handleTriggerClick, children: trigger }),
81422
- isOpen && /* @__PURE__ */ jsxRuntime.jsx(
81423
- OverflowMenuContainer,
81424
- {
81425
- ref: menuRef,
81426
- theme,
81427
- className,
81428
- style: getMenuStyle,
81429
- $isAnimating: isAnimating,
81430
- $placement: placement,
81431
- children: children2
81432
- }
81433
- )
81482
+ isOpen && renderMenu(children2)
81434
81483
  ] });
81435
81484
  }
81436
81485
  );
@@ -81627,7 +81676,7 @@ const Progress = ({
81627
81676
  }
81628
81677
  if (isProgressCombined) {
81629
81678
  const combinedPercent = getCombinedPercent(
81630
- firstBarData,
81679
+ firstBarData || null,
81631
81680
  secondBarData || null
81632
81681
  );
81633
81682
  const textColor = Number(combinedPercent) === 100 ? "green" : "black";
@@ -85163,7 +85212,8 @@ function Table({
85163
85212
  onChange: isInfiniteScroll ? onChange : onChange,
85164
85213
  onRowSelectionChange,
85165
85214
  onDataChange,
85166
- hasBulkSelection
85215
+ hasBulkSelection,
85216
+ filterFn: infiniteScrollConfig.filterFn
85167
85217
  }
85168
85218
  );
85169
85219
  }
package/dist/index.js CHANGED
@@ -60423,7 +60423,10 @@ const Avatar = ({
60423
60423
  shape = "circle",
60424
60424
  children: children2,
60425
60425
  backgroundColor = "#00282B",
60426
- user = null
60426
+ user = null,
60427
+ url: url3,
60428
+ alt,
60429
+ ...rest
60427
60430
  }) => {
60428
60431
  if (!user) {
60429
60432
  return /* @__PURE__ */ jsx(
@@ -60433,7 +60436,9 @@ const Avatar = ({
60433
60436
  shape,
60434
60437
  size,
60435
60438
  alt: "Default Avatar",
60436
- style: { backgroundColor }
60439
+ style: { backgroundColor },
60440
+ src: url3,
60441
+ ...rest
60437
60442
  }
60438
60443
  );
60439
60444
  }
@@ -60441,7 +60446,9 @@ const Avatar = ({
60441
60446
  if (user && !user?.image_url) {
60442
60447
  const simpleUser = {
60443
60448
  first_name: parseFirstName(user.first_name),
60444
- last_name: user.last_name
60449
+ last_name: user.last_name,
60450
+ image_url: user.image_url,
60451
+ url: user.url
60445
60452
  };
60446
60453
  const initials = createInitials(simpleUser);
60447
60454
  return /* @__PURE__ */ jsx(
@@ -60452,6 +60459,7 @@ const Avatar = ({
60452
60459
  size,
60453
60460
  alt: fullName,
60454
60461
  style: { backgroundColor },
60462
+ ...rest,
60455
60463
  children: /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "white", style: { fontWeight: 600 }, children: initials })
60456
60464
  }
60457
60465
  );
@@ -60463,9 +60471,10 @@ const Avatar = ({
60463
60471
  "data-testid": "avatar",
60464
60472
  shape,
60465
60473
  size,
60466
- src: user?.image_url,
60474
+ src: url3 || user?.image_url,
60467
60475
  alt: fullName,
60468
60476
  style: { backgroundColor },
60477
+ ...rest,
60469
60478
  children: /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "white", style: { fontWeight: 600 }, children: children2 })
60470
60479
  }
60471
60480
  );
@@ -60473,10 +60482,11 @@ const Avatar = ({
60473
60482
  return /* @__PURE__ */ jsx(
60474
60483
  Avatar$1,
60475
60484
  {
60485
+ ...rest,
60476
60486
  "data-testid": "avatar",
60477
60487
  shape,
60478
60488
  size,
60479
- src: user?.image_url,
60489
+ src: url3 || user?.image_url,
60480
60490
  alt: fullName
60481
60491
  }
60482
60492
  );
@@ -81225,12 +81235,10 @@ const OverflowMenuContainer = styled.div`
81225
81235
  transform: translateZ(0);
81226
81236
  transform-style: preserve-3d;
81227
81237
 
81228
- /* Initial hidden state to prevent flash */
81229
- ${({ $isAnimating }) => !$isAnimating && `
81230
- opacity: 0;
81231
- transform: scale(0.96) translateY(-6px);
81232
- pointer-events: none;
81233
- `}
81238
+ /* Initial visible state - let animation handle the entrance */
81239
+ opacity: 1;
81240
+
81241
+ /* Animation will override initial state when $isAnimating is true */
81234
81242
 
81235
81243
  /* Prevent layout shifts and ensure smooth rendering */
81236
81244
  contain: layout style paint;
@@ -81277,10 +81285,12 @@ const OverflowMenu = forwardRef(
81277
81285
  className,
81278
81286
  style: style2,
81279
81287
  onItemClick,
81280
- overrideTextColor
81288
+ overrideTextColor,
81289
+ getPopupContainer = () => document.body
81281
81290
  }, ref) => {
81282
81291
  const [internalIsOpen, setInternalIsOpen] = useState(false);
81283
81292
  const [isAnimating, setIsAnimating] = useState(false);
81293
+ const [triggerRect, setTriggerRect] = useState(null);
81284
81294
  const triggerRef = useRef(null);
81285
81295
  const menuRef = useRef(null);
81286
81296
  const { theme } = useGenesis();
@@ -81308,25 +81318,65 @@ const OverflowMenu = forwardRef(
81308
81318
  );
81309
81319
  useEffect(() => {
81310
81320
  if (isOpen) {
81311
- const timer2 = setTimeout(() => {
81312
- setIsAnimating(true);
81313
- }, 10);
81321
+ if (getPopupContainer !== void 0 && triggerRef.current) {
81322
+ const rect = triggerRef.current.getBoundingClientRect();
81323
+ setTriggerRect(rect);
81324
+ }
81325
+ setIsAnimating(true);
81314
81326
  document.addEventListener("mousedown", handleClickOutside);
81315
81327
  return () => {
81316
- clearTimeout(timer2);
81317
81328
  document.removeEventListener("mousedown", handleClickOutside);
81318
81329
  };
81319
81330
  } else {
81320
81331
  setIsAnimating(false);
81332
+ setTriggerRect(null);
81321
81333
  document.removeEventListener("mousedown", handleClickOutside);
81322
81334
  }
81323
- }, [isOpen, handleClickOutside]);
81335
+ }, [isOpen, handleClickOutside, getPopupContainer]);
81324
81336
  const getMenuStyle = useMemo$1(() => {
81325
81337
  const baseStyle = {
81326
- position: "absolute",
81338
+ position: getPopupContainer !== void 0 ? "fixed" : "absolute",
81327
81339
  zIndex: 1e3,
81328
81340
  ...style2
81329
81341
  };
81342
+ if (getPopupContainer !== void 0 && triggerRect) {
81343
+ const { top, left, right, bottom, width, height } = triggerRect;
81344
+ switch (placement) {
81345
+ case "bottom": {
81346
+ return {
81347
+ ...baseStyle,
81348
+ top: bottom + offset2,
81349
+ ...alignment === "right" ? { right: window.innerWidth - right } : { left }
81350
+ };
81351
+ }
81352
+ case "top": {
81353
+ return {
81354
+ ...baseStyle,
81355
+ bottom: window.innerHeight - top + offset2,
81356
+ ...alignment === "right" ? { right: window.innerWidth - right } : { left }
81357
+ };
81358
+ }
81359
+ case "left": {
81360
+ return {
81361
+ ...baseStyle,
81362
+ top,
81363
+ right: window.innerWidth - left + offset2,
81364
+ ...alignment === "right" ? { bottom: window.innerHeight - bottom } : {}
81365
+ };
81366
+ }
81367
+ case "right": {
81368
+ return {
81369
+ ...baseStyle,
81370
+ top,
81371
+ left: right + offset2,
81372
+ ...alignment === "right" ? { bottom: window.innerHeight - bottom } : {}
81373
+ };
81374
+ }
81375
+ default: {
81376
+ return baseStyle;
81377
+ }
81378
+ }
81379
+ }
81330
81380
  switch (placement) {
81331
81381
  case "bottom": {
81332
81382
  return {
@@ -81362,7 +81412,7 @@ const OverflowMenu = forwardRef(
81362
81412
  return baseStyle;
81363
81413
  }
81364
81414
  }
81365
- }, [placement, alignment, offset2, style2]);
81415
+ }, [placement, alignment, offset2, style2, getPopupContainer, triggerRect]);
81366
81416
  const handleItemClick = useCallback(
81367
81417
  (item) => {
81368
81418
  onItemClick?.(item);
@@ -81370,6 +81420,25 @@ const OverflowMenu = forwardRef(
81370
81420
  },
81371
81421
  [onItemClick, handleOpenChange]
81372
81422
  );
81423
+ const renderMenuContent = (content2) => /* @__PURE__ */ jsx(
81424
+ OverflowMenuContainer,
81425
+ {
81426
+ ref: menuRef,
81427
+ theme,
81428
+ className,
81429
+ style: getMenuStyle,
81430
+ $isAnimating: isAnimating,
81431
+ $placement: placement,
81432
+ children: content2
81433
+ }
81434
+ );
81435
+ const renderMenu = (content2) => {
81436
+ if (getPopupContainer !== void 0 && triggerRef.current) {
81437
+ const container = getPopupContainer(triggerRef.current);
81438
+ return createPortal(renderMenuContent(content2), container);
81439
+ }
81440
+ return renderMenuContent(content2);
81441
+ };
81373
81442
  if (items && items.length > 0) {
81374
81443
  return /* @__PURE__ */ jsxs(OverflowMenuWrapper, { ref, children: [
81375
81444
  /* @__PURE__ */ jsx("div", { ref: triggerRef, onClick: handleTriggerClick, children: overrideTextColor ? /* @__PURE__ */ jsx(
@@ -81378,41 +81447,21 @@ const OverflowMenu = forwardRef(
81378
81447
  overrideTextColor
81379
81448
  }
81380
81449
  ) : trigger }),
81381
- isOpen && /* @__PURE__ */ jsx(
81382
- OverflowMenuContainer,
81383
- {
81384
- ref: menuRef,
81385
- theme,
81386
- className,
81387
- style: getMenuStyle,
81388
- $isAnimating: isAnimating,
81389
- $placement: placement,
81390
- children: items.map((item) => /* @__PURE__ */ jsx(
81391
- OverflowMenuItem,
81392
- {
81393
- ...item,
81394
- onClick: () => handleItemClick(item)
81395
- },
81396
- item.id
81397
- ))
81398
- }
81450
+ isOpen && renderMenu(
81451
+ items.map((item) => /* @__PURE__ */ jsx(
81452
+ OverflowMenuItem,
81453
+ {
81454
+ ...item,
81455
+ onClick: () => handleItemClick(item)
81456
+ },
81457
+ item.id
81458
+ ))
81399
81459
  )
81400
81460
  ] });
81401
81461
  }
81402
81462
  return /* @__PURE__ */ jsxs(OverflowMenuWrapper, { ref, children: [
81403
81463
  /* @__PURE__ */ jsx("div", { ref: triggerRef, onClick: handleTriggerClick, children: trigger }),
81404
- isOpen && /* @__PURE__ */ jsx(
81405
- OverflowMenuContainer,
81406
- {
81407
- ref: menuRef,
81408
- theme,
81409
- className,
81410
- style: getMenuStyle,
81411
- $isAnimating: isAnimating,
81412
- $placement: placement,
81413
- children: children2
81414
- }
81415
- )
81464
+ isOpen && renderMenu(children2)
81416
81465
  ] });
81417
81466
  }
81418
81467
  );
@@ -81609,7 +81658,7 @@ const Progress = ({
81609
81658
  }
81610
81659
  if (isProgressCombined) {
81611
81660
  const combinedPercent = getCombinedPercent(
81612
- firstBarData,
81661
+ firstBarData || null,
81613
81662
  secondBarData || null
81614
81663
  );
81615
81664
  const textColor = Number(combinedPercent) === 100 ? "green" : "black";
@@ -85145,7 +85194,8 @@ function Table({
85145
85194
  onChange: isInfiniteScroll ? onChange : onChange,
85146
85195
  onRowSelectionChange,
85147
85196
  onDataChange,
85148
- hasBulkSelection
85197
+ hasBulkSelection,
85198
+ filterFn: infiniteScrollConfig.filterFn
85149
85199
  }
85150
85200
  );
85151
85201
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobolt/genesis",
3
- "version": "0.4.33",
3
+ "version": "0.4.37",
4
4
  "description": "genesis design system",
5
5
  "author": "gobolt",
6
6
  "license": "MIT",