@fpkit/acss 0.5.4 → 0.5.6

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.
Files changed (158) hide show
  1. package/libs/chunk-PWVRDQ3R.js +8 -0
  2. package/libs/chunk-PWVRDQ3R.js.map +1 -0
  3. package/libs/chunk-SVS4MX3U.cjs +31 -0
  4. package/libs/chunk-SVS4MX3U.cjs.map +1 -0
  5. package/libs/{icons-2f29127c.d.ts → icons-31ace3de.d.ts} +87 -81
  6. package/libs/icons.cjs +2 -2
  7. package/libs/icons.d.cts +1 -1
  8. package/libs/icons.d.ts +1 -1
  9. package/libs/icons.js +1 -1
  10. package/libs/index.cjs +42 -42
  11. package/libs/index.cjs.map +1 -1
  12. package/libs/index.d.cts +59 -29
  13. package/libs/index.d.ts +59 -29
  14. package/libs/index.js +7 -7
  15. package/libs/index.js.map +1 -1
  16. package/package.json +4 -3
  17. package/src/components/README.mdx +84 -0
  18. package/src/components/alert/README.mdx +86 -0
  19. package/src/components/alert/alert.mdx +74 -0
  20. package/src/components/alert/alert.scss +80 -0
  21. package/src/components/alert/alert.stories.tsx +132 -0
  22. package/src/components/alert/alert.tsx +154 -0
  23. package/src/components/alert/elements/README.mdx +77 -0
  24. package/src/components/alert/elements/dismiss-button.stories.tsx +31 -0
  25. package/src/components/alert/elements/dismiss-button.tsx +28 -0
  26. package/src/components/badge/badge.mdx +124 -0
  27. package/src/components/badge/badge.scss +4 -4
  28. package/src/components/badge/badge.stories.tsx +21 -23
  29. package/src/components/breadcrumbs/breadcrumb.scss +2 -2
  30. package/src/components/breadcrumbs/breadcrumb.stories.tsx +42 -47
  31. package/src/components/buttons/button.scss +41 -15
  32. package/src/components/buttons/button.stories.tsx +8 -1
  33. package/src/components/buttons/button.test.tsx +72 -72
  34. package/src/components/cards/card.stories.tsx +15 -15
  35. package/src/components/details/details.scss +26 -6
  36. package/src/components/details/details.stories.tsx +33 -30
  37. package/src/components/details/details.tsx +17 -17
  38. package/src/components/dialog/README.mdx +187 -0
  39. package/src/components/dialog/dialog-modal.stories.tsx +113 -0
  40. package/src/components/dialog/dialog-modal.tsx +111 -0
  41. package/src/components/dialog/dialog.scss +76 -0
  42. package/src/components/dialog/dialog.stories.tsx +116 -0
  43. package/src/components/dialog/dialog.tsx +128 -0
  44. package/src/components/dialog/hooks/useClickOutside.ts +33 -0
  45. package/src/components/dialog/views/README.mdx +182 -0
  46. package/src/components/dialog/views/dialog-footer.tsx +45 -0
  47. package/src/components/dialog/views/dialog-header.stories.tsx +42 -0
  48. package/src/components/dialog/views/dialog-header.tsx +61 -0
  49. package/src/components/form/form.stories.tsx +16 -16
  50. package/src/components/form/input.stories.tsx +62 -62
  51. package/src/components/form/select.stories.tsx +22 -15
  52. package/src/components/heading/heading.stories.tsx +32 -33
  53. package/src/components/heading/heading.tsx +1 -1
  54. package/src/components/icons/components/add.tsx +14 -14
  55. package/src/components/icons/components/alert-solid.tsx +36 -0
  56. package/src/components/icons/components/alert-square-solid.tsx +36 -0
  57. package/src/components/icons/components/info-solid.tsx +40 -0
  58. package/src/components/icons/components/info.tsx +36 -0
  59. package/src/components/icons/components/question-solid.tsx +36 -0
  60. package/src/components/icons/components/success-solid.tsx +36 -0
  61. package/src/components/icons/components/svg.tsx +0 -1
  62. package/src/components/icons/components/warn-solid.tsx +36 -0
  63. package/src/components/icons/icon.scss +1 -3
  64. package/src/components/icons/icon.stories.tsx +87 -78
  65. package/src/components/icons/icon.tsx +57 -52
  66. package/src/components/icons/index.ts +36 -29
  67. package/src/components/icons/types.ts +1 -1
  68. package/src/components/images/figure.stories.tsx +13 -13
  69. package/src/components/images/img.stories.tsx +12 -12
  70. package/src/components/link/link.stories.tsx +32 -35
  71. package/src/components/link/link.tsx +27 -14
  72. package/src/components/list/list.stories.tsx +16 -16
  73. package/src/components/modal/dialog.tsx +13 -12
  74. package/src/components/modal/modal.tsx +28 -30
  75. package/src/components/nav/nav.stories.tsx +25 -24
  76. package/src/components/popover/popover.stories.tsx +17 -18
  77. package/src/components/progress/progress.stories.tsx +14 -20
  78. package/src/components/tag/tag.stories.tsx +17 -18
  79. package/src/components/text/text.stories.tsx +28 -29
  80. package/src/components/text-to-speech/TextToSpeech.stories.tsx +100 -101
  81. package/src/components/ui.tsx +28 -25
  82. package/src/decorators/instructions.tsx +44 -0
  83. package/src/hooks/useDialogClickHandler.ts +26 -0
  84. package/src/index.scss +23 -22
  85. package/src/index.ts +31 -30
  86. package/src/patterns/page/page-header.stories.tsx +17 -21
  87. package/src/sass/_globals.scss +14 -32
  88. package/src/sass/_styles.scss +2 -1
  89. package/src/sass/styles/_colors.scss +13 -0
  90. package/src/styles/alert/alert.css +68 -0
  91. package/src/styles/alert/alert.css.map +1 -0
  92. package/src/styles/badge/badge.css +3 -3
  93. package/src/styles/breadcrumbs/breadcrumb.css +1 -1
  94. package/src/styles/buttons/button.css +25 -2
  95. package/src/styles/buttons/button.css.map +1 -1
  96. package/src/styles/details/details.css +19 -4
  97. package/src/styles/details/details.css.map +1 -1
  98. package/src/styles/dialog/dialog.css +76 -0
  99. package/src/styles/dialog/dialog.css.map +1 -0
  100. package/src/styles/icons/icon.css +1 -3
  101. package/src/styles/icons/icon.css.map +1 -1
  102. package/src/styles/index.css +213 -60
  103. package/src/styles/index.css.map +1 -1
  104. package/libs/chunk-TBM2QIVT.js +0 -8
  105. package/libs/chunk-TBM2QIVT.js.map +0 -1
  106. package/libs/chunk-VAH6X2DZ.cjs +0 -31
  107. package/libs/chunk-VAH6X2DZ.cjs.map +0 -1
  108. package/libs/components/badge/badge.css +0 -1
  109. package/libs/components/badge/badge.css.map +0 -1
  110. package/libs/components/badge/badge.min.css +0 -3
  111. package/libs/components/breadcrumbs/breadcrumb.css +0 -1
  112. package/libs/components/breadcrumbs/breadcrumb.css.map +0 -1
  113. package/libs/components/breadcrumbs/breadcrumb.min.css +0 -3
  114. package/libs/components/buttons/button.css +0 -1
  115. package/libs/components/buttons/button.css.map +0 -1
  116. package/libs/components/buttons/button.min.css +0 -3
  117. package/libs/components/cards/card-style.css +0 -1
  118. package/libs/components/cards/card-style.css.map +0 -1
  119. package/libs/components/cards/card-style.min.css +0 -3
  120. package/libs/components/cards/card.css +0 -1
  121. package/libs/components/cards/card.css.map +0 -1
  122. package/libs/components/cards/card.min.css +0 -3
  123. package/libs/components/details/details.css +0 -1
  124. package/libs/components/details/details.css.map +0 -1
  125. package/libs/components/details/details.min.css +0 -3
  126. package/libs/components/form/form.css +0 -1
  127. package/libs/components/form/form.css.map +0 -1
  128. package/libs/components/form/form.min.css +0 -3
  129. package/libs/components/icons/icon.css +0 -1
  130. package/libs/components/icons/icon.css.map +0 -1
  131. package/libs/components/icons/icon.min.css +0 -3
  132. package/libs/components/images/img.css +0 -1
  133. package/libs/components/images/img.css.map +0 -1
  134. package/libs/components/images/img.min.css +0 -3
  135. package/libs/components/layout/landmarks.css +0 -1
  136. package/libs/components/layout/landmarks.css.map +0 -1
  137. package/libs/components/layout/landmarks.min.css +0 -3
  138. package/libs/components/link/link.css +0 -1
  139. package/libs/components/link/link.css.map +0 -1
  140. package/libs/components/link/link.min.css +0 -3
  141. package/libs/components/nav/nav.css +0 -1
  142. package/libs/components/nav/nav.css.map +0 -1
  143. package/libs/components/nav/nav.min.css +0 -3
  144. package/libs/components/progress/progress.css +0 -1
  145. package/libs/components/progress/progress.css.map +0 -1
  146. package/libs/components/progress/progress.min.css +0 -3
  147. package/libs/components/styles/index.css +0 -1
  148. package/libs/components/styles/index.css.map +0 -1
  149. package/libs/components/styles/index.min.css +0 -3
  150. package/libs/components/tag/tag.css +0 -1
  151. package/libs/components/tag/tag.css.map +0 -1
  152. package/libs/components/tag/tag.min.css +0 -3
  153. package/libs/components/text-to-speech/text-to-speech.css +0 -1
  154. package/libs/components/text-to-speech/text-to-speech.css.map +0 -1
  155. package/libs/components/text-to-speech/text-to-speech.min.css +0 -3
  156. package/libs/index.css +0 -1
  157. package/libs/index.css.map +0 -1
  158. package/src/components/readme.stories.mdx +0 -7
@@ -0,0 +1,40 @@
1
+ import * as React from "react";
2
+
3
+ import { IconProps } from "../types";
4
+ import Svg from "./svg";
5
+
6
+ /**
7
+ * Add Icon component
8
+ * @param {string} fill - Icon fill color (default: 'currentColor')
9
+ * @param {string} size - Icon size (default: '24')
10
+ * @param {IconProps} props - Other icon properties
11
+ * @returns {JSX.Element} - Rendered component
12
+ */
13
+ export const InfoSolid = ({
14
+ fill = "currentColor",
15
+ size = 24,
16
+ role = "img",
17
+ alt = "Add icon",
18
+ ...props
19
+ }: Pick<
20
+ IconProps,
21
+ "strokeColor" | "fill" | "styles" | "size" | "role" | "alt"
22
+ >): JSX.Element => {
23
+ return (
24
+ <Svg size={size} role={role} alt={alt} {...props}>
25
+ <g fill={fill}>
26
+ <path
27
+ fill={fill}
28
+ d="M8,17.06V20h8v-2.94c3.059-1.514,5-4.607,5-8.06c0-4.963-4.038-9-9-9S3,4.037,3,9 C3,12.452,4.941,15.546,8,17.06z M7,9c0-2.757,2.243-5,5-5h1v2h-1c-1.654,0-3,1.346-3,3v1H7V9z"
29
+ ></path>{" "}
30
+ <path
31
+ fill={fill}
32
+ d="M8,22v1c0,0.553,0.448,1,1,1h6c0.552,0,1-0.447,1-1v-1H8z"
33
+ ></path>
34
+ </g>
35
+ </Svg>
36
+ );
37
+ };
38
+
39
+ export default InfoSolid;
40
+ InfoSolid.displayName = "InfoSolid";
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+
3
+ import { IconProps } from "../types";
4
+ import Svg from "./svg";
5
+
6
+ /**
7
+ * Add Icon component
8
+ * @param {string} fill - Icon fill color (default: 'currentColor')
9
+ * @param {string} size - Icon size (default: '24')
10
+ * @param {IconProps} props - Other icon properties
11
+ * @returns {JSX.Element} - Rendered component
12
+ */
13
+ export const Info = ({
14
+ fill = "currentColor",
15
+ size = 24,
16
+ role = "img",
17
+ alt = "Info icon",
18
+ ...props
19
+ }: Pick<
20
+ IconProps,
21
+ "strokeColor" | "fill" | "styles" | "size" | "role" | "alt"
22
+ >): JSX.Element => {
23
+ return (
24
+ <Svg size={size} role={role} alt={alt} {...props}>
25
+ <g fill={fill}>
26
+ <path
27
+ d="M11 17h2v-6h-2v6zm1-15C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zM11 9h2V7h-2v2z"
28
+ fill={fill}
29
+ />
30
+ </g>
31
+ </Svg>
32
+ );
33
+ };
34
+
35
+ export default Info;
36
+ Info.displayName = "Info";
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+
3
+ import { IconProps } from "../types";
4
+ import Svg from "./svg";
5
+
6
+ /**
7
+ * Add Icon component
8
+ * @param {string} fill - Icon fill color (default: 'currentColor')
9
+ * @param {string} size - Icon size (default: '24')
10
+ * @param {IconProps} props - Other icon properties
11
+ * @returns {JSX.Element} - Rendered component
12
+ */
13
+ export const QuestionSolid = ({
14
+ fill = "currentColor",
15
+ size = 24,
16
+ role = "img",
17
+ alt = "Add icon",
18
+ ...props
19
+ }: Pick<
20
+ IconProps,
21
+ "strokeColor" | "fill" | "styles" | "size" | "role" | "alt"
22
+ >): JSX.Element => {
23
+ return (
24
+ <Svg size={size} role={role} alt={alt} {...props}>
25
+ <g fill={fill}>
26
+ <path
27
+ d="M12,0C5.383,0,0,5.383,0,12s5.383,12,12,12,12-5.383,12-12S18.617,0,12,0Zm0,19.5c-.69,0-1.25-.56-1.25-1.25s.56-1.25,1.25-1.25,1.25,.56,1.25,1.25-.56,1.25-1.25,1.25Zm2.688-7.198c-1.444,1.224-1.688,1.667-1.688,2.198,0,.553-.447,1-1,1s-1-.447-1-1c0-1.434,.807-2.379,2.395-3.724,.447-.38,1.844-1.72,1.024-3.046-.532-.861-2.517-.984-4.162-.256-.507,.223-1.096-.006-1.319-.511-.223-.505,.006-1.096,.511-1.319,2.33-1.03,5.463-.924,6.672,1.035,1.103,1.784,.554,3.938-1.433,5.622Z"
28
+ fill={fill}
29
+ ></path>
30
+ </g>
31
+ </Svg>
32
+ );
33
+ };
34
+
35
+ export default QuestionSolid;
36
+ QuestionSolid.displayName = "QuestionSolid";
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+
3
+ import { IconProps } from "../types";
4
+ import Svg from "./svg";
5
+
6
+ /**
7
+ * Add Icon component
8
+ * @param {string} fill - Icon fill color (default: 'currentColor')
9
+ * @param {string} size - Icon size (default: '24')
10
+ * @param {IconProps} props - Other icon properties
11
+ * @returns {JSX.Element} - Rendered component
12
+ */
13
+ export const SuccessSolid = ({
14
+ fill = "currentColor",
15
+ size = 24,
16
+ role = "img",
17
+ alt = "Add icon",
18
+ ...props
19
+ }: Pick<
20
+ IconProps,
21
+ "strokeColor" | "fill" | "styles" | "size" | "role" | "alt"
22
+ >): JSX.Element => {
23
+ return (
24
+ <Svg size={size} role={role} alt={alt} {...props}>
25
+ <g fill={fill}>
26
+ <path
27
+ d="M12,0C5.373,0,0,5.373,0,12s5.373,12,12,12,12-5.373,12-12C23.981,5.381,18.619,.019,12,0Zm7.207,7.707l-9,9c-.195,.195-.451,.293-.707,.293s-.512-.098-.707-.293l-4-4c-.391-.391-.391-1.023,0-1.414s1.023-.391,1.414,0l3.293,3.293L17.793,6.293c.391-.391,1.023-.391,1.414,0s.391,1.023,0,1.414Z"
28
+ fill={fill}
29
+ ></path>
30
+ </g>
31
+ </Svg>
32
+ );
33
+ };
34
+
35
+ export default SuccessSolid;
36
+ SuccessSolid.displayName = "SuccessSolid";
@@ -6,7 +6,6 @@ const defaultStyes = {
6
6
  display: 'inline-flex',
7
7
  alignItems: 'center',
8
8
  width: 'auto',
9
- fontSize: 'inherit',
10
9
  }
11
10
 
12
11
  export const Svg = ({
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+
3
+ import { IconProps } from "../types";
4
+ import Svg from "./svg";
5
+
6
+ /**
7
+ * Add Icon component
8
+ * @param {string} fill - Icon fill color (default: 'currentColor')
9
+ * @param {string} size - Icon size (default: '24')
10
+ * @param {IconProps} props - Other icon properties
11
+ * @returns {JSX.Element} - Rendered component
12
+ */
13
+ export const WarnSolid = ({
14
+ fill = "currentColor",
15
+ size = 24,
16
+ role = "img",
17
+ alt = "Add icon",
18
+ ...props
19
+ }: Pick<
20
+ IconProps,
21
+ "strokeColor" | "fill" | "styles" | "size" | "role" | "alt"
22
+ >): JSX.Element => {
23
+ return (
24
+ <Svg size={size} role={role} alt={alt} {...props}>
25
+ <g fill={fill}>
26
+ <path
27
+ d="M23.641,18.485L14.732,1.643C13.931,.134,12.059-.44,10.55,.361c-.546,.29-.992,.736-1.282,1.282L.359,18.485c-.793,1.504-.217,3.367,1.288,4.16,.445,.235,.942,.357,1.445,.355H20.908c1.7,.005,3.083-1.369,3.088-3.07,.002-.504-.12-1-.355-1.445Zm-11.641,1.515c-.828,0-1.5-.672-1.5-1.5s.672-1.5,1.5-1.5,1.5,.672,1.5,1.5-.672,1.5-1.5,1.5Zm.53-5h-1.061c-.264,0-.483-.205-.499-.469l-.438-7c-.018-.288,.211-.531,.499-.531h1.936c.288,0,.517,.243,.499,.531l-.438,7c-.016,.264-.235,.469-.499,.469Z"
28
+ fill={fill}
29
+ />
30
+ </g>
31
+ </Svg>
32
+ );
33
+ };
34
+
35
+ export default WarnSolid;
36
+ WarnSolid.displayName = "WarnSolid";
@@ -5,13 +5,11 @@
5
5
  --icon-width: max-content;
6
6
  --icon-gap: 0.2rem;
7
7
  --icon-height: max-content;
8
- --icon-fs: inherit;
9
8
 
10
9
  display: var(--icon-display);
11
10
  flex-direction: var(--icon-direction);
12
11
  gap: var(--icon-gap);
13
- align-items: var(--icons-placement);
12
+ place-items: var(--icons-placement);
14
13
  width: var(--icon-width);
15
14
  height: var(--icon-height);
16
- font-size: var(--icon-fs);
17
15
  }
@@ -1,96 +1,63 @@
1
- import * as React from 'react'
1
+ import * as React from "react";
2
2
 
3
- import type { Meta, StoryObj } from '@storybook/react'
3
+ import { Meta, StoryObj } from "@storybook/react";
4
4
 
5
- import { Button } from '#components/buttons/button'
6
- import { Icon } from './icon'
7
- import Heading from '#components/heading/heading'
8
- // import './icon.scss'
9
-
5
+ import { Button } from "#components/buttons/button";
6
+ import { Icon } from "./icon";
7
+ import "./icon.scss";
10
8
 
11
9
  const meta: Meta<typeof Icon> = {
12
10
  component: Icon,
13
- title: 'FP.React Components/Icons',
11
+ title: "FP.React Components/Icons",
12
+ tags: ["rc"],
14
13
  args: {
15
14
  // styles: Icon.styles,
16
15
  },
17
16
  decorators: [
18
17
  (Story) => (
19
- <section style={{ minWidth: '60vw', textAlign: 'center' }}>
18
+ <section style={{ minWidth: "60vw", textAlign: "center" }}>
20
19
  <Story />
21
20
  </section>
22
21
  ),
23
22
  ],
24
- } as Meta
23
+ } as Meta;
25
24
 
26
- export default meta
27
- type Story = StoryObj<typeof Icon>
25
+ export default meta;
26
+ type Story = StoryObj<typeof Icon>;
28
27
 
29
28
  export const IconSet = {
30
29
  args: {},
31
- render: (...args: any) => {
30
+ render: () => {
32
31
  return (
33
32
  <Icon>
34
33
  <Icon.Code styles={Icon.Code.styles} />
35
- Code Icon{' '}
34
+ Code Icon{" "}
36
35
  </Icon>
37
- )
36
+ );
38
37
  },
39
- }
40
-
41
-
42
- export const IconSizes = {
43
- args: {},
44
- render: (...args: any) => {
45
- return (
46
- <Icon>
47
- <Icon.ArrowUp size={16} />
48
- <Icon.ArrowUp size={24} />
49
- <Icon.ArrowUp size={32} />
50
- <Icon.ArrowUp size={48} />
51
- <Icon.ArrowUp size={64} />
52
- <Icon.ArrowUp size={96} />
53
- <Icon.ArrowUp size={128} />
54
- </Icon>
55
- )
56
- },
57
- }
58
-
59
- export const HeadingIcon = {
60
- args: {},
61
- render: (...args: any) => {
62
- return (
63
- <Heading type="h1">
64
- <Icon>
65
- <Icon.Code size={32} /> Code Icon
66
- </Icon>
67
- </Heading>
68
- )
69
- },
70
- }
38
+ };
71
39
 
72
40
  export const IconButton = {
73
41
  args: {},
74
- render: (...args: any) => {
42
+ render: () => {
75
43
  return (
76
-
44
+ <>
77
45
  <Button type="button">
78
46
  <Icon>
79
47
  <Icon.Code />
80
48
  </Icon>
81
49
  Click Me
82
50
  </Button>
83
-
84
- )
51
+ </>
52
+ );
85
53
  },
86
- }
87
-
54
+ };
88
55
 
89
56
  export const Code: Story = {
90
57
  args: {
91
58
  children: <Icon.Code role="img" aria-label="code icon" />,
92
59
  },
93
- } as Story
60
+ } as Story;
94
61
 
95
62
  export const Home: Story = {
96
63
  args: {
@@ -101,142 +68,184 @@ export const Home: Story = {
101
68
  </>
102
69
  ),
103
70
  },
104
- } as Story
71
+ } as Story;
105
72
 
106
73
  export const Add: Story = {
107
74
  args: {
108
75
  children: <Icon.Add />,
109
76
  },
110
- } as Story
77
+ } as Story;
111
78
 
112
79
  export const ArrowDown: Story = {
113
80
  args: {
114
81
  children: <Icon.ArrowDown />,
115
82
  },
116
- } as Story
83
+ } as Story;
117
84
 
118
85
  export const ArrowLeft: Story = {
119
86
  args: {
120
87
  children: <Icon.ArrowLeft />,
121
88
  },
122
- } as Story
89
+ } as Story;
123
90
 
124
91
  export const ArrowRight: Story = {
125
92
  args: {
126
93
  children: <Icon.ArrowRight />,
127
94
  },
128
- } as Story
95
+ } as Story;
129
96
 
130
97
  export const ArrowUp: Story = {
131
98
  args: {
132
99
  children: <Icon.ArrowUp />,
133
100
  },
134
- } as Story
101
+ } as Story;
135
102
 
136
103
  export const Chat: Story = {
137
104
  args: {
138
105
  children: <Icon.Chat />,
139
106
  },
140
- } as Story
107
+ } as Story;
141
108
 
142
109
  export const User: Story = {
143
110
  args: {
144
111
  children: <Icon.User />,
145
112
  },
146
- } as Story
113
+ } as Story;
147
114
 
148
115
  export const Left: Story = {
149
116
  args: {
150
117
  children: <Icon.Left />,
151
118
  },
152
- } as Story
119
+ } as Story;
153
120
 
154
121
  export const Right: Story = {
155
122
  args: {
156
123
  children: <Icon.Right />,
157
124
  },
158
- } as Story
125
+ } as Story;
159
126
 
160
127
  export const Up: Story = {
161
128
  args: {
162
129
  children: <Icon.Up />,
163
130
  },
164
- } as Story
131
+ } as Story;
165
132
 
166
133
  export const Down: Story = {
167
134
  args: {
168
135
  children: <Icon.Down />,
169
136
  },
170
- } as Story
137
+ } as Story;
171
138
 
172
139
  export const Minus: Story = {
173
140
  args: {
174
141
  children: <Icon.Minus />,
175
142
  },
176
- } as Story
143
+ } as Story;
177
144
 
178
145
  export const Remove: Story = {
179
146
  args: {
180
147
  children: <Icon.Remove />,
181
148
  },
182
- } as Story
149
+ } as Story;
183
150
 
184
151
  export const Star: Story = {
185
152
  args: {
186
153
  children: <Icon.Star />,
187
154
  },
188
- } as Story
155
+ } as Story;
189
156
 
190
157
  export const Copy: Story = {
191
158
  args: {
192
159
  children: <Icon.Copy />,
193
160
  },
194
- } as Story
161
+ } as Story;
195
162
 
196
163
  export const Play: Story = {
197
164
  args: {
198
165
  children: <Icon.Play />,
199
166
  },
200
- } as Story
167
+ } as Story;
201
168
 
202
169
  export const Pause: Story = {
203
170
  args: {
204
171
  children: <Icon.Pause />,
205
172
  },
206
- } as Story
173
+ } as Story;
207
174
 
208
175
  export const Resume: Story = {
209
176
  args: {
210
177
  children: <Icon.Resume />,
211
178
  },
212
- } as Story
179
+ } as Story;
213
180
 
214
181
  export const Stop: Story = {
215
182
  args: {
216
183
  children: <Icon.Stop />,
217
184
  },
218
- } as Story
185
+ } as Story;
219
186
 
220
187
  export const PlaySolid: Story = {
221
188
  args: {
222
189
  children: <Icon.PlaySolid />,
223
190
  },
224
- } as Story
191
+ } as Story;
225
192
 
226
193
  export const PauseSolid: Story = {
227
194
  args: {
228
195
  children: <Icon.PauseSolid />,
229
196
  },
230
- } as Story
197
+ } as Story;
231
198
 
232
199
  export const ResumeSolid: Story = {
233
200
  args: {
234
201
  children: <Icon.ResumeSolid />,
235
202
  },
236
- } as Story
203
+ } as Story;
237
204
 
238
205
  export const StopSolid: Story = {
239
206
  args: {
240
207
  children: <Icon.StopSolid />,
241
208
  },
242
- } as Story
209
+ } as Story;
210
+
211
+ export const Info: Story = {
212
+ args: {
213
+ children: <Icon.Info />,
214
+ },
215
+ } as Story;
216
+
217
+ export const Alert: Story = {
218
+ args: {
219
+ children: <Icon.AlertSolid />,
220
+ },
221
+ } as Story;
222
+
223
+ export const InfoSolid: Story = {
224
+ args: {
225
+ children: <Icon.InfoSolid />,
226
+ },
227
+ } as Story;
228
+
229
+ export const QuestionSolid: Story = {
230
+ args: {
231
+ children: <Icon.QuestionSolid />,
232
+ },
233
+ } as Story;
234
+
235
+ export const WarnSolid: Story = {
236
+ args: {
237
+ children: <Icon.WarnSolid />,
238
+ },
239
+ } as Story;
240
+
241
+ export const SuccessSolid: Story = {
242
+ args: {
243
+ children: <Icon.SuccessSolid />,
244
+ },
245
+ } as Story;
246
+
247
+ export const AlertSquareSolid: Story = {
248
+ args: {
249
+ children: <Icon.AlertSquareSolid />,
250
+ },
251
+ } as Story;
@@ -9,6 +9,7 @@ import {
9
9
  Copy,
10
10
  Down,
11
11
  Home,
12
+ Info,
12
13
  Left,
13
14
  Minus,
14
15
  Remove,
@@ -23,11 +24,17 @@ import {
23
24
  PlaySolid,
24
25
  PauseSolid,
25
26
  ResumeSolid,
26
- StopSolid
27
- } from './index'
27
+ StopSolid,
28
+ AlertSolid,
29
+ InfoSolid,
30
+ QuestionSolid,
31
+ WarnSolid,
32
+ SuccessSolid,
33
+ AlertSquareSolid,
34
+ } from "./index";
28
35
 
29
- import UI from '#components/ui'
30
- import React from 'react'
36
+ import UI from "#components/ui";
37
+ import React from "react";
31
38
 
32
39
  /**
33
40
  * The default styles object for the Icon component.
@@ -39,26 +46,15 @@ import React from 'react'
39
46
  * @property {string} width - Sets width to 'auto' for automatic sizing.
40
47
  */
41
48
  const defaultStyles = {
42
- display: 'inline-flex',
43
- direction: 'row',
44
- gap: '.2rem',
45
- placeItems: 'center',
46
- width: 'auto',
47
- }
49
+ display: "inline-flex",
50
+ direction: "row",
51
+ gap: ".2rem",
52
+ placeItems: "center",
53
+ width: "auto",
54
+ };
48
55
 
49
- export type IconProps = React.ComponentProps<typeof UI>
56
+ export type IconProps = React.ComponentProps<typeof UI>;
50
57
 
51
- /**
52
- * A component for rendering icons with consistent styling and behavior.
53
- *
54
- * @param {object} props - The component props
55
- * @param {string} [props.id] - Optional unique identifier for the icon
56
- * @param {string} [props.classes] - CSS classes to apply to the icon
57
- * @param {React.ReactNode} [props.children] - Child elements to render inside the icon
58
- * @param {object} [props.styles] - Custom styles to apply to the icon
59
- * @param {...any} [props.props] - Additional props to spread to the underlying UI component
60
- * @returns {JSX.Element} The rendered icon component
61
- */
62
58
  export const Icon = ({
63
59
  id,
64
60
  classes,
@@ -78,34 +74,43 @@ export const Icon = ({
78
74
  >
79
75
  {children}
80
76
  </UI>
81
- )
82
- }
77
+ );
78
+ };
83
79
 
84
- export default Icon
85
- Icon.displayName = 'Icon'
86
- Icon.styles = defaultStyles
87
- Icon.Add = Add
88
- Icon.ArrowDown = ArrowDown
89
- Icon.ArrowLeft = ArrowLeft
90
- Icon.ArrowRight = ArrowRight
91
- Icon.ArrowUp = ArrowUp
92
- Icon.Chat = Chat
93
- Icon.Code = Code
94
- Icon.Copy = Copy
95
- Icon.Home = Home
96
- Icon.Left = Left
97
- Icon.Minus = Minus
98
- Icon.Remove = Remove
99
- Icon.Right = Right
100
- Icon.Star = Star
101
- Icon.Up = Up
102
- Icon.Down = Down
103
- Icon.User = User
104
- Icon.Play = Play
105
- Icon.Pause = Pause
106
- Icon.Stop = Stop
107
- Icon.Resume = Resume
108
- Icon.ResumeSolid = ResumeSolid
109
- Icon.PlaySolid = PlaySolid
110
- Icon.PauseSolid = PauseSolid
111
- Icon.StopSolid = StopSolid
80
+ export default Icon;
81
+ Icon.displayName = "Icon";
82
+ Icon.Add = Add;
83
+ Icon.ArrowDown = ArrowDown;
84
+ Icon.ArrowLeft = ArrowLeft;
85
+ Icon.ArrowRight = ArrowRight;
86
+ Icon.ArrowUp = ArrowUp;
87
+ Icon.Chat = Chat;
88
+ Icon.Code = Code;
89
+ Icon.Copy = Copy;
90
+ Icon.Down = Down;
91
+ Icon.Home = Home;
92
+ Icon.Info = Info;
93
+ Icon.InfoSolid = InfoSolid;
94
+ Icon.AlertSolid = AlertSolid;
95
+ Icon.Left = Left;
96
+ Icon.Minus = Minus;
97
+ Icon.Pause = Pause;
98
+ Icon.PauseSolid = PauseSolid;
99
+ Icon.Play = Play;
100
+ Icon.PlaySolid = PlaySolid;
101
+ Icon.Remove = Remove;
102
+ Icon.Resume = Resume;
103
+ Icon.ResumeSolid = ResumeSolid;
104
+ Icon.Right = Right;
105
+ Icon.Star = Star;
106
+ Icon.Stop = Stop;
107
+ Icon.StopSolid = StopSolid;
108
+ Icon.Up = Up;
109
+ Icon.User = User;
110
+ Icon.styles = defaultStyles;
111
+ Icon.QuestionSolid = QuestionSolid;
112
+ Icon.WarnSolid = WarnSolid;
113
+ Icon.SuccessSolid = SuccessSolid;
114
+ Icon.AlertSquareSolid = AlertSquareSolid;
115
+ // aliases
116
+ Icon.Close = Icon.Remove;