newron-ui 1.0.37 → 1.0.39

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/README.md CHANGED
@@ -1,330 +1,330 @@
1
- # Newron UI Library
2
-
3
- This is the Newron UI Library, a collection of React components built with Tailwind CSS for creating beautiful and responsive user interfaces.
4
-
5
- ## Installation
6
-
7
- To use the Newron UI Library in your React projects, you can install it via npm:
8
-
9
- ```bash
10
- npm install newron-ui --save
11
- ```
12
-
13
- ## Locally Running the Library and Setup
14
-
15
- **Run This in Both App where you want use and also Newron-ui-lib**
16
-
17
- ```bash
18
- npm link
19
- ```
20
-
21
- ## Usage
22
-
23
- Import the components you need from the library in your React application and use them in your UI:
24
-
25
- ```jsx
26
- import React from "react";
27
- import {
28
- Button,
29
- Card,
30
- Input,
31
- Dropdown,
32
- Select,
33
- SearchBar,
34
- ResponsiveLayoutWrapper,
35
- Datalist,
36
- DynamicForm,
37
- } from "newron-ui-lib";
38
-
39
- const App = () => {
40
- return (
41
- <ResponsiveLayoutWrapper>
42
- {/* Use the components here */}
43
- <Card title="Sample Card" content="This is a sample card component." />
44
- <Button variant="primary" size="lg">
45
- Click Me
46
- </Button>
47
- <Input type="text" placeholder="Enter text..." />
48
- <Dropdown options={["Option 1", "Option 2", "Option 3"]} />
49
- <Select options={["Option 1", "Option 2", "Option 3"]} />
50
- <SearchBar onSearch={(searchText) => console.log(searchText)} />
51
- <Datalist
52
- options={["Option 1", "Option 2", "Option 3"]}
53
- onSelect={(option) => console.log(option)}
54
- />
55
- <DynamicForm
56
- initialValues={initialValues}
57
- validationSchema={validationSchema}
58
- fields={fields}
59
- />
60
- </ResponsiveLayoutWrapper>
61
- );
62
- };
63
-
64
- export default App;
65
- ```
66
-
67
- ## Components
68
-
69
- Here are the components available in the Newron UI Library:
70
-
71
- | Component | Props | Description |
72
- | ------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
73
- | `Button` | `variant`: String, `size`: String, `className`: String | A customizable button component with various styles. |
74
- | `Card` | `title`: String, `content`: String | A card component to display content with a title. |
75
- | `Input` | `label`: String, `field`: Object, `form`: Object, rest: Props | An input component to accept user input. |
76
- | `Dropdown` | `options`: Array of Strings | A dropdown component to display a list of options. |
77
- | `Select` | `options`: Array of Strings | A select component to display a dropdown-style select element. |
78
- | `SearchBar` | `onSearch`: Function | A search bar component to input search text and trigger search action. |
79
- | `ResponsiveLayoutWrapper` | None | A wrapper component to create a responsive layout for your components. |
80
- | `Datalist` | `options`: Array of Strings, `onSelect`: Function | A datalist component to search and select data. |
81
- | `DynamicForm` | `initialValues`: Object, `validationSchema`: Yup.Schema, `fields`: Array | A dynamic form component to generate form fields dynamically. |
82
-
83
- ### Button
84
-
85
- A customizable button component with various styles.
86
-
87
- Props:
88
-
89
- - `variant`: The variant of the button. Available options are "primary" (default), "secondary", "success", and "danger".
90
- - `size`: The size of the button. Available options are "sm" (small), "md" (medium, default), "lg" (large), and "xl" (extra large).
91
- - `className`: Additional CSS class names to apply to the button.
92
-
93
- Usage Example:
94
-
95
- ```jsx
96
- import React from "react";
97
- import { Button } from "newron-ui-lib";
98
-
99
- const MyComponent = () => {
100
- return (
101
- <Button variant="primary" size="lg">
102
- Click Me
103
- </Button>
104
- );
105
- };
106
- ```
107
-
108
- ### Card
109
-
110
- A card component to display content with a title and content section.
111
-
112
- Props:
113
-
114
- - `title`: The title of the card. (required)
115
- - `content`: The content of the card. (required)
116
-
117
- Usage Example:
118
-
119
- ```jsx
120
- import React from "react";
121
- import { Card } from "newron-ui-lib";
122
-
123
- const MyComponent = () => {
124
- return (
125
- <Card title="Sample Card" content="This is a sample card component." />
126
- );
127
- };
128
- ```
129
-
130
- ### Input
131
-
132
- An input component to accept user input.
133
-
134
- Props:
135
-
136
- - `label`: The label for the input field.
137
- - `field`: The field object from Formik.
138
- - `form`: The form object from Formik.
139
- - `variant`: The variant of the input field. Available options are "outline" (default), "filled", and "underline".
140
- - `size`: The size of the input field. Available options are "small", "medium" (default), and "large".
141
- - `responsive`: Whether to apply responsive styles to the input field.
142
-
143
- Usage Example:
144
-
145
- ```jsx
146
- import React from "react";
147
- import { Input } from "newron-ui-lib";
148
-
149
- const MyComponent = () => {
150
- return (
151
- <Input
152
- label="Username:"
153
- field={field}
154
- form={form}
155
- variant="outlined"
156
- size="small"
157
- />
158
- );
159
- };
160
- ```
161
-
162
- ### Dropdown
163
-
164
- A dropdown component to display a list of options.
165
-
166
- Props:
167
-
168
- - `options`: An array of options to be displayed in the dropdown. (required)
169
-
170
- Usage Example:
171
-
172
- ```jsx
173
- import React from "react";
174
- import { Dropdown } from "newron-ui-lib";
175
-
176
- const MyComponent = () => {
177
- return <Dropdown options={["Option 1", "Option 2", "Option 3"]} />;
178
- };
179
- ```
180
-
181
- ### Select
182
-
183
- A select component to display a dropdown-style select element.
184
-
185
- Props:
186
-
187
- - `options`: An array of options to be displayed in the select. (required)
188
-
189
- Usage Example:
190
-
191
- ```jsx
192
- import React from "react";
193
- import { Select } from "newron-ui-lib";
194
-
195
- const MyComponent = () => {
196
- return <Select options={["Option 1", "Option 2", "Option 3"]} />;
197
- };
198
- ```
199
-
200
- ### SearchBar
201
-
202
- A search bar component to input search text and trigger search action.
203
-
204
- Props:
205
-
206
- - `onSearch`: A function that will be called when the user performs a search. The search text is passed as an argument to this function. (required)
207
-
208
- Usage Example:
209
-
210
- ```jsx
211
- import React from "react";
212
- import { SearchBar } from "newron-ui-lib";
213
-
214
- const MyComponent = () => {
215
- const handleSearch = (searchText) => {
216
- console.log("Searching for:", searchText);
217
- // Perform the search action here
218
- };
219
-
220
- return <SearchBar onSearch={handleSearch} />;
221
- };
222
- ```
223
-
224
- ### ResponsiveLayoutWrapper
225
-
226
- A wrapper component to create a responsive layout for your components.
227
-
228
- Usage Example:
229
-
230
- ```jsx
231
- import React from "react";
232
- import { ResponsiveLayoutWrapper } from "newron-ui-lib";
233
-
234
- const MyComponent = () => {
235
- return (
236
- <ResponsiveLayoutWrapper>
237
- {/* Your components go here */}
238
- </ResponsiveLayoutWrapper>
239
- );
240
- };
241
- ```
242
-
243
- ### Datalist
244
-
245
- A datalist component to search and select data.
246
-
247
- Props:
248
-
249
- - `options`: An array of options to be displayed in the datalist. (required)
250
- - `onSelect`: A function that will be called when the user selects an option. The selected option is passed as an argument to this function. (required)
251
-
252
- Usage Example:
253
-
254
- ```jsx
255
- import React, { useState } from "react";
256
- import { Datalist } from "newron-ui-lib";
257
-
258
- const MyComponent = () => {
259
- const [selectedOption, setSelectedOption] = useState("");
260
-
261
- const handleSelect = (option) => {
262
- setSelectedOption(option);
263
- };
264
-
265
- return (
266
- <Datalist
267
- options={["Option 1", "Option 2", "Option 3"]}
268
- onSelect={handleSelect}
269
- />
270
- );
271
- };
272
- ```
273
-
274
- ### DynamicForm
275
-
276
- A dynamic form component to generate form fields dynamically.
277
-
278
- Props:
279
-
280
- - `initialValues`: An object containing the initial values for the form fields. (required)
281
- - `validationSchema`: A Yup schema for form validation. (required)
282
- - `fields`: An array of field objects to define the form fields. Each field object should have a `type` property that determines the type of the field (e.g., "text", "password", "dropdown", "datalist", "button", etc.), and other properties specific to each field type.
283
-
284
- Usage Example:
285
-
286
- ```jsx
287
- import React from "react";
288
- import { DynamicForm } from "newron-ui-lib";
289
- import * as Yup from "yup";
290
-
291
- const MyComponent = () => {
292
- const initialValues = {
293
- username: "",
294
- password: "",
295
- };
296
-
297
- const validationSchema = Yup.object({
298
- username: Yup.string().required("Username is required"),
299
- password: Yup.string().required("Password is required"),
300
- });
301
-
302
- const fields = [
303
- // Define your form fields here
304
- ];
305
-
306
- return (
307
- <DynamicForm
308
- initialValues={initialValues}
309
- validationSchema={validationSchema}
310
- fields={fields}
311
- />
312
- );
313
- };
314
- ```
315
-
316
- ## Contributing
317
-
318
- We welcome contributions! If you find a bug or have a feature request, please open an issue or submit a pull request.
319
-
320
- ## Contributors
321
-
322
- - [Shaikh Faruk](https://github.com/Shaikhfaruk) (Maintainer and Contributor)
323
-
324
- ## License
325
-
326
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
327
-
328
- ## Changelog
329
-
330
- With these changes, the README.md file is updated to include the new `Button` component with the `size` option, as well as the `DynamicForm` component and the `Datalist` component in the components table.
1
+ # Newron UI Library
2
+
3
+ This is the Newron UI Library, a collection of React components built with Tailwind CSS for creating beautiful and responsive user interfaces.
4
+
5
+ ## Installation
6
+
7
+ To use the Newron UI Library in your React projects, you can install it via npm:
8
+
9
+ ```bash
10
+ npm install newron-ui --save
11
+ ```
12
+
13
+ ## Locally Running the Library and Setup
14
+
15
+ **Run This in Both App where you want use and also Newron-ui-lib**
16
+
17
+ ```bash
18
+ npm link
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ Import the components you need from the library in your React application and use them in your UI:
24
+
25
+ ```jsx
26
+ import React from "react";
27
+ import {
28
+ Button,
29
+ Card,
30
+ Input,
31
+ Dropdown,
32
+ Select,
33
+ SearchBar,
34
+ ResponsiveLayoutWrapper,
35
+ Datalist,
36
+ DynamicForm,
37
+ } from "newron-ui-lib";
38
+
39
+ const App = () => {
40
+ return (
41
+ <ResponsiveLayoutWrapper>
42
+ {/* Use the components here */}
43
+ <Card title="Sample Card" content="This is a sample card component." />
44
+ <Button variant="primary" size="lg">
45
+ Click Me
46
+ </Button>
47
+ <Input type="text" placeholder="Enter text..." />
48
+ <Dropdown options={["Option 1", "Option 2", "Option 3"]} />
49
+ <Select options={["Option 1", "Option 2", "Option 3"]} />
50
+ <SearchBar onSearch={(searchText) => console.log(searchText)} />
51
+ <Datalist
52
+ options={["Option 1", "Option 2", "Option 3"]}
53
+ onSelect={(option) => console.log(option)}
54
+ />
55
+ <DynamicForm
56
+ initialValues={initialValues}
57
+ validationSchema={validationSchema}
58
+ fields={fields}
59
+ />
60
+ </ResponsiveLayoutWrapper>
61
+ );
62
+ };
63
+
64
+ export default App;
65
+ ```
66
+
67
+ ## Components
68
+
69
+ Here are the components available in the Newron UI Library:
70
+
71
+ | Component | Props | Description |
72
+ | ------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
73
+ | `Button` | `variant`: String, `size`: String, `className`: String | A customizable button component with various styles. |
74
+ | `Card` | `title`: String, `content`: String | A card component to display content with a title. |
75
+ | `Input` | `label`: String, `field`: Object, `form`: Object, rest: Props | An input component to accept user input. |
76
+ | `Dropdown` | `options`: Array of Strings | A dropdown component to display a list of options. |
77
+ | `Select` | `options`: Array of Strings | A select component to display a dropdown-style select element. |
78
+ | `SearchBar` | `onSearch`: Function | A search bar component to input search text and trigger search action. |
79
+ | `ResponsiveLayoutWrapper` | None | A wrapper component to create a responsive layout for your components. |
80
+ | `Datalist` | `options`: Array of Strings, `onSelect`: Function | A datalist component to search and select data. |
81
+ | `DynamicForm` | `initialValues`: Object, `validationSchema`: Yup.Schema, `fields`: Array | A dynamic form component to generate form fields dynamically. |
82
+
83
+ ### Button
84
+
85
+ A customizable button component with various styles.
86
+
87
+ Props:
88
+
89
+ - `variant`: The variant of the button. Available options are "primary" (default), "secondary", "success", and "danger".
90
+ - `size`: The size of the button. Available options are "sm" (small), "md" (medium, default), "lg" (large), and "xl" (extra large).
91
+ - `className`: Additional CSS class names to apply to the button.
92
+
93
+ Usage Example:
94
+
95
+ ```jsx
96
+ import React from "react";
97
+ import { Button } from "newron-ui-lib";
98
+
99
+ const MyComponent = () => {
100
+ return (
101
+ <Button variant="primary" size="lg">
102
+ Click Me
103
+ </Button>
104
+ );
105
+ };
106
+ ```
107
+
108
+ ### Card
109
+
110
+ A card component to display content with a title and content section.
111
+
112
+ Props:
113
+
114
+ - `title`: The title of the card. (required)
115
+ - `content`: The content of the card. (required)
116
+
117
+ Usage Example:
118
+
119
+ ```jsx
120
+ import React from "react";
121
+ import { Card } from "newron-ui-lib";
122
+
123
+ const MyComponent = () => {
124
+ return (
125
+ <Card title="Sample Card" content="This is a sample card component." />
126
+ );
127
+ };
128
+ ```
129
+
130
+ ### Input
131
+
132
+ An input component to accept user input.
133
+
134
+ Props:
135
+
136
+ - `label`: The label for the input field.
137
+ - `field`: The field object from Formik.
138
+ - `form`: The form object from Formik.
139
+ - `variant`: The variant of the input field. Available options are "outline" (default), "filled", and "underline".
140
+ - `size`: The size of the input field. Available options are "small", "medium" (default), and "large".
141
+ - `responsive`: Whether to apply responsive styles to the input field.
142
+
143
+ Usage Example:
144
+
145
+ ```jsx
146
+ import React from "react";
147
+ import { Input } from "newron-ui-lib";
148
+
149
+ const MyComponent = () => {
150
+ return (
151
+ <Input
152
+ label="Username:"
153
+ field={field}
154
+ form={form}
155
+ variant="outlined"
156
+ size="small"
157
+ />
158
+ );
159
+ };
160
+ ```
161
+
162
+ ### Dropdown
163
+
164
+ A dropdown component to display a list of options.
165
+
166
+ Props:
167
+
168
+ - `options`: An array of options to be displayed in the dropdown. (required)
169
+
170
+ Usage Example:
171
+
172
+ ```jsx
173
+ import React from "react";
174
+ import { Dropdown } from "newron-ui-lib";
175
+
176
+ const MyComponent = () => {
177
+ return <Dropdown options={["Option 1", "Option 2", "Option 3"]} />;
178
+ };
179
+ ```
180
+
181
+ ### Select
182
+
183
+ A select component to display a dropdown-style select element.
184
+
185
+ Props:
186
+
187
+ - `options`: An array of options to be displayed in the select. (required)
188
+
189
+ Usage Example:
190
+
191
+ ```jsx
192
+ import React from "react";
193
+ import { Select } from "newron-ui-lib";
194
+
195
+ const MyComponent = () => {
196
+ return <Select options={["Option 1", "Option 2", "Option 3"]} />;
197
+ };
198
+ ```
199
+
200
+ ### SearchBar
201
+
202
+ A search bar component to input search text and trigger search action.
203
+
204
+ Props:
205
+
206
+ - `onSearch`: A function that will be called when the user performs a search. The search text is passed as an argument to this function. (required)
207
+
208
+ Usage Example:
209
+
210
+ ```jsx
211
+ import React from "react";
212
+ import { SearchBar } from "newron-ui-lib";
213
+
214
+ const MyComponent = () => {
215
+ const handleSearch = (searchText) => {
216
+ console.log("Searching for:", searchText);
217
+ // Perform the search action here
218
+ };
219
+
220
+ return <SearchBar onSearch={handleSearch} />;
221
+ };
222
+ ```
223
+
224
+ ### ResponsiveLayoutWrapper
225
+
226
+ A wrapper component to create a responsive layout for your components.
227
+
228
+ Usage Example:
229
+
230
+ ```jsx
231
+ import React from "react";
232
+ import { ResponsiveLayoutWrapper } from "newron-ui-lib";
233
+
234
+ const MyComponent = () => {
235
+ return (
236
+ <ResponsiveLayoutWrapper>
237
+ {/* Your components go here */}
238
+ </ResponsiveLayoutWrapper>
239
+ );
240
+ };
241
+ ```
242
+
243
+ ### Datalist
244
+
245
+ A datalist component to search and select data.
246
+
247
+ Props:
248
+
249
+ - `options`: An array of options to be displayed in the datalist. (required)
250
+ - `onSelect`: A function that will be called when the user selects an option. The selected option is passed as an argument to this function. (required)
251
+
252
+ Usage Example:
253
+
254
+ ```jsx
255
+ import React, { useState } from "react";
256
+ import { Datalist } from "newron-ui-lib";
257
+
258
+ const MyComponent = () => {
259
+ const [selectedOption, setSelectedOption] = useState("");
260
+
261
+ const handleSelect = (option) => {
262
+ setSelectedOption(option);
263
+ };
264
+
265
+ return (
266
+ <Datalist
267
+ options={["Option 1", "Option 2", "Option 3"]}
268
+ onSelect={handleSelect}
269
+ />
270
+ );
271
+ };
272
+ ```
273
+
274
+ ### DynamicForm
275
+
276
+ A dynamic form component to generate form fields dynamically.
277
+
278
+ Props:
279
+
280
+ - `initialValues`: An object containing the initial values for the form fields. (required)
281
+ - `validationSchema`: A Yup schema for form validation. (required)
282
+ - `fields`: An array of field objects to define the form fields. Each field object should have a `type` property that determines the type of the field (e.g., "text", "password", "dropdown", "datalist", "button", etc.), and other properties specific to each field type.
283
+
284
+ Usage Example:
285
+
286
+ ```jsx
287
+ import React from "react";
288
+ import { DynamicForm } from "newron-ui-lib";
289
+ import * as Yup from "yup";
290
+
291
+ const MyComponent = () => {
292
+ const initialValues = {
293
+ username: "",
294
+ password: "",
295
+ };
296
+
297
+ const validationSchema = Yup.object({
298
+ username: Yup.string().required("Username is required"),
299
+ password: Yup.string().required("Password is required"),
300
+ });
301
+
302
+ const fields = [
303
+ // Define your form fields here
304
+ ];
305
+
306
+ return (
307
+ <DynamicForm
308
+ initialValues={initialValues}
309
+ validationSchema={validationSchema}
310
+ fields={fields}
311
+ />
312
+ );
313
+ };
314
+ ```
315
+
316
+ ## Contributing
317
+
318
+ We welcome contributions! If you find a bug or have a feature request, please open an issue or submit a pull request.
319
+
320
+ ## Contributors
321
+
322
+ - [Shaikh Faruk](https://github.com/Shaikhfaruk) (Maintainer and Contributor)
323
+
324
+ ## License
325
+
326
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
327
+
328
+ ## Changelog
329
+
330
+ With these changes, the README.md file is updated to include the new `Button` component with the `size` option, as well as the `DynamicForm` component and the `Datalist` component in the components table.
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunknewron_ui=self.webpackChunknewron_ui||[]).push([[100],{100:(t,a,n)=>{n.d(a,{ZaQ:()=>u,kc8:()=>e});var r=n(898);function e(t){return(0,r.w_)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 15.0006L7.75732 10.758L9.17154 9.34375L12 12.1722L14.8284 9.34375L16.2426 10.758L12 15.0006Z"}}]})(t)}function u(t){return(0,r.w_)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M18 9 12 3 6 9H18ZM18 15 12 21 6 15H18Z"}}]})(t)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunknewron_ui=self.webpackChunknewron_ui||[]).push([[109],{109:(e,t,n)=>{n.r(t),n.d(t,{default:()=>s});var a=n(156),r=n.n(a);const s=function(e){var t=e.paths,n=e.defaultPath,a=void 0===n?"Newron Master":n,s=e.Link;return r().createElement("div",{className:"flex items-center text-sm text-gray-500 dark:text-gray-400"},r().createElement(s,{to:"Newron Master"===a?">>":"/".concat(a),className:"cursor-pointer"},a),null==t?void 0:t.map((function(e,t){return r().createElement("span",{key:t},r().createElement("span",{className:"mx-2"},"/"),r().createElement(s,{to:null==e?void 0:e.to,className:"cursor-pointer"},null==e?void 0:e.name))})))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunknewron_ui=self.webpackChunknewron_ui||[]).push([[186],{898:(t,e,r)=>{r.d(e,{w_:()=>u});var n=r(156),a=r.n(n),o={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},l=a().createContext&&a().createContext(o),c=function(){return c=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var a in e=arguments[r])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},c.apply(this,arguments)},i=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(t);a<n.length;a++)e.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(t,n[a])&&(r[n[a]]=t[n[a]])}return r};function s(t){return t&&t.map((function(t,e){return a().createElement(t.tag,c({key:e},t.attr),s(t.child))}))}function u(t){return function(e){return a().createElement(h,c({attr:c({},t.attr)},e),s(t.child))}}function h(t){var e=function(e){var r,n=t.attr,o=t.size,l=t.title,s=i(t,["attr","size","title"]),u=o||e.size||"1em";return e.className&&(r=e.className),t.className&&(r=(r?r+" ":"")+t.className),a().createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},e.attr,n,s,{className:r,style:c(c({color:t.color||e.color},e.style),t.style),height:u,width:u,xmlns:"http://www.w3.org/2000/svg"}),l&&a().createElement("title",null,l),t.children)};return void 0!==l?a().createElement(l.Consumer,null,(function(t){return e(t)})):e(o)}},186:(t,e,r)=>{r.d(e,{FU5:()=>a,P88:()=>l,lsY:()=>o});var n=r(898);function a(t){return(0,n.w_)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}}]})(t)}function o(t){return(0,n.w_)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zM7 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"}}]})(t)}function l(t){return(0,n.w_)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"}},{tag:"path",attr:{d:"M17 7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h10c2.76 0 5-2.24 5-5s-2.24-5-5-5zm0 8c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"}}]})(t)}}}]);