@fpkit/acss 0.5.5 → 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 (126) 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-1f5afc0c.d.ts → icons-31ace3de.d.ts} +86 -49
  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 +34 -34
  11. package/libs/index.cjs.map +1 -1
  12. package/libs/index.d.cts +46 -15
  13. package/libs/index.d.ts +46 -15
  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/buttons/button.scss +1 -0
  29. package/src/components/buttons/button.test.tsx +72 -72
  30. package/src/components/details/details.scss +20 -1
  31. package/src/components/dialog/README.mdx +187 -0
  32. package/src/components/dialog/dialog-modal.stories.tsx +113 -0
  33. package/src/components/dialog/dialog-modal.tsx +111 -0
  34. package/src/components/dialog/dialog.scss +28 -13
  35. package/src/components/dialog/dialog.stories.tsx +85 -30
  36. package/src/components/dialog/dialog.tsx +106 -61
  37. package/src/components/dialog/hooks/useClickOutside.ts +33 -0
  38. package/src/components/dialog/views/README.mdx +182 -0
  39. package/src/components/dialog/views/dialog-footer.tsx +45 -0
  40. package/src/components/dialog/{view → views}/dialog-header.stories.tsx +3 -4
  41. package/src/components/dialog/views/dialog-header.tsx +61 -0
  42. package/src/components/icons/components/add.tsx +14 -14
  43. package/src/components/icons/components/alert-solid.tsx +36 -0
  44. package/src/components/icons/components/alert-square-solid.tsx +36 -0
  45. package/src/components/icons/components/info-solid.tsx +40 -0
  46. package/src/components/icons/components/info.tsx +36 -0
  47. package/src/components/icons/components/question-solid.tsx +36 -0
  48. package/src/components/icons/components/success-solid.tsx +36 -0
  49. package/src/components/icons/components/warn-solid.tsx +36 -0
  50. package/src/components/icons/icon.stories.tsx +42 -0
  51. package/src/components/icons/icon.tsx +57 -41
  52. package/src/components/icons/index.ts +36 -29
  53. package/src/components/ui.tsx +28 -25
  54. package/src/decorators/instructions.tsx +44 -0
  55. package/src/hooks/useDialogClickHandler.ts +26 -0
  56. package/src/index.scss +23 -22
  57. package/src/sass/_globals.scss +7 -1
  58. package/src/styles/alert/alert.css +68 -0
  59. package/src/styles/alert/alert.css.map +1 -0
  60. package/src/styles/badge/badge.css +3 -3
  61. package/src/styles/details/details.css +14 -1
  62. package/src/styles/details/details.css.map +1 -1
  63. package/src/styles/dialog/dialog.css +28 -13
  64. package/src/styles/dialog/dialog.css.map +1 -1
  65. package/src/styles/index.css +121 -28
  66. package/src/styles/index.css.map +1 -1
  67. package/libs/chunk-QHIABQNQ.js +0 -8
  68. package/libs/chunk-QHIABQNQ.js.map +0 -1
  69. package/libs/chunk-ZOHIKF6I.cjs +0 -31
  70. package/libs/chunk-ZOHIKF6I.cjs.map +0 -1
  71. package/libs/components/badge/badge.css +0 -1
  72. package/libs/components/badge/badge.css.map +0 -1
  73. package/libs/components/badge/badge.min.css +0 -3
  74. package/libs/components/breadcrumbs/breadcrumb.css +0 -1
  75. package/libs/components/breadcrumbs/breadcrumb.css.map +0 -1
  76. package/libs/components/breadcrumbs/breadcrumb.min.css +0 -3
  77. package/libs/components/buttons/button.css +0 -1
  78. package/libs/components/buttons/button.css.map +0 -1
  79. package/libs/components/buttons/button.min.css +0 -3
  80. package/libs/components/cards/card-style.css +0 -1
  81. package/libs/components/cards/card-style.css.map +0 -1
  82. package/libs/components/cards/card-style.min.css +0 -3
  83. package/libs/components/cards/card.css +0 -1
  84. package/libs/components/cards/card.css.map +0 -1
  85. package/libs/components/cards/card.min.css +0 -3
  86. package/libs/components/details/details.css +0 -1
  87. package/libs/components/details/details.css.map +0 -1
  88. package/libs/components/details/details.min.css +0 -3
  89. package/libs/components/dialog/dialog.css +0 -1
  90. package/libs/components/dialog/dialog.css.map +0 -1
  91. package/libs/components/dialog/dialog.min.css +0 -3
  92. package/libs/components/form/form.css +0 -1
  93. package/libs/components/form/form.css.map +0 -1
  94. package/libs/components/form/form.min.css +0 -3
  95. package/libs/components/icons/icon.css +0 -1
  96. package/libs/components/icons/icon.css.map +0 -1
  97. package/libs/components/icons/icon.min.css +0 -3
  98. package/libs/components/images/img.css +0 -1
  99. package/libs/components/images/img.css.map +0 -1
  100. package/libs/components/images/img.min.css +0 -3
  101. package/libs/components/layout/landmarks.css +0 -1
  102. package/libs/components/layout/landmarks.css.map +0 -1
  103. package/libs/components/layout/landmarks.min.css +0 -3
  104. package/libs/components/link/link.css +0 -1
  105. package/libs/components/link/link.css.map +0 -1
  106. package/libs/components/link/link.min.css +0 -3
  107. package/libs/components/nav/nav.css +0 -1
  108. package/libs/components/nav/nav.css.map +0 -1
  109. package/libs/components/nav/nav.min.css +0 -3
  110. package/libs/components/progress/progress.css +0 -1
  111. package/libs/components/progress/progress.css.map +0 -1
  112. package/libs/components/progress/progress.min.css +0 -3
  113. package/libs/components/styles/index.css +0 -1
  114. package/libs/components/styles/index.css.map +0 -1
  115. package/libs/components/styles/index.min.css +0 -3
  116. package/libs/components/tag/tag.css +0 -1
  117. package/libs/components/tag/tag.css.map +0 -1
  118. package/libs/components/tag/tag.min.css +0 -3
  119. package/libs/components/text-to-speech/text-to-speech.css +0 -1
  120. package/libs/components/text-to-speech/text-to-speech.css.map +0 -1
  121. package/libs/components/text-to-speech/text-to-speech.min.css +0 -3
  122. package/libs/index.css +0 -1
  123. package/libs/index.css.map +0 -1
  124. package/src/components/alert-dialog/alert-dialog.stories.tsx +0 -35
  125. package/src/components/alert-dialog/alert-dialog.tsx +0 -76
  126. package/src/components/dialog/view/dialog-header.tsx +0 -32
@@ -0,0 +1,182 @@
1
+ import { Meta } from "@storybook/blocks";
2
+
3
+ <Meta title="FP.REACT Views/DialogHeader/Readme" />
4
+
5
+ # Dialog
6
+
7
+ ## Summary
8
+
9
+ A reusable dialog/modal component that includes a header, content area, and
10
+ footer. The component provides customizable title, confirm, and cancel
11
+ functionality.
12
+
13
+ ## Features
14
+
15
+ - Customizable title, confirm, and cancel functionality
16
+ - Built-in close button with icon
17
+ - Fully accessible
18
+ - Memoized for performance optimization
19
+
20
+ ## Props
21
+
22
+ The `Dialog` component accepts the following props:
23
+
24
+ - `isOpen: boolean`: Controls the visibility of the dialog
25
+ - `onClose: () => void`: Callback function triggered when the dialog is closed
26
+ - `title: string`: The title text to display in the header
27
+ - `children: React.ReactNode`: The content to display inside the dialog
28
+ - `onConfirm?: () => void | Promise<void>`: Optional callback function triggered
29
+ when the confirm button is clicked
30
+ - `confirmLabel?: string`: Optional label text for the confirm button
31
+ - `cancelLabel?: string`: Optional label text for the cancel button
32
+ - `className?: string`: Optional className for the dialog content wrapper
33
+
34
+ ## Technical Details
35
+
36
+ - Uses React.memo for performance optimization
37
+ - Integrates with the UI component system
38
+ - Implements accessible heading structure using the Heading component
39
+ - Uses Icon.Remove for the close button visual
40
+ - Includes data attributes for styling customization
41
+
42
+ ## Usage Example
43
+
44
+ ### Basic Usage
45
+
46
+ ```tsx
47
+ import { Dialog } from "./dialog";
48
+
49
+ function BasicDialog() {
50
+ const [isOpen, setIsOpen] = useState(false);
51
+
52
+ return (
53
+ <>
54
+ <button onClick={() => setIsOpen(true)}>Open Dialog</button>
55
+ <Dialog
56
+ isOpen={isOpen}
57
+ onClose={() => setIsOpen(false)}
58
+ title="Dialog Title"
59
+ confirmLabel="Confirm"
60
+ cancelLabel="Cancel"
61
+ >
62
+ <div>Dialog content here...</div>
63
+ </Dialog>
64
+ </>
65
+ );
66
+ }
67
+ ```
68
+
69
+ # DialogHeader
70
+
71
+ ## Summary
72
+
73
+ A reusable header component specifically designed for dialog/modal interfaces.
74
+ The component provides a clean, accessible header with a title and close button
75
+ functionality.
76
+
77
+ ## Features
78
+
79
+ - Clean, minimal header design
80
+ - Built-in close button with icon
81
+ - Customizable title using the Heading component
82
+ - Memoized for performance optimization
83
+ - Fully accessible
84
+
85
+ ## Props
86
+
87
+ The `DialogHeader` component accepts the following props:
88
+
89
+ - `dialogTitle: string`: The title text to display in the header
90
+ - `onClick: () => void`: Callback function triggered when the close button is
91
+ clicked
92
+
93
+ ## Technical Details
94
+
95
+ - Uses React.memo for performance optimization
96
+ - Integrates with the UI component system
97
+ - Implements accessible heading structure using the Heading component
98
+ - Uses Icon.Remove for the close button visual
99
+ - Includes data attributes for styling customization
100
+
101
+ ## Usage Example
102
+
103
+ ### Basic Usage
104
+
105
+ ```tsx
106
+ import { DialogHeader } from "./dialog-header";
107
+
108
+ function BasicDialog() {
109
+ return (
110
+ <DialogHeader
111
+ dialogTitle="Settings"
112
+ onClose={() => console.log("Dialog closed")}
113
+ />
114
+ );
115
+ }
116
+
117
+ // Example within a Dialog component
118
+ import { Dialog } from "./dialog";
119
+ import { DialogHeader } from "./dialog-header";
120
+
121
+ function SettingsDialog() {
122
+ const [isOpen, setIsOpen] = useState(false);
123
+
124
+ return (
125
+ <Dialog isOpen={isOpen}>
126
+ <DialogHeader
127
+ dialogTitle="Application Settings"
128
+ onClose={() => setIsOpen(false)}
129
+ />
130
+ <div>Dialog content here...</div>
131
+ </Dialog>
132
+ );
133
+ }
134
+ ```
135
+
136
+ # DialogFooter
137
+
138
+ ## Summary
139
+
140
+ A reusable footer component specifically designed for dialog/modal interfaces.
141
+ The component provides customizable confirm and cancel buttons.
142
+
143
+ ## Features
144
+
145
+ - Customizable confirm and cancel buttons
146
+ - Optional confirm button handler
147
+ - Fully accessible
148
+
149
+ ## Props
150
+
151
+ The `DialogFooter` component accepts the following props:
152
+
153
+ - `onClose: () => void`: Callback function triggered when the cancel button is
154
+ clicked
155
+ - `onConfirm?: () => void | Promise<void>`: Optional callback function triggered
156
+ when the confirm button is clicked
157
+ - `confirmLabel: string`: Label text for the confirm button
158
+ - `cancelLabel: string`: Label text for the cancel button
159
+
160
+ ## Technical Details
161
+
162
+ - Integrates with the UI component system
163
+ - Includes data attributes for styling customization
164
+
165
+ ## Usage Example
166
+
167
+ ### Basic Usage
168
+
169
+ ```tsx
170
+ import { DialogFooter } from "./dialog-footer";
171
+
172
+ function BasicDialogFooter() {
173
+ return (
174
+ <DialogFooter
175
+ onClose={() => console.log("Dialog closed")}
176
+ onConfirm={() => console.log("Dialog confirmed")}
177
+ confirmLabel="Confirm"
178
+ cancelLabel="Cancel"
179
+ />
180
+ );
181
+ }
182
+ ```
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ import UI from "#components/ui";
3
+ import Button from "#components/buttons/button";
4
+
5
+ type DialogFooterProps = {
6
+ onClose: () => void;
7
+ onConfirm?: () => void | Promise<void>;
8
+ confirmLabel: string;
9
+ cancelLabel: string;
10
+ };
11
+
12
+ const DialogFooter: React.FC<DialogFooterProps> = ({
13
+ onClose,
14
+ onConfirm,
15
+ confirmLabel,
16
+ cancelLabel,
17
+ }) => {
18
+ return (
19
+ <UI as="section" className="dialog-footer">
20
+ {cancelLabel && (
21
+ <Button
22
+ type="button"
23
+ onClick={onClose}
24
+ className="dialog-button button-secondary"
25
+ data-btn="sm"
26
+ >
27
+ {cancelLabel}
28
+ </Button>
29
+ )}
30
+
31
+ {onConfirm && (
32
+ <Button
33
+ type="button"
34
+ onClick={onConfirm}
35
+ className="dialog-button button-primary"
36
+ data-btn="sm"
37
+ >
38
+ {confirmLabel}
39
+ </Button>
40
+ )}
41
+ </UI>
42
+ );
43
+ };
44
+
45
+ export default DialogFooter;
@@ -1,10 +1,10 @@
1
1
  import { StoryObj, Meta } from "@storybook/react";
2
- import { within, expect } from "@storybook/test";
2
+ import { within, expect } from "@storybook/test";
3
3
 
4
4
  import DialogHeader from "./dialog-header";
5
5
 
6
6
  const meta: Meta<typeof DialogHeader> = {
7
- title: "FP.REACT Views/Dialog ",
7
+ title: "FP.REACT Components/Dialog/Views/DialogHeader",
8
8
  component: DialogHeader,
9
9
  parameters: {
10
10
  layout: "centered",
@@ -37,7 +37,6 @@ export const Default: Story = {
37
37
  export const WithCloseButton: Story = {
38
38
  args: {
39
39
  dialogTitle: "Dialog Header with Close",
40
- onClose: () => console.log("Close clicked"),
40
+ onClose: () => {},
41
41
  },
42
42
  } as Story;
43
-
@@ -0,0 +1,61 @@
1
+ import React from "react";
2
+ import UI from "#components/ui";
3
+ import Heading from "#components/heading/heading";
4
+ import Button from "#components/buttons/button";
5
+ import Icon from "#components/icons/icon";
6
+
7
+ export type DialogHeaderProps = {
8
+ dialogTitle: string;
9
+ onClick: () => void;
10
+ } & React.ComponentProps<typeof Heading>;
11
+
12
+ /**
13
+ * DialogHeader component displays the header section of a dialog with a title and close button.
14
+ *
15
+ * @component
16
+ * @param {Object} props - Component props
17
+ * @param {string} props.dialogTitle - The title text to display in the dialog header
18
+ * @param {() => void} props.onClick - Callback function triggered when close button is clicked
19
+ * @param {string} [props.type='h3'] - Heading type/level to use for the title
20
+ * @returns {JSX.Element} A dialog header with title and close button
21
+ *
22
+ * @example
23
+ * ```jsx
24
+ * <DialogHeader
25
+ * dialogTitle="Confirm Action"
26
+ * onClick={() => setIsOpen(false)}
27
+ * type="h2"
28
+ * />
29
+ * ```
30
+ */
31
+
32
+ const DialogHeader = ({
33
+ dialogTitle,
34
+ onClick,
35
+ type = "h3",
36
+ }: DialogHeaderProps): JSX.Element => {
37
+ const handleClose = () => {
38
+ onClick();
39
+ };
40
+ return (
41
+ <UI as="div" classes="dialog-header">
42
+ <Heading type={type} className="dialog-title">
43
+ {dialogTitle || "Dialog"}
44
+ </Heading>
45
+ <Button
46
+ type="button"
47
+ onClick={handleClose}
48
+ className="dialog-close"
49
+ aria-label="Close dialog"
50
+ data-btn="icon"
51
+ >
52
+ <Icon>
53
+ <Icon.Remove size={16} />
54
+ </Icon>
55
+ </Button>
56
+ </UI>
57
+ );
58
+ };
59
+
60
+ export default React.memo(DialogHeader);
61
+ DialogHeader.displayName = "DialogHeader";
@@ -1,12 +1,12 @@
1
- import * as React from 'react'
1
+ import * as React from "react";
2
2
 
3
- import { IconProps } from '../types'
4
- import Svg from './svg'
3
+ import { IconProps } from "../types";
4
+ import Svg from "./svg";
5
5
 
6
6
  const defaultStyles = {
7
7
  ...Svg.styles,
8
- fill: 'currentColor',
9
- }
8
+ fill: "currentColor",
9
+ };
10
10
 
11
11
  /**
12
12
  * Add Icon component
@@ -16,14 +16,14 @@ const defaultStyles = {
16
16
  * @returns {JSX.Element} - Rendered component
17
17
  */
18
18
  export const Add = ({
19
- fill = 'currentColor',
19
+ fill = "gray",
20
20
  size = 24,
21
- role = 'img',
22
- alt = 'Add icon',
21
+ role = "img",
22
+ alt = "Add icon",
23
23
  ...props
24
24
  }: Pick<
25
25
  IconProps,
26
- 'strokeColor' | 'fill' | 'styles' | 'size' | 'role' | 'alt'
26
+ "strokeColor" | "fill" | "styles" | "size" | "role" | "alt"
27
27
  >): JSX.Element => {
28
28
  return (
29
29
  <Svg size={size} role={role} alt={alt} {...props}>
@@ -34,9 +34,9 @@ export const Add = ({
34
34
  />
35
35
  </g>
36
36
  </Svg>
37
- )
38
- }
37
+ );
38
+ };
39
39
 
40
- export default Add
41
- Add.styles = defaultStyles
42
- Add.displayName = 'Add'
40
+ export default Add;
41
+ Add.styles = defaultStyles;
42
+ Add.displayName = "Add";
@@ -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 AlertSolid = ({
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.707,6.736,17.263.293A1,1,0,0,0,16.556,0H7.444a1,1,0,0,0-.707.293L.293,6.736A1,1,0,0,0,0,7.443v9.114a1,1,0,0,0,.293.707l6.444,6.443A1,1,0,0,0,7.444,24h9.112a1,1,0,0,0,.707-.293l6.444-6.443A1,1,0,0,0,24,16.557V7.443A1,1,0,0,0,23.707,6.736ZM13.645,5,13,14H11l-.608-9ZM12,20a2,2,0,1,1,2-2A2,2,0,0,1,12,20Z"
28
+ fill={fill}
29
+ />
30
+ </g>
31
+ </Svg>
32
+ );
33
+ };
34
+
35
+ export default AlertSolid;
36
+ AlertSolid.displayName = "AlertSolid";
@@ -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 AlertSquareSolid = ({
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="M20,1H4c-1.654,0-3,1.346-3,3V20c0,1.654,1.346,3,3,3H20c1.654,0,3-1.346,3-3V4c0-1.654-1.346-3-3-3ZM11,7c0-.553,.448-1,1-1s1,.447,1,1v6c0,.553-.448,1-1,1s-1-.447-1-1V7Zm1,11.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.25Z"
28
+ fill={fill}
29
+ ></path>
30
+ </g>
31
+ </Svg>
32
+ );
33
+ };
34
+
35
+ export default AlertSquareSolid;
36
+ AlertSquareSolid.displayName = "AlertSquareSolid";
@@ -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";
@@ -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";
@@ -207,3 +207,45 @@ export const StopSolid: Story = {
207
207
  children: <Icon.StopSolid />,
208
208
  },
209
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;