@dragunio/fe-libs 0.1.8 → 0.1.10
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 +63 -2
- package/THIRD_PARTY_NOTICES.md +36 -0
- package/dist/{chunk-HM3V3DVO.mjs → chunk-BAZJ5UJ5.mjs} +81 -1
- package/dist/icons.d.mts +5 -1
- package/dist/icons.d.ts +5 -1
- package/dist/icons.js +84 -0
- package/dist/icons.mjs +9 -1
- package/dist/index.d.mts +253 -8
- package/dist/index.d.ts +253 -8
- package/dist/index.js +2881 -296
- package/dist/index.mjs +2769 -254
- package/dist/lost-ORG2SV6N.gif +0 -0
- package/dist/lost-still-KGRGCS37.png +0 -0
- package/dist/styles.css +1166 -18
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -56,6 +56,8 @@ Available review routes:
|
|
|
56
56
|
- `http://127.0.0.1:3000/#/datetime` — DateTimePicker
|
|
57
57
|
- `http://127.0.0.1:3000/#/currency` — CurrencyInput
|
|
58
58
|
- `http://127.0.0.1:3000/#/number` — NumberInput
|
|
59
|
+
- `http://127.0.0.1:3000/#/file-upload` — FileUpload
|
|
60
|
+
- `http://127.0.0.1:3000/#/file-preview` — FilePreview
|
|
59
61
|
- `http://127.0.0.1:3000/#/tooltip` — Tooltip
|
|
60
62
|
- `http://127.0.0.1:3000/#/expandable` — ExpandableSection
|
|
61
63
|
- `http://127.0.0.1:3000/#/loading` — Loading
|
|
@@ -65,6 +67,7 @@ Available review routes:
|
|
|
65
67
|
- `http://127.0.0.1:3000/#/chip` — Chip
|
|
66
68
|
- `http://127.0.0.1:3000/#/avatar` — Avatar
|
|
67
69
|
- `http://127.0.0.1:3000/#/text-input` — TextInput & TextArea
|
|
70
|
+
- `http://127.0.0.1:3000/#/validated-inputs` — EmailInput, PasswordInput & PhoneNumberInput
|
|
68
71
|
- `http://127.0.0.1:3000/#/pagination` — Pagination
|
|
69
72
|
- `http://127.0.0.1:3000/#/message` — Message
|
|
70
73
|
- `http://127.0.0.1:3000/#/snackbar` — Snackbar
|
|
@@ -191,14 +194,17 @@ The library exposes ESM, CommonJS, TypeScript declarations, and keeps React as a
|
|
|
191
194
|
|
|
192
195
|
### New form and overlay primitives
|
|
193
196
|
|
|
194
|
-
- `Drawer` is a portal-based modal panel with `left`, `right`, `top`, and `bottom` slide-in animations. Use `fullScreen` for a full-viewport panel and `footer` for fixed actions below the scrollable body.
|
|
197
|
+
- `Drawer` is a portal-based modal panel with `left`, `right`, `top`, and `bottom` slide-in animations. Use `DrawerWidths.small`, `.medium`, or `.large` (360px, 400px, 480px) with `width`, or provide any custom CSS width. Use `fullScreen` for a full-viewport panel and `footer` for fixed actions below the scrollable body. It automatically adapts to smaller screens: side drawers use the available viewport width, while top and bottom drawers become sheet-style panels.
|
|
195
198
|
- `Selection` is a rounded custom dropdown inspired by DropdownCustom, with single/multiple modes, optional search, clear action, tags, form-field values, and keyboard navigation.
|
|
196
199
|
- `DateTimePicker` supports `mode="single"` and `mode="range"`; its default format is `dd/MM/yyyy HH:mm`.
|
|
197
200
|
- `NumberInput` and `CurrencyInput` format values immediately while typing (`1000` → `1,000`) and keep up to two fractional digits by default. Both include accessible up/down controls (and arrow-key support); use `step` or `showStepper` to configure them. `NumberInput` also accepts `prefix`/`suffix` adornments. Use `allowDecimal`, `decimals`, `min`, and `max` to control decimal input and numeric limits. Both support `error` and `errorMessage` with the same red border/message treatment as `TextInput`. `CurrencyInput` adds a `VND` suffix by default, or a currency dropdown through `currencies`.
|
|
201
|
+
- `FileUpload` accepts browser `File` objects from selecting or dropping files. Choose its preset `accept` groups—such as `image`, `pdf`, `document`, `audio`, and `video`—instead of manually assembling MIME patterns; it validates them with `maxSize`, `maxFiles`, and duplicate checks locally, then emits `onChange`, `onAccept`, `onReject`, and `onRemove` synchronously. It deliberately contains no endpoint, request, `async`, or upload-progress behavior.
|
|
202
|
+
- `FilePreview` is a local, portal-based File viewer. It displays the current file count in its backdrop header, supports buttons and ArrowLeft/ArrowRight navigation, calls `onEscape` then `onClose('escape')`, and reports `onDelete`/`onDownload` with the active `File`. Its Download action starts a direct local browser download—there is no endpoint or transport behavior.
|
|
198
203
|
- `Tooltip` shows accessible content on hover and focus.
|
|
199
204
|
- `ExpandableSection` provides controlled and uncontrolled expand/collapse behavior.
|
|
200
205
|
- `TextInput` and `TextArea` support `error`/`errorMessage`, `helperText`, `clearable`, `onClear`, and `onValueChange`. `TextArea` also accepts `autosize` (default `false`) to grow with its content. `TextInput` also accepts `label`, `isRequired`, and `prefix`/`suffix` adornments. Passing a string to `error` shows it below the field and applies the error border.
|
|
201
|
-
- `
|
|
206
|
+
- `EmailInput`, `PasswordInput`, and `PhoneNumberInput` add their standard mailbox, show/hide password, and phone adornments. They validate their formats on blur by default; use `validateOn="change"` for immediate feedback and `validate={(value) => ...}` for an additional rule. Passwords require at least eight characters including uppercase, lowercase, and a number; phone numbers accept digits, spaces, parentheses, and plus signs, and require 7–15 digits.
|
|
207
|
+
- `Modal` is a centered portal dialog in `small`, `medium`, `large`, `xlarge`, and `full` sizes. Its close control and `actions` are library `Button` instances. Modal and Drawer trap keyboard focus, lock background scrolling, return focus to their opener, and respect reduced-motion preferences. Use `initialFocusRef`, `restoreFocus`, `closeOnEscape`, and `closeOnBackdropClick` to customize that behavior.
|
|
202
208
|
- `Loading` provides `small`, `medium`, and `large` circular indicators (or a custom pixel `size`); use `Skeleton.Circle` and `Skeleton.Square` with `size`, or `Skeleton.Box` and `Skeleton.Line` with `width` and `height`.
|
|
203
209
|
- `ProgressBar` is determinate when `value` is supplied and renders an indeterminate back-and-forth animation when it is omitted.
|
|
204
210
|
- `Chip` supports the standard `default`, `success`, `error`, `info`, and `warning` palettes, plus `color` for any CSS color and `subtle`, `solid`, or `outline` variants.
|
|
@@ -219,6 +225,17 @@ The library exposes ESM, CommonJS, TypeScript declarations, and keeps React as a
|
|
|
219
225
|
clearable
|
|
220
226
|
/>
|
|
221
227
|
|
|
228
|
+
<EmailInput
|
|
229
|
+
label="Work email"
|
|
230
|
+
value={email}
|
|
231
|
+
onValueChange={setEmail}
|
|
232
|
+
validate={(value) =>
|
|
233
|
+
value.endsWith('@dragunio.com') || 'Use your work email.'
|
|
234
|
+
}
|
|
235
|
+
/>
|
|
236
|
+
<PasswordInput label="Password" />
|
|
237
|
+
<PhoneNumberInput label="Phone number" placeholder="+84 (123) 456 789" />
|
|
238
|
+
|
|
222
239
|
<ProgressBar label="Upload" value={72} />
|
|
223
240
|
<ProgressBar label="Synchronising" />
|
|
224
241
|
<Chip status="success" dot>Complete</Chip>
|
|
@@ -230,3 +247,47 @@ The library exposes ESM, CommonJS, TypeScript declarations, and keeps React as a
|
|
|
230
247
|
<Avatar content="Phạm Quốc Bảo" />
|
|
231
248
|
</AvatarGroup>
|
|
232
249
|
```
|
|
250
|
+
|
|
251
|
+
## 404 / NotFound
|
|
252
|
+
|
|
253
|
+
```tsx
|
|
254
|
+
import { NotFound, NotFoundCaveman, NotFoundYeti, NotFoundLost } from '@dragunio/fe-libs';
|
|
255
|
+
import '@dragunio/fe-libs/styles.css';
|
|
256
|
+
|
|
257
|
+
// Randomly selects one of the three designs once per mount.
|
|
258
|
+
<NotFound homeHref="/" homeLabel="Về trang chủ" />
|
|
259
|
+
|
|
260
|
+
// Choose a design, customize copy, or connect your router.
|
|
261
|
+
<NotFound
|
|
262
|
+
variant="bad_dream"
|
|
263
|
+
title="Không tìm thấy trang"
|
|
264
|
+
description="Trang bạn cần có thể đã được chuyển đi."
|
|
265
|
+
onHomeClick={() => navigate('/')}
|
|
266
|
+
/>
|
|
267
|
+
|
|
268
|
+
// Each design is also available independently.
|
|
269
|
+
<NotFoundCaveman />
|
|
270
|
+
<NotFoundYeti animated={false} />
|
|
271
|
+
<NotFoundLost action={null} />
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
`variant` accepts `random` (default), `caveman`, `bad_dream`, or `electric_shock`. Random selection
|
|
275
|
+
stays stable when props change; remount with a new React `key` to draw again (the
|
|
276
|
+
same variant may be picked). Server rendering and the first client render use
|
|
277
|
+
`caveman`; the random choice runs after mounting to avoid hydration mismatches.
|
|
278
|
+
|
|
279
|
+
All four components accept `title` and `description` (`ReactNode`), `homeLabel`
|
|
280
|
+
(default `Go to Home`), `homeHref` (default `/`), `onHomeClick`, `action`, `animated`
|
|
281
|
+
(default `true`), and section HTML attributes. `onHomeClick` replaces default
|
|
282
|
+
navigation. `action` replaces the public home `Button`; `null` hides actions.
|
|
283
|
+
`NotFoundCaveman`, `NotFoundYeti`, and `NotFoundLost` use `NotFoundSceneProps`, which
|
|
284
|
+
omits `variant`.
|
|
285
|
+
|
|
286
|
+
Artwork scales to its container and honors `prefers-reduced-motion`. Disabling
|
|
287
|
+
animation uses a still frame for Lost. The original 1.31 MiB GIF and still PNG
|
|
288
|
+
are bundled beside `styles.css`, with no external image, font, Bootstrap, jQuery,
|
|
289
|
+
or GSAP requests. Yeti preserves the original SVG with a CSS adaptation of its
|
|
290
|
+
flashlight and shivering animation; it does not reproduce GSAP mouth morphing.
|
|
291
|
+
|
|
292
|
+
Try the interactive story at `#/not-found`. Source credits and illustration
|
|
293
|
+
provenance are in [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# 404 artwork and source credits
|
|
2
|
+
|
|
3
|
+
The NotFound components adapt these user-selected designs:
|
|
4
|
+
|
|
5
|
+
- **Caveman** — SofiaSergio, “code for fun (day02): 404 error page, Caveman mode - pure CSS”, https://codepen.io/SofiaSergio/pen/RMjyRL. Original HTML and SCSS were converted to React and scoped CSS.
|
|
6
|
+
- **Yeti** — Darin Senneff (dsenneff), “Yeti 404 Page”, https://codepen.io/dsenneff/pen/mjZgmN. Original SVG geometry is retained; IDs are instance-specific and the timeline is adapted to CSS. Original GSAP scripts and plugins are not included.
|
|
7
|
+
- **Lost** — Naved khan (Navedkhan012), “404 page”, https://codepen.io/Navedkhan012/pen/vrWQMY. Source recovered from the attributed export at https://gist.github.com/MbarkT3STO/0c13e9f8d771a22bb1ee69583aa7113e.
|
|
8
|
+
|
|
9
|
+
The Lost design references the illustration at
|
|
10
|
+
https://cdn.dribbble.com/users/285475/screenshots/2083086/dribbble_1.gif.
|
|
11
|
+
That original GIF is bundled as `packages/not-found/src/assets/lost.gif`;
|
|
12
|
+
`lost-still.png` is its first frame for reduced-motion rendering. Illustration
|
|
13
|
+
credit belongs to its original creator; the library does not claim authorship
|
|
14
|
+
of this asset or the designs above.
|
|
15
|
+
|
|
16
|
+
## Adapted CodePen code
|
|
17
|
+
|
|
18
|
+
Copyright (c) SofiaSergio, Darin Senneff, and Naved khan for their respective code.
|
|
19
|
+
|
|
20
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
21
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
22
|
+
in the Software without restriction, including without limitation the rights
|
|
23
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
24
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
25
|
+
furnished to do so, subject to the following conditions:
|
|
26
|
+
|
|
27
|
+
The above copyright notice and this permission notice shall be included in all
|
|
28
|
+
copies or substantial portions of the Software.
|
|
29
|
+
|
|
30
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
31
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
32
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
33
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
34
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
35
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
36
|
+
SOFTWARE.
|
|
@@ -169,6 +169,82 @@ function SearchIcon(props) {
|
|
|
169
169
|
)
|
|
170
170
|
] });
|
|
171
171
|
}
|
|
172
|
+
function MailboxIcon(props) {
|
|
173
|
+
return /* @__PURE__ */ jsxs("svg", { ...iconProps4(props), children: [
|
|
174
|
+
/* @__PURE__ */ jsx4(
|
|
175
|
+
"rect",
|
|
176
|
+
{
|
|
177
|
+
x: "3.5",
|
|
178
|
+
y: "5.5",
|
|
179
|
+
width: "17",
|
|
180
|
+
height: "13",
|
|
181
|
+
rx: "2",
|
|
182
|
+
stroke: "currentColor",
|
|
183
|
+
strokeWidth: "1.8"
|
|
184
|
+
}
|
|
185
|
+
),
|
|
186
|
+
/* @__PURE__ */ jsx4(
|
|
187
|
+
"path",
|
|
188
|
+
{
|
|
189
|
+
d: "m4.5 7 6.04 4.53a2.4 2.4 0 0 0 2.92 0L19.5 7",
|
|
190
|
+
stroke: "currentColor",
|
|
191
|
+
strokeWidth: "1.8",
|
|
192
|
+
strokeLinecap: "round",
|
|
193
|
+
strokeLinejoin: "round"
|
|
194
|
+
}
|
|
195
|
+
)
|
|
196
|
+
] });
|
|
197
|
+
}
|
|
198
|
+
function PhoneIcon(props) {
|
|
199
|
+
return /* @__PURE__ */ jsx4("svg", { ...iconProps4(props), children: /* @__PURE__ */ jsx4(
|
|
200
|
+
"path",
|
|
201
|
+
{
|
|
202
|
+
d: "M8.05 3.75 5.84 4.8c-.76.36-1.15 1.2-.94 2.02 1.55 6.14 6.34 10.93 12.48 12.48.82.21 1.66-.18 2.02-.94l1.05-2.21a1.5 1.5 0 0 0-.57-1.91l-2.41-1.48a1.5 1.5 0 0 0-1.8.18l-1.23 1.06a10.38 10.38 0 0 1-4.45-4.45l1.06-1.23a1.5 1.5 0 0 0 .18-1.8L9.96 4.32a1.5 1.5 0 0 0-1.91-.57Z",
|
|
203
|
+
stroke: "currentColor",
|
|
204
|
+
strokeWidth: "1.8",
|
|
205
|
+
strokeLinecap: "round",
|
|
206
|
+
strokeLinejoin: "round"
|
|
207
|
+
}
|
|
208
|
+
) });
|
|
209
|
+
}
|
|
210
|
+
function EyeIcon(props) {
|
|
211
|
+
return /* @__PURE__ */ jsxs("svg", { ...iconProps4(props), children: [
|
|
212
|
+
/* @__PURE__ */ jsx4(
|
|
213
|
+
"path",
|
|
214
|
+
{
|
|
215
|
+
d: "M2.9 12s3.1-5 9.1-5 9.1 5 9.1 5-3.1 5-9.1 5-9.1-5-9.1-5Z",
|
|
216
|
+
stroke: "currentColor",
|
|
217
|
+
strokeWidth: "1.8",
|
|
218
|
+
strokeLinecap: "round",
|
|
219
|
+
strokeLinejoin: "round"
|
|
220
|
+
}
|
|
221
|
+
),
|
|
222
|
+
/* @__PURE__ */ jsx4("circle", { cx: "12", cy: "12", r: "2.4", stroke: "currentColor", strokeWidth: "1.8" })
|
|
223
|
+
] });
|
|
224
|
+
}
|
|
225
|
+
function EyeOffIcon(props) {
|
|
226
|
+
return /* @__PURE__ */ jsxs("svg", { ...iconProps4(props), children: [
|
|
227
|
+
/* @__PURE__ */ jsx4(
|
|
228
|
+
"path",
|
|
229
|
+
{
|
|
230
|
+
d: "M10.58 7.16A6.1 6.1 0 0 1 12 7c6 0 9.1 5 9.1 5a16.1 16.1 0 0 1-2.54 2.84M13.28 16.83A6.1 6.1 0 0 1 12 17c-6 0-9.1-5-9.1-5a16.1 16.1 0 0 1 2.59-2.87",
|
|
231
|
+
stroke: "currentColor",
|
|
232
|
+
strokeWidth: "1.8",
|
|
233
|
+
strokeLinecap: "round",
|
|
234
|
+
strokeLinejoin: "round"
|
|
235
|
+
}
|
|
236
|
+
),
|
|
237
|
+
/* @__PURE__ */ jsx4(
|
|
238
|
+
"path",
|
|
239
|
+
{
|
|
240
|
+
d: "m3.5 3.5 17 17M10.1 10.1a2.7 2.7 0 0 0 3.8 3.8",
|
|
241
|
+
stroke: "currentColor",
|
|
242
|
+
strokeWidth: "1.8",
|
|
243
|
+
strokeLinecap: "round"
|
|
244
|
+
}
|
|
245
|
+
)
|
|
246
|
+
] });
|
|
247
|
+
}
|
|
172
248
|
|
|
173
249
|
export {
|
|
174
250
|
plus,
|
|
@@ -194,5 +270,9 @@ export {
|
|
|
194
270
|
CloseIcon,
|
|
195
271
|
MoreHorizontalIcon,
|
|
196
272
|
MoreVerticalIcon,
|
|
197
|
-
SearchIcon
|
|
273
|
+
SearchIcon,
|
|
274
|
+
MailboxIcon,
|
|
275
|
+
PhoneIcon,
|
|
276
|
+
EyeIcon,
|
|
277
|
+
EyeOffIcon
|
|
198
278
|
};
|
package/dist/icons.d.mts
CHANGED
|
@@ -31,5 +31,9 @@ declare function CloseIcon(props: IconProps): react.JSX.Element;
|
|
|
31
31
|
declare function MoreHorizontalIcon(props: IconProps): react.JSX.Element;
|
|
32
32
|
declare function MoreVerticalIcon(props: IconProps): react.JSX.Element;
|
|
33
33
|
declare function SearchIcon(props: IconProps): react.JSX.Element;
|
|
34
|
+
declare function MailboxIcon(props: IconProps): react.JSX.Element;
|
|
35
|
+
declare function PhoneIcon(props: IconProps): react.JSX.Element;
|
|
36
|
+
declare function EyeIcon(props: IconProps): react.JSX.Element;
|
|
37
|
+
declare function EyeOffIcon(props: IconProps): react.JSX.Element;
|
|
34
38
|
|
|
35
|
-
export { ChevronDownIcon, ChevronUpIcon, CloseIcon, type IconProps, MoreHorizontalIcon, MoreVerticalIcon, PlusIcon, SearchIcon, arrow_left, check_square_fill, chevron_down, chevron_left, chevron_right, chevron_up, copy, key, lock, lock_unlocked, log_out, minus_square, plus, plus_square, search, trash, x_close };
|
|
39
|
+
export { ChevronDownIcon, ChevronUpIcon, CloseIcon, EyeIcon, EyeOffIcon, type IconProps, MailboxIcon, MoreHorizontalIcon, MoreVerticalIcon, PhoneIcon, PlusIcon, SearchIcon, arrow_left, check_square_fill, chevron_down, chevron_left, chevron_right, chevron_up, copy, key, lock, lock_unlocked, log_out, minus_square, plus, plus_square, search, trash, x_close };
|
package/dist/icons.d.ts
CHANGED
|
@@ -31,5 +31,9 @@ declare function CloseIcon(props: IconProps): react.JSX.Element;
|
|
|
31
31
|
declare function MoreHorizontalIcon(props: IconProps): react.JSX.Element;
|
|
32
32
|
declare function MoreVerticalIcon(props: IconProps): react.JSX.Element;
|
|
33
33
|
declare function SearchIcon(props: IconProps): react.JSX.Element;
|
|
34
|
+
declare function MailboxIcon(props: IconProps): react.JSX.Element;
|
|
35
|
+
declare function PhoneIcon(props: IconProps): react.JSX.Element;
|
|
36
|
+
declare function EyeIcon(props: IconProps): react.JSX.Element;
|
|
37
|
+
declare function EyeOffIcon(props: IconProps): react.JSX.Element;
|
|
34
38
|
|
|
35
|
-
export { ChevronDownIcon, ChevronUpIcon, CloseIcon, type IconProps, MoreHorizontalIcon, MoreVerticalIcon, PlusIcon, SearchIcon, arrow_left, check_square_fill, chevron_down, chevron_left, chevron_right, chevron_up, copy, key, lock, lock_unlocked, log_out, minus_square, plus, plus_square, search, trash, x_close };
|
|
39
|
+
export { ChevronDownIcon, ChevronUpIcon, CloseIcon, EyeIcon, EyeOffIcon, type IconProps, MailboxIcon, MoreHorizontalIcon, MoreVerticalIcon, PhoneIcon, PlusIcon, SearchIcon, arrow_left, check_square_fill, chevron_down, chevron_left, chevron_right, chevron_up, copy, key, lock, lock_unlocked, log_out, minus_square, plus, plus_square, search, trash, x_close };
|
package/dist/icons.js
CHANGED
|
@@ -23,8 +23,12 @@ __export(icons_exports, {
|
|
|
23
23
|
ChevronDownIcon: () => ChevronDownIcon,
|
|
24
24
|
ChevronUpIcon: () => ChevronUpIcon,
|
|
25
25
|
CloseIcon: () => CloseIcon,
|
|
26
|
+
EyeIcon: () => EyeIcon,
|
|
27
|
+
EyeOffIcon: () => EyeOffIcon,
|
|
28
|
+
MailboxIcon: () => MailboxIcon,
|
|
26
29
|
MoreHorizontalIcon: () => MoreHorizontalIcon,
|
|
27
30
|
MoreVerticalIcon: () => MoreVerticalIcon,
|
|
31
|
+
PhoneIcon: () => PhoneIcon,
|
|
28
32
|
PlusIcon: () => PlusIcon,
|
|
29
33
|
SearchIcon: () => SearchIcon,
|
|
30
34
|
arrow_left: () => arrow_left,
|
|
@@ -218,13 +222,93 @@ function SearchIcon(props) {
|
|
|
218
222
|
)
|
|
219
223
|
] });
|
|
220
224
|
}
|
|
225
|
+
function MailboxIcon(props) {
|
|
226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...iconProps4(props), children: [
|
|
227
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
228
|
+
"rect",
|
|
229
|
+
{
|
|
230
|
+
x: "3.5",
|
|
231
|
+
y: "5.5",
|
|
232
|
+
width: "17",
|
|
233
|
+
height: "13",
|
|
234
|
+
rx: "2",
|
|
235
|
+
stroke: "currentColor",
|
|
236
|
+
strokeWidth: "1.8"
|
|
237
|
+
}
|
|
238
|
+
),
|
|
239
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
240
|
+
"path",
|
|
241
|
+
{
|
|
242
|
+
d: "m4.5 7 6.04 4.53a2.4 2.4 0 0 0 2.92 0L19.5 7",
|
|
243
|
+
stroke: "currentColor",
|
|
244
|
+
strokeWidth: "1.8",
|
|
245
|
+
strokeLinecap: "round",
|
|
246
|
+
strokeLinejoin: "round"
|
|
247
|
+
}
|
|
248
|
+
)
|
|
249
|
+
] });
|
|
250
|
+
}
|
|
251
|
+
function PhoneIcon(props) {
|
|
252
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("svg", { ...iconProps4(props), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
253
|
+
"path",
|
|
254
|
+
{
|
|
255
|
+
d: "M8.05 3.75 5.84 4.8c-.76.36-1.15 1.2-.94 2.02 1.55 6.14 6.34 10.93 12.48 12.48.82.21 1.66-.18 2.02-.94l1.05-2.21a1.5 1.5 0 0 0-.57-1.91l-2.41-1.48a1.5 1.5 0 0 0-1.8.18l-1.23 1.06a10.38 10.38 0 0 1-4.45-4.45l1.06-1.23a1.5 1.5 0 0 0 .18-1.8L9.96 4.32a1.5 1.5 0 0 0-1.91-.57Z",
|
|
256
|
+
stroke: "currentColor",
|
|
257
|
+
strokeWidth: "1.8",
|
|
258
|
+
strokeLinecap: "round",
|
|
259
|
+
strokeLinejoin: "round"
|
|
260
|
+
}
|
|
261
|
+
) });
|
|
262
|
+
}
|
|
263
|
+
function EyeIcon(props) {
|
|
264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...iconProps4(props), children: [
|
|
265
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
266
|
+
"path",
|
|
267
|
+
{
|
|
268
|
+
d: "M2.9 12s3.1-5 9.1-5 9.1 5 9.1 5-3.1 5-9.1 5-9.1-5-9.1-5Z",
|
|
269
|
+
stroke: "currentColor",
|
|
270
|
+
strokeWidth: "1.8",
|
|
271
|
+
strokeLinecap: "round",
|
|
272
|
+
strokeLinejoin: "round"
|
|
273
|
+
}
|
|
274
|
+
),
|
|
275
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "2.4", stroke: "currentColor", strokeWidth: "1.8" })
|
|
276
|
+
] });
|
|
277
|
+
}
|
|
278
|
+
function EyeOffIcon(props) {
|
|
279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("svg", { ...iconProps4(props), children: [
|
|
280
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
281
|
+
"path",
|
|
282
|
+
{
|
|
283
|
+
d: "M10.58 7.16A6.1 6.1 0 0 1 12 7c6 0 9.1 5 9.1 5a16.1 16.1 0 0 1-2.54 2.84M13.28 16.83A6.1 6.1 0 0 1 12 17c-6 0-9.1-5-9.1-5a16.1 16.1 0 0 1 2.59-2.87",
|
|
284
|
+
stroke: "currentColor",
|
|
285
|
+
strokeWidth: "1.8",
|
|
286
|
+
strokeLinecap: "round",
|
|
287
|
+
strokeLinejoin: "round"
|
|
288
|
+
}
|
|
289
|
+
),
|
|
290
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
291
|
+
"path",
|
|
292
|
+
{
|
|
293
|
+
d: "m3.5 3.5 17 17M10.1 10.1a2.7 2.7 0 0 0 3.8 3.8",
|
|
294
|
+
stroke: "currentColor",
|
|
295
|
+
strokeWidth: "1.8",
|
|
296
|
+
strokeLinecap: "round"
|
|
297
|
+
}
|
|
298
|
+
)
|
|
299
|
+
] });
|
|
300
|
+
}
|
|
221
301
|
// Annotate the CommonJS export names for ESM import in node:
|
|
222
302
|
0 && (module.exports = {
|
|
223
303
|
ChevronDownIcon,
|
|
224
304
|
ChevronUpIcon,
|
|
225
305
|
CloseIcon,
|
|
306
|
+
EyeIcon,
|
|
307
|
+
EyeOffIcon,
|
|
308
|
+
MailboxIcon,
|
|
226
309
|
MoreHorizontalIcon,
|
|
227
310
|
MoreVerticalIcon,
|
|
311
|
+
PhoneIcon,
|
|
228
312
|
PlusIcon,
|
|
229
313
|
SearchIcon,
|
|
230
314
|
arrow_left,
|
package/dist/icons.mjs
CHANGED
|
@@ -2,8 +2,12 @@ import {
|
|
|
2
2
|
ChevronDownIcon,
|
|
3
3
|
ChevronUpIcon,
|
|
4
4
|
CloseIcon,
|
|
5
|
+
EyeIcon,
|
|
6
|
+
EyeOffIcon,
|
|
7
|
+
MailboxIcon,
|
|
5
8
|
MoreHorizontalIcon,
|
|
6
9
|
MoreVerticalIcon,
|
|
10
|
+
PhoneIcon,
|
|
7
11
|
PlusIcon,
|
|
8
12
|
SearchIcon,
|
|
9
13
|
arrow_left,
|
|
@@ -23,13 +27,17 @@ import {
|
|
|
23
27
|
search,
|
|
24
28
|
trash,
|
|
25
29
|
x_close
|
|
26
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-BAZJ5UJ5.mjs";
|
|
27
31
|
export {
|
|
28
32
|
ChevronDownIcon,
|
|
29
33
|
ChevronUpIcon,
|
|
30
34
|
CloseIcon,
|
|
35
|
+
EyeIcon,
|
|
36
|
+
EyeOffIcon,
|
|
37
|
+
MailboxIcon,
|
|
31
38
|
MoreHorizontalIcon,
|
|
32
39
|
MoreVerticalIcon,
|
|
40
|
+
PhoneIcon,
|
|
33
41
|
PlusIcon,
|
|
34
42
|
SearchIcon,
|
|
35
43
|
arrow_left,
|