diff --git a/src/components/Tag/Tag.mdx b/src/components/Tag/Tag.mdx
new file mode 100644
index 000000000..b2d820f7d
--- /dev/null
+++ b/src/components/Tag/Tag.mdx
@@ -0,0 +1,78 @@
+import { Meta, Canvas, ArgTypes } from '@storybook/blocks';
+import Tag from './Tag';
+import SectionHeader from '../../storybook/SectionHeader';
+import * as TagStories from './Tag.stories';
+
+
+
+
+
+- [Overview](#overview)
+- [Props](#props)
+- [Usage](#usage)
+- [Variants](#variants)
+
+## Overview
+
+A universal Tag that is used to highlight system-generated metadata.
+
+## Props
+
+
+
+## Usage
+
+
+
+
+
+### Read-only Tag
+
+Read-only Tag comes in 5 colors: `neutral`, `blue`, `red`, `purple` and `teal`.
+
+
+
+### Read-only Tag with icon
+
+An leading icon can be added to the read-only Tag.
+
+
+
+### Selectable Tag
+
+Tag can also be selectable. To enable this functionality, provide the `onSelect` prop to the component.
+The `isSelected` prop indicates whether the Tag is selected or not.
+
+
+
+### Clearable Tag
+
+Tag can also be clearable. To enable this functionality, provide the `onClear` prop to the component
+
+
+ Tags cannot be selectable and clearable at the same time. If the onClear prop is provided, it
+ overrides the selectable functionality
+
+
+
+
+### Tag sizes
+
+There are two Tag sizes: `normal` and `small`.
+
+
+
+### Playground
+
+
diff --git a/src/components/Tag/Tag.stories.mdx b/src/components/Tag/Tag.stories.mdx
deleted file mode 100644
index 82ced33a1..000000000
--- a/src/components/Tag/Tag.stories.mdx
+++ /dev/null
@@ -1,285 +0,0 @@
-import { Meta, Preview, Props, Story } from '@storybook/addon-docs';
-import { boolean, select, text, withKnobs } from '@storybook/addon-knobs';
-import Tag from './Tag';
-import Typography from '../Typography';
-import Stack from '../storyUtils/Stack';
-import { FIGMA_URL, Function } from '../../utils/common';
-import SectionHeader from '../../storybook/SectionHeader';
-import TagShowcase from '../../storybook/Showcases/TagShowcase';
-import { getIconSelectorKnob } from '../../utils/stories';
-import Overview from '../../storybook/Overview';
-import { useState } from 'react';
-
-
-
-
-
-- [Overview](#overview)
-- [Props](#props)
-- [Usage](#usage)
-- [Variants](#variants)
-
-## Overview
-
-
- A universal Tag that is used to highlight system-generated metadata.
-
-
-## Props
-
-
-
-## Usage
-
-
-
-
-
-### Read-only Tag
-
-Read-only Tag comes in 5 colors: `neutral`, `blue`, `red`, `purple` and `teal`.
-
-
-
-
- Label
- Label
- Label
- Label
- Label
-
-
-
-
-### Read-only Tag with icon
-
-An leading icon can be added to the read-only Tag.
-
-
-
-
- Label
-
- Label
-
-
- Label
-
-
- Label
-
-
- Label
-
-
-
-
-
-### Selectable Tag
-
-Tag can also be selectable. To enable this functionality, provide the `onSelect` prop to the component.
-The `isSelected` prop indicates whether the Tag is selected or not.
-
-
-
-
-
- {() => {
- const [isSelected, setIsSelected] = useState(false);
- return (
- setIsSelected((isSelected) => !isSelected)}
- >
- Label
-
- );
- }}
-
-
- {() => {
- const [isSelected, setIsSelected] = useState(true);
- return (
- setIsSelected((isSelected) => !isSelected)}
- >
- Label
-
- );
- }}
-
-
-
-
-
-### Clearable Tag
-
-Tag can also be clearable. To enable this functionality, provide the `onClear` prop to the component
-
-
- Tags cannot be selectable and clearable at the same time. If the onClear prop is provided, it
- overrides the selectable functionality
-
-
-
-
-
- console.log('clear')}>Label
-
-
-
-
-### Tag sizes
-
-There are two Tag sizes: `normal` and `small`.
-
-
-
-
- Read-only Tag
-
-
- Normal
- Normal
- Normal
- Normal
- Normal
-
-
- Small
-
- Small
-
-
- Small
-
-
- Small
-
-
- Small
-
-
-
- Selectable Tag
-
-
-
- {() => {
- const [isSelected, setIsSelected] = useState(false);
- return (
- setIsSelected((isSelected) => !isSelected)}
- >
- Normal
-
- );
- }}
-
-
- {() => {
- const [isSelected, setIsSelected] = useState(true);
- return (
- setIsSelected((isSelected) => !isSelected)}
- >
- Normal
-
- );
- }}
-
-
-
-
- {() => {
- const [isSelected, setIsSelected] = useState(false);
- return (
- setIsSelected((isSelected) => !isSelected)}
- >
- Small
-
- );
- }}
-
-
- {() => {
- const [isSelected, setIsSelected] = useState(true);
- return (
- setIsSelected((isSelected) => !isSelected)}
- >
- Small
-
- );
- }}
-
-
-
- Clearable Tag
-
-
- console.log('clear')}>Normal
-
-
- console.log('clear')}>
- Small
-
-
-
-
-
-### Playground
-
-
-
-
-
-
-
-
diff --git a/src/components/Tag/Tag.stories.tsx b/src/components/Tag/Tag.stories.tsx
new file mode 100644
index 000000000..e586328a7
--- /dev/null
+++ b/src/components/Tag/Tag.stories.tsx
@@ -0,0 +1,216 @@
+import Tag from './Tag';
+
+import { FIGMA_URL, Function } from '../../utils/common';
+import Stack from 'components/storyUtils/Stack';
+import { useState } from 'react';
+import TagShowcase from '../../storybook/Showcases/TagShowcase';
+import { boolean, select, text } from '@storybook/addon-knobs';
+import Typography from '../Typography';
+import { getIconSelectorKnob } from '../../utils/stories';
+
+export default {
+ title: 'Updated Components/Tag',
+ component: Tag,
+ parameters: {
+ design: [
+ {
+ type: 'figma',
+ name: 'Tag',
+ url: `${FIGMA_URL}?node-id=3325%3A58246`,
+ },
+ ],
+ chromatic: { diffThreshold: 0.3 },
+ },
+};
+
+export const ReadOnlyTag = {
+ render: () => (
+
+ Label
+ Label
+ Label
+ Label
+ Label
+
+ ),
+ name: 'Read-only Tag',
+};
+
+export const ReadOnlyTagWithIcon = {
+ render: () => (
+
+ Label
+
+ Label
+
+
+ Label
+
+
+ Label
+
+
+ Label
+
+
+ ),
+ name: 'Read-only Tag with icon',
+};
+
+export const SelectableTag = {
+ render: () => (
+
+
+ {() => {
+ const [isSelected, setIsSelected] = useState(false);
+ return (
+ setIsSelected((isSelected) => !isSelected)}
+ >
+ Label
+
+ );
+ }}
+
+
+ {() => {
+ const [isSelected, setIsSelected] = useState(true);
+ return (
+ setIsSelected((isSelected) => !isSelected)}
+ >
+ Label
+
+ );
+ }}
+
+
+ ),
+ name: 'Selectable Tag',
+};
+
+export const ClearableTag = {
+ render: () => console.log('clear')}>Label,
+ name: 'Clearable Tag',
+};
+
+export const TagSizes = {
+ render: () => (
+ <>
+
+ Read-only Tag
+
+
+ Normal
+ Normal
+ Normal
+ Normal
+ Normal
+
+
+ Small
+
+ Small
+
+
+ Small
+
+
+ Small
+
+
+ Small
+
+
+
+ Selectable Tag
+
+
+
+ {() => {
+ const [isSelected, setIsSelected] = useState(false);
+ return (
+ setIsSelected((isSelected) => !isSelected)}
+ >
+ Normal
+
+ );
+ }}
+
+
+ {() => {
+ const [isSelected, setIsSelected] = useState(true);
+ return (
+ setIsSelected((isSelected) => !isSelected)}
+ >
+ Normal
+
+ );
+ }}
+
+
+
+
+ {() => {
+ const [isSelected, setIsSelected] = useState(false);
+ return (
+ setIsSelected((isSelected) => !isSelected)}
+ >
+ Small
+
+ );
+ }}
+
+
+ {() => {
+ const [isSelected, setIsSelected] = useState(true);
+ return (
+ setIsSelected((isSelected) => !isSelected)}
+ >
+ Small
+
+ );
+ }}
+
+
+
+ Clearable Tag
+
+
+ console.log('clear')}>Normal
+
+
+ console.log('clear')}>
+ Small
+
+
+ >
+ ),
+ name: 'Tag sizes',
+};
+
+export const Playground = {
+ render: () => (
+
+ ),
+ name: 'Playground',
+};
diff --git a/src/components/TextArea/TextArea.mdx b/src/components/TextArea/TextArea.mdx
new file mode 100644
index 000000000..87c1fb5a8
--- /dev/null
+++ b/src/components/TextArea/TextArea.mdx
@@ -0,0 +1,72 @@
+import { Meta, Canvas, ArgTypes } from '@storybook/blocks';
+import TextArea from './TextArea';
+import SectionHeader from '../../storybook/SectionHeader';
+import * as TextAreaStories from './TextArea.stories';
+import Overview from '../../storybook/Overview';
+
+
+
+
+
+- [Overview](#overview)
+- [Props](#props)
+- [Usage](#usage)
+- [Variants](#variants)
+
+# Overview
+
+A universal TextArea component used for the case where large string of text is needed as an input.
+
+## Props
+
+
+
+## Usage
+
+
+
+
+
+### TextArea with placeholder
+
+TextArea with or without placeholder
+
+
+
+### TextArea with resizing option
+
+TextArea and how to change size with cols and rows
+
+
+
+### TextArea with counter
+
+TextArea with maximum characters indicated by a counter.
+
+
+ TextArea is a controlled component, so in order for the counter to work, the value prop must be
+ passed to the component.
+
+
+
+
+### TextArea statuses
+
+TextArea with 3 available statuses: Normal, Error and Read-only.
+
+
+
+### Disabled TextArea
+
+Regular TextArea disabled with label
+
+
+
+### Playground
+
+
diff --git a/src/components/TextArea/TextArea.stories.mdx b/src/components/TextArea/TextArea.stories.tsx
similarity index 63%
rename from src/components/TextArea/TextArea.stories.mdx
rename to src/components/TextArea/TextArea.stories.tsx
index 448db0228..f47af8270 100644
--- a/src/components/TextArea/TextArea.stories.mdx
+++ b/src/components/TextArea/TextArea.stories.tsx
@@ -1,15 +1,15 @@
-import { Meta, Preview, Props, Story } from '@storybook/addon-docs';
import { boolean, select, text, withKnobs, number } from '@storybook/addon-knobs';
import TextArea from './TextArea';
import Stack from '../storyUtils/Stack';
import { FIGMA_URL, Function } from '../../utils/common';
-import Overview from '../../storybook/Overview';
+import SectionHeader from '../../storybook/SectionHeader';
import { useState } from 'react';
-
-
-
-
-- [Overview](#overview)
-- [Props](#props)
-- [Usage](#usage)
-- [Variants](#variants)
-
-# Overview
-
-
-
- A universal TextArea component used for the case where large string of text is needed as an
- input.
-
-
-
-## Props
-
-
-
-## Usage
-
-
-
-
-
-### TextArea with placeholder
+ },
+};
-TextArea with or without placeholder
-
-
-
+export const TextAreaWithPlaceholder = {
+ render: () => (
-
-
-
-### TextArea with resizing option
-
-TextArea and how to change size with cols and rows
+ ),
-
-
+ name: 'TextArea with placeholder',
+};
+export const TextAreaWithResizingOption = {
+ render: () => (
-
-
-
-### TextArea with counter
-
-TextArea with maximum characters indicated by a counter.
+ ),
-
- TextArea is a controlled component, so in order for the counter to work, the value prop must be
- passed to the component.
-
+ name: 'TextArea with resizing option',
+};
-
-
+export const TextAreaWithCounter = {
+ render: () => (
{() => {
@@ -124,15 +72,12 @@ TextArea with maximum characters indicated by a counter.
}}
-
-
+ ),
+ name: 'TextArea with counter',
+};
-### TextArea statuses
-
-TextArea with 3 available statuses: Normal, Error and Read-only.
-
-
-
+export const TextAreaStatuses = {
+ render: () => (
-
-
-
-### Disabled TextArea
+ ),
+ parameters: { decorators: [withKnobs] },
+ name: 'TextArea statuses',
+};
-Regular TextArea disabled with label
-
-
-
+export const DisabledTextArea = {
+ render: () => (
-
-
-
-### Playground
+ ),
+ name: 'Disabled TextArea',
+};
-
-
+export const Playground = {
+ render: () => (
{() => {
@@ -220,5 +162,6 @@ Regular TextArea disabled with label
}}
-
-
+ ),
+ name: 'Playground',
+};
diff --git a/src/components/TextField/TextField.mdx b/src/components/TextField/TextField.mdx
new file mode 100644
index 000000000..cfebe7655
--- /dev/null
+++ b/src/components/TextField/TextField.mdx
@@ -0,0 +1,108 @@
+import { Meta, Canvas, ArgTypes } from '@storybook/blocks';
+import TextField from './TextField';
+import SectionHeader from '../../storybook/SectionHeader';
+import * as TextFieldStories from './TextField.stories';
+import Overview from '../../storybook/Overview';
+
+
+
+
+
+- [Overview](#overview)
+- [Props](#props)
+- [Usage](#usage)
+- [Variants](#variants)
+
+## Overview
+
+A universal TextField component which provides a wide range of features such as statuses, inline
+suffixes such as icons and components, and a multi-input functionality with the help of the Chip
+component.
+
+## Props
+
+
+
+## Usage
+
+
+
+
+ When the user needs to enter more than one individual values at a given field that are not
+ selected from a predefined list, MultiTextField is more suitable.
+ (scroll down for more details)
+
+
+
+
+### TextField sizes
+
+There are 2 Textfield sizes: `normal` and `compact`.
+
+
+ Compact TextField doesn't support placeholder (only in masked version using the mask prop) and
+ multi-textfield functionality. To use these, please use normal-size TextField.
+
+
+
+
+### TextField with placeholder
+
+Single TextField with or without Placeholder
+
+
+
+### TextField with mask option
+
+TextField with mask option. When used, placeholder prop is not available.
+The mask rules are the following:
+
+ [0-9] (Numeric)",
+ " 'a' => [A-Za-z] (Alphabetical)",
+ " '*' => [A-Za-z0-9] (Alphanumeric)",
+ ]}
+/>
+
+
+ In case number 9 is needed as a constant inside the mask, use '\9'. For example Georgian phone
+ number format would be +\9\9\9 999 999999 (example: +999 123 123456){' '}
+
+
+
+
+### TextField with icon
+
+TextField with icon options right of the text.
+
+
+
+### MultiTextField
+
+MultiTextField enables a user to enter one or individual entries as free text.
+
+
+
+### TextField statuses
+
+TextField with different statuses.
+
+
+
+### Disabled TextField
+
+Disabled TextField.
+
+
+
+### Playground
+
+
diff --git a/src/components/TextField/TextField.stories.mdx b/src/components/TextField/TextField.stories.mdx
deleted file mode 100644
index 1004cdc93..000000000
--- a/src/components/TextField/TextField.stories.mdx
+++ /dev/null
@@ -1,244 +0,0 @@
-import { Meta, Preview, Props, Story } from '@storybook/addon-docs';
-import { boolean, select, text, withKnobs } from '@storybook/addon-knobs';
-import { linkTo } from '@storybook/addon-links';
-import TextField from './TextField';
-import Stack from '../storyUtils/Stack';
-import Icon from '../Icon';
-import iconSelector from '../Icon/assets/iconSelector';
-import {
- MultiTextFieldShowcase,
- TextFieldShowCase,
-} from '../../components/storyUtils/TextFieldShowcases';
-import { FIGMA_URL } from '../../utils/common';
-import Overview from '../../storybook/Overview';
-
-
-
-
-
-- [Overview](#overview)
-- [Props](#props)
-- [Usage](#usage)
-- [Variants](#variants)
-
-## Overview
-
-
-
- A universal TextField component which provides a wide range of features such as statuses, inline
- suffixes such as icons and components, and a multi-input functionality with the help of the Chip
- component.
-
-
-
-## Props
-
-
-
-## Usage
-
-
-
-
- When the user needs to enter more than one individual values at a given field that are not
- selected from a predefined list, MultiTextField is more suitable.
- (scroll down for more details)
-
-
-
-
-### TextField sizes
-
-There are 2 Textfield sizes: `normal` and `compact`.
-
-
- Compact TextField doesn't support placeholder (only in masked version using the mask prop) and
- multi-textfield functionality. To use these, please use normal-size TextField.
-
-
-
-
-
-
-
-
-
-
-
-
-
-### TextField with placeholder
-
-Single TextField with or without Placeholder
-
-
-
-
-
-
-
-
-
-
-### TextField with mask option
-
-TextField with mask option. When used, placeholder prop is not available.
-The mask rules are the following:
-
- [0-9] (Numeric)",
- " 'a' => [A-Za-z] (Alphabetical)",
- " '*' => [A-Za-z0-9] (Alphanumeric)",
- ]}
-/>
-
-
- In case number 9 is needed as a constant inside the mask, use '\9'. For example Georgian phone
- number format would be +\9\9\9 999 999999 (example: +999 123 123456){' '}
-
-
-
-
-
-
-
-
-
-
-
-### TextField with icon
-
-TextField with icon options right of the text.
-
-
-
-
-
-
-
-
-
-
-### MultiTextField
-
-MultiTextField enables a user to enter one or individual entries as free text.
-
-
-
-
-
-
-
-### TextField statuses
-
-TextField with different statuses.
-
-
-
-
-
-
-
-
-
-
-
-### Disabled TextField
-
-Disabled TextField.
-
-
-
-
-
-
-
-
-
-### Playground
-
-
-
-
-
-
-
-
diff --git a/src/components/TextField/TextField.stories.tsx b/src/components/TextField/TextField.stories.tsx
new file mode 100644
index 000000000..620098d25
--- /dev/null
+++ b/src/components/TextField/TextField.stories.tsx
@@ -0,0 +1,158 @@
+import { boolean, select, text, withKnobs } from '@storybook/addon-knobs';
+import TextField from './TextField';
+import Stack from '../storyUtils/Stack';
+import iconSelector from '../Icon/assets/iconSelector';
+import {
+ MultiTextFieldShowcase,
+ TextFieldShowCase,
+} from '../../components/storyUtils/TextFieldShowcases';
+import { FIGMA_URL } from '../../utils/common';
+
+export default {
+ title: 'Updated Components/Fields/TextField',
+ component: TextField,
+ parameters: {
+ design: [
+ {
+ type: 'figma',
+ url: `${FIGMA_URL}?node-id=10019%3A116505`,
+ },
+ ],
+ },
+};
+
+export const TextFieldSizes = {
+ render: () => (
+ <>
+
+
+
+
+
+
+ >
+ ),
+ name: 'TextField sizes',
+};
+
+export const TextFieldWithPlaceholder = {
+ render: () => (
+
+
+
+
+ ),
+ name: 'TextField with placeholder',
+};
+
+export const TextFieldWithMaskOption = {
+ render: () => (
+
+
+
+
+ ),
+ name: 'TextField with mask option',
+};
+
+export const TextFieldWithIcon = {
+ render: () => (
+
+
+
+
+ ),
+ name: 'TextField with icon',
+};
+
+export const MultiTextField = {
+ render: () => ,
+ name: 'MultiTextField',
+};
+
+export const TextFieldStatuses = {
+ render: () => (
+
+
+
+
+
+ ),
+ parameters: {
+ decorators: [withKnobs],
+ },
+ name: 'TextField statuses',
+};
+
+export const DisabledTextField = {
+ render: () => (
+
+
+
+ ),
+ name: 'Disabled TextField',
+};
+
+export const Playground = {
+ render: () => (
+
+
+
+ ),
+ parameters: {
+ decorators: [withKnobs],
+ },
+ name: 'Playground',
+};
diff --git a/src/components/ThemeProvider/ThemeProvider.stories.mdx b/src/components/ThemeProvider/ThemeProvider.mdx
similarity index 58%
rename from src/components/ThemeProvider/ThemeProvider.stories.mdx
rename to src/components/ThemeProvider/ThemeProvider.mdx
index 59b1e8bd8..438a4a176 100644
--- a/src/components/ThemeProvider/ThemeProvider.stories.mdx
+++ b/src/components/ThemeProvider/ThemeProvider.mdx
@@ -1,8 +1,9 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs';
+import { Meta, Canvas, ArgTypes } from '@storybook/blocks';
import ThemeProvider from './ThemeProvider';
-import Button from '../Button';
-
+import * as ThemeProviderStories from './ThemeProvider.stories';
+
+
# ThemeProvider
@@ -10,7 +11,7 @@ A component that will hold all components as childs. These component is the firs
## Usage
-```js
+```
import { ThemeProvider } from '@orfium/ictinus';
...;
@@ -18,17 +19,11 @@ import { ThemeProvider } from '@orfium/ictinus';
## Props
-
+
# Theme with button
This is a demo of how you wrap a component on this provider. Because preview is also automatically wrapped in the provider
some things like dark mode switcher will not work as intended.
-
-
-
-
-
-
-
+
diff --git a/src/components/ThemeProvider/ThemeProvider.stories.tsx b/src/components/ThemeProvider/ThemeProvider.stories.tsx
index e69de29bb..32e9758f4 100644
--- a/src/components/ThemeProvider/ThemeProvider.stories.tsx
+++ b/src/components/ThemeProvider/ThemeProvider.stories.tsx
@@ -0,0 +1,24 @@
+import ThemeProvider from './ThemeProvider';
+import Button from '../Button';
+import Test from './Test';
+
+export default {
+ title: 'Original Components/ThemeProvider',
+ component: ThemeProvider,
+};
+
+export const SettingUpAButtonExample = {
+ render: () => (
+
+
+
+ ),
+
+ name: 'Setting up a button example',
+};
diff --git a/src/components/Toast/Toast.mdx b/src/components/Toast/Toast.mdx
new file mode 100644
index 000000000..55a2f5665
--- /dev/null
+++ b/src/components/Toast/Toast.mdx
@@ -0,0 +1,28 @@
+import { Meta, Canvas, ArgTypes } from '@storybook/blocks';
+import { withKnobs, text, select, boolean } from '@storybook/addon-knobs';
+import PresentComponent from '../storyUtils/PresentComponent';
+import Toast from './Toast';
+import Stack from '../storyUtils/Stack';
+import * as ToastStories from './Toast.stories';
+
+
+
+# Toast
+
+## Usage
+
+```js
+import { Toast } from '@orfium/ictinus';
+
+
+
Content
+;
+```
+
+## Props
+
+
+
+### Generic Toast
+
+
diff --git a/src/components/Toast/Toast.stories.mdx b/src/components/Toast/Toast.stories.tsx
similarity index 75%
rename from src/components/Toast/Toast.stories.mdx
rename to src/components/Toast/Toast.stories.tsx
index ae2581965..f13958a0e 100644
--- a/src/components/Toast/Toast.stories.mdx
+++ b/src/components/Toast/Toast.stories.tsx
@@ -1,31 +1,15 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs';
import { withKnobs, text, select, boolean } from '@storybook/addon-knobs';
import PresentComponent from '../storyUtils/PresentComponent';
import Toast from './Toast';
import Stack from '../storyUtils/Stack';
-
+export default {
+ title: 'Original Components/Toast',
+ component: Toast,
+};
-# Toast
-
-## Usage
-
-```js
-import { Toast } from '@orfium/ictinus';
-
-
-
Content
-;
-```
-
-## Props
-
-
-
-### Generic Toast
-
-
-
+export const GenericToast = {
+ render: () => (
console.log('close action clicked')}
- >
+ />
console.log('close action clicked')}
- >
+ />
-
-
+ ),
+
+ name: 'Generic Toast',
+
+ parameters: {
+ decorators: [withKnobs],
+ },
+};
diff --git a/src/components/Tooltip/Tooltip.mdx b/src/components/Tooltip/Tooltip.mdx
new file mode 100644
index 000000000..770c1de44
--- /dev/null
+++ b/src/components/Tooltip/Tooltip.mdx
@@ -0,0 +1,60 @@
+import { Meta, Canvas, ArgTypes } from '@storybook/blocks';
+import Tooltip from './Tooltip';
+import * as TooltipStories from './Tooltip.stories';
+import Overview from '../../storybook/Overview';
+
+
+
+
+
+- [Overview](#overview)
+- [Props](#props)
+- [Usage](#usage)
+- [Variants](#variants)
+
+## Overview
+
+Tooltips provide brief, helpful information when a user hovers or focuses on the trigger element.
+
+## Props
+
+
+
+## Usage
+
+
+
+
+
+### Text Tooltip
+
+Text Tooltip takes a string as a content prop. There are 2 variations of Text Tooltips, default and inverted.
+
+
+
+### Interactive Tooltip
+
+Interactive Tooltip takes a React Component as a content prop. There are 2 variations of Text Tooltips, default and inverted.
+
+
+
+### Tooltip placement
+
+Tooltip can be placed to the top, bottom, left or right of the element.
+
+
+
+### Playground
+
+
diff --git a/src/components/Tooltip/Tooltip.stories.mdx b/src/components/Tooltip/Tooltip.stories.mdx
deleted file mode 100644
index 77be4dfa3..000000000
--- a/src/components/Tooltip/Tooltip.stories.mdx
+++ /dev/null
@@ -1,200 +0,0 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs';
-import { text, number, select, boolean, withKnobs } from '@storybook/addon-knobs';
-import Tooltip from './Tooltip';
-import { hoverOnTooltips } from './utils';
-import Stack from '../storyUtils/Stack';
-import TooltipShowcase from '../storyUtils/TooltipShowcase';
-import { FIGMA_URL, Function } from '../../utils/common';
-import Overview from '../../storybook/Overview';
-import Button from '../Button';
-
-
-
-
-
-- [Overview](#overview)
-- [Props](#props)
-- [Usage](#usage)
-- [Variants](#variants)
-
-## Overview
-
-
-
- Tooltips provide brief, helpful information when a user hovers or focuses on the trigger
- element.
-
-
-
-## Props
-
-
-
-## Usage
-
-
-
-
-
-### Text Tooltip
-
-Text Tooltip takes a string as a content prop. There are 2 variations of Text Tooltips, default and inverted.
-
-
-
-
-
- {() => {
- return (
-
-
-
-
-
- );
- }}
-
-
-
-
- {() => {
- return (
-
-
-
-
-
- );
- }}
-
-
-
-
-
-### Interactive Tooltip
-
-Interactive Tooltip takes a React Component as a content prop. There are 2 variations of Text Tooltips, default and inverted.
-
-
-
-
-
-
-
-
-
-
-
-
-### Tooltip placement
-
-Tooltip can be placed to the top, bottom, left or right of the element.
-
-
-
-
-
- {() => {
- return (
-
+ ),
+
+ name: 'playground',
+};
diff --git a/src/components/TruncatedContent/TruncatedContent.mdx b/src/components/TruncatedContent/TruncatedContent.mdx
new file mode 100644
index 000000000..d9ab9e04b
--- /dev/null
+++ b/src/components/TruncatedContent/TruncatedContent.mdx
@@ -0,0 +1,35 @@
+import { Meta, Canvas, ArgTypes, Story } from '@storybook/blocks';
+import TruncatedContent from './TruncatedContent';
+import Table from '../Table';
+import * as TruncatedContentStories from './TruncatedContent.stories';
+
+
+
+# Truncated Text with Tooltip
+
+A generic component that wraps around an element with a maximum width value and shows ellipsis if the text inside would
+overflow. In that case, a tooltip is shown as well.
+
+## Usage
+
+```js
+import { TruncatedContent } from '@orfium/ictinus';
+
+;
+```
+
+## Props
+
+
+
+# Text Truncation
+
+Regular Text with truncation and tooltip
+
+
+
+# Table With Cell Tooltips
+
+Regular Table with cell tooltips
+
+
diff --git a/src/components/TruncatedContent/TruncatedContent.stories.mdx b/src/components/TruncatedContent/TruncatedContent.stories.mdx
deleted file mode 100644
index de9ec992b..000000000
--- a/src/components/TruncatedContent/TruncatedContent.stories.mdx
+++ /dev/null
@@ -1,66 +0,0 @@
-import { Meta, Preview, Props, Story } from '@storybook/addon-docs';
-import TruncatedContent from './TruncatedContent';
-import Table from '../Table';
-
-
-
-# Truncated Text with Tooltip
-
-A generic component that wraps around an element with a maximum width value and shows ellipsis if the text inside would
-overflow. In that case, a tooltip is shown as well.
-
-## Usage
-
-```js
-import { TruncatedContent } from '@orfium/ictinus';
-
-;
-```
-
-## Props
-
-
-
-# Text Truncation
-
-Regular Text with truncation and tooltip
-
-
-
-
-
- This is a long text that will overflow
-
-
-
-
-
-# Table With Cell Tooltips
-
-Regular Table with cell tooltips
-
-
-
-
console.log(column, order)}
- initialSort={{ column: 'title', order: 'asc' }}
- isPadded
- data={[
- {
- id: 1,
- cells: [
- { content: `Generated tooltip from the element's text content` },
- { content: 'No tooltip', hasTruncatedTooltip: false },
- { content: () => JSX Content without tooltip },
- {
- content: () => JSX Content with forced tooltip,
- tooltipContent: 'This is a kinda long (that could be longer) tooltip from a prop',
- },
- ],
- },
- ]}
- />
-
-
diff --git a/src/components/TruncatedContent/TruncatedContent.stories.tsx b/src/components/TruncatedContent/TruncatedContent.stories.tsx
new file mode 100644
index 000000000..19f0327a9
--- /dev/null
+++ b/src/components/TruncatedContent/TruncatedContent.stories.tsx
@@ -0,0 +1,62 @@
+import TruncatedContent from './TruncatedContent';
+import Table from '../Table';
+
+export default {
+ title: 'System/Truncated Text with Tooltip',
+ component: TruncatedContent,
+};
+
+export const RegularTextWithTruncationAndTooltip = {
+ render: () => (
+
+
+ This is a long text that will overflow
+
+
+ ),
+
+ name: 'Regular Text with truncation and tooltip',
+};
+
+export const RegularTableWithCellTooltips = {
+ render: () => (
+
console.log(column, order)}
+ initialSort={{
+ column: 'title',
+ order: 'asc',
+ }}
+ isPadded
+ data={[
+ {
+ id: 1,
+
+ cells: [
+ {
+ content: `Generated tooltip from the element's text content`,
+ },
+ {
+ content: 'No tooltip',
+ hasTruncatedTooltip: false,
+ },
+ {
+ content: () => JSX Content without tooltip,
+ },
+ {
+ content: () => JSX Content with forced tooltip,
+ tooltipContent: 'This is a kinda long (that could be longer) tooltip from a prop',
+ },
+ ],
+ },
+ ]}
+ />
+ ),
+
+ name: 'Regular Table with cell tooltips',
+};
diff --git a/src/components/Typography/Typography.mdx b/src/components/Typography/Typography.mdx
new file mode 100644
index 000000000..b87b660b2
--- /dev/null
+++ b/src/components/Typography/Typography.mdx
@@ -0,0 +1,74 @@
+import { Meta, Canvas, ArgTypes } from '@storybook/blocks';
+import SectionHeader from '../../storybook/SectionHeader';
+import * as TypographyStories from './Typography.stories';
+import Typography from './Typography';
+import Overview from '../../storybook/Overview';
+
+
+
+
+
+- [Overview](#overview)
+- [Props](#props)
+- [Usage](#usage)
+- [Variants](#variants)
+
+## Overview
+
+A global component that is used to represent any text.
+
+## Usage
+
+
+
+## Props
+
+
+
+
+
+General use of Typography based on available variants
+
+
+
+### Font Spacing Variations
+
+We have 2 different font spacing variations, normal (font-family: Roboto) and mono (font-family: Roboto Mono)
+
+
+
+### Types (default)
+
+General use of Typography based on available light types
+
+
+
+### Types (inverted)
+
+General use of Typography based on available inverted type.
+Inverted type is used to show content **on darker background** and **is not linked with dark variation**
+The following example is based on dark background so we can show the difference.
+
+
+
+### Extra style
+
+Typography extra styles like bold, italic and underline
+
+
+
+### As specific element
+
+Define Typography based on custom component - below are listed by default value
+
+You can define component to be any of the following `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`, `span`
+
+
diff --git a/src/components/Typography/Typography.stories.mdx b/src/components/Typography/Typography.stories.tsx
similarity index 64%
rename from src/components/Typography/Typography.stories.mdx
rename to src/components/Typography/Typography.stories.tsx
index ce8699077..f48198dc0 100644
--- a/src/components/Typography/Typography.stories.mdx
+++ b/src/components/Typography/Typography.stories.tsx
@@ -1,13 +1,13 @@
-import { Meta, Preview, Props, Story } from '@storybook/addon-docs';
import Typography from './Typography';
import Stack from '../storyUtils/Stack';
import { FIGMA_URL } from '../../utils/common';
-import Overview from '../../storybook/Overview';
+import SectionHeader from '../../storybook/SectionHeader';
-
-
-
-
-- [Overview](#overview)
-- [Props](#props)
-- [Usage](#usage)
-- [Variants](#variants)
-
-## Overview
-
-
- A global component that is used to represent any text.
-
-
-## Usage
-
-
-
-## Props
-
-
+ },
+};
-
-
-General use of Typography based on available variants
-
-
-
+export const Variants = {
+ render: () => (
Headline 01Headline 02
@@ -78,15 +38,13 @@ General use of Typography based on available variants
Body 03Body 04
-
-
-
-### Font spacing variations
+ ),
-We have 2 different font spacing variations, normal (font-family: Roboto) and mono (font-family: Roboto Mono)
+ name: 'Variants',
+};
-
-
+export const FontSpacingVariations = {
+ render: () => (
Headline 01 (Normal)Title 01 (Normal)
@@ -105,15 +63,13 @@ We have 2 different font spacing variations, normal (font-family: Roboto) and mo
Body 01 (Mono)
-
-
+ ),
-### Types (default)
+ name: 'Font spacing variations',
+};
-General use of Typography based on available light types
-
-
-
+export const TypesDefault = {
+ render: () => (
PrimarySecondary
@@ -121,17 +77,13 @@ General use of Typography based on available light types
ActiveVisited
-
-
-
-### Types (inverted)
+ ),
-General use of Typography based on available inverted type.
-Inverted type is used to show content **on darker background** and **is not linked with dark variation**
-The following example is based on dark background so we can show the difference.
+ name: 'Types (default)',
+};
-
-
+export const TypesInverted = {
+ render: () => (
Primary
@@ -149,31 +101,25 @@ The following example is based on dark background so we can show the difference.
Visited
-
-
+ ),
-### Extra style
+ name: 'Types (inverted)',
+};
-Typography extra styles like bold, italic and underline
-
-
-
+export const ExtraStyle = {
+ render: () => (
BoldItalicUnderline
-
-
-
-### As specific element
+ ),
-Define Typography based on custom component - below are listed by default value
+ name: 'Extra style',
+};
-You can define component to be any of the following `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`, `span`
-
-
-
+export const AsSpecificElement = {
+ render: () => (
Headline 01 - H1
@@ -218,5 +164,7 @@ You can define component to be any of the following `h1`, `h2`, `h3`, `h4`, `h5`
Body 03 - P
-
-
+ ),
+
+ name: 'As specific element',
+};
diff --git a/src/hooks/useSearchQueryParams.mdx b/src/hooks/useSearchQueryParams.mdx
new file mode 100644
index 000000000..8e1159821
--- /dev/null
+++ b/src/hooks/useSearchQueryParams.mdx
@@ -0,0 +1,26 @@
+import { Meta, Canvas } from '@storybook/blocks';
+import * as UseSearchQueryParamsStories from './useSearchQueryParams.stories';
+
+
+
+# useSearchQueryParams
+
+# Usage
+
+```
+import { useSearchQueryParams } from '@orfium/ictinus/dist/hooks';
+
+const MyComponent: FCC = () => {
+ // URL => https://orfium-product.com/mypath?page=1&size=12&library=react&testing=yolo
+ const searchQueryParams = useSearchQueryParams();
+
+ // console.log(searchQueryParams)
+ // { "page": "1", "size": "12", "library": "react", "testing": "yolo" }
+};
+```
+
+# useSearchQueryParams demo
+
+This demo represents how the url will be taken into an object. You can play with **knobs** as well for different types of url
+
+
diff --git a/src/hooks/useSearchQueryParams.stories.mdx b/src/hooks/useSearchQueryParams.stories.mdx
deleted file mode 100644
index 32afcfb3f..000000000
--- a/src/hooks/useSearchQueryParams.stories.mdx
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs';
-import { withKnobs, boolean, array, select, text } from '@storybook/addon-knobs';
-import { MemoryRouter } from 'react-router-dom';
-import DemoUseSearchQueryParams from './storyUtils/DemoUseSearchQueryParams.tsx';
-
- true} />
-
-# useSearchQueryParams
-
-The useSearchQueryParams hook, returns the URL search query parameters as a key - value plain object (**Record**). Keep in mind that this hook can only be used into a react-router-dom context.
-
-# Usage
-
-```js
-import { useSearchQueryParams } from '@orfium/ictinus/dist/hooks';
-
-const MyComponent: FCC = () => {
- // URL => https://orfium-product.com/mypath?page=1&size=12&library=react&testing=yolo
- const searchQueryParams = useSearchQueryParams();
-
- // console.log(searchQueryParams)
- // { "page": "1", "size": "12", "library": "react", "testing": "yolo" }
-};
-```
-
-# useSearchQueryParams demo
-
-This demo represents how the url will be taken into an object. You can play with **knobs** as well for different types of url
-
-
- {
- const value = text('given url', '/test?page=1&size=12&library=react&testing=yolo');
- return (
-
-
-
- );
- },
- ]}
- />
-
diff --git a/src/hooks/useSearchQueryParams.stories.tsx b/src/hooks/useSearchQueryParams.stories.tsx
new file mode 100644
index 000000000..d1015dbf3
--- /dev/null
+++ b/src/hooks/useSearchQueryParams.stories.tsx
@@ -0,0 +1,33 @@
+import { withKnobs, text } from '@storybook/addon-knobs';
+import { MemoryRouter } from 'react-router-dom';
+import DemoUseSearchQueryParams from './storyUtils/DemoUseSearchQueryParams';
+
+export default {
+ title: 'Hooks/useSearchQueryParams',
+ component: () => true,
+};
+
+export const UseSearchQueryParams = {
+ name: 'useSearchQueryParams',
+
+ parameters: {
+ query: {
+ q: 'search',
+ },
+ chromatic: { disableSnapshot: true },
+ },
+
+ decorators: [
+ withKnobs,
+ () => {
+ const value = text('given url', '/test?page=1&size=12&library=react&testing=yolo');
+
+ return (
+
+ {/*// @ts-ignore*/}
+
+
+ );
+ },
+ ],
+};