@agility/plenum-ui 2.2.5 → 2.2.7

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/tailwind.css CHANGED
@@ -1940,8 +1940,8 @@ select {
1940
1940
  min-height: 0px !important;
1941
1941
  }
1942
1942
 
1943
- .min-h-\[38px\] {
1944
- min-height: 38px;
1943
+ .min-h-\[20px\] {
1944
+ min-height: 20px;
1945
1945
  }
1946
1946
 
1947
1947
  .w-1 {
@@ -1,15 +1,12 @@
1
1
  import React from "react";
2
- import * as SolidIcons from "@heroicons/react/solid";
3
- import * as OutlineIcons from "@heroicons/react/outline";
4
- import * as FA from "react-icons/fa";
2
+ import type * as SolidIcons from "@heroicons/react/solid";
3
+ import type * as OutlineIcons from "@heroicons/react/outline";
5
4
  import { TablerIconName } from "./tablerIconNames";
6
5
  import { ClassNameWithAutocomplete } from "@/utils/types";
7
6
  export type IconName = keyof typeof SolidIcons | keyof typeof OutlineIcons;
8
- export type FAIconName = keyof typeof FA;
9
- export type UnifiedIconName = TablerIconName | IconName | FAIconName;
7
+ export type UnifiedIconName = TablerIconName | IconName;
10
8
  export declare function isHeroIcon(name: UnifiedIconName): name is keyof typeof SolidIcons | keyof typeof OutlineIcons;
11
9
  export declare function isTablerIcon(name: UnifiedIconName): name is TablerIconName;
12
- export declare function isFAIcon(name: UnifiedIconName): name is keyof typeof FA;
13
10
  export declare function isUnifiedIconName(name: UnifiedIconName): name is UnifiedIconName;
14
11
  export interface IDynamicIconProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement> {
15
12
  icon: UnifiedIconName;
@@ -2,9 +2,7 @@ import type { Meta, StoryObj } from "@storybook/react";
2
2
  import { DynamicIcon } from "./DynamicIcon";
3
3
  declare const meta: Meta<typeof DynamicIcon>;
4
4
  type Story = StoryObj<typeof DynamicIcon>;
5
- export declare const HeroIconSolid: Story;
6
- export declare const HeroIconOutline: Story;
7
5
  export declare const TablerIconSolid: Story;
8
6
  export declare const TablerIconOutline: Story;
9
- export declare const FAIcon: Story;
7
+ export declare const TablerIconBrandGithub: Story;
10
8
  export default meta;
@@ -1,4 +1,4 @@
1
- import { DynamicIcon, FAIconName, IDynamicIconProps, IconName, UnifiedIconName, isFAIcon, isHeroIcon, isTablerIcon, isUnifiedIconName } from "./DynamicIcon";
1
+ import { DynamicIcon, IDynamicIconProps, IconName, UnifiedIconName, isHeroIcon, isTablerIcon, isUnifiedIconName } from "./DynamicIcon";
2
2
  import IconWithShadow, { IIconWithShadowProps } from "./IconWithShadow";
3
- export { DynamicIcon, isFAIcon, isHeroIcon, isTablerIcon, isUnifiedIconName, IconWithShadow };
4
- export type { FAIconName, IDynamicIconProps, IconName, UnifiedIconName, IIconWithShadowProps };
3
+ export { DynamicIcon, isHeroIcon, isTablerIcon, isUnifiedIconName, IconWithShadow };
4
+ export type { IDynamicIconProps, IconName, UnifiedIconName, IIconWithShadowProps };
@@ -1,10 +1,10 @@
1
1
  import Avatar, { IAvatarProps } from "./Avatar";
2
2
  import Badge, { IBadgeProps } from "./badges";
3
3
  import { Button, Capsule, BTNActionType, IButtonProps, ICapsuleProps } from "./buttons";
4
- import { DynamicIcon, FAIconName, IDynamicIconProps, IIconWithShadowProps, IconName, IconWithShadow, UnifiedIconName, isFAIcon, isHeroIcon, isTablerIcon, isUnifiedIconName } from "./icons";
4
+ import { DynamicIcon, IDynamicIconProps, IIconWithShadowProps, IconName, IconWithShadow, UnifiedIconName, isHeroIcon, isTablerIcon, isUnifiedIconName } from "./icons";
5
5
  import { ILoaderProps, IRadialProgressProps, Loader, RadialProgress } from "./loaders";
6
6
  import { Heading, HeadingProps } from "./Typography/Heading";
7
7
  import { Label, LabelProps } from "./Typography/Label";
8
8
  import { Paragraph, ParagraphProps } from "./Typography/Paragraph";
9
- export type { IAvatarProps, IBadgeProps, IButtonProps, ICapsuleProps, IDynamicIconProps, IIconWithShadowProps, ILoaderProps, IRadialProgressProps, HeadingProps, LabelProps, ParagraphProps, UnifiedIconName, IconName, FAIconName, BTNActionType };
10
- export { Avatar, Badge, Button, Capsule, DynamicIcon, IconWithShadow, Loader, RadialProgress, Heading, Label, Paragraph, isFAIcon, isHeroIcon, isTablerIcon, isUnifiedIconName };
9
+ export type { IAvatarProps, IBadgeProps, IButtonProps, ICapsuleProps, IDynamicIconProps, IIconWithShadowProps, ILoaderProps, IRadialProgressProps, HeadingProps, LabelProps, ParagraphProps, UnifiedIconName, IconName, BTNActionType };
10
+ export { Avatar, Badge, Button, Capsule, DynamicIcon, IconWithShadow, Loader, RadialProgress, Heading, Label, Paragraph, isHeroIcon, isTablerIcon, isUnifiedIconName };
@@ -1,5 +1,5 @@
1
- import { IAvatarProps, IBadgeProps, IButtonProps, ICapsuleProps, IDynamicIconProps, IIconWithShadowProps, ILoaderProps, IRadialProgressProps, UnifiedIconName, IconName, FAIconName, BTNActionType, Avatar, Badge, Button, Capsule, DynamicIcon, IconWithShadow, Loader, RadialProgress, isFAIcon, isHeroIcon, isTablerIcon, isUnifiedIconName, Heading, HeadingProps, Label, LabelProps, Paragraph, ParagraphProps } from "./atoms";
1
+ import { IAvatarProps, IBadgeProps, IButtonProps, ICapsuleProps, IDynamicIconProps, IIconWithShadowProps, ILoaderProps, IRadialProgressProps, UnifiedIconName, IconName, BTNActionType, Avatar, Badge, Button, Capsule, DynamicIcon, IconWithShadow, Loader, RadialProgress, isHeroIcon, isTablerIcon, isUnifiedIconName, Heading, HeadingProps, Label, LabelProps, Paragraph, ParagraphProps } from "./atoms";
2
2
  import { ICheckboxProps, IComboboxProps, IInputFieldProps, IInputLabelProps, INestedInputButtonProps, IRadioProps, ISelectProps, ITextareaProps, IToggleSwitchProps, AcceptedInputTypes, Checkbox, Combobox, InputField, InputLabel, NestedInputButton, Radio, Select, Textarea, ToggleSwitch, TextInput, ITextInputProps, ISimpleSelectOptions } from "./molecules";
3
3
  import { IAnimatedLabelInputProps, AnimatedLabelTextArea, IAnimatedLabelTextAreaProps, IButtonDropdownProps, IDropdownProps, IEmptySectionPlaceholderProps, IItemProp, IFormInputWithAddonsProps, AnimatedLabelInput, ButtonDropdown, Dropdown, EmptySectionPlaceholder, FormInputWithAddons, TextInputSelect, ITextInputSelectProps, IAnimatedFormInputWithAddons, AnimatedFormInputWithAddons, DropdownWithMultiSelect, MultiSelectItemProps } from "./organisms";
4
- export type { IAvatarProps, IBadgeProps, IButtonProps, ICapsuleProps, ITextInputSelectProps, IDynamicIconProps, IIconWithShadowProps, ILoaderProps, IRadialProgressProps, ICheckboxProps, IComboboxProps, IInputFieldProps, IInputLabelProps, INestedInputButtonProps, IRadioProps, ISelectProps, ITextareaProps, IToggleSwitchProps, AcceptedInputTypes, IAnimatedLabelInputProps, IAnimatedLabelTextAreaProps, IButtonDropdownProps, IDropdownProps, IEmptySectionPlaceholderProps, IItemProp, IFormInputWithAddonsProps, UnifiedIconName, IconName, FAIconName, BTNActionType, ITextInputProps, ISimpleSelectOptions, IAnimatedFormInputWithAddons, MultiSelectItemProps, HeadingProps, LabelProps, ParagraphProps };
5
- export { Avatar, Checkbox, Combobox, InputField, InputLabel, NestedInputButton, Radio, Select, Textarea, ToggleSwitch, AnimatedLabelInput, AnimatedLabelTextArea, ButtonDropdown, Dropdown, EmptySectionPlaceholder, FormInputWithAddons, Badge, Button, Capsule, DynamicIcon, IconWithShadow, Loader, RadialProgress, isFAIcon, isHeroIcon, isTablerIcon, isUnifiedIconName, TextInput, TextInputSelect, AnimatedFormInputWithAddons, DropdownWithMultiSelect, Heading, Label, Paragraph };
4
+ export type { IAvatarProps, IBadgeProps, IButtonProps, ICapsuleProps, ITextInputSelectProps, IDynamicIconProps, IIconWithShadowProps, ILoaderProps, IRadialProgressProps, ICheckboxProps, IComboboxProps, IInputFieldProps, IInputLabelProps, INestedInputButtonProps, IRadioProps, ISelectProps, ITextareaProps, IToggleSwitchProps, AcceptedInputTypes, IAnimatedLabelInputProps, IAnimatedLabelTextAreaProps, IButtonDropdownProps, IDropdownProps, IEmptySectionPlaceholderProps, IItemProp, IFormInputWithAddonsProps, UnifiedIconName, IconName, BTNActionType, ITextInputProps, ISimpleSelectOptions, IAnimatedFormInputWithAddons, MultiSelectItemProps, HeadingProps, LabelProps, ParagraphProps };
5
+ export { Avatar, Checkbox, Combobox, InputField, InputLabel, NestedInputButton, Radio, Select, Textarea, ToggleSwitch, AnimatedLabelInput, AnimatedLabelTextArea, ButtonDropdown, Dropdown, EmptySectionPlaceholder, FormInputWithAddons, Badge, Button, Capsule, DynamicIcon, IconWithShadow, Loader, RadialProgress, isHeroIcon, isTablerIcon, isUnifiedIconName, TextInput, TextInputSelect, AnimatedFormInputWithAddons, DropdownWithMultiSelect, Heading, Label, Paragraph };
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@agility/plenum-ui",
3
- "version": "2.2.5",
3
+ "version": "2.2.7",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "sideEffects": ["**/*.css"],
8
9
  "engines": {
9
10
  "node": ">= 18.0.0"
10
11
  },
@@ -73,7 +74,6 @@
73
74
  "jest-environment-jsdom": "^29.7.0",
74
75
  "react": "18.2.0",
75
76
  "react-dom": "18.2.0",
76
- "react-icons": "^4.10.1",
77
77
  "rimraf": "^5.0.1",
78
78
  "storybook": "^7.1.1",
79
79
  "ts-node": "^10.9.2",
@@ -88,7 +88,6 @@
88
88
  "@tabler/icons-react": "^2.27.0",
89
89
  "classnames": "^2.3.2",
90
90
  "react": "18.2.0",
91
- "react-dom": "18.2.0",
92
- "react-icons": "^4.10.1"
91
+ "react-dom": "18.2.0"
93
92
  }
94
93
  }
@@ -1,43 +1,31 @@
1
- import type { Meta, StoryObj } from "@storybook/react"
2
- import { DynamicIcon } from "./DynamicIcon"
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { DynamicIcon } from "./DynamicIcon";
3
3
 
4
4
  const meta: Meta<typeof DynamicIcon> = {
5
5
  title: "Design System/atoms/Icons/DynamicIcon",
6
6
  component: DynamicIcon,
7
7
  tags: ["autodocs"]
8
- }
8
+ };
9
9
 
10
- type Story = StoryObj<typeof DynamicIcon>
10
+ type Story = StoryObj<typeof DynamicIcon>;
11
11
 
12
- export const HeroIconSolid: Story = {
13
- args: {
14
- icon: "TrashIcon",
15
- outline: false
16
- }
17
- }
18
- export const HeroIconOutline: Story = {
19
- args: {
20
- icon: "TrashIcon",
21
- outline: true
22
- }
23
- }
24
12
  export const TablerIconSolid: Story = {
25
13
  args: {
26
14
  icon: "IconTrashFilled",
27
15
  outline: false
28
16
  }
29
- }
17
+ };
30
18
  export const TablerIconOutline: Story = {
31
19
  args: {
32
20
  icon: "IconTrash",
33
21
  outline: true
34
22
  }
35
- }
36
- export const FAIcon: Story = {
23
+ };
24
+ export const TablerIconBrandGithub: Story = {
37
25
  args: {
38
- icon: "FaGithub",
26
+ icon: "IconBrandGithub",
39
27
  outline: true
40
28
  }
41
- }
29
+ };
42
30
 
43
- export default meta
31
+ export default meta;
@@ -1,8 +1,7 @@
1
1
  import React from "react"
2
- // TODO: Fix heroicons support
3
- import * as SolidIcons from "@heroicons/react/solid"
4
- import * as OutlineIcons from "@heroicons/react/outline"
5
- import * as FA from "react-icons/fa"
2
+ // TODO: Fix heroicons support — using import type to avoid bundling full icon sets
3
+ import type * as SolidIcons from "@heroicons/react/solid"
4
+ import type * as OutlineIcons from "@heroicons/react/outline"
6
5
  import { tablerIconNames, TablerIconName } from "./tablerIconNames"
7
6
  import { default as cn } from "classnames"
8
7
 
@@ -10,24 +9,20 @@ import { ClassNameWithAutocomplete } from "@/utils/types"
10
9
  import TablerIcon from "./TablerIcon"
11
10
 
12
11
  export type IconName = keyof typeof SolidIcons | keyof typeof OutlineIcons
13
- export type FAIconName = keyof typeof FA
14
12
 
15
- export type UnifiedIconName = TablerIconName | IconName | FAIconName
13
+ export type UnifiedIconName = TablerIconName | IconName
16
14
 
15
+ // isHeroIcon: heroicon support is pending (TODO: Fix heroicons support)
17
16
  export function isHeroIcon(name: UnifiedIconName): name is keyof typeof SolidIcons | keyof typeof OutlineIcons {
18
- return name in SolidIcons || name in OutlineIcons
17
+ return false
19
18
  }
20
19
 
21
20
  export function isTablerIcon(name: UnifiedIconName): name is TablerIconName {
22
21
  return tablerIconNames.includes(name as TablerIconName)
23
22
  }
24
23
 
25
- export function isFAIcon(name: UnifiedIconName): name is keyof typeof FA {
26
- return name in FA
27
- }
28
-
29
24
  export function isUnifiedIconName(name: UnifiedIconName): name is UnifiedIconName {
30
- return isTablerIcon(name) // || isHeroIcon(name) || isFAIcon(name)
25
+ return isTablerIcon(name)
31
26
  }
32
27
 
33
28
  export interface IDynamicIconProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement> {
@@ -62,29 +57,5 @@ export const DynamicIcon = ({
62
57
  )
63
58
  }
64
59
 
65
- if (isFAIcon(icon)) {
66
- const Icon = FA[icon]
67
- return (
68
- <i {...{ ...props, className: "flex items-center justify-center" }}>
69
- <Icon
70
- className={cn(className, {
71
- "h-5 w-5 text-gray-600": !className
72
- })}
73
- />
74
- </i>
75
- )
76
- }
77
- if (isHeroIcon(icon)) {
78
- const Icon = outline ? OutlineIcons[icon] : SolidIcons[icon]
79
- return (
80
- <i {...{ ...props, className: "flex items-center justify-center" }}>
81
- <Icon
82
- className={cn(className, {
83
- "h-5 w-5 text-gray-600": !className
84
- })}
85
- />
86
- </i>
87
- )
88
- }
89
60
  return <></>
90
61
  }
@@ -1,8 +1,66 @@
1
1
  import React from "react";
2
2
  import { TablerIconName } from "./tablerIconNames";
3
- import * as TablerIcons from "@tabler/icons-react";
3
+ import {
4
+ IconArrowDown,
5
+ IconArrowUp,
6
+ IconBan,
7
+ IconBell,
8
+ IconBrandGithub,
9
+ IconCheck,
10
+ IconChevronDown,
11
+ IconCode,
12
+ IconConfetti,
13
+ IconCopy,
14
+ IconCube,
15
+ IconDotsVertical,
16
+ IconEye,
17
+ IconEyeCheck,
18
+ IconEyeOff,
19
+ IconFolderPlus,
20
+ IconGridDots,
21
+ IconPaperclip,
22
+ IconPencil,
23
+ IconPlus,
24
+ IconSearch,
25
+ IconSelector,
26
+ IconThumbUp,
27
+ IconTrash,
28
+ IconTrashFilled,
29
+ IconUpload,
30
+ IconX,
31
+ } from "@tabler/icons-react";
4
32
  import { ClassNameWithAutocomplete } from "@/utils/types";
5
33
 
34
+ const tablerIconMap = {
35
+ IconArrowDown,
36
+ IconArrowUp,
37
+ IconBan,
38
+ IconBell,
39
+ IconBrandGithub,
40
+ IconCheck,
41
+ IconChevronDown,
42
+ IconCode,
43
+ IconConfetti,
44
+ IconCopy,
45
+ IconCube,
46
+ IconDotsVertical,
47
+ IconEye,
48
+ IconEyeCheck,
49
+ IconEyeOff,
50
+ IconFolderPlus,
51
+ IconGridDots,
52
+ IconPaperclip,
53
+ IconPencil,
54
+ IconPlus,
55
+ IconSearch,
56
+ IconSelector,
57
+ IconThumbUp,
58
+ IconTrash,
59
+ IconTrashFilled,
60
+ IconUpload,
61
+ IconX,
62
+ } as const;
63
+
6
64
  export interface ITablerIconProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement> {
7
65
  icon: TablerIconName;
8
66
  className?: ClassNameWithAutocomplete;
@@ -12,8 +70,8 @@ const TablerIcon: React.FC<ITablerIconProps> = ({
12
70
  icon,
13
71
  className = "w-6 h-6 text-gray-600"
14
72
  }: ITablerIconProps): JSX.Element => {
15
- //@ts-ignore
16
- const Icon = TablerIcons[icon];
73
+ const Icon = tablerIconMap[icon as keyof typeof tablerIconMap];
74
+ if (!Icon) return <></>;
17
75
  return (
18
76
  <i>
19
77
  <Icon className={className} />
@@ -1,14 +1,12 @@
1
1
  import {
2
2
  DynamicIcon,
3
- FAIconName,
4
3
  IDynamicIconProps,
5
4
  IconName,
6
5
  UnifiedIconName,
7
- isFAIcon,
8
6
  isHeroIcon,
9
7
  isTablerIcon,
10
8
  isUnifiedIconName
11
9
  } from "./DynamicIcon"
12
10
  import IconWithShadow, { IIconWithShadowProps } from "./IconWithShadow"
13
- export { DynamicIcon, isFAIcon, isHeroIcon, isTablerIcon, isUnifiedIconName, IconWithShadow }
14
- export type { FAIconName, IDynamicIconProps, IconName, UnifiedIconName, IIconWithShadowProps }
11
+ export { DynamicIcon, isHeroIcon, isTablerIcon, isUnifiedIconName, IconWithShadow }
12
+ export type { IDynamicIconProps, IconName, UnifiedIconName, IIconWithShadowProps }
@@ -3,13 +3,11 @@ import Badge, { IBadgeProps } from "./badges";
3
3
  import { Button, Capsule, BTNActionType, IButtonProps, ICapsuleProps } from "./buttons";
4
4
  import {
5
5
  DynamicIcon,
6
- FAIconName,
7
6
  IDynamicIconProps,
8
7
  IIconWithShadowProps,
9
8
  IconName,
10
9
  IconWithShadow,
11
10
  UnifiedIconName,
12
- isFAIcon,
13
11
  isHeroIcon,
14
12
  isTablerIcon,
15
13
  isUnifiedIconName
@@ -32,7 +30,6 @@ export type {
32
30
  ParagraphProps,
33
31
  UnifiedIconName,
34
32
  IconName,
35
- FAIconName,
36
33
  BTNActionType
37
34
  };
38
35
  export {
@@ -47,7 +44,6 @@ export {
47
44
  Heading,
48
45
  Label,
49
46
  Paragraph,
50
- isFAIcon,
51
47
  isHeroIcon,
52
48
  isTablerIcon,
53
49
  isUnifiedIconName
package/stories/index.ts CHANGED
@@ -10,7 +10,6 @@ import {
10
10
  IRadialProgressProps,
11
11
  UnifiedIconName,
12
12
  IconName,
13
- FAIconName,
14
13
  BTNActionType,
15
14
  Avatar,
16
15
  Badge,
@@ -20,7 +19,6 @@ import {
20
19
  IconWithShadow,
21
20
  Loader,
22
21
  RadialProgress,
23
- isFAIcon,
24
22
  isHeroIcon,
25
23
  isTablerIcon,
26
24
  isUnifiedIconName,
@@ -108,7 +106,6 @@ export type {
108
106
  IFormInputWithAddonsProps,
109
107
  UnifiedIconName,
110
108
  IconName,
111
- FAIconName,
112
109
  BTNActionType,
113
110
  ITextInputProps,
114
111
  ISimpleSelectOptions,
@@ -142,7 +139,6 @@ export {
142
139
  IconWithShadow,
143
140
  Loader,
144
141
  RadialProgress,
145
- isFAIcon,
146
142
  isHeroIcon,
147
143
  isTablerIcon,
148
144
  isUnifiedIconName,
@@ -57,7 +57,7 @@ const Checkbox: FC<ICheckboxProps> = ({
57
57
  { "border-red-500 shadow-none": isError }
58
58
  );
59
59
  const wrapperStyles = cn(
60
- "relative flex items-center min-h-[38px]",
60
+ "relative flex items-center min-h-[20px]",
61
61
  { "opacity-50": isDisabled },
62
62
  { "rounded-sm border border-1 px-3 border-gray-200": hasBorder },
63
63
  { "py-3": hasBorder && message },