datastake-daf 0.6.747 → 0.6.748

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "datastake-daf",
3
- "version": "0.6.747",
3
+ "version": "0.6.748",
4
4
  "dependencies": {
5
5
  "@ant-design/icons": "^5.2.5",
6
6
  "@antv/g2": "^5.1.1",
@@ -0,0 +1,252 @@
1
+ import ThemeLayout from "../../../ThemeLayout";
2
+ import ActivityIndicators from "./index";
3
+ import DashboardLayout from "../../DashboardLayout/index.jsx";
4
+ import Widget from "../index.jsx";
5
+
6
+ export default {
7
+ title: "Dashboard/Widgets/ActivityIndicators",
8
+ component: ActivityIndicators,
9
+ tags: ["autodocs"],
10
+ args: {
11
+ title: "Activity Indicators",
12
+ },
13
+ decorators: [
14
+ (Story) => (
15
+ <ThemeLayout>
16
+ <Story />
17
+ </ThemeLayout>
18
+ ),
19
+ ],
20
+ };
21
+
22
+ // Helper function to create translation function
23
+ const t = (key) => {
24
+ const translations = {
25
+ "Activity Indicators": "Activity Indicators",
26
+ "Aid kit availability": "Aid kit availability",
27
+ "H&S training delivery": "H&S training delivery",
28
+ "Workers safe pairing": "Workers safe pairing",
29
+ "Children presence": "Children presence",
30
+ "Security presence": "Security presence",
31
+ "Relay presence": "Relay presence",
32
+ };
33
+ return translations[key] || key;
34
+ };
35
+
36
+ export const Primary = {
37
+ name: "ActivityIndicators - All States",
38
+ render: (args) => {
39
+ // Example: Simple config array - just icon, label, and type
40
+ const config = [
41
+ { icon: "Package", label: "Aid kit availability", type: "compliant" },
42
+ { icon: "SchoolHat", label: "H&S training delivery", type: "compliant" },
43
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "notCompliant" },
44
+ { icon: "User", label: "Children presence", type: "compliant" },
45
+ { icon: "Lock", label: "Security presence", type: "empty" },
46
+ { icon: "Refresh05", label: "Relay presence", type: "compliant" },
47
+ ];
48
+
49
+ return (
50
+ <ActivityIndicators
51
+ {...args}
52
+ config={config}
53
+ />
54
+ );
55
+ },
56
+ };
57
+
58
+ export const AllCompliant = {
59
+ name: "All Compliant",
60
+ render: (args) => {
61
+ const config = [
62
+ { icon: "Package", label: "Aid kit availability", type: "compliant" },
63
+ { icon: "SchoolHat", label: "H&S training delivery", type: "compliant" },
64
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "compliant" },
65
+ { icon: "User", label: "Children presence", type: "compliant" },
66
+ { icon: "Lock", label: "Security presence", type: "compliant" },
67
+ { icon: "Refresh05", label: "Relay presence", type: "compliant" },
68
+ ];
69
+
70
+ return (
71
+ <ActivityIndicators
72
+ {...args}
73
+ config={config}
74
+ />
75
+ );
76
+ },
77
+ };
78
+
79
+ export const FilterCompliant = {
80
+ name: "Filter - If Compliant",
81
+ render: (args) => {
82
+ const config = [
83
+ { icon: "Package", label: "Aid kit availability", type: "compliant" },
84
+ { icon: "SchoolHat", label: "H&S training delivery", type: "compliant" },
85
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "notCompliant" },
86
+ { icon: "User", label: "Children presence", type: "compliant" },
87
+ { icon: "Lock", label: "Security presence", type: "empty" },
88
+ { icon: "Refresh05", label: "Relay presence", type: "compliant" },
89
+ ];
90
+
91
+ return (
92
+ <ActivityIndicators
93
+ {...args}
94
+ config={config}
95
+ filterMode="compliant"
96
+ />
97
+ );
98
+ },
99
+ };
100
+
101
+ export const FilterNotCompliant = {
102
+ name: "Filter - If Not Compliant",
103
+ render: (args) => {
104
+ const config = [
105
+ { icon: "Package", label: "Aid kit availability", type: "compliant" },
106
+ { icon: "SchoolHat", label: "H&S training delivery", type: "notCompliant" },
107
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "notCompliant" },
108
+ { icon: "User", label: "Children presence", type: "notCompliant" },
109
+ { icon: "Lock", label: "Security presence", type: "notCompliant" },
110
+ { icon: "Refresh05", label: "Relay presence", type: "compliant" },
111
+ ];
112
+
113
+ return (
114
+ <ActivityIndicators
115
+ {...args}
116
+ config={config}
117
+ filterMode="notCompliant"
118
+ />
119
+ );
120
+ },
121
+ };
122
+
123
+ export const EmptyState = {
124
+ name: "Empty State - Information Not Provided",
125
+ render: (args) => {
126
+ const handleRemove = (field) => {
127
+ console.log(`Remove ${field}`);
128
+ };
129
+
130
+ const config = [
131
+ { icon: "Package", label: "Aid kit availability", type: "empty", onClick: () => handleRemove("aidKitAvailability") },
132
+ { icon: "SchoolHat", label: "H&S training delivery", type: "empty", onClick: () => handleRemove("hsTrainingDelivery") },
133
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "empty", onClick: () => handleRemove("workersSafePairing") },
134
+ { icon: "User", label: "Children presence", type: "empty", onClick: () => handleRemove("childrenPresence") },
135
+ { icon: "Lock", label: "Security presence", type: "empty", onClick: () => handleRemove("securityPresence") },
136
+ { icon: "Refresh05", label: "Relay presence", type: "empty", onClick: () => handleRemove("relayPresence") },
137
+ ];
138
+
139
+ return (
140
+ <ActivityIndicators
141
+ {...args}
142
+ config={config}
143
+ filterMode="empty"
144
+ />
145
+ );
146
+ },
147
+ };
148
+
149
+ export const MixedStates = {
150
+ name: "Mixed States",
151
+ render: (args) => {
152
+ const config = [
153
+ { icon: "Package", label: "Aid kit availability", type: "compliant" },
154
+ { icon: "SchoolHat", label: "H&S training delivery", type: "notCompliant" },
155
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "empty" },
156
+ { icon: "User", label: "Children presence", type: "compliant" },
157
+ { icon: "Lock", label: "Security presence", type: "compliant" },
158
+ { icon: "Refresh05", label: "Relay presence", type: "empty" },
159
+ ];
160
+
161
+ return (
162
+ <ActivityIndicators
163
+ {...args}
164
+ config={config}
165
+ />
166
+ );
167
+ },
168
+ };
169
+
170
+ export const InDashboard = {
171
+ name: "In Dashboard Layout",
172
+ render: (args) => {
173
+ const config = [
174
+ { icon: "Package", label: "Aid kit availability", type: "compliant" },
175
+ { icon: "SchoolHat", label: "H&S training delivery", type: "compliant" },
176
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "notCompliant" },
177
+ { icon: "User", label: "Children presence", type: "compliant" },
178
+ { icon: "Lock", label: "Security presence", type: "empty" },
179
+ { icon: "Refresh05", label: "Relay presence", type: "compliant" },
180
+ ];
181
+
182
+ return (
183
+ <DashboardLayout>
184
+ <section>
185
+ <Widget>
186
+ <div
187
+ style={{
188
+ height: "500px",
189
+ backgroundColor: "#f0f0f0",
190
+ display: "flex",
191
+ alignItems: "center",
192
+ justifyContent: "center",
193
+ }}
194
+ >
195
+ Placeholder
196
+ </div>
197
+ </Widget>
198
+ <ActivityIndicators {...args} config={config} />
199
+ </section>
200
+ </DashboardLayout>
201
+ );
202
+ },
203
+ };
204
+
205
+ export const SmallContent = {
206
+ name: "Small Content",
207
+ args: {
208
+ className: "small-content",
209
+ },
210
+ render: (args) => {
211
+ const config = [
212
+ { icon: "Package", label: "Aid kit availability", type: "compliant" },
213
+ { icon: "SchoolHat", label: "H&S training delivery", type: "compliant" },
214
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "notCompliant" },
215
+ { icon: "User", label: "Children presence", type: "compliant" },
216
+ { icon: "Lock", label: "Security presence", type: "empty" },
217
+ { icon: "Refresh05", label: "Relay presence", type: "compliant" },
218
+ ];
219
+
220
+ return (
221
+ <ActivityIndicators
222
+ {...args}
223
+ config={config}
224
+ />
225
+ );
226
+ },
227
+ };
228
+
229
+ export const NoMinWidth = {
230
+ name: "No Min Width",
231
+ args: {
232
+ noMinWidth: true,
233
+ className: "small-content",
234
+ },
235
+ render: (args) => {
236
+ const config = [
237
+ { icon: "Package", label: "Aid kit availability", type: "compliant" },
238
+ { icon: "SchoolHat", label: "H&S training delivery", type: "compliant" },
239
+ { icon: "UsersCheck", label: "Workers safe pairing", type: "notCompliant" },
240
+ { icon: "User", label: "Children presence", type: "compliant" },
241
+ { icon: "Lock", label: "Security presence", type: "empty" },
242
+ { icon: "Refresh05", label: "Relay presence", type: "compliant" },
243
+ ];
244
+
245
+ return (
246
+ <ActivityIndicators
247
+ {...args}
248
+ config={config}
249
+ />
250
+ );
251
+ },
252
+ };
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Example helper function to create activity indicators config
3
+ *
4
+ * This is just an example - you can create your own config array directly.
5
+ * Each config item should have:
6
+ * - icon: string - Icon name for CustomIcon component
7
+ * - label: string - Display text
8
+ * - type: "empty" | "compliant" | "notCompliant" - determines which badge to show
9
+ * - onClick: function (optional) - Callback for empty type indicators
10
+ *
11
+ * @example
12
+ * const config = [
13
+ * { icon: "Package", label: "Aid kit availability", type: "compliant" },
14
+ * { icon: "SchoolHat", label: "H&S training delivery", type: "notCompliant" },
15
+ * { icon: "UsersCheck", label: "Workers safe pairing", type: "empty", onClick: () => console.log("remove") },
16
+ * ];
17
+ */
18
+ export const getActivityIndicatorsConfig = ({ t, data = {}, onRemove }) => {
19
+ // Helper to map data value to type
20
+ const getType = (value) => {
21
+ if (value === true) return "compliant";
22
+ if (value === false) return "notCompliant";
23
+ if (value === null || value === undefined) return "empty";
24
+ return "empty"; // default
25
+ };
26
+
27
+ // Helper to create onClick for empty type
28
+ const getOnClick = (field) => {
29
+ if (onRemove && (data?.[field] === null || data?.[field] === undefined)) {
30
+ return () => onRemove(field);
31
+ }
32
+ return undefined;
33
+ };
34
+
35
+ return [
36
+ {
37
+ icon: "Package",
38
+ label: t("Aid kit availability"),
39
+ type: getType(data?.aidKitAvailability),
40
+ onClick: getOnClick("aidKitAvailability"),
41
+ },
42
+ {
43
+ icon: "SchoolHat",
44
+ label: t("H&S training delivery"),
45
+ type: getType(data?.hsTrainingDelivery),
46
+ onClick: getOnClick("hsTrainingDelivery"),
47
+ },
48
+ {
49
+ icon: "UsersCheck",
50
+ label: t("Workers safe pairing"),
51
+ type: getType(data?.workersSafePairing),
52
+ onClick: getOnClick("workersSafePairing"),
53
+ },
54
+ {
55
+ icon: "User",
56
+ label: t("Children presence"),
57
+ // Special rule: Children presence is compliant if answered 'no', not compliant if answered 'yes'
58
+ type: data?.childrenPresence === true ? "notCompliant" :
59
+ data?.childrenPresence === false ? "compliant" :
60
+ "empty",
61
+ onClick: getOnClick("childrenPresence"),
62
+ },
63
+ {
64
+ icon: "Lock",
65
+ label: t("Security presence"),
66
+ type: getType(data?.securityPresence),
67
+ onClick: getOnClick("securityPresence"),
68
+ },
69
+ {
70
+ icon: "Refresh05",
71
+ label: t("Relay presence"),
72
+ type: getType(data?.relayPresence),
73
+ onClick: getOnClick("relayPresence"),
74
+ },
75
+ ];
76
+ };
@@ -0,0 +1,184 @@
1
+ import React from "react";
2
+ import Style, { NoMinWidth } from "./style";
3
+ import Widget from "../index.jsx";
4
+ import { formatClassname } from "../../../../../../helpers/ClassesHelper";
5
+ import { Tooltip } from "antd";
6
+ import CustomIcon from "../../../Icon/CustomIcon.jsx";
7
+ import styled from "styled-components";
8
+
9
+ /**
10
+ * ActivityIndicatorsWidget Component
11
+ *
12
+ * Displays activity indicators in a 2-column grid layout with status badges.
13
+ *
14
+ * @param {Function} t - Translation function (default: identity function)
15
+ * @param {string} className - Additional CSS classes
16
+ * @param {Array} config - Array of indicator config objects: { icon, label, type, onClick?, statusIcon? }
17
+ * - icon: Icon name for CustomIcon component (left side icon)
18
+ * - label: Display text for the indicator
19
+ * - type: "empty" | "compliant" | "notCompliant" - determines which badge to show
20
+ * - onClick: Optional callback for empty type indicators (for remove functionality)
21
+ * - statusIcon: Optional custom icon name for status badge (overrides default Check/Close icons)
22
+ * @param {boolean} loading - Loading state
23
+ * @param {string} widgetClassName - Additional CSS classes for widget wrapper
24
+ * @param {boolean} withTooltip - Show tooltips on labels
25
+ * @param {string} title - Widget title (default: "Activity Indicators")
26
+ * @param {boolean} noMinWidth - Remove minimum width constraint
27
+ * @param {ReactNode} children - Additional content to render
28
+ * @param {boolean} noTitle - Hide the widget title
29
+ * @param {string} filterMode - Filter indicators by type: "all" | "compliant" | "notCompliant" | "empty"
30
+ */
31
+ export default function ActivityIndicatorsWidget({
32
+ t = (s) => s,
33
+ className,
34
+ config = [],
35
+ loading = false,
36
+ widgetClassName,
37
+ withTooltip = false,
38
+ title = "Activity Indicators",
39
+ noMinWidth = false,
40
+ children,
41
+ noTitle = false,
42
+ filterMode = "all", // "all" | "compliant" | "notCompliant" | "empty"
43
+ }) {
44
+ // Filter indicators based on filterMode
45
+ const filteredConfig = React.useMemo(() => {
46
+ if (filterMode === "all") return config;
47
+ return config.filter((c) => c.type === filterMode);
48
+ }, [config, filterMode]);
49
+
50
+ const component = (
51
+ <Widget
52
+ loading={loading}
53
+ className={formatClassname(["flex-1 with-border-header h-w-btn-header no-p-body", widgetClassName])}
54
+ title={noTitle ? undefined : t(title)}
55
+ noTitle={noTitle}
56
+ >
57
+ {children}
58
+ <Style className={formatClassname(["activity-indicators-grid", className])}>
59
+ {filteredConfig.map((c, i) => (
60
+ <div className="indicator-item" key={`activity-indicator-${i}`}>
61
+ <div className="indicator-content">
62
+ {c.icon && (
63
+ <div className="indicator-icon">
64
+ <CustomIcon
65
+ name={c.icon}
66
+ width={20}
67
+ height={20}
68
+ fill="none"
69
+ color="#00AEB1"
70
+ />
71
+ </div>
72
+ )}
73
+ <Label label={c.label} withTooltip={withTooltip} />
74
+ </div>
75
+ <div className="indicator-status">
76
+ {renderStatus(c)}
77
+ </div>
78
+
79
+ </div>
80
+
81
+ ))}
82
+ </Style>
83
+ </Widget>
84
+ );
85
+
86
+ if (noMinWidth) {
87
+ return <NoMinWidth>{component}</NoMinWidth>;
88
+ }
89
+ return component;
90
+ }
91
+
92
+ function Label({ label, withTooltip }) {
93
+ if (withTooltip) {
94
+ return (
95
+ <Tooltip title={label} placement="topLeft">
96
+ <h4>{label}</h4>
97
+ </Tooltip>
98
+ );
99
+ }
100
+ return <h4>{label}</h4>;
101
+ }
102
+
103
+ /**
104
+ * Renders the status badge based on the indicator type
105
+ *
106
+ * @param {Object} configItem - Indicator config object with type and optional onClick
107
+ * @param {string} configItem.type - "empty" | "compliant" | "notCompliant"
108
+ * @param {Function} configItem.onClick - Optional callback for empty type
109
+ * @param {string} configItem.statusIcon - Optional custom icon name for status badge (overrides default)
110
+ */
111
+ function renderStatus(configItem) {
112
+ const { type, onClick, statusIcon } = configItem;
113
+
114
+ switch (type) {
115
+ case "empty":
116
+ return (
117
+ <StatusBadge className="status-badge empty border">
118
+ <CustomIcon name="Minus" width={12} height={12} color="#6C737F" />
119
+ </StatusBadge>
120
+
121
+ );
122
+
123
+ case "compliant":
124
+ return (
125
+ <StatusBadge className="status-badge compliant border">
126
+ <CustomIcon
127
+ name={statusIcon || "Check"}
128
+ width={14}
129
+ height={14}
130
+ color="#12B76A"
131
+ />
132
+ </StatusBadge>
133
+ );
134
+
135
+ case "notCompliant":
136
+ return (
137
+ <StatusBadge className="status-badge not-compliant border">
138
+ <CustomIcon
139
+ name={statusIcon || "Close"}
140
+ width={14}
141
+ height={14}
142
+ color="#D92D20"
143
+ />
144
+ </StatusBadge>
145
+ );
146
+
147
+ default:
148
+ // Fallback to neutral state if type is not recognized
149
+ return (
150
+ <StatusBadge className="status-badge neutral border">
151
+ <span className="dash">—</span>
152
+ </StatusBadge>
153
+ );
154
+ }
155
+ }
156
+
157
+ const StatusBadge = styled.div`
158
+ width: 24px;
159
+ height: 24px;
160
+ border-radius: 50%;
161
+ display: flex;
162
+ align-items: center;
163
+ justify-content: center;
164
+ flex-shrink: 0;
165
+
166
+ &.compliant {
167
+ background-color: #ECFDF3;
168
+ border: 1px solid #A7F3D0;
169
+ }
170
+
171
+ &.not-compliant {
172
+ background-color: #FEF3F2;
173
+ border: 1px solid #FECACA;
174
+ }
175
+
176
+ &.empty {
177
+ background-color: #F9FAFB;
178
+ border: 1px solid #E5E7EB;
179
+ }
180
+ `;
181
+
182
+
183
+
184
+ ActivityIndicatorsWidget.displayName = "ActivityIndicatorsWidget";
@@ -0,0 +1,119 @@
1
+ import styled from "styled-components";
2
+ import { MOBILE_WIDTH } from "../../../../../../constants/Style.js";
3
+
4
+ const Style = styled.div`
5
+ display: grid;
6
+ grid-template-columns: 1fr 1fr;
7
+ gap: 0;
8
+
9
+ @media (${MOBILE_WIDTH}) {
10
+ grid-template-columns: 1fr;
11
+ }
12
+
13
+ .indicator-item {
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: space-between;
17
+ padding: var(--size-lg) var(--size-lg);
18
+ position: relative;
19
+
20
+ /* Remove any vertical borders */
21
+ border-right: none;
22
+ border-left: none;
23
+ border-bottom: none;
24
+
25
+ /* Add separator line for each item (except items in the last row) */
26
+ /* Items 1-4 (rows 1 and 2) get separator, items 5-6 (last row) don't */
27
+ &:nth-child(1),
28
+ &:nth-child(2),
29
+ &:nth-child(3),
30
+ &:nth-child(4) {
31
+ &::after {
32
+ content: '';
33
+ position: absolute;
34
+ bottom: 0;
35
+ left: var(--size-lg);
36
+ right: var(--size-lg);
37
+ height: 1px;
38
+ background-color: var(--border-color, #E5E7EB);
39
+ }
40
+ }
41
+
42
+ @media (${MOBILE_WIDTH}) {
43
+ /* On mobile, all items except last get separator */
44
+ &:not(:last-child) {
45
+ &::after {
46
+ content: '';
47
+ position: absolute;
48
+ bottom: 0;
49
+ left: var(--size-lg);
50
+ right: var(--size-lg);
51
+ height: 1px;
52
+ background-color: var(--border-color, #E5E7EB);
53
+ }
54
+ }
55
+
56
+ &:last-child::after {
57
+ display: none;
58
+ }
59
+ }
60
+
61
+ .indicator-content {
62
+ display: flex;
63
+ align-items: center;
64
+ gap: var(--size);
65
+ flex: 1;
66
+ }
67
+
68
+ .indicator-icon {
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+ flex-shrink: 0;
73
+ }
74
+
75
+ h4 {
76
+ font-size: 14px;
77
+ font-weight: 500;
78
+ color: var(--base-gray-70);
79
+ margin: 0;
80
+ }
81
+
82
+ .indicator-status {
83
+ display: flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ margin-left: var(--size);
87
+
88
+ &.border {
89
+ border: 2px solid #000000;
90
+ border-radius: 50%;
91
+ }
92
+ }
93
+ }
94
+
95
+ &.small-content {
96
+ .indicator-item {
97
+ h4 {
98
+ font-size: 13px;
99
+ }
100
+ }
101
+ }
102
+ `;
103
+
104
+ export const NoMinWidth = styled.div`
105
+ .indicator-item {
106
+ min-width: 0px !important;
107
+ overflow: hidden !important;
108
+
109
+ h4 {
110
+ white-space: nowrap;
111
+ overflow: hidden;
112
+ text-overflow: ellipsis;
113
+ display: block;
114
+ max-width: 100%;
115
+ }
116
+ }
117
+ `;
118
+
119
+ export default Style;
@@ -0,0 +1,10 @@
1
+
2
+ const config = {
3
+ viewBox: '0 0 19 19',
4
+ children: (<>
5
+ <path d="M9.08333 17.4167C13.6857 17.4167 17.4167 13.6857 17.4167 9.08333C17.4167 4.48096 13.6857 0.75 9.08333 0.75C4.48096 0.75 0.75 4.48096 0.75 9.08333C0.75 13.6857 4.48096 17.4167 9.08333 17.4167Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
6
+ <path d="M10.6111 5.16667C10.6111 4.93331 10.6111 4.81663 10.5657 4.7275C10.5258 4.6491 10.462 4.58536 10.3836 4.54541C10.2945 4.5 10.1778 4.5 9.94444 4.5H8.22222C7.98887 4.5 7.87219 4.5 7.78306 4.54541C7.70466 4.58536 7.64092 4.6491 7.60097 4.7275C7.55556 4.81663 7.55556 4.93331 7.55556 5.16667V6.88889C7.55556 7.12224 7.55556 7.23892 7.51014 7.32805C7.47019 7.40645 7.40645 7.47019 7.32805 7.51014C7.23892 7.55556 7.12224 7.55555 6.88889 7.55555H5.16667C4.93331 7.55555 4.81663 7.55555 4.7275 7.60097C4.6491 7.64092 4.58536 7.70466 4.54541 7.78306C4.5 7.87219 4.5 7.98887 4.5 8.22222V9.94444C4.5 10.1778 4.5 10.2945 4.54541 10.3836C4.58536 10.462 4.6491 10.5258 4.7275 10.5657C4.81663 10.6111 4.93331 10.6111 5.16667 10.6111H6.88889C7.12224 10.6111 7.23892 10.6111 7.32805 10.6565C7.40645 10.6965 7.47019 10.7602 7.51014 10.8386C7.55556 10.9277 7.55556 11.0444 7.55556 11.2778V13C7.55556 13.2334 7.55556 13.35 7.60097 13.4392C7.64092 13.5176 7.70466 13.5813 7.78306 13.6213C7.87219 13.6667 7.98887 13.6667 8.22222 13.6667H9.94444C10.1778 13.6667 10.2945 13.6667 10.3836 13.6213C10.462 13.5813 10.5258 13.5176 10.5657 13.4392C10.6111 13.35 10.6111 13.2334 10.6111 13V11.2778C10.6111 11.0444 10.6111 10.9277 10.6565 10.8386C10.6965 10.7602 10.7602 10.6965 10.8386 10.6565C10.9277 10.6111 11.0444 10.6111 11.2778 10.6111H13C13.2334 10.6111 13.35 10.6111 13.4392 10.5657C13.5176 10.5258 13.5813 10.462 13.6213 10.3836C13.6667 10.2945 13.6667 10.1778 13.6667 9.94444V8.22222C13.6667 7.98887 13.6667 7.87219 13.6213 7.78306C13.5813 7.70466 13.5176 7.64092 13.4392 7.60097C13.35 7.55556 13.2334 7.55556 13 7.55556H11.2778C11.0444 7.55556 10.9277 7.55556 10.8386 7.51014C10.7602 7.47019 10.6965 7.40645 10.6565 7.32805C10.6111 7.23892 10.6111 7.12224 10.6111 6.88889V5.16667Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
7
+ </>),
8
+ }
9
+
10
+ export default config;
@@ -0,0 +1,8 @@
1
+ const config = {
2
+ viewBox: "0 0 17 20",
3
+ children: (<>
4
+ <path d="M3.46773 8.5735C3.65759 8.95633 3.89137 9.31352 4.16249 9.63848C4.42785 9.95654 4.72897 10.2437 5.05968 10.4938M3.46773 8.5735C3.10842 7.84897 2.90642 7.03259 2.90642 6.16903C2.90642 3.17618 5.33261 0.75 8.32545 0.75C11.3183 0.75 13.7445 3.17618 13.7445 6.16903C13.7445 9.16188 11.3183 11.5881 8.32545 11.5881C7.09906 11.5881 5.96782 11.1807 5.05968 10.4938M3.46773 8.5735C2.1805 9.23585 1.12712 10.6805 0.832403 12.495C0.77975 12.8191 0.752961 13.14 0.750244 13.4542L0.753152 13.526C0.753152 14.664 1.51958 16.6207 2.55727 16.9305M5.05968 10.4938L4.27015 13.4435M5.09557 1.81194C4.74058 1.59365 4.32269 1.46775 3.87539 1.46775C2.58708 1.46775 1.54269 2.51214 1.54269 3.80045C1.54269 4.74305 2.10178 5.55507 2.90642 5.923M11.5912 1.81194C11.9462 1.59365 12.3641 1.46775 12.8114 1.46775C14.0997 1.46775 15.1441 2.51214 15.1441 3.80045C15.1441 4.74305 14.585 5.55507 13.7804 5.923M14.3905 15.8897C14.3905 17.2771 13.2657 18.4019 11.8783 18.4019C10.4909 18.4019 9.3662 17.2771 9.3662 15.8897C9.3662 14.5023 10.4909 13.3776 11.8783 13.3776C13.2657 13.3776 14.3905 14.5023 14.3905 15.8897ZM14.3905 15.8897C14.3905 14.6999 13.5273 13.6951 12.4166 13.4354L11.5912 10.4938C11.9219 10.2437 12.223 9.95655 12.4884 9.6385C12.7595 9.31354 13.0094 8.92353 13.1993 8.5407C14.4865 9.20304 15.5534 10.6805 15.8481 12.495C15.9007 12.8191 15.9275 13.14 15.9302 13.4542L15.9273 13.526C15.9273 14.664 15.2031 16.6207 14.1654 16.9305C14.3099 16.6134 14.3905 16.2609 14.3905 15.8897ZM5.84921 18.1939C6.6542 18.3306 7.48151 18.4019 8.32545 18.4019C9.1694 18.4019 9.99671 18.3306 10.8017 18.1939M4.27015 13.4435C3.15944 13.7032 2.33222 14.6999 2.33222 15.8897C2.33222 16.2609 2.41274 16.6134 2.55727 16.9305M4.27015 13.4435C4.45457 13.4004 4.6468 13.3776 4.84436 13.3776C6.23177 13.3776 7.35649 14.5023 7.35649 15.8897C7.35649 17.2771 6.23177 18.4019 4.84436 18.4019C3.82817 18.4019 2.9529 17.7985 2.55727 16.9305" stroke="currentColor" strokeWidth="1.5" />
5
+ </>),
6
+ }
7
+
8
+ export default config;
@@ -0,0 +1,10 @@
1
+ const config = {
2
+ viewBox: "0 0 10 2",
3
+ children: (
4
+ <path d="M0.875 0.875H9.04167" stroke="#6C737F" strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round"/>
5
+
6
+ ),
7
+ }
8
+
9
+ export default config;
10
+
@@ -0,0 +1,12 @@
1
+
2
+
3
+ const config = {
4
+ viewBox: '0 0 15 18',
5
+ children: (<>
6
+ <path d="M7.41691 1.11V16.9433M14.0836 9.02667C14.0836 13.117 9.62194 16.092 7.99857 17.0391C7.81408 17.1467 7.72183 17.2005 7.59164 17.2284C7.49061 17.2501 7.34321 17.2501 7.24218 17.2284C7.11199 17.2005 7.01974 17.1467 6.83525 17.0391C5.21188 16.092 0.750244 13.117 0.750244 9.02667V5.04133C0.750244 4.37507 0.750244 4.04194 0.859211 3.75559C0.955473 3.50262 1.1119 3.2769 1.31496 3.09794C1.54482 2.89537 1.85674 2.7784 2.48058 2.54446L6.94875 0.868895C7.12199 0.803927 7.20862 0.771444 7.29773 0.758566C7.37677 0.747145 7.45705 0.747145 7.53609 0.758566C7.62521 0.771444 7.71183 0.803927 7.88507 0.868895L12.3532 2.54446C12.9771 2.7784 13.289 2.89537 13.5189 3.09794C13.7219 3.2769 13.8783 3.50262 13.9746 3.75559C14.0836 4.04194 14.0836 4.37507 14.0836 5.04133V9.02667Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round"/>
7
+ </>),
8
+ }
9
+
10
+ export default config;
11
+
12
+