oneslash-design-system 1.2.24 → 1.2.25

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 (81) hide show
  1. package/dist/components/alert.d.ts +4 -2
  2. package/dist/components/alert.jsx +18 -13
  3. package/dist/components/button.d.ts +2 -1
  4. package/dist/components/button.jsx +5 -2
  5. package/dist/components/checkBox.d.ts +2 -1
  6. package/dist/components/checkBox.jsx +13 -6
  7. package/dist/components/emptyBox.d.ts +2 -1
  8. package/dist/components/emptyBox.jsx +9 -4
  9. package/dist/components/icon.d.ts +12 -0
  10. package/dist/components/icon.jsx +30 -0
  11. package/dist/components/line.d.ts +7 -0
  12. package/dist/components/line.jsx +10 -0
  13. package/dist/components/menuItem.d.ts +2 -1
  14. package/dist/components/menuItem.jsx +9 -4
  15. package/dist/components/modal.d.ts +3 -2
  16. package/dist/components/modal.jsx +43 -23
  17. package/dist/components/radioGroup.d.ts +1 -0
  18. package/dist/components/radioGroup.jsx +4 -1
  19. package/dist/components/tab.d.ts +6 -1
  20. package/dist/components/tab.jsx +11 -9
  21. package/dist/components/tabsContainer.jsx +4 -1
  22. package/dist/components/tag.d.ts +6 -3
  23. package/dist/components/tag.jsx +88 -28
  24. package/dist/components/textField.d.ts +5 -2
  25. package/dist/components/textField.jsx +29 -16
  26. package/dist/components/textarea.d.ts +4 -2
  27. package/dist/components/textarea.jsx +31 -11
  28. package/dist/output.css +537 -446
  29. package/dist/stories/Alert.stories.d.ts +15 -0
  30. package/dist/stories/Alert.stories.jsx +121 -0
  31. package/dist/stories/Button.stories.d.ts +12 -0
  32. package/dist/stories/Button.stories.jsx +81 -0
  33. package/dist/stories/Checkbox.stories.d.ts +10 -0
  34. package/dist/stories/Checkbox.stories.jsx +45 -0
  35. package/dist/stories/EmptyBox.stories.d.ts +7 -0
  36. package/dist/stories/EmptyBox.stories.jsx +30 -0
  37. package/dist/stories/Icon.stories.d.ts +13 -0
  38. package/dist/stories/Icon.stories.jsx +130 -0
  39. package/dist/stories/IconButton.stories.d.ts +13 -0
  40. package/dist/stories/IconButton.stories.jsx +87 -0
  41. package/dist/stories/Line.stories.d.ts +9 -0
  42. package/dist/stories/Line.stories.jsx +64 -0
  43. package/dist/stories/Link.stories.d.ts +10 -0
  44. package/dist/stories/Link.stories.jsx +59 -0
  45. package/dist/stories/LoadingScreen.stories.d.ts +10 -0
  46. package/dist/stories/LoadingScreen.stories.jsx +39 -0
  47. package/dist/stories/Menu.stories.d.ts +8 -0
  48. package/dist/stories/Menu.stories.jsx +42 -0
  49. package/dist/stories/MenuItem.stories.d.ts +11 -0
  50. package/dist/stories/MenuItem.stories.jsx +62 -0
  51. package/dist/stories/Modal.stories.d.ts +10 -0
  52. package/dist/stories/Modal.stories.jsx +77 -0
  53. package/dist/stories/Navigation.stories.d.ts +7 -0
  54. package/dist/stories/Navigation.stories.jsx +31 -0
  55. package/dist/stories/Popover.stories.d.ts +7 -0
  56. package/dist/stories/Popover.stories.jsx +47 -0
  57. package/dist/stories/RadioGroup.stories.d.ts +8 -0
  58. package/dist/stories/RadioGroup.stories.jsx +53 -0
  59. package/dist/stories/Select.stories.d.ts +10 -0
  60. package/dist/stories/Select.stories.jsx +85 -0
  61. package/dist/stories/Tab.stories.d.ts +11 -0
  62. package/dist/stories/Tab.stories.jsx +63 -0
  63. package/dist/stories/Table.stories.d.ts +8 -0
  64. package/dist/stories/Table.stories.jsx +84 -0
  65. package/dist/stories/TabsContainer.stories.d.ts +10 -0
  66. package/dist/stories/TabsContainer.stories.jsx +52 -0
  67. package/dist/stories/Tag.stories.d.ts +17 -0
  68. package/dist/stories/Tag.stories.jsx +143 -0
  69. package/dist/stories/TextField.stories.d.ts +13 -0
  70. package/dist/stories/TextField.stories.jsx +96 -0
  71. package/dist/stories/Textarea.stories.d.ts +12 -0
  72. package/dist/stories/Textarea.stories.jsx +84 -0
  73. package/dist/stories/TimeStamp.stories.d.ts +16 -0
  74. package/dist/stories/TimeStamp.stories.jsx +140 -0
  75. package/dist/stories/Tooltip.stories.d.ts +9 -0
  76. package/dist/stories/Tooltip.stories.jsx +52 -0
  77. package/dist/stories/UserImage.stories.d.ts +10 -0
  78. package/dist/stories/UserImage.stories.jsx +46 -0
  79. package/dist/tailwind.config.js +1 -0
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +10 -3
@@ -0,0 +1,84 @@
1
+ import React from "react";
2
+ import TableContainer from "../components/tableContainer";
3
+ import TableHeader from "../components/tableHeader";
4
+ import TableHeaderCell from "../components/tableHeaderCell";
5
+ import TableRow from "../components/tableRow";
6
+ import TableCell from "../components/tableCell";
7
+ var meta = {
8
+ title: "Components/Table",
9
+ component: TableContainer,
10
+ };
11
+ export default meta;
12
+ export var Default = {
13
+ render: function () { return (<TableContainer>
14
+ <TableHeader>
15
+ <TableRow>
16
+ <TableHeaderCell width="200px">Name</TableHeaderCell>
17
+ <TableHeaderCell width="150px">Status</TableHeaderCell>
18
+ <TableHeaderCell width="150px" align="right">Amount</TableHeaderCell>
19
+ </TableRow>
20
+ </TableHeader>
21
+ <TableRow>
22
+ <TableCell width="200px">John Doe</TableCell>
23
+ <TableCell width="150px">Active</TableCell>
24
+ <TableCell width="150px" align="right">$1,234.00</TableCell>
25
+ </TableRow>
26
+ <TableRow>
27
+ <TableCell width="200px">Jane Smith</TableCell>
28
+ <TableCell width="150px">Pending</TableCell>
29
+ <TableCell width="150px" align="right">$567.89</TableCell>
30
+ </TableRow>
31
+ <TableRow>
32
+ <TableCell width="200px">Bob Johnson</TableCell>
33
+ <TableCell width="150px">Inactive</TableCell>
34
+ <TableCell width="150px" align="right">$0.00</TableCell>
35
+ </TableRow>
36
+ </TableContainer>); },
37
+ };
38
+ export var FlexibleWidth = {
39
+ render: function () { return (<TableContainer>
40
+ <TableHeader>
41
+ <TableRow>
42
+ <TableHeaderCell>Description</TableHeaderCell>
43
+ <TableHeaderCell width="100px" align="center">Qty</TableHeaderCell>
44
+ <TableHeaderCell width="120px" align="right">Price</TableHeaderCell>
45
+ </TableRow>
46
+ </TableHeader>
47
+ <TableRow>
48
+ <TableCell>Product A - Premium Widget</TableCell>
49
+ <TableCell width="100px" align="center">5</TableCell>
50
+ <TableCell width="120px" align="right">$49.99</TableCell>
51
+ </TableRow>
52
+ <TableRow>
53
+ <TableCell>Product B - Standard Widget with extended description</TableCell>
54
+ <TableCell width="100px" align="center">10</TableCell>
55
+ <TableCell width="120px" align="right">$29.99</TableCell>
56
+ </TableRow>
57
+ <TableRow>
58
+ <TableCell>Product C - Basic</TableCell>
59
+ <TableCell width="100px" align="center">3</TableCell>
60
+ <TableCell width="120px" align="right">$9.99</TableCell>
61
+ </TableRow>
62
+ </TableContainer>); },
63
+ };
64
+ export var CenteredContent = {
65
+ render: function () { return (<TableContainer>
66
+ <TableHeader>
67
+ <TableRow>
68
+ <TableHeaderCell align="center">ID</TableHeaderCell>
69
+ <TableHeaderCell align="center">Status</TableHeaderCell>
70
+ <TableHeaderCell align="center">Date</TableHeaderCell>
71
+ </TableRow>
72
+ </TableHeader>
73
+ <TableRow>
74
+ <TableCell align="center">#001</TableCell>
75
+ <TableCell align="center">Completed</TableCell>
76
+ <TableCell align="center">2024-01-15</TableCell>
77
+ </TableRow>
78
+ <TableRow>
79
+ <TableCell align="center">#002</TableCell>
80
+ <TableCell align="center">In Progress</TableCell>
81
+ <TableCell align="center">2024-01-16</TableCell>
82
+ </TableRow>
83
+ </TableContainer>); },
84
+ };
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import TabsContainer from "../components/tabsContainer";
3
+ declare const meta: Meta<typeof TabsContainer>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof TabsContainer>;
6
+ export declare const Default: Story;
7
+ export declare const TwoTabs: Story;
8
+ export declare const ManyTabs: Story;
9
+ export declare const WithIcons: Story;
10
+ export declare const WithSecondLabel: Story;
@@ -0,0 +1,52 @@
1
+ import React, { useState } from "react";
2
+ import TabsContainer from "../components/tabsContainer";
3
+ import Tab from "../components/tab";
4
+ var meta = {
5
+ title: "Components/TabsContainer",
6
+ component: TabsContainer,
7
+ };
8
+ export default meta;
9
+ var TabsWrapper = function (_a) {
10
+ var tabs = _a.tabs;
11
+ var _b = useState(0), selected = _b[0], setSelected = _b[1];
12
+ return (<TabsContainer>
13
+ {tabs.map(function (tab, index) { return (<Tab key={tab} label={tab} isSelected={selected === index} onClickTab={function () { return setSelected(index); }}/>); })}
14
+ </TabsContainer>);
15
+ };
16
+ export var Default = {
17
+ render: function () { return <TabsWrapper tabs={["Tab 1", "Tab 2", "Tab 3"]}/>; },
18
+ };
19
+ export var TwoTabs = {
20
+ render: function () { return <TabsWrapper tabs={["Active", "Archived"]}/>; },
21
+ };
22
+ export var ManyTabs = {
23
+ render: function () { return (<TabsWrapper tabs={["Overview", "Analytics", "Reports", "Settings", "Users", "Billing"]}/>); },
24
+ };
25
+ var TabsWithIconsWrapper = function () {
26
+ var _a = useState(0), selected = _a[0], setSelected = _a[1];
27
+ var tabs = [
28
+ { label: "Home", icon: "Home" },
29
+ { label: "Files", icon: "Folder" },
30
+ { label: "Settings", icon: "Settings" },
31
+ ];
32
+ return (<TabsContainer>
33
+ {tabs.map(function (tab, index) { return (<Tab key={tab.label} label={tab.label} decoIcon={tab.icon} isSelected={selected === index} onClickTab={function () { return setSelected(index); }}/>); })}
34
+ </TabsContainer>);
35
+ };
36
+ export var WithIcons = {
37
+ render: function () { return <TabsWithIconsWrapper />; },
38
+ };
39
+ var TabsWithSecondLabelWrapper = function () {
40
+ var _a = useState(0), selected = _a[0], setSelected = _a[1];
41
+ var tabs = [
42
+ { label: "Dashboard", secondLabel: "Overview" },
43
+ { label: "Analytics", secondLabel: "Last 7 days" },
44
+ { label: "Reports", secondLabel: "12 new" },
45
+ ];
46
+ return (<TabsContainer>
47
+ {tabs.map(function (tab, index) { return (<Tab key={tab.label} label={tab.label} secondLabel={tab.secondLabel} isSelected={selected === index} onClickTab={function () { return setSelected(index); }}/>); })}
48
+ </TabsContainer>);
49
+ };
50
+ export var WithSecondLabel = {
51
+ render: function () { return <TabsWithSecondLabelWrapper />; },
52
+ };
@@ -0,0 +1,17 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import Tag from "../components/tag";
3
+ declare const meta: Meta<typeof Tag>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Tag>;
6
+ export declare const Contained: Story;
7
+ export declare const TextOnly: Story;
8
+ export declare const Selected: Story;
9
+ export declare const WithIcon: Story;
10
+ export declare const Small: Story;
11
+ export declare const Clickable: Story;
12
+ export declare const AllVariants: Story;
13
+ export declare const Success: Story;
14
+ export declare const Warning: Story;
15
+ export declare const Error: Story;
16
+ export declare const Info: Story;
17
+ export declare const AllColors: Story;
@@ -0,0 +1,143 @@
1
+ import React from "react";
2
+ import Tag from "../components/tag";
3
+ var meta = {
4
+ title: "Components/Tag",
5
+ component: Tag,
6
+ decorators: [
7
+ function (Story) { return (<div style={{ display: "flex" }}>
8
+ <Story />
9
+ </div>); },
10
+ ],
11
+ argTypes: {
12
+ variant: {
13
+ control: "select",
14
+ options: ["contained", "textOnly"],
15
+ },
16
+ size: {
17
+ control: "select",
18
+ options: ["medium", "small"],
19
+ },
20
+ state: {
21
+ control: "select",
22
+ options: ["enabled", "selected"],
23
+ },
24
+ color: {
25
+ control: "select",
26
+ options: [undefined, "default", "success", "warning", "error", "info"],
27
+ },
28
+ label: { control: "text" },
29
+ iconName: { control: "text" },
30
+ },
31
+ };
32
+ export default meta;
33
+ export var Contained = {
34
+ args: {
35
+ variant: "contained",
36
+ size: "medium",
37
+ state: "enabled",
38
+ label: "Tag Label",
39
+ },
40
+ };
41
+ export var TextOnly = {
42
+ args: {
43
+ variant: "textOnly",
44
+ size: "medium",
45
+ state: "enabled",
46
+ label: "Text Tag",
47
+ },
48
+ };
49
+ export var Selected = {
50
+ args: {
51
+ variant: "contained",
52
+ size: "medium",
53
+ state: "selected",
54
+ label: "Selected",
55
+ },
56
+ };
57
+ export var WithIcon = {
58
+ args: {
59
+ variant: "contained",
60
+ size: "medium",
61
+ state: "enabled",
62
+ label: "With Icon",
63
+ iconName: "Star",
64
+ },
65
+ };
66
+ export var Small = {
67
+ args: {
68
+ variant: "contained",
69
+ size: "small",
70
+ state: "enabled",
71
+ label: "Small Tag",
72
+ },
73
+ };
74
+ export var Clickable = {
75
+ args: {
76
+ variant: "contained",
77
+ size: "medium",
78
+ state: "enabled",
79
+ label: "Click me",
80
+ onClick: function () { return alert("Tag clicked!"); },
81
+ },
82
+ };
83
+ export var AllVariants = {
84
+ render: function () { return (<div style={{ display: "flex", gap: "8px", flexWrap: "wrap", alignItems: "center" }}>
85
+ <Tag variant="contained" size="medium" label="Contained"/>
86
+ <Tag variant="textOnly" size="medium" label="Text Only"/>
87
+ <Tag variant="contained" size="medium" state="selected" label="Selected"/>
88
+ <Tag variant="contained" size="small" label="Small"/>
89
+ <Tag variant="contained" size="medium" label="With Icon" iconName="Check"/>
90
+ </div>); },
91
+ };
92
+ export var Success = {
93
+ args: {
94
+ variant: "contained",
95
+ size: "medium",
96
+ color: "success",
97
+ label: "Success",
98
+ },
99
+ };
100
+ export var Warning = {
101
+ args: {
102
+ variant: "contained",
103
+ size: "medium",
104
+ color: "warning",
105
+ label: "Warning",
106
+ },
107
+ };
108
+ export var Error = {
109
+ args: {
110
+ variant: "contained",
111
+ size: "medium",
112
+ color: "error",
113
+ label: "Error",
114
+ },
115
+ };
116
+ export var Info = {
117
+ args: {
118
+ variant: "contained",
119
+ size: "medium",
120
+ color: "info",
121
+ label: "Info",
122
+ },
123
+ };
124
+ export var AllColors = {
125
+ render: function (args) { return (<div style={{ display: "flex", flexDirection: "column", gap: "12px" }}>
126
+ <div style={{ display: "flex", gap: "8px", alignItems: "center" }}>
127
+ <span style={{ width: "80px" }}>Contained:</span>
128
+ <Tag variant="contained" size="medium" color="default" label="Default"/>
129
+ <Tag variant="contained" size="medium" color="success" label="Success"/>
130
+ <Tag variant="contained" size="medium" color="warning" label="Warning"/>
131
+ <Tag variant="contained" size="medium" color="error" label="Error"/>
132
+ <Tag variant="contained" size="medium" color="info" label="Info"/>
133
+ </div>
134
+ <div style={{ display: "flex", gap: "8px", alignItems: "center" }}>
135
+ <span style={{ width: "80px" }}>Text Only:</span>
136
+ <Tag variant="textOnly" size="medium" color="default" label="Default"/>
137
+ <Tag variant="textOnly" size="medium" color="success" label="Success"/>
138
+ <Tag variant="textOnly" size="medium" color="warning" label="Warning"/>
139
+ <Tag variant="textOnly" size="medium" color="error" label="Error"/>
140
+ <Tag variant="textOnly" size="medium" color="info" label="Info"/>
141
+ </div>
142
+ </div>); },
143
+ };
@@ -0,0 +1,13 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import TextField from "../components/textField";
3
+ declare const meta: Meta<typeof TextField>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof TextField>;
6
+ export declare const Default: Story;
7
+ export declare const WithValue: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const WithError: Story;
10
+ export declare const LargeSize: Story;
11
+ export declare const SmallSize: Story;
12
+ export declare const Multiline: Story;
13
+ export declare const AllSizes: Story;
@@ -0,0 +1,96 @@
1
+ import React, { useState } from "react";
2
+ import TextField from "../components/textField";
3
+ var meta = {
4
+ title: "Components/TextField",
5
+ component: TextField,
6
+ argTypes: {
7
+ label: { control: "text" },
8
+ disabled: { control: "boolean" },
9
+ error: { control: "boolean" },
10
+ multiline: { control: "boolean" },
11
+ maxRows: { control: "number" },
12
+ size: {
13
+ control: "select",
14
+ options: ["large", "medium", "small"],
15
+ },
16
+ },
17
+ };
18
+ export default meta;
19
+ var TextFieldWrapper = function (args) {
20
+ var _a = useState(args.value || ""), value = _a[0], setValue = _a[1];
21
+ return (<TextField {...args} value={value} onChange={function (e) { return setValue(e.target.value); }}/>);
22
+ };
23
+ export var Default = {
24
+ render: function (args) { return <TextFieldWrapper {...args}/>; },
25
+ args: {
26
+ id: "default-textfield",
27
+ label: "Label",
28
+ value: "",
29
+ size: "medium",
30
+ },
31
+ };
32
+ export var WithValue = {
33
+ render: function (args) { return <TextFieldWrapper {...args}/>; },
34
+ args: {
35
+ id: "with-value-textfield",
36
+ label: "Name",
37
+ value: "John Doe",
38
+ size: "medium",
39
+ },
40
+ };
41
+ export var Disabled = {
42
+ render: function (args) { return <TextFieldWrapper {...args}/>; },
43
+ args: {
44
+ id: "disabled-textfield",
45
+ label: "Disabled Field",
46
+ value: "Cannot edit",
47
+ disabled: true,
48
+ size: "medium",
49
+ },
50
+ };
51
+ export var WithError = {
52
+ render: function (args) { return <TextFieldWrapper {...args}/>; },
53
+ args: {
54
+ id: "error-textfield",
55
+ label: "Required Field",
56
+ value: "",
57
+ error: true,
58
+ size: "medium",
59
+ },
60
+ };
61
+ export var LargeSize = {
62
+ render: function (args) { return <TextFieldWrapper {...args}/>; },
63
+ args: {
64
+ id: "large-textfield",
65
+ label: "Large Input",
66
+ value: "",
67
+ size: "large",
68
+ },
69
+ };
70
+ export var SmallSize = {
71
+ render: function (args) { return <TextFieldWrapper {...args}/>; },
72
+ args: {
73
+ id: "small-textfield",
74
+ label: "Small Input",
75
+ value: "",
76
+ size: "small",
77
+ },
78
+ };
79
+ export var Multiline = {
80
+ render: function (args) { return <TextFieldWrapper {...args}/>; },
81
+ args: {
82
+ id: "multiline-textfield",
83
+ label: "Description",
84
+ value: "",
85
+ multiline: true,
86
+ maxRows: 4,
87
+ size: "medium",
88
+ },
89
+ };
90
+ export var AllSizes = {
91
+ render: function () { return (<div style={{ display: "flex", flexDirection: "column", gap: "16px", maxWidth: "300px" }}>
92
+ <TextFieldWrapper id="size-small" label="Small" size="small"/>
93
+ <TextFieldWrapper id="size-medium" label="Medium" size="medium"/>
94
+ <TextFieldWrapper id="size-large" label="Large" size="large"/>
95
+ </div>); },
96
+ };
@@ -0,0 +1,12 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import Textarea from "../components/textarea";
3
+ declare const meta: Meta<typeof Textarea>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Textarea>;
6
+ export declare const Default: Story;
7
+ export declare const WithValue: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const WithError: Story;
10
+ export declare const SmallSize: Story;
11
+ export declare const AutoExpanding: Story;
12
+ export declare const AllSizes: Story;
@@ -0,0 +1,84 @@
1
+ import React, { useState } from "react";
2
+ import Textarea from "../components/textarea";
3
+ var meta = {
4
+ title: "Components/Textarea",
5
+ component: Textarea,
6
+ argTypes: {
7
+ label: { control: "text" },
8
+ disabled: { control: "boolean" },
9
+ error: { control: "boolean" },
10
+ maxRows: { control: "number" },
11
+ size: {
12
+ control: "select",
13
+ options: ["medium", "small"],
14
+ },
15
+ },
16
+ };
17
+ export default meta;
18
+ var TextareaWrapper = function (args) {
19
+ var _a = useState(args.value || ""), value = _a[0], setValue = _a[1];
20
+ return (<Textarea {...args} value={value} onChange={function (e) { return setValue(e.target.value); }}/>);
21
+ };
22
+ export var Default = {
23
+ render: function (args) { return <TextareaWrapper {...args}/>; },
24
+ args: {
25
+ id: "default-textarea",
26
+ label: "Description",
27
+ value: "",
28
+ size: "medium",
29
+ },
30
+ };
31
+ export var WithValue = {
32
+ render: function (args) { return <TextareaWrapper {...args}/>; },
33
+ args: {
34
+ id: "with-value-textarea",
35
+ label: "Notes",
36
+ value: "This is some sample text that demonstrates the textarea component.",
37
+ size: "medium",
38
+ },
39
+ };
40
+ export var Disabled = {
41
+ render: function (args) { return <TextareaWrapper {...args}/>; },
42
+ args: {
43
+ id: "disabled-textarea",
44
+ label: "Disabled",
45
+ value: "This textarea is disabled",
46
+ disabled: true,
47
+ size: "medium",
48
+ },
49
+ };
50
+ export var WithError = {
51
+ render: function (args) { return <TextareaWrapper {...args}/>; },
52
+ args: {
53
+ id: "error-textarea",
54
+ label: "Required Field",
55
+ value: "",
56
+ error: true,
57
+ size: "medium",
58
+ },
59
+ };
60
+ export var SmallSize = {
61
+ render: function (args) { return <TextareaWrapper {...args}/>; },
62
+ args: {
63
+ id: "small-textarea",
64
+ label: "Small Textarea",
65
+ value: "",
66
+ size: "small",
67
+ },
68
+ };
69
+ export var AutoExpanding = {
70
+ render: function (args) { return <TextareaWrapper {...args}/>; },
71
+ args: {
72
+ id: "auto-expand-textarea",
73
+ label: "Type to see auto-expansion (max 6 rows)",
74
+ value: "",
75
+ maxRows: 6,
76
+ size: "medium",
77
+ },
78
+ };
79
+ export var AllSizes = {
80
+ render: function () { return (<div style={{ display: "flex", flexDirection: "column", gap: "16px", maxWidth: "300px" }}>
81
+ <TextareaWrapper id="size-small" label="Small" size="small"/>
82
+ <TextareaWrapper id="size-medium" label="Medium" size="medium"/>
83
+ </div>); },
84
+ };
@@ -0,0 +1,16 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import TimeStamp from "../components/timeStamp";
3
+ declare const meta: Meta<typeof TimeStamp>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof TimeStamp>;
6
+ export declare const AbsoluteDateAndTime: Story;
7
+ export declare const AbsoluteDateOnly: Story;
8
+ export declare const AbsoluteTimeOnly: Story;
9
+ export declare const RelativeRecent: Story;
10
+ export declare const RelativeHours: Story;
11
+ export declare const RelativeDays: Story;
12
+ export declare const RelativeWeeks: Story;
13
+ export declare const RelativeMonths: Story;
14
+ export declare const PrimaryColor: Story;
15
+ export declare const LargeSize: Story;
16
+ export declare const AllFormats: Story;
@@ -0,0 +1,140 @@
1
+ import React from "react";
2
+ import TimeStamp from "../components/timeStamp";
3
+ var meta = {
4
+ title: "Components/TimeStamp",
5
+ component: TimeStamp,
6
+ argTypes: {
7
+ dateFormat: {
8
+ control: "select",
9
+ options: ["absolute", "relative"],
10
+ },
11
+ textSize: {
12
+ control: "select",
13
+ options: ["small", "medium", "large"],
14
+ },
15
+ textColor: {
16
+ control: "select",
17
+ options: ["secondary", "primary"],
18
+ },
19
+ data: {
20
+ control: "select",
21
+ options: ["date-and-time", "date", "time"],
22
+ },
23
+ },
24
+ };
25
+ export default meta;
26
+ var now = new Date();
27
+ var oneHourAgo = new Date(now.getTime() - 60 * 60 * 1000);
28
+ var oneDayAgo = new Date(now.getTime() - 24 * 60 * 60 * 1000);
29
+ var oneWeekAgo = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
30
+ var oneMonthAgo = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
31
+ export var AbsoluteDateAndTime = {
32
+ args: {
33
+ createdAt: oneDayAgo,
34
+ dateFormat: "absolute",
35
+ textSize: "small",
36
+ textColor: "secondary",
37
+ data: "date-and-time",
38
+ },
39
+ };
40
+ export var AbsoluteDateOnly = {
41
+ args: {
42
+ createdAt: oneWeekAgo,
43
+ dateFormat: "absolute",
44
+ textSize: "small",
45
+ textColor: "secondary",
46
+ data: "date",
47
+ },
48
+ };
49
+ export var AbsoluteTimeOnly = {
50
+ args: {
51
+ createdAt: oneHourAgo,
52
+ dateFormat: "absolute",
53
+ textSize: "small",
54
+ textColor: "secondary",
55
+ data: "time",
56
+ },
57
+ };
58
+ export var RelativeRecent = {
59
+ args: {
60
+ createdAt: new Date(now.getTime() - 5 * 60 * 1000), // 5 minutes ago
61
+ dateFormat: "relative",
62
+ textSize: "small",
63
+ textColor: "secondary",
64
+ data: "date-and-time",
65
+ },
66
+ };
67
+ export var RelativeHours = {
68
+ args: {
69
+ createdAt: oneHourAgo,
70
+ dateFormat: "relative",
71
+ textSize: "small",
72
+ textColor: "secondary",
73
+ data: "date-and-time",
74
+ },
75
+ };
76
+ export var RelativeDays = {
77
+ args: {
78
+ createdAt: oneDayAgo,
79
+ dateFormat: "relative",
80
+ textSize: "small",
81
+ textColor: "secondary",
82
+ data: "date-and-time",
83
+ },
84
+ };
85
+ export var RelativeWeeks = {
86
+ args: {
87
+ createdAt: oneWeekAgo,
88
+ dateFormat: "relative",
89
+ textSize: "small",
90
+ textColor: "secondary",
91
+ data: "date-and-time",
92
+ },
93
+ };
94
+ export var RelativeMonths = {
95
+ args: {
96
+ createdAt: oneMonthAgo,
97
+ dateFormat: "relative",
98
+ textSize: "small",
99
+ textColor: "secondary",
100
+ data: "date-and-time",
101
+ },
102
+ };
103
+ export var PrimaryColor = {
104
+ args: {
105
+ createdAt: oneDayAgo,
106
+ dateFormat: "relative",
107
+ textSize: "medium",
108
+ textColor: "primary",
109
+ data: "date-and-time",
110
+ },
111
+ };
112
+ export var LargeSize = {
113
+ args: {
114
+ createdAt: oneDayAgo,
115
+ dateFormat: "absolute",
116
+ textSize: "large",
117
+ textColor: "primary",
118
+ data: "date-and-time",
119
+ },
120
+ };
121
+ export var AllFormats = {
122
+ render: function () { return (<div style={{ display: "flex", flexDirection: "column", gap: "8px" }}>
123
+ <div>
124
+ <strong>Absolute - Date and Time:</strong>
125
+ <TimeStamp createdAt={oneDayAgo} dateFormat="absolute" data="date-and-time"/>
126
+ </div>
127
+ <div>
128
+ <strong>Absolute - Date only:</strong>
129
+ <TimeStamp createdAt={oneDayAgo} dateFormat="absolute" data="date"/>
130
+ </div>
131
+ <div>
132
+ <strong>Absolute - Time only:</strong>
133
+ <TimeStamp createdAt={oneHourAgo} dateFormat="absolute" data="time"/>
134
+ </div>
135
+ <div>
136
+ <strong>Relative:</strong>
137
+ <TimeStamp createdAt={oneDayAgo} dateFormat="relative" data="date-and-time"/>
138
+ </div>
139
+ </div>); },
140
+ };
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import Tooltip from "../components/tooltip";
3
+ declare const meta: Meta<typeof Tooltip>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Tooltip>;
6
+ export declare const Default: Story;
7
+ export declare const OnIconButton: Story;
8
+ export declare const LongText: Story;
9
+ export declare const MultipleTooltips: Story;