@hearthscale/app-ui 0.0.0-stage → 0.1.0

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.
@@ -0,0 +1,439 @@
1
+ import * as react from 'react';
2
+ import { ButtonHTMLAttributes, ReactNode, MouseEvent, CSSProperties, InputHTMLAttributes, RefObject } from 'react';
3
+
4
+ type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
5
+ type ButtonSize = 'sm' | 'md' | 'lg';
6
+ interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onClick'> {
7
+ children: ReactNode;
8
+ /**
9
+ * `primary` is the accent: one per view, for its single main action.
10
+ * `secondary` is the everyday glass control, `ghost` the quiet one for
11
+ * toolbars, `danger` a destructive action in the error colour.
12
+ */
13
+ variant?: ButtonVariant;
14
+ /** `sm` sits in a row, `md` closes a section or a dialog, `lg` is a
15
+ * page's call to action. */
16
+ size?: ButtonSize;
17
+ /** A mark before the label; every destructive action carries one. */
18
+ icon?: ReactNode;
19
+ trailingIcon?: ReactNode;
20
+ /** Stretch to the container. */
21
+ fullWidth?: boolean;
22
+ /** An address makes the button a link to it, drawn the same. */
23
+ href?: string;
24
+ onClick?: (event: MouseEvent<HTMLElement>) => void;
25
+ }
26
+ /**
27
+ * The product's text button. Its whole look is `.hs-button` in the
28
+ * stylesheet, keyed on `data-variant` and `data-size`, so a theme reaches
29
+ * every one of them.
30
+ * @category Actions
31
+ */
32
+ declare function Button({ children, variant, size, icon, trailingIcon, fullWidth, href, type, className, onClick, ...rest }: ButtonProps): react.JSX.Element;
33
+ type IconButtonSize = 'sm' | 'md' | 'lg';
34
+ interface IconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
35
+ children: ReactNode;
36
+ /** Required: the control shows no text, so it must carry its own name. */
37
+ 'aria-label': string;
38
+ size?: IconButtonSize;
39
+ }
40
+ /**
41
+ * A square, glyph-only control for toolbars and headers. Its look is
42
+ * `.hs-icon-button` in the stylesheet, keyed on `data-size`.
43
+ * @category Actions
44
+ */
45
+ declare function IconButton({ children, size, type, className, ...rest }: IconButtonProps): react.JSX.Element;
46
+
47
+ interface CardProps {
48
+ children: ReactNode;
49
+ /**
50
+ * `solid` is the raised surface a block of content sits on, `glass` the
51
+ * translucent one over the shell's frost, `gate` the opaque one a person
52
+ * must answer before work goes on.
53
+ */
54
+ variant?: 'solid' | 'glass' | 'gate';
55
+ /** The hue of a card that asks: a warning, or a question. */
56
+ tone?: 'warn' | 'info';
57
+ /** Where the card sits in a page outside the shell's stylesheet rules;
58
+ * inside the shell its look is the stylesheet's alone. */
59
+ style?: CSSProperties;
60
+ }
61
+ /**
62
+ * The bordered surface every grouped block sits on. Its corners, inset,
63
+ * border and fill are `.hs-card` in the stylesheet, keyed on
64
+ * `data-variant`, so a theme reaches every card.
65
+ * @category Surfaces
66
+ */
67
+ declare function Card({ children, variant, tone, style }: CardProps): react.JSX.Element;
68
+
69
+ interface EmptyStateProps {
70
+ /** A mark over the title, drawn in the dim ink. */
71
+ icon?: ReactNode;
72
+ title: ReactNode;
73
+ /** What follows the title: the one action that fills the place. */
74
+ children?: ReactNode;
75
+ }
76
+ /**
77
+ * A place with nothing in it yet: a mark, a title and what fills it,
78
+ * centred in the box it fills. Its look is `.hs-empty-view` in the
79
+ * stylesheet.
80
+ * @category Surfaces
81
+ */
82
+ declare function EmptyState({ icon, title, children }: EmptyStateProps): react.JSX.Element;
83
+
84
+ /**
85
+ * The inline, bordered notice row — how the product states a condition
86
+ * ("no device paired", "relay reconnecting", "stopped") without stealing the
87
+ * page. Compose the message from plain text plus one `hs-link` button for
88
+ * its one remedy.
89
+ * @category Surfaces
90
+ */
91
+ declare function Notice({ children }: {
92
+ children: ReactNode;
93
+ }): react.JSX.Element;
94
+
95
+ type ChipTone = 'neutral' | 'info' | 'ok' | 'warn' | 'bad';
96
+ interface ChipProps {
97
+ children: ReactNode;
98
+ tone?: ChipTone;
99
+ icon?: ReactNode;
100
+ title?: string;
101
+ /** Whether this choice is the chosen one; given, the chip is a choice. */
102
+ selected?: boolean;
103
+ onClick?: (event: MouseEvent<HTMLElement>) => void;
104
+ }
105
+ /**
106
+ * A small named thing inside a row or a card: a file, an agent, a right.
107
+ * A mark may lead the words, and `title` carries what does not fit, such
108
+ * as a file's whole path. With `selected` it is one choice of a row of
109
+ * chips instead, such as a filter: a press with no tone, on a plate while
110
+ * it is the chosen one. Its whole look is `.hs-chip` in the stylesheet,
111
+ * keyed on `data-tone`, or on `data-sel` for a choice.
112
+ * @category Status
113
+ */
114
+ declare function Chip({ children, tone, icon, title, selected, onClick }: ChipProps): react.JSX.Element;
115
+
116
+ type StatusTone = 'ok' | 'bad' | 'warn' | 'info' | 'dim';
117
+ interface StatusWordProps {
118
+ tone: StatusTone;
119
+ live?: boolean;
120
+ children: ReactNode;
121
+ }
122
+ /**
123
+ * A state in one or two words at the end of a row: "Failed", "Waiting for
124
+ * you", "Interrupted". The tone colours it; `live` makes it shine while
125
+ * the state lasts. Its whole look is `.hs-status` in the stylesheet.
126
+ * @category Status
127
+ */
128
+ declare function StatusWord({ tone, live, children }: StatusWordProps): react.JSX.Element;
129
+
130
+ /**
131
+ * A caption: the small label above a group, beside a value or under a
132
+ * mark. It is set in the interface font, in sentence case; monospace is for
133
+ * machine text only.
134
+ * @category Typography
135
+ */
136
+ declare function Label({ children }: {
137
+ children: ReactNode;
138
+ }): react.JSX.Element;
139
+ /**
140
+ * Machine text inside a sentence or a row: a key, an id, a hash, a path.
141
+ * @category Typography
142
+ */
143
+ declare function Mono({ children }: {
144
+ children: ReactNode;
145
+ }): react.JSX.Element;
146
+ interface PageTitleProps {
147
+ children: ReactNode;
148
+ /** The single explanatory line under the heading. Keep it to one sentence. */
149
+ lead?: ReactNode;
150
+ /** Centred and larger: a page that opens with one question. */
151
+ hero?: boolean;
152
+ }
153
+ /**
154
+ * A page's opening heading, with its optional lead paragraph. Every routed
155
+ * screen opens with exactly one.
156
+ * @category Typography
157
+ */
158
+ declare function PageTitle({ children, lead, hero }: PageTitleProps): react.JSX.Element;
159
+
160
+ interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
161
+ /** Always label a field; the product has no placeholder-only inputs. */
162
+ label: ReactNode;
163
+ /** Rendered in muted weight beside the label, e.g. "(optional)". */
164
+ labelNote?: string;
165
+ /** Muted line under the field for format or consequence. */
166
+ hint?: ReactNode;
167
+ }
168
+ /**
169
+ * A labelled text input. It shows nothing on focus: no outline, no border
170
+ * colour, no ring. The caret is the focus. A text control matches
171
+ * `:focus-visible` on a click as well, so any focus treatment would draw on
172
+ * every click, and the product never does that on an input.
173
+ * @category Forms
174
+ */
175
+ declare function TextField({ label, labelNote, hint, id, className, ...rest }: TextFieldProps): react.JSX.Element;
176
+
177
+ interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'className'> {
178
+ variant?: 'text' | 'number' | 'password' | 'email' | 'url' | 'date' | 'datetime-local';
179
+ }
180
+ /**
181
+ * A one-line field with a box: text, a number, a secret drawn as dots, an
182
+ * email address, a web address, a day, or a day and a time.
183
+ * The caret is the focus; the box shows no ring. Its whole look is
184
+ * `.hs-input` in the stylesheet, keyed on `data-variant`.
185
+ * @category Forms
186
+ */
187
+ declare function TextInput({ variant, ...rest }: TextInputProps): react.JSX.Element;
188
+
189
+ interface ToggleProps {
190
+ checked: boolean;
191
+ onChange?: (checked: boolean) => void;
192
+ /** Inert: the switch states a fact and takes no press. The row around
193
+ * it dims where the setting is unavailable; the switch stays plain. */
194
+ disabled?: boolean;
195
+ 'aria-label'?: string;
196
+ }
197
+ /** A controlled settings switch. @category Forms */
198
+ declare function Toggle({ checked, onChange, disabled, ...rest }: ToggleProps): react.JSX.Element;
199
+
200
+ interface SegmentedControlProps<T extends string> {
201
+ value: T;
202
+ options: {
203
+ value: T;
204
+ label: string;
205
+ }[];
206
+ onChange: (value: T) => void;
207
+ /** What the choice is about, for a reader that cannot see the control. */
208
+ label: string;
209
+ disabled?: boolean;
210
+ }
211
+ /**
212
+ * One choice of a few, every option in sight: a radio group drawn as one
213
+ * control, the chosen option on a glass plate. The arrow keys move the
214
+ * choice. Its whole look is `.hs-segmented` in the stylesheet.
215
+ * @category Forms
216
+ */
217
+ declare function SegmentedControl<T extends string>({ value, options, onChange, label, disabled, }: SegmentedControlProps<T>): react.JSX.Element;
218
+
219
+ /** One settings group, with a single border around its rows. @category Settings */
220
+ declare function SettingsCard({ children }: {
221
+ children: ReactNode;
222
+ }): react.JSX.Element;
223
+ /** A muted heading above a settings card. @category Settings */
224
+ declare function SettingsSection({ children, first, action, }: {
225
+ children: ReactNode;
226
+ first?: boolean;
227
+ action?: ReactNode;
228
+ }): react.JSX.Element;
229
+ /** The settings surface's search field: the shell's address-field recipe,
230
+ * whose placeholder sits centred and slides left on focus. @category Settings */
231
+ declare function SettingsSearch({ value, placeholder, onChange, }: {
232
+ value: string;
233
+ placeholder: string;
234
+ onChange: (value: string) => void;
235
+ }): react.JSX.Element;
236
+ /** A picker on the shell's own menu, in place of a native select.
237
+ * @category Settings */
238
+ declare function SettingsSelect<T extends string>({ value, options, onPick, minWidth, menuHeight, menuWidth, placeholder, disabled, label, }: {
239
+ value: T;
240
+ /** `disabled` keeps an entry visible and inert, so the reason it cannot
241
+ * be picked is readable where the pick is made. */
242
+ options: {
243
+ value: T;
244
+ label: string;
245
+ sub?: string;
246
+ trailing?: ReactNode;
247
+ disabled?: boolean;
248
+ }[];
249
+ onPick: (value: T) => void;
250
+ minWidth?: number;
251
+ /** Caps the menu of a long list, which then scrolls. */
252
+ menuHeight?: number;
253
+ /** Caps the menu of rows whose sub lines carry prose, which then wraps. */
254
+ menuWidth?: number;
255
+ placeholder?: string;
256
+ disabled?: boolean;
257
+ label?: string;
258
+ }): react.JSX.Element;
259
+ /** A labelled row with a toggle at its end. @category Settings */
260
+ declare function ToggleRow({ id, title, sub, help, on, onFlip, }: {
261
+ id?: string;
262
+ title: string;
263
+ /** Only where the label cannot carry the meaning on its own. */
264
+ sub?: string;
265
+ /** An explanation behind a question mark, for the same case. */
266
+ help?: string;
267
+ on: boolean;
268
+ onFlip?: () => void;
269
+ }): react.JSX.Element;
270
+ /** A labelled row with a value at its end. @category Settings */
271
+ declare function InfoRow({ id, title, sub, help, helpOpen, value, }: {
272
+ id?: string;
273
+ /** A node where part of the label is itself a control — a version that
274
+ * opens its release notes. */
275
+ title: ReactNode;
276
+ /** Only where the label cannot carry the meaning on its own. */
277
+ sub?: string;
278
+ /** An explanation behind a question mark, for the same case. */
279
+ help?: string;
280
+ /** The depth behind the question mark, which then takes a click. */
281
+ helpOpen?: () => void;
282
+ value: ReactNode;
283
+ }): react.JSX.Element;
284
+ /** A row that opens a page of its own: a mark, a title with a line under
285
+ * it, a value, and a chevron. The whole row is the press. @category Settings */
286
+ declare function LinkRow({ id, mark, title, sub, value, onOpen, }: {
287
+ id?: string;
288
+ /** The subject's own mark, such as a connector's icon. */
289
+ mark?: ReactNode;
290
+ title: ReactNode;
291
+ sub?: ReactNode;
292
+ /** A short state at the row's end, such as "Connected". */
293
+ value?: ReactNode;
294
+ onOpen: () => void;
295
+ }): react.JSX.Element;
296
+ /** A row of a list the page manages: a mark, a title with a line under
297
+ * it, and the actions on the row, such as Edit and Delete. @category Settings */
298
+ declare function ListRow({ id, role, mark, title, sub, actions, }: {
299
+ id?: string;
300
+ /** A class naming what the row is, such as `hs-grantrow`, which the
301
+ * theme's guard keeps visible. */
302
+ role?: string;
303
+ mark?: ReactNode;
304
+ title: ReactNode;
305
+ sub?: ReactNode;
306
+ actions?: ReactNode;
307
+ }): react.JSX.Element;
308
+ /** A row of an information table: a label and a value, the value wrapping
309
+ * inside its column however long it is. @category Settings */
310
+ declare function FactRow({ label, value }: {
311
+ label: string;
312
+ value: ReactNode;
313
+ }): react.JSX.Element;
314
+ /** Categories of one page with arrow-key navigation. @category Settings */
315
+ declare function SettingsTabs<T extends string>({ label, value, tabs, onPick, panelRef, }: {
316
+ /** The name of the row of tabs, for assistive technology. */
317
+ label: string;
318
+ value: T;
319
+ tabs: {
320
+ value: T;
321
+ label: string;
322
+ }[];
323
+ onPick: (value: T) => void;
324
+ /** Starts the linked scroll panel at its heading when the category changes. */
325
+ panelRef?: RefObject<HTMLElement | null>;
326
+ }): react.JSX.Element;
327
+
328
+ interface MenuAnchor {
329
+ key: string;
330
+ element: HTMLElement;
331
+ }
332
+ /** Keeps the clicked element as the menu's positioning reference. */
333
+ declare function anchorFrom(key: string, e: MouseEvent<HTMLElement>): MenuAnchor;
334
+ /** The heavy-frost popup surface a context menu or picker sits on. It is
335
+ * drawn into the popup root, so no scroll container clips it and no glass
336
+ * surface it opens from keeps it from frosting what lies behind.
337
+ * @category Overlays */
338
+ declare function MenuSurface({ anchor, align, dir, minWidth, maxWidth, maxHeight, fit, keyboard, onDismiss, children, }: {
339
+ anchor: MenuAnchor;
340
+ align?: 'auto' | 'left' | 'right';
341
+ dir?: 'down' | 'up' | 'right';
342
+ minWidth?: number;
343
+ /** The menu takes its anchor's width and corners exactly, as a picker
344
+ * that opens beneath its own field does. */
345
+ fit?: boolean;
346
+ keyboard?: boolean;
347
+ /** Caps a menu whose rows carry prose, which would otherwise stretch to
348
+ * the width of the longest sentence. */
349
+ maxWidth?: number;
350
+ /** Caps a long list, which then scrolls, opened on its selected row. */
351
+ maxHeight?: number;
352
+ onDismiss: () => void;
353
+ children: ReactNode;
354
+ }): react.ReactPortal;
355
+ /** One row of a shell menu: glyph, label, optional sub/chip/check. @category Overlays */
356
+ declare function MItem({ icon, label, sub, chip, checked, selected, danger, disabled, onClick, trailing, }: {
357
+ icon?: ReactNode;
358
+ label: string;
359
+ sub?: string;
360
+ chip?: string;
361
+ checked?: boolean;
362
+ selected?: boolean;
363
+ danger?: boolean;
364
+ /** Drawn dimmed and inert: the row stays visible so the reason for it
365
+ * being unavailable is readable beside it. */
366
+ disabled?: boolean;
367
+ onClick?: () => void;
368
+ /** What sits at the row's end: a switch, a chevron. */
369
+ trailing?: ReactNode;
370
+ }): react.JSX.Element;
371
+ /** A row that opens a flyout on the side with space while hovered.
372
+ * @category Overlays */
373
+ declare function MSub({ icon, label, minWidth, children, }: {
374
+ icon?: ReactNode;
375
+ label: string;
376
+ minWidth?: number;
377
+ children: ReactNode;
378
+ }): react.JSX.Element;
379
+ /** Hairline between menu groups. @category Overlays */
380
+ declare function MDivider(): react.JSX.Element;
381
+ /** Mono-caps section label inside a menu. @category Overlays */
382
+ declare function MSection({ children }: {
383
+ children: ReactNode;
384
+ }): react.JSX.Element;
385
+ /** Where a floating tip sits against its mark. */
386
+ type TipPlacement = 'bottom-start' | 'bottom' | 'top' | 'right';
387
+ /** The hover wiring of a `FloatingTip` for the marks of one component,
388
+ * a list of them included. `tips(key, text, chip)` names one mark: spread
389
+ * its `hover` on the mark and render its `tip` inside it, so the tip goes
390
+ * with the mark. A mark with no text shows no tip. @category Overlays */
391
+ declare function useFloatingTips(placement?: TipPlacement): (key: string, text: string | undefined, chip?: string) => {
392
+ hover: {
393
+ onMouseEnter: (e: MouseEvent<HTMLElement>) => void;
394
+ onMouseLeave: () => void;
395
+ };
396
+ tip: react.JSX.Element | null;
397
+ };
398
+
399
+ interface ShellConfirmProps {
400
+ title: string;
401
+ body: ReactNode;
402
+ /** The action's label, in the imperative: "Regenerate", "Delete 3 sessions". */
403
+ action: string;
404
+ /** The action's look: `danger` where the action destroys something,
405
+ * `primary` where it installs or buys. */
406
+ tone?: 'danger' | 'primary';
407
+ onConfirm: () => void;
408
+ onCancel: () => void;
409
+ }
410
+ /** A confirmation dialog styled by the theme, with presence and operability
411
+ * maintained by the guard layer.
412
+ * @category Overlays */
413
+ declare function ShellConfirm({ title, body, action, tone, onConfirm, onCancel, }: ShellConfirmProps): react.JSX.Element;
414
+
415
+ /**
416
+ * The name of every icon of the Remix Icon font, as https://remixicon.com/
417
+ * shows it. Written by `scripts/icon-names.mjs` from the `remixicon`
418
+ * package; not edited by hand.
419
+ */
420
+ type IconName = '24-hours-fill' | '24-hours-line' | '4k-fill' | '4k-line' | 'a-b' | 'accessibility-fill' | 'accessibility-line' | 'account-box-2-fill' | 'account-box-2-line' | 'account-box-fill' | 'account-box-line' | 'account-circle-2-fill' | 'account-circle-2-line' | 'account-circle-fill' | 'account-circle-line' | 'account-pin-box-fill' | 'account-pin-box-line' | 'account-pin-circle-fill' | 'account-pin-circle-line' | 'add-box-fill' | 'add-box-line' | 'add-circle-fill' | 'add-circle-line' | 'add-fill' | 'add-large-fill' | 'add-large-line' | 'add-line' | 'admin-fill' | 'admin-line' | 'advertisement-fill' | 'advertisement-line' | 'aed-electrodes-fill' | 'aed-electrodes-line' | 'aed-fill' | 'aed-line' | 'ai' | 'ai-agent-fill' | 'ai-agent-line' | 'ai-generate' | 'ai-generate-2' | 'ai-generate-2-fill' | 'ai-generate-2-line' | 'ai-generate-3d-fill' | 'ai-generate-3d-line' | 'ai-generate-text' | 'airplay-fill' | 'airplay-line' | 'alarm-add-fill' | 'alarm-add-line' | 'alarm-fill' | 'alarm-line' | 'alarm-snooze-fill' | 'alarm-snooze-line' | 'alarm-warning-fill' | 'alarm-warning-line' | 'album-fill' | 'album-line' | 'alert-fill' | 'alert-line' | 'alibaba-cloud-fill' | 'alibaba-cloud-line' | 'aliens-fill' | 'aliens-line' | 'align-bottom' | 'align-center' | 'align-item-bottom-fill' | 'align-item-bottom-line' | 'align-item-horizontal-center-fill' | 'align-item-horizontal-center-line' | 'align-item-left-fill' | 'align-item-left-line' | 'align-item-right-fill' | 'align-item-right-line' | 'align-item-top-fill' | 'align-item-top-line' | 'align-item-vertical-center-fill' | 'align-item-vertical-center-line' | 'align-justify' | 'align-left' | 'align-right' | 'align-top' | 'align-vertically' | 'alipay-fill' | 'alipay-line' | 'amazon-fill' | 'amazon-line' | 'anchor-fill' | 'anchor-line' | 'ancient-gate-fill' | 'ancient-gate-line' | 'ancient-pavilion-fill' | 'ancient-pavilion-line' | 'android-fill' | 'android-line' | 'angularjs-fill' | 'angularjs-line' | 'anthropic-fill' | 'anthropic-line' | 'anticlockwise-2-fill' | 'anticlockwise-2-line' | 'anticlockwise-fill' | 'anticlockwise-line' | 'app-store-fill' | 'app-store-line' | 'apple-fill' | 'apple-line' | 'apps-2-add-fill' | 'apps-2-add-line' | 'apps-2-ai-fill' | 'apps-2-ai-line' | 'apps-2-fill' | 'apps-2-line' | 'apps-ai-fill' | 'apps-ai-line' | 'apps-fill' | 'apps-line' | 'archive-2-fill' | 'archive-2-line' | 'archive-drawer-fill' | 'archive-drawer-line' | 'archive-fill' | 'archive-line' | 'archive-stack-fill' | 'archive-stack-line' | 'area-chart-fill' | 'area-chart-line' | 'armchair-fill' | 'armchair-line' | 'arrow-down-box-fill' | 'arrow-down-box-line' | 'arrow-down-circle-fill' | 'arrow-down-circle-line' | 'arrow-down-double-fill' | 'arrow-down-double-line' | 'arrow-down-fill' | 'arrow-down-line' | 'arrow-down-long-fill' | 'arrow-down-long-line' | 'arrow-down-s-fill' | 'arrow-down-s-line' | 'arrow-down-wide-fill' | 'arrow-down-wide-line' | 'arrow-drop-down-fill' | 'arrow-drop-down-line' | 'arrow-drop-left-fill' | 'arrow-drop-left-line' | 'arrow-drop-right-fill' | 'arrow-drop-right-line' | 'arrow-drop-up-fill' | 'arrow-drop-up-line' | 'arrow-go-back-fill' | 'arrow-go-back-line' | 'arrow-go-forward-fill' | 'arrow-go-forward-line' | 'arrow-left-box-fill' | 'arrow-left-box-line' | 'arrow-left-circle-fill' | 'arrow-left-circle-line' | 'arrow-left-double-fill' | 'arrow-left-double-line' | 'arrow-left-down-box-fill' | 'arrow-left-down-box-line' | 'arrow-left-down-fill' | 'arrow-left-down-line' | 'arrow-left-down-long-fill' | 'arrow-left-down-long-line' | 'arrow-left-fill' | 'arrow-left-line' | 'arrow-left-long-fill' | 'arrow-left-long-line' | 'arrow-left-right-fill' | 'arrow-left-right-line' | 'arrow-left-s-fill' | 'arrow-left-s-line' | 'arrow-left-up-box-fill' | 'arrow-left-up-box-line' | 'arrow-left-up-fill' | 'arrow-left-up-line' | 'arrow-left-up-long-fill' | 'arrow-left-up-long-line' | 'arrow-left-wide-fill' | 'arrow-left-wide-line' | 'arrow-right-box-fill' | 'arrow-right-box-line' | 'arrow-right-circle-fill' | 'arrow-right-circle-line' | 'arrow-right-double-fill' | 'arrow-right-double-line' | 'arrow-right-down-box-fill' | 'arrow-right-down-box-line' | 'arrow-right-down-fill' | 'arrow-right-down-line' | 'arrow-right-down-long-fill' | 'arrow-right-down-long-line' | 'arrow-right-fill' | 'arrow-right-line' | 'arrow-right-long-fill' | 'arrow-right-long-line' | 'arrow-right-s-fill' | 'arrow-right-s-line' | 'arrow-right-up-box-fill' | 'arrow-right-up-box-line' | 'arrow-right-up-fill' | 'arrow-right-up-line' | 'arrow-right-up-long-fill' | 'arrow-right-up-long-line' | 'arrow-right-wide-fill' | 'arrow-right-wide-line' | 'arrow-turn-back-fill' | 'arrow-turn-back-line' | 'arrow-turn-forward-fill' | 'arrow-turn-forward-line' | 'arrow-up-box-fill' | 'arrow-up-box-line' | 'arrow-up-circle-fill' | 'arrow-up-circle-line' | 'arrow-up-double-fill' | 'arrow-up-double-line' | 'arrow-up-down-fill' | 'arrow-up-down-line' | 'arrow-up-fill' | 'arrow-up-line' | 'arrow-up-long-fill' | 'arrow-up-long-line' | 'arrow-up-s-fill' | 'arrow-up-s-line' | 'arrow-up-wide-fill' | 'arrow-up-wide-line' | 'artboard-2-fill' | 'artboard-2-line' | 'artboard-fill' | 'artboard-line' | 'article-fill' | 'article-line' | 'aspect-ratio-fill' | 'aspect-ratio-line' | 'asterisk' | 'at-fill' | 'at-line' | 'atom-fill' | 'atom-line' | 'attachment-2' | 'attachment-fill' | 'attachment-line' | 'auction-fill' | 'auction-line' | 'award-fill' | 'award-line' | 'baidu-fill' | 'baidu-line' | 'ball-pen-fill' | 'ball-pen-line' | 'bank-card-2-fill' | 'bank-card-2-line' | 'bank-card-fill' | 'bank-card-line' | 'bank-fill' | 'bank-line' | 'bar-chart-2-fill' | 'bar-chart-2-line' | 'bar-chart-box-ai-fill' | 'bar-chart-box-ai-line' | 'bar-chart-box-fill' | 'bar-chart-box-line' | 'bar-chart-fill' | 'bar-chart-grouped-fill' | 'bar-chart-grouped-line' | 'bar-chart-horizontal-fill' | 'bar-chart-horizontal-line' | 'bar-chart-line' | 'barcode-box-fill' | 'barcode-box-line' | 'barcode-fill' | 'barcode-line' | 'bard-fill' | 'bard-line' | 'barricade-fill' | 'barricade-line' | 'base-station-fill' | 'base-station-line' | 'baseball-fill' | 'baseball-line' | 'basketball-fill' | 'basketball-line' | 'battery-2-charge-fill' | 'battery-2-charge-line' | 'battery-2-fill' | 'battery-2-line' | 'battery-charge-fill' | 'battery-charge-line' | 'battery-fill' | 'battery-line' | 'battery-low-fill' | 'battery-low-line' | 'battery-saver-fill' | 'battery-saver-line' | 'battery-share-fill' | 'battery-share-line' | 'bear-smile-fill' | 'bear-smile-line' | 'beer-fill' | 'beer-line' | 'behance-fill' | 'behance-line' | 'bell-fill' | 'bell-line' | 'bike-fill' | 'bike-line' | 'bilibili-fill' | 'bilibili-line' | 'bill-fill' | 'bill-line' | 'billiards-fill' | 'billiards-line' | 'binoculars-fill' | 'binoculars-line' | 'bit-coin-fill' | 'bit-coin-line' | 'blaze-fill' | 'blaze-line' | 'blender-fill' | 'blender-line' | 'blogger-fill' | 'blogger-line' | 'bluesky-fill' | 'bluesky-line' | 'bluetooth-connect-fill' | 'bluetooth-connect-line' | 'bluetooth-fill' | 'bluetooth-line' | 'blur-off-fill' | 'blur-off-line' | 'bnb-fill' | 'bnb-line' | 'body-scan-fill' | 'body-scan-line' | 'bold' | 'book-2-fill' | 'book-2-line' | 'book-3-fill' | 'book-3-line' | 'book-ai-fill' | 'book-ai-line' | 'book-fill' | 'book-line' | 'book-marked-fill' | 'book-marked-line' | 'book-open-fill' | 'book-open-line' | 'book-read-fill' | 'book-read-line' | 'book-shelf-fill' | 'book-shelf-line' | 'booklet-fill' | 'booklet-line' | 'bookmark-2-fill' | 'bookmark-2-line' | 'bookmark-3-fill' | 'bookmark-3-line' | 'bookmark-fill' | 'bookmark-line' | 'bootstrap-fill' | 'bootstrap-line' | 'bowl-fill' | 'bowl-line' | 'box-1-fill' | 'box-1-line' | 'box-2-fill' | 'box-2-line' | 'box-3-fill' | 'box-3-line' | 'boxing-fill' | 'boxing-line' | 'braces-fill' | 'braces-line' | 'brackets-fill' | 'brackets-line' | 'brain-2-fill' | 'brain-2-line' | 'brain-3-fill' | 'brain-3-line' | 'brain-ai-3-fill' | 'brain-ai-3-line' | 'brain-fill' | 'brain-line' | 'bread-fill' | 'bread-line' | 'briefcase-2-fill' | 'briefcase-2-line' | 'briefcase-3-fill' | 'briefcase-3-line' | 'briefcase-4-fill' | 'briefcase-4-line' | 'briefcase-5-fill' | 'briefcase-5-line' | 'briefcase-fill' | 'briefcase-line' | 'bring-forward' | 'bring-to-front' | 'broadcast-fill' | 'broadcast-line' | 'brush-2-fill' | 'brush-2-line' | 'brush-3-fill' | 'brush-3-line' | 'brush-4-fill' | 'brush-4-line' | 'brush-ai-3-fill' | 'brush-ai-3-line' | 'brush-ai-fill' | 'brush-ai-line' | 'brush-fill' | 'brush-line' | 'btc-fill' | 'btc-line' | 'bubble-chart-fill' | 'bubble-chart-line' | 'bug-2-fill' | 'bug-2-line' | 'bug-fill' | 'bug-line' | 'building-2-fill' | 'building-2-line' | 'building-3-fill' | 'building-3-line' | 'building-4-fill' | 'building-4-line' | 'building-fill' | 'building-line' | 'bus-2-fill' | 'bus-2-line' | 'bus-fill' | 'bus-line' | 'bus-wifi-fill' | 'bus-wifi-line' | 'cactus-fill' | 'cactus-line' | 'cake-2-fill' | 'cake-2-line' | 'cake-3-fill' | 'cake-3-line' | 'cake-fill' | 'cake-line' | 'calculator-fill' | 'calculator-line' | 'calendar-2-fill' | 'calendar-2-line' | 'calendar-check-fill' | 'calendar-check-line' | 'calendar-close-fill' | 'calendar-close-line' | 'calendar-event-fill' | 'calendar-event-line' | 'calendar-fill' | 'calendar-line' | 'calendar-schedule-fill' | 'calendar-schedule-line' | 'calendar-todo-fill' | 'calendar-todo-line' | 'calendar-view' | 'camera-2-fill' | 'camera-2-line' | 'camera-3-fill' | 'camera-3-line' | 'camera-4-fill' | 'camera-4-line' | 'camera-ai-2-fill' | 'camera-ai-2-line' | 'camera-ai-fill' | 'camera-ai-line' | 'camera-fill' | 'camera-lens-ai-fill' | 'camera-lens-ai-line' | 'camera-lens-fill' | 'camera-lens-line' | 'camera-line' | 'camera-off-fill' | 'camera-off-line' | 'camera-switch-fill' | 'camera-switch-line' | 'candle-fill' | 'candle-line' | 'capsule-fill' | 'capsule-line' | 'car-fill' | 'car-line' | 'car-washing-fill' | 'car-washing-line' | 'caravan-fill' | 'caravan-line' | 'carousel-view' | 'cash-fill' | 'cash-line' | 'cast-fill' | 'cast-line' | 'cellphone-fill' | 'cellphone-line' | 'celsius-fill' | 'celsius-line' | 'centos-fill' | 'centos-line' | 'character-recognition-fill' | 'character-recognition-line' | 'charging-pile-2-fill' | 'charging-pile-2-line' | 'charging-pile-fill' | 'charging-pile-line' | 'chat-1-fill' | 'chat-1-line' | 'chat-2-fill' | 'chat-2-line' | 'chat-3-fill' | 'chat-3-line' | 'chat-4-fill' | 'chat-4-line' | 'chat-ai-2-fill' | 'chat-ai-2-line' | 'chat-ai-3-fill' | 'chat-ai-3-line' | 'chat-ai-4-fill' | 'chat-ai-4-line' | 'chat-ai-fill' | 'chat-ai-line' | 'chat-check-fill' | 'chat-check-line' | 'chat-delete-fill' | 'chat-delete-line' | 'chat-download-fill' | 'chat-download-line' | 'chat-follow-up-fill' | 'chat-follow-up-line' | 'chat-forward-fill' | 'chat-forward-line' | 'chat-heart-fill' | 'chat-heart-line' | 'chat-history-fill' | 'chat-history-line' | 'chat-new-fill' | 'chat-new-line' | 'chat-off-fill' | 'chat-off-line' | 'chat-poll-fill' | 'chat-poll-line' | 'chat-private-fill' | 'chat-private-line' | 'chat-quote-fill' | 'chat-quote-line' | 'chat-search-fill' | 'chat-search-line' | 'chat-settings-fill' | 'chat-settings-line' | 'chat-smile-2-fill' | 'chat-smile-2-line' | 'chat-smile-3-fill' | 'chat-smile-3-line' | 'chat-smile-ai-3-fill' | 'chat-smile-ai-3-line' | 'chat-smile-ai-fill' | 'chat-smile-ai-line' | 'chat-smile-fill' | 'chat-smile-line' | 'chat-thread-fill' | 'chat-thread-line' | 'chat-unread-fill' | 'chat-unread-line' | 'chat-upload-fill' | 'chat-upload-line' | 'chat-voice-ai-fill' | 'chat-voice-ai-line' | 'chat-voice-fill' | 'chat-voice-line' | 'check-double-fill' | 'check-double-line' | 'check-fill' | 'check-line' | 'checkbox-blank-circle-fill' | 'checkbox-blank-circle-line' | 'checkbox-blank-fill' | 'checkbox-blank-line' | 'checkbox-circle-fill' | 'checkbox-circle-line' | 'checkbox-fill' | 'checkbox-indeterminate-fill' | 'checkbox-indeterminate-line' | 'checkbox-line' | 'checkbox-multiple-blank-fill' | 'checkbox-multiple-blank-line' | 'checkbox-multiple-fill' | 'checkbox-multiple-line' | 'chess-fill' | 'chess-line' | 'china-railway-fill' | 'china-railway-line' | 'chrome-fill' | 'chrome-line' | 'circle-fill' | 'circle-line' | 'clapperboard-ai-fill' | 'clapperboard-ai-line' | 'clapperboard-fill' | 'clapperboard-line' | 'claude-fill' | 'claude-line' | 'clipboard-fill' | 'clipboard-line' | 'clockwise-2-fill' | 'clockwise-2-line' | 'clockwise-fill' | 'clockwise-line' | 'close-circle-fill' | 'close-circle-line' | 'close-fill' | 'close-large-fill' | 'close-large-line' | 'close-line' | 'closed-captioning-ai-fill' | 'closed-captioning-ai-line' | 'closed-captioning-fill' | 'closed-captioning-line' | 'cloud-fill' | 'cloud-line' | 'cloud-off-fill' | 'cloud-off-line' | 'cloud-windy-fill' | 'cloud-windy-line' | 'cloudy-2-fill' | 'cloudy-2-line' | 'cloudy-fill' | 'cloudy-line' | 'code-ai-fill' | 'code-ai-line' | 'code-block' | 'code-box-fill' | 'code-box-line' | 'code-fill' | 'code-line' | 'code-s-fill' | 'code-s-line' | 'code-s-slash-fill' | 'code-s-slash-line' | 'code-view' | 'codepen-fill' | 'codepen-line' | 'coin-fill' | 'coin-line' | 'coins-fill' | 'coins-line' | 'collage-fill' | 'collage-line' | 'collapse-diagonal-2-fill' | 'collapse-diagonal-2-line' | 'collapse-diagonal-fill' | 'collapse-diagonal-line' | 'collapse-horizontal-fill' | 'collapse-horizontal-line' | 'collapse-vertical-fill' | 'collapse-vertical-line' | 'color-filter-ai-fill' | 'color-filter-ai-line' | 'color-filter-fill' | 'color-filter-line' | 'command-fill' | 'command-line' | 'community-fill' | 'community-line' | 'compass-2-fill' | 'compass-2-line' | 'compass-3-fill' | 'compass-3-line' | 'compass-4-fill' | 'compass-4-line' | 'compass-discover-fill' | 'compass-discover-line' | 'compass-fill' | 'compass-line' | 'compasses-2-fill' | 'compasses-2-line' | 'compasses-fill' | 'compasses-line' | 'computer-fill' | 'computer-line' | 'contacts-book-2-fill' | 'contacts-book-2-line' | 'contacts-book-3-fill' | 'contacts-book-3-line' | 'contacts-book-fill' | 'contacts-book-line' | 'contacts-book-upload-fill' | 'contacts-book-upload-line' | 'contacts-fill' | 'contacts-line' | 'contract-fill' | 'contract-left-fill' | 'contract-left-line' | 'contract-left-right-fill' | 'contract-left-right-line' | 'contract-line' | 'contract-right-fill' | 'contract-right-line' | 'contract-up-down-fill' | 'contract-up-down-line' | 'contrast-2-fill' | 'contrast-2-line' | 'contrast-drop-2-fill' | 'contrast-drop-2-line' | 'contrast-drop-fill' | 'contrast-drop-line' | 'contrast-fill' | 'contrast-line' | 'copilot-fill' | 'copilot-line' | 'copper-coin-fill' | 'copper-coin-line' | 'copper-diamond-fill' | 'copper-diamond-line' | 'copyleft-fill' | 'copyleft-line' | 'copyright-fill' | 'copyright-line' | 'coreos-fill' | 'coreos-line' | 'corner-down-left-fill' | 'corner-down-left-line' | 'corner-down-right-fill' | 'corner-down-right-line' | 'corner-left-down-fill' | 'corner-left-down-line' | 'corner-left-up-fill' | 'corner-left-up-line' | 'corner-right-down-fill' | 'corner-right-down-line' | 'corner-right-up-fill' | 'corner-right-up-line' | 'corner-up-left-double-fill' | 'corner-up-left-double-line' | 'corner-up-left-fill' | 'corner-up-left-line' | 'corner-up-right-double-fill' | 'corner-up-right-double-line' | 'corner-up-right-fill' | 'corner-up-right-line' | 'coupon-2-fill' | 'coupon-2-line' | 'coupon-3-fill' | 'coupon-3-line' | 'coupon-4-fill' | 'coupon-4-line' | 'coupon-5-fill' | 'coupon-5-line' | 'coupon-fill' | 'coupon-line' | 'cpu-fill' | 'cpu-line' | 'creative-commons-by-fill' | 'creative-commons-by-line' | 'creative-commons-fill' | 'creative-commons-line' | 'creative-commons-nc-fill' | 'creative-commons-nc-line' | 'creative-commons-nd-fill' | 'creative-commons-nd-line' | 'creative-commons-sa-fill' | 'creative-commons-sa-line' | 'creative-commons-zero-fill' | 'creative-commons-zero-line' | 'criminal-fill' | 'criminal-line' | 'crop-2-fill' | 'crop-2-line' | 'crop-fill' | 'crop-line' | 'cross-fill' | 'cross-line' | 'crosshair-2-fill' | 'crosshair-2-line' | 'crosshair-fill' | 'crosshair-line' | 'css3-fill' | 'css3-line' | 'cup-fill' | 'cup-line' | 'currency-fill' | 'currency-line' | 'cursor-fill' | 'cursor-hand' | 'cursor-line' | 'custom-size' | 'customer-service-2-fill' | 'customer-service-2-line' | 'customer-service-fill' | 'customer-service-line' | 'dashboard-2-fill' | 'dashboard-2-line' | 'dashboard-3-fill' | 'dashboard-3-line' | 'dashboard-fill' | 'dashboard-horizontal-fill' | 'dashboard-horizontal-line' | 'dashboard-line' | 'database-2-fill' | 'database-2-line' | 'database-fill' | 'database-line' | 'deepseek-fill' | 'deepseek-line' | 'delete-back-2-fill' | 'delete-back-2-line' | 'delete-back-fill' | 'delete-back-line' | 'delete-bin-2-fill' | 'delete-bin-2-line' | 'delete-bin-3-fill' | 'delete-bin-3-line' | 'delete-bin-4-fill' | 'delete-bin-4-line' | 'delete-bin-5-fill' | 'delete-bin-5-line' | 'delete-bin-6-fill' | 'delete-bin-6-line' | 'delete-bin-7-fill' | 'delete-bin-7-line' | 'delete-bin-fill' | 'delete-bin-line' | 'delete-column' | 'delete-row' | 'device-fill' | 'device-line' | 'device-recover-fill' | 'device-recover-line' | 'diamond-fill' | 'diamond-line' | 'diamond-ring-fill' | 'diamond-ring-line' | 'dice-1-fill' | 'dice-1-line' | 'dice-2-fill' | 'dice-2-line' | 'dice-3-fill' | 'dice-3-line' | 'dice-4-fill' | 'dice-4-line' | 'dice-5-fill' | 'dice-5-line' | 'dice-6-fill' | 'dice-6-line' | 'dice-fill' | 'dice-line' | 'dingding-fill' | 'dingding-line' | 'direction-fill' | 'direction-line' | 'disc-fill' | 'disc-line' | 'discord-fill' | 'discord-line' | 'discount-percent-fill' | 'discount-percent-line' | 'discuss-fill' | 'discuss-line' | 'dislike-fill' | 'dislike-line' | 'disqus-fill' | 'disqus-line' | 'divide-fill' | 'divide-line' | 'dna-fill' | 'dna-line' | 'donut-chart-fill' | 'donut-chart-line' | 'door-closed-fill' | 'door-closed-line' | 'door-fill' | 'door-line' | 'door-lock-box-fill' | 'door-lock-box-line' | 'door-lock-fill' | 'door-lock-line' | 'door-open-fill' | 'door-open-line' | 'dossier-fill' | 'dossier-line' | 'douban-fill' | 'douban-line' | 'double-quotes-l' | 'double-quotes-r' | 'download-2-fill' | 'download-2-line' | 'download-cloud-2-fill' | 'download-cloud-2-line' | 'download-cloud-fill' | 'download-cloud-line' | 'download-fill' | 'download-line' | 'draft-fill' | 'draft-line' | 'drag-drop-fill' | 'drag-drop-line' | 'drag-move-2-fill' | 'drag-move-2-line' | 'drag-move-fill' | 'drag-move-line' | 'draggable' | 'dribbble-fill' | 'dribbble-line' | 'drinks-2-fill' | 'drinks-2-line' | 'drinks-fill' | 'drinks-line' | 'drive-fill' | 'drive-line' | 'drizzle-fill' | 'drizzle-line' | 'drop-fill' | 'drop-line' | 'dropbox-fill' | 'dropbox-line' | 'dropdown-list' | 'dropper-fill' | 'dropper-line' | 'dual-sim-1-fill' | 'dual-sim-1-line' | 'dual-sim-2-fill' | 'dual-sim-2-line' | 'dv-fill' | 'dv-line' | 'dvd-ai-fill' | 'dvd-ai-line' | 'dvd-fill' | 'dvd-line' | 'e-bike-2-fill' | 'e-bike-2-line' | 'e-bike-fill' | 'e-bike-line' | 'earth-fill' | 'earth-line' | 'earthquake-fill' | 'earthquake-line' | 'edge-fill' | 'edge-line' | 'edge-new-fill' | 'edge-new-line' | 'edit-2-fill' | 'edit-2-line' | 'edit-box-fill' | 'edit-box-line' | 'edit-circle-fill' | 'edit-circle-line' | 'edit-fill' | 'edit-line' | 'eject-fill' | 'eject-line' | 'emoji-sticker-fill' | 'emoji-sticker-line' | 'emotion-2-fill' | 'emotion-2-line' | 'emotion-add-fill' | 'emotion-add-line' | 'emotion-fill' | 'emotion-happy-fill' | 'emotion-happy-line' | 'emotion-laugh-fill' | 'emotion-laugh-line' | 'emotion-line' | 'emotion-normal-fill' | 'emotion-normal-line' | 'emotion-sad-fill' | 'emotion-sad-line' | 'emotion-unhappy-fill' | 'emotion-unhappy-line' | 'empathize-fill' | 'empathize-line' | 'emphasis' | 'emphasis-cn' | 'english-input' | 'equal-fill' | 'equal-line' | 'equalizer-2-fill' | 'equalizer-2-line' | 'equalizer-3-fill' | 'equalizer-3-line' | 'equalizer-fill' | 'equalizer-line' | 'eraser-fill' | 'eraser-line' | 'error-warning-fill' | 'error-warning-line' | 'eth-fill' | 'eth-line' | 'evernote-fill' | 'evernote-line' | 'exchange-2-fill' | 'exchange-2-line' | 'exchange-box-fill' | 'exchange-box-line' | 'exchange-cny-fill' | 'exchange-cny-line' | 'exchange-dollar-fill' | 'exchange-dollar-line' | 'exchange-fill' | 'exchange-funds-fill' | 'exchange-funds-line' | 'exchange-line' | 'expand-diagonal-2-fill' | 'expand-diagonal-2-line' | 'expand-diagonal-fill' | 'expand-diagonal-line' | 'expand-diagonal-s-2-fill' | 'expand-diagonal-s-2-line' | 'expand-diagonal-s-fill' | 'expand-diagonal-s-line' | 'expand-height-fill' | 'expand-height-line' | 'expand-horizontal-fill' | 'expand-horizontal-line' | 'expand-horizontal-s-fill' | 'expand-horizontal-s-line' | 'expand-left-fill' | 'expand-left-line' | 'expand-left-right-fill' | 'expand-left-right-line' | 'expand-right-fill' | 'expand-right-line' | 'expand-up-down-fill' | 'expand-up-down-line' | 'expand-vertical-fill' | 'expand-vertical-line' | 'expand-vertical-s-fill' | 'expand-vertical-s-line' | 'expand-width-fill' | 'expand-width-line' | 'export-fill' | 'export-line' | 'external-link-fill' | 'external-link-line' | 'eye-2-fill' | 'eye-2-line' | 'eye-close-fill' | 'eye-close-line' | 'eye-fill' | 'eye-line' | 'eye-off-fill' | 'eye-off-line' | 'facebook-box-fill' | 'facebook-box-line' | 'facebook-circle-fill' | 'facebook-circle-line' | 'facebook-fill' | 'facebook-line' | 'fahrenheit-fill' | 'fahrenheit-line' | 'fediverse-fill' | 'fediverse-line' | 'feedback-fill' | 'feedback-line' | 'figma-fill' | 'figma-line' | 'file-2-fill' | 'file-2-line' | 'file-3-fill' | 'file-3-line' | 'file-4-fill' | 'file-4-line' | 'file-add-fill' | 'file-add-line' | 'file-ai-2-fill' | 'file-ai-2-line' | 'file-ai-fill' | 'file-ai-line' | 'file-chart-2-fill' | 'file-chart-2-line' | 'file-chart-fill' | 'file-chart-line' | 'file-check-fill' | 'file-check-line' | 'file-close-fill' | 'file-close-line' | 'file-cloud-fill' | 'file-cloud-line' | 'file-code-fill' | 'file-code-line' | 'file-copy-2-fill' | 'file-copy-2-line' | 'file-copy-fill' | 'file-copy-line' | 'file-damage-fill' | 'file-damage-line' | 'file-download-fill' | 'file-download-line' | 'file-edit-fill' | 'file-edit-line' | 'file-excel-2-fill' | 'file-excel-2-line' | 'file-excel-fill' | 'file-excel-line' | 'file-fill' | 'file-forbid-fill' | 'file-forbid-line' | 'file-gif-fill' | 'file-gif-line' | 'file-history-fill' | 'file-history-line' | 'file-hwp-fill' | 'file-hwp-line' | 'file-image-fill' | 'file-image-line' | 'file-info-fill' | 'file-info-line' | 'file-line' | 'file-list-2-fill' | 'file-list-2-line' | 'file-list-3-fill' | 'file-list-3-line' | 'file-list-fill' | 'file-list-line' | 'file-lock-fill' | 'file-lock-line' | 'file-marked-fill' | 'file-marked-line' | 'file-music-fill' | 'file-music-line' | 'file-paper-2-fill' | 'file-paper-2-line' | 'file-paper-fill' | 'file-paper-line' | 'file-pdf-2-fill' | 'file-pdf-2-line' | 'file-pdf-fill' | 'file-pdf-line' | 'file-ppt-2-fill' | 'file-ppt-2-line' | 'file-ppt-fill' | 'file-ppt-line' | 'file-reduce-fill' | 'file-reduce-line' | 'file-scan-fill' | 'file-scan-line' | 'file-search-fill' | 'file-search-line' | 'file-settings-fill' | 'file-settings-line' | 'file-shield-2-fill' | 'file-shield-2-line' | 'file-shield-fill' | 'file-shield-line' | 'file-shred-fill' | 'file-shred-line' | 'file-text-fill' | 'file-text-line' | 'file-transfer-fill' | 'file-transfer-line' | 'file-unknow-fill' | 'file-unknow-line' | 'file-upload-fill' | 'file-upload-line' | 'file-user-fill' | 'file-user-line' | 'file-video-fill' | 'file-video-line' | 'file-warning-fill' | 'file-warning-line' | 'file-word-2-fill' | 'file-word-2-line' | 'file-word-fill' | 'file-word-line' | 'file-zip-fill' | 'file-zip-line' | 'film-ai-fill' | 'film-ai-line' | 'film-fill' | 'film-line' | 'filter-2-fill' | 'filter-2-line' | 'filter-3-fill' | 'filter-3-line' | 'filter-fill' | 'filter-line' | 'filter-off-fill' | 'filter-off-line' | 'find-replace-fill' | 'find-replace-line' | 'finder-fill' | 'finder-line' | 'fingerprint-2-fill' | 'fingerprint-2-line' | 'fingerprint-fill' | 'fingerprint-line' | 'fire-fill' | 'fire-line' | 'firebase-fill' | 'firebase-line' | 'firefox-browser-fill' | 'firefox-browser-line' | 'firefox-fill' | 'firefox-line' | 'first-aid-kit-fill' | 'first-aid-kit-line' | 'fiverr-fill' | 'fiverr-line' | 'flag-2-fill' | 'flag-2-line' | 'flag-fill' | 'flag-line' | 'flag-off-fill' | 'flag-off-line' | 'flashlight-fill' | 'flashlight-line' | 'flask-fill' | 'flask-line' | 'flickr-fill' | 'flickr-line' | 'flight-land-fill' | 'flight-land-line' | 'flight-takeoff-fill' | 'flight-takeoff-line' | 'flip-horizontal-2-fill' | 'flip-horizontal-2-line' | 'flip-horizontal-fill' | 'flip-horizontal-line' | 'flip-vertical-2-fill' | 'flip-vertical-2-line' | 'flip-vertical-fill' | 'flip-vertical-line' | 'flood-fill' | 'flood-line' | 'flow-chart' | 'flower-fill' | 'flower-line' | 'flutter-fill' | 'flutter-line' | 'focus-2-fill' | 'focus-2-line' | 'focus-3-fill' | 'focus-3-line' | 'focus-fill' | 'focus-line' | 'focus-mode' | 'foggy-fill' | 'foggy-line' | 'folder-2-fill' | 'folder-2-line' | 'folder-3-fill' | 'folder-3-line' | 'folder-4-fill' | 'folder-4-line' | 'folder-5-fill' | 'folder-5-line' | 'folder-6-fill' | 'folder-6-line' | 'folder-add-fill' | 'folder-add-line' | 'folder-chart-2-fill' | 'folder-chart-2-line' | 'folder-chart-fill' | 'folder-chart-line' | 'folder-check-fill' | 'folder-check-line' | 'folder-close-fill' | 'folder-close-line' | 'folder-cloud-fill' | 'folder-cloud-line' | 'folder-download-fill' | 'folder-download-line' | 'folder-fill' | 'folder-forbid-fill' | 'folder-forbid-line' | 'folder-history-fill' | 'folder-history-line' | 'folder-image-fill' | 'folder-image-line' | 'folder-info-fill' | 'folder-info-line' | 'folder-keyhole-fill' | 'folder-keyhole-line' | 'folder-line' | 'folder-lock-fill' | 'folder-lock-line' | 'folder-music-fill' | 'folder-music-line' | 'folder-open-fill' | 'folder-open-line' | 'folder-received-fill' | 'folder-received-line' | 'folder-reduce-fill' | 'folder-reduce-line' | 'folder-settings-fill' | 'folder-settings-line' | 'folder-shared-fill' | 'folder-shared-line' | 'folder-shield-2-fill' | 'folder-shield-2-line' | 'folder-shield-fill' | 'folder-shield-line' | 'folder-transfer-fill' | 'folder-transfer-line' | 'folder-unknow-fill' | 'folder-unknow-line' | 'folder-upload-fill' | 'folder-upload-line' | 'folder-user-fill' | 'folder-user-line' | 'folder-video-fill' | 'folder-video-line' | 'folder-warning-fill' | 'folder-warning-line' | 'folder-zip-fill' | 'folder-zip-line' | 'folders-fill' | 'folders-line' | 'font-color' | 'font-family' | 'font-mono' | 'font-sans-serif' | 'font-serif' | 'font-size' | 'font-size-2' | 'font-size-ai' | 'football-fill' | 'football-line' | 'footprint-fill' | 'footprint-line' | 'forbid-2-fill' | 'forbid-2-line' | 'forbid-fill' | 'forbid-line' | 'format-clear' | 'formula' | 'forward-10-fill' | 'forward-10-line' | 'forward-15-fill' | 'forward-15-line' | 'forward-30-fill' | 'forward-30-line' | 'forward-5-fill' | 'forward-5-line' | 'forward-end-fill' | 'forward-end-line' | 'forward-end-mini-fill' | 'forward-end-mini-line' | 'fridge-fill' | 'fridge-line' | 'friendica-fill' | 'friendica-line' | 'fullscreen-exit-fill' | 'fullscreen-exit-line' | 'fullscreen-fill' | 'fullscreen-line' | 'function-add-fill' | 'function-add-line' | 'function-ai-fill' | 'function-ai-line' | 'function-fill' | 'function-line' | 'functions' | 'funds-box-fill' | 'funds-box-line' | 'funds-fill' | 'funds-line' | 'gallery-fill' | 'gallery-line' | 'gallery-upload-fill' | 'gallery-upload-line' | 'gallery-view' | 'gallery-view-2' | 'game-2-fill' | 'game-2-line' | 'game-fill' | 'game-line' | 'gamepad-fill' | 'gamepad-line' | 'gas-station-fill' | 'gas-station-line' | 'gatsby-fill' | 'gatsby-line' | 'gemini-fill' | 'gemini-line' | 'genderless-fill' | 'genderless-line' | 'ghost-2-fill' | 'ghost-2-line' | 'ghost-3-fill' | 'ghost-3-line' | 'ghost-fill' | 'ghost-line' | 'ghost-smile-fill' | 'ghost-smile-line' | 'gift-2-fill' | 'gift-2-line' | 'gift-fill' | 'gift-line' | 'git-branch-fill' | 'git-branch-line' | 'git-close-pull-request-fill' | 'git-close-pull-request-line' | 'git-commit-fill' | 'git-commit-line' | 'git-fork-fill' | 'git-fork-line' | 'git-merge-fill' | 'git-merge-line' | 'git-pr-draft-fill' | 'git-pr-draft-line' | 'git-pull-request-fill' | 'git-pull-request-line' | 'git-repository-commits-fill' | 'git-repository-commits-line' | 'git-repository-fill' | 'git-repository-line' | 'git-repository-private-fill' | 'git-repository-private-line' | 'gitee-fill' | 'gitee-line' | 'github-fill' | 'github-line' | 'gitlab-fill' | 'gitlab-line' | 'glasses-2-fill' | 'glasses-2-line' | 'glasses-fill' | 'glasses-line' | 'global-fill' | 'global-line' | 'global-off-fill' | 'global-off-line' | 'globe-fill' | 'globe-line' | 'goblet-2-fill' | 'goblet-2-line' | 'goblet-broken-fill' | 'goblet-broken-line' | 'goblet-fill' | 'goblet-line' | 'goggles-fill' | 'goggles-line' | 'golf-ball-fill' | 'golf-ball-line' | 'google-fill' | 'google-line' | 'google-play-fill' | 'google-play-line' | 'government-fill' | 'government-line' | 'gps-fill' | 'gps-line' | 'gradienter-fill' | 'gradienter-line' | 'graduation-cap-fill' | 'graduation-cap-line' | 'grid-fill' | 'grid-line' | 'group-2-fill' | 'group-2-line' | 'group-3-fill' | 'group-3-line' | 'group-fill' | 'group-line' | 'guide-fill' | 'guide-line' | 'h-1' | 'h-2' | 'h-3' | 'h-4' | 'h-5' | 'h-6' | 'hail-fill' | 'hail-line' | 'hammer-fill' | 'hammer-line' | 'hand' | 'hand-coin-fill' | 'hand-coin-line' | 'hand-heart-fill' | 'hand-heart-line' | 'hand-sanitizer-fill' | 'hand-sanitizer-line' | 'handbag-fill' | 'handbag-line' | 'hard-drive-2-fill' | 'hard-drive-2-line' | 'hard-drive-3-fill' | 'hard-drive-3-line' | 'hard-drive-fill' | 'hard-drive-line' | 'hashtag' | 'haze-2-fill' | 'haze-2-line' | 'haze-fill' | 'haze-line' | 'hd-fill' | 'hd-line' | 'heading' | 'headphone-fill' | 'headphone-line' | 'health-book-fill' | 'health-book-line' | 'heart-2-fill' | 'heart-2-line' | 'heart-3-fill' | 'heart-3-line' | 'heart-add-2-fill' | 'heart-add-2-line' | 'heart-add-fill' | 'heart-add-line' | 'heart-fill' | 'heart-line' | 'heart-pulse-fill' | 'heart-pulse-line' | 'hearts-fill' | 'hearts-line' | 'heavy-showers-fill' | 'heavy-showers-line' | 'hexagon-fill' | 'hexagon-line' | 'history-fill' | 'history-line' | 'home-2-fill' | 'home-2-line' | 'home-3-fill' | 'home-3-line' | 'home-4-fill' | 'home-4-line' | 'home-5-fill' | 'home-5-line' | 'home-6-fill' | 'home-6-line' | 'home-7-fill' | 'home-7-line' | 'home-8-fill' | 'home-8-line' | 'home-9-fill' | 'home-9-line' | 'home-fill' | 'home-gear-fill' | 'home-gear-line' | 'home-heart-fill' | 'home-heart-line' | 'home-line' | 'home-office-fill' | 'home-office-line' | 'home-smile-2-fill' | 'home-smile-2-line' | 'home-smile-fill' | 'home-smile-line' | 'home-wifi-fill' | 'home-wifi-line' | 'honor-of-kings-fill' | 'honor-of-kings-line' | 'honour-fill' | 'honour-line' | 'hospital-fill' | 'hospital-line' | 'hotel-bed-fill' | 'hotel-bed-line' | 'hotel-fill' | 'hotel-line' | 'hotspot-fill' | 'hotspot-line' | 'hourglass-2-fill' | 'hourglass-2-line' | 'hourglass-fill' | 'hourglass-line' | 'hq-fill' | 'hq-line' | 'html5-fill' | 'html5-line' | 'id-card-fill' | 'id-card-line' | 'ie-fill' | 'ie-line' | 'image-2-fill' | 'image-2-line' | 'image-add-fill' | 'image-add-line' | 'image-ai-fill' | 'image-ai-line' | 'image-circle-ai-fill' | 'image-circle-ai-line' | 'image-circle-fill' | 'image-circle-line' | 'image-download-fill' | 'image-download-line' | 'image-edit-fill' | 'image-edit-line' | 'image-fill' | 'image-line' | 'image-upload-fill' | 'image-upload-line' | 'import-fill' | 'import-line' | 'inbox-2-fill' | 'inbox-2-line' | 'inbox-archive-fill' | 'inbox-archive-line' | 'inbox-fill' | 'inbox-line' | 'inbox-unarchive-fill' | 'inbox-unarchive-line' | 'increase-decrease-fill' | 'increase-decrease-line' | 'indent-decrease' | 'indent-increase' | 'indeterminate-circle-fill' | 'indeterminate-circle-line' | 'infinity-fill' | 'infinity-line' | 'info-card-fill' | 'info-card-line' | 'info-i' | 'information-2-fill' | 'information-2-line' | 'information-fill' | 'information-line' | 'information-off-fill' | 'information-off-line' | 'infrared-thermometer-fill' | 'infrared-thermometer-line' | 'ink-bottle-fill' | 'ink-bottle-line' | 'input-cursor-move' | 'input-field' | 'input-method-fill' | 'input-method-line' | 'insert-column-left' | 'insert-column-right' | 'insert-row-bottom' | 'insert-row-top' | 'instagram-fill' | 'instagram-line' | 'install-fill' | 'install-line' | 'instance-fill' | 'instance-line' | 'invision-fill' | 'invision-line' | 'issues-fill' | 'issues-line' | 'issues-reopen-fill' | 'issues-reopen-line' | 'italic' | 'java-fill' | 'java-line' | 'javascript-fill' | 'javascript-line' | 'jewelry-fill' | 'jewelry-line' | 'kakao-talk-fill' | 'kakao-talk-line' | 'kanban-view' | 'kanban-view-2' | 'key-2-fill' | 'key-2-line' | 'key-fill' | 'key-line' | 'keyboard-box-fill' | 'keyboard-box-line' | 'keyboard-fill' | 'keyboard-line' | 'keynote-fill' | 'keynote-line' | 'kick-fill' | 'kick-line' | 'knife-blood-fill' | 'knife-blood-line' | 'knife-fill' | 'knife-line' | 'landscape-ai-fill' | 'landscape-ai-line' | 'landscape-fill' | 'landscape-line' | 'layout-2-fill' | 'layout-2-line' | 'layout-3-fill' | 'layout-3-line' | 'layout-4-fill' | 'layout-4-line' | 'layout-5-fill' | 'layout-5-line' | 'layout-6-fill' | 'layout-6-line' | 'layout-bottom-2-fill' | 'layout-bottom-2-line' | 'layout-bottom-fill' | 'layout-bottom-line' | 'layout-column-fill' | 'layout-column-line' | 'layout-fill' | 'layout-grid-2-fill' | 'layout-grid-2-line' | 'layout-grid-fill' | 'layout-grid-line' | 'layout-horizontal-fill' | 'layout-horizontal-line' | 'layout-left-2-fill' | 'layout-left-2-line' | 'layout-left-fill' | 'layout-left-line' | 'layout-line' | 'layout-masonry-fill' | 'layout-masonry-line' | 'layout-right-2-fill' | 'layout-right-2-line' | 'layout-right-fill' | 'layout-right-line' | 'layout-row-fill' | 'layout-row-line' | 'layout-top-2-fill' | 'layout-top-2-line' | 'layout-top-fill' | 'layout-top-line' | 'layout-vertical-fill' | 'layout-vertical-line' | 'leaf-fill' | 'leaf-line' | 'letter-spacing-2' | 'lifebuoy-fill' | 'lifebuoy-line' | 'lightbulb-ai-fill' | 'lightbulb-ai-line' | 'lightbulb-fill' | 'lightbulb-flash-fill' | 'lightbulb-flash-line' | 'lightbulb-line' | 'line-chart-fill' | 'line-chart-line' | 'line-fill' | 'line-height' | 'line-height-2' | 'line-line' | 'link' | 'link-m' | 'link-unlink' | 'link-unlink-m' | 'linkedin-box-fill' | 'linkedin-box-line' | 'linkedin-fill' | 'linkedin-line' | 'links-fill' | 'links-line' | 'list-check' | 'list-check-2' | 'list-check-3' | 'list-indefinite' | 'list-ordered' | 'list-ordered-2' | 'list-radio' | 'list-settings-fill' | 'list-settings-line' | 'list-unordered' | 'list-view' | 'live-fill' | 'live-line' | 'loader-2-fill' | 'loader-2-line' | 'loader-3-fill' | 'loader-3-line' | 'loader-4-fill' | 'loader-4-line' | 'loader-5-fill' | 'loader-5-line' | 'loader-fill' | 'loader-line' | 'lock-2-fill' | 'lock-2-line' | 'lock-fill' | 'lock-line' | 'lock-password-fill' | 'lock-password-line' | 'lock-star-fill' | 'lock-star-line' | 'lock-unlock-fill' | 'lock-unlock-line' | 'login-box-fill' | 'login-box-line' | 'login-circle-fill' | 'login-circle-line' | 'logout-box-fill' | 'logout-box-line' | 'logout-box-r-fill' | 'logout-box-r-line' | 'logout-circle-fill' | 'logout-circle-line' | 'logout-circle-r-fill' | 'logout-circle-r-line' | 'loop-left-ai-fill' | 'loop-left-ai-line' | 'loop-left-fill' | 'loop-left-line' | 'loop-right-ai-fill' | 'loop-right-ai-line' | 'loop-right-fill' | 'loop-right-line' | 'luggage-cart-fill' | 'luggage-cart-line' | 'luggage-deposit-fill' | 'luggage-deposit-line' | 'lungs-fill' | 'lungs-line' | 'mac-fill' | 'mac-line' | 'macbook-fill' | 'macbook-line' | 'magic-fill' | 'magic-line' | 'mail-add-fill' | 'mail-add-line' | 'mail-ai-fill' | 'mail-ai-line' | 'mail-check-fill' | 'mail-check-line' | 'mail-close-fill' | 'mail-close-line' | 'mail-download-fill' | 'mail-download-line' | 'mail-fill' | 'mail-forbid-fill' | 'mail-forbid-line' | 'mail-line' | 'mail-lock-fill' | 'mail-lock-line' | 'mail-open-fill' | 'mail-open-line' | 'mail-send-fill' | 'mail-send-line' | 'mail-settings-fill' | 'mail-settings-line' | 'mail-star-fill' | 'mail-star-line' | 'mail-unread-fill' | 'mail-unread-line' | 'mail-volume-fill' | 'mail-volume-line' | 'map-2-fill' | 'map-2-line' | 'map-fill' | 'map-line' | 'map-pin-2-fill' | 'map-pin-2-line' | 'map-pin-3-fill' | 'map-pin-3-line' | 'map-pin-4-fill' | 'map-pin-4-line' | 'map-pin-5-fill' | 'map-pin-5-line' | 'map-pin-add-fill' | 'map-pin-add-line' | 'map-pin-fill' | 'map-pin-line' | 'map-pin-range-fill' | 'map-pin-range-line' | 'map-pin-time-fill' | 'map-pin-time-line' | 'map-pin-user-fill' | 'map-pin-user-line' | 'mark-pen-fill' | 'mark-pen-line' | 'markdown-fill' | 'markdown-line' | 'markup-fill' | 'markup-line' | 'mastercard-fill' | 'mastercard-line' | 'mastodon-fill' | 'mastodon-line' | 'medal-2-fill' | 'medal-2-line' | 'medal-fill' | 'medal-line' | 'medicine-bottle-fill' | 'medicine-bottle-line' | 'medium-fill' | 'medium-line' | 'megaphone-fill' | 'megaphone-line' | 'memories-fill' | 'memories-line' | 'men-fill' | 'men-line' | 'mental-health-fill' | 'mental-health-line' | 'menu-2-fill' | 'menu-2-line' | 'menu-3-fill' | 'menu-3-line' | 'menu-4-fill' | 'menu-4-line' | 'menu-5-fill' | 'menu-5-line' | 'menu-add-fill' | 'menu-add-line' | 'menu-fill' | 'menu-fold-2-fill' | 'menu-fold-2-line' | 'menu-fold-3-fill' | 'menu-fold-3-line' | 'menu-fold-4-fill' | 'menu-fold-4-line' | 'menu-fold-fill' | 'menu-fold-line' | 'menu-line' | 'menu-search-fill' | 'menu-search-line' | 'menu-unfold-2-fill' | 'menu-unfold-2-line' | 'menu-unfold-3-fill' | 'menu-unfold-3-line' | 'menu-unfold-4-fill' | 'menu-unfold-4-line' | 'menu-unfold-fill' | 'menu-unfold-line' | 'merge-cells-horizontal' | 'merge-cells-vertical' | 'message-2-fill' | 'message-2-line' | 'message-3-fill' | 'message-3-line' | 'message-ai-3-fill' | 'message-ai-3-line' | 'message-fill' | 'message-line' | 'messenger-fill' | 'messenger-line' | 'meta-fill' | 'meta-line' | 'meteor-fill' | 'meteor-line' | 'mic-2-ai-fill' | 'mic-2-ai-line' | 'mic-2-fill' | 'mic-2-line' | 'mic-ai-fill' | 'mic-ai-line' | 'mic-fill' | 'mic-line' | 'mic-off-fill' | 'mic-off-line' | 'mickey-fill' | 'mickey-line' | 'microscope-fill' | 'microscope-line' | 'microsoft-fill' | 'microsoft-line' | 'microsoft-loop-fill' | 'microsoft-loop-line' | 'mind-map' | 'mini-program-fill' | 'mini-program-line' | 'mist-fill' | 'mist-line' | 'mixtral-fill' | 'mixtral-line' | 'mobile-download-fill' | 'mobile-download-line' | 'money-cny-box-fill' | 'money-cny-box-line' | 'money-cny-circle-fill' | 'money-cny-circle-line' | 'money-dollar-box-fill' | 'money-dollar-box-line' | 'money-dollar-circle-fill' | 'money-dollar-circle-line' | 'money-euro-box-fill' | 'money-euro-box-line' | 'money-euro-circle-fill' | 'money-euro-circle-line' | 'money-pound-box-fill' | 'money-pound-box-line' | 'money-pound-circle-fill' | 'money-pound-circle-line' | 'money-rupee-circle-fill' | 'money-rupee-circle-line' | 'moon-clear-fill' | 'moon-clear-line' | 'moon-cloudy-fill' | 'moon-cloudy-line' | 'moon-fill' | 'moon-foggy-fill' | 'moon-foggy-line' | 'moon-line' | 'more-2-fill' | 'more-2-line' | 'more-fill' | 'more-line' | 'motorbike-fill' | 'motorbike-line' | 'mouse-fill' | 'mouse-line' | 'movie-2-ai-fill' | 'movie-2-ai-line' | 'movie-2-fill' | 'movie-2-line' | 'movie-ai-fill' | 'movie-ai-line' | 'movie-fill' | 'movie-line' | 'multi-image-fill' | 'multi-image-line' | 'music-2-fill' | 'music-2-line' | 'music-ai-fill' | 'music-ai-line' | 'music-fill' | 'music-line' | 'mv-ai-fill' | 'mv-ai-line' | 'mv-fill' | 'mv-line' | 'navigation-fill' | 'navigation-line' | 'netease-cloud-music-fill' | 'netease-cloud-music-line' | 'netflix-fill' | 'netflix-line' | 'network-error-fill' | 'network-error-line' | 'network-fill' | 'network-line' | 'network-off-fill' | 'network-off-line' | 'news-fill' | 'news-line' | 'newspaper-fill' | 'newspaper-line' | 'nextjs-fill' | 'nextjs-line' | 'nft-fill' | 'nft-line' | 'no-credit-card-fill' | 'no-credit-card-line' | 'node-tree' | 'nodejs-fill' | 'nodejs-line' | 'notification-2-fill' | 'notification-2-line' | 'notification-3-fill' | 'notification-3-line' | 'notification-4-fill' | 'notification-4-line' | 'notification-badge-fill' | 'notification-badge-line' | 'notification-fill' | 'notification-line' | 'notification-off-fill' | 'notification-off-line' | 'notification-snooze-fill' | 'notification-snooze-line' | 'notion-fill' | 'notion-line' | 'npmjs-fill' | 'npmjs-line' | 'number-0' | 'number-1' | 'number-2' | 'number-3' | 'number-4' | 'number-5' | 'number-6' | 'number-7' | 'number-8' | 'number-9' | 'numbers-fill' | 'numbers-line' | 'nurse-fill' | 'nurse-line' | 'octagon-fill' | 'octagon-line' | 'oil-fill' | 'oil-line' | 'omega' | 'open-arm-fill' | 'open-arm-line' | 'open-source-fill' | 'open-source-line' | 'openai-fill' | 'openai-line' | 'openbase-fill' | 'openbase-line' | 'opera-fill' | 'opera-line' | 'order-play-fill' | 'order-play-line' | 'organization-chart' | 'outlet-2-fill' | 'outlet-2-line' | 'outlet-fill' | 'outlet-line' | 'overline' | 'p2p-fill' | 'p2p-line' | 'page-separator' | 'pages-fill' | 'pages-line' | 'paint-brush-fill' | 'paint-brush-line' | 'paint-fill' | 'paint-line' | 'painting-ai-fill' | 'painting-ai-line' | 'painting-fill' | 'painting-line' | 'palette-fill' | 'palette-line' | 'pantone-fill' | 'pantone-line' | 'paragraph' | 'parent-fill' | 'parent-line' | 'parentheses-fill' | 'parentheses-line' | 'parking-box-fill' | 'parking-box-line' | 'parking-fill' | 'parking-line' | 'pass-expired-fill' | 'pass-expired-line' | 'pass-pending-fill' | 'pass-pending-line' | 'pass-valid-fill' | 'pass-valid-line' | 'passport-fill' | 'passport-line' | 'patreon-fill' | 'patreon-line' | 'pause-circle-fill' | 'pause-circle-line' | 'pause-fill' | 'pause-large-fill' | 'pause-large-line' | 'pause-line' | 'pause-mini-fill' | 'pause-mini-line' | 'paypal-fill' | 'paypal-line' | 'pen-nib-fill' | 'pen-nib-line' | 'pencil-ai-2-fill' | 'pencil-ai-2-line' | 'pencil-ai-fill' | 'pencil-ai-line' | 'pencil-fill' | 'pencil-line' | 'pencil-ruler-2-fill' | 'pencil-ruler-2-line' | 'pencil-ruler-fill' | 'pencil-ruler-line' | 'pentagon-fill' | 'pentagon-line' | 'percent-fill' | 'percent-line' | 'perplexity-fill' | 'perplexity-line' | 'phone-camera-fill' | 'phone-camera-line' | 'phone-fill' | 'phone-find-fill' | 'phone-find-line' | 'phone-line' | 'phone-lock-fill' | 'phone-lock-line' | 'php-fill' | 'php-line' | 'piano-fill' | 'piano-grand-fill' | 'piano-grand-line' | 'piano-line' | 'picture-in-picture-2-fill' | 'picture-in-picture-2-line' | 'picture-in-picture-exit-fill' | 'picture-in-picture-exit-line' | 'picture-in-picture-fill' | 'picture-in-picture-line' | 'pie-chart-2-fill' | 'pie-chart-2-line' | 'pie-chart-box-fill' | 'pie-chart-box-line' | 'pie-chart-fill' | 'pie-chart-line' | 'pin-distance-fill' | 'pin-distance-line' | 'ping-pong-fill' | 'ping-pong-line' | 'pinterest-fill' | 'pinterest-line' | 'pinyin-input' | 'pix-fill' | 'pix-line' | 'pixelfed-fill' | 'pixelfed-line' | 'plane-fill' | 'plane-line' | 'planet-fill' | 'planet-line' | 'plant-fill' | 'plant-line' | 'play-circle-fill' | 'play-circle-line' | 'play-fill' | 'play-large-fill' | 'play-large-line' | 'play-line' | 'play-list-2-fill' | 'play-list-2-line' | 'play-list-add-fill' | 'play-list-add-line' | 'play-list-fill' | 'play-list-line' | 'play-mini-fill' | 'play-mini-line' | 'play-reverse-fill' | 'play-reverse-large-fill' | 'play-reverse-large-line' | 'play-reverse-line' | 'play-reverse-mini-fill' | 'play-reverse-mini-line' | 'playstation-fill' | 'playstation-line' | 'plug-2-fill' | 'plug-2-line' | 'plug-3-fill' | 'plug-3-line' | 'plug-fill' | 'plug-line' | 'poker-clubs-fill' | 'poker-clubs-line' | 'poker-diamonds-fill' | 'poker-diamonds-line' | 'poker-hearts-fill' | 'poker-hearts-line' | 'poker-spades-fill' | 'poker-spades-line' | 'polaroid-2-fill' | 'polaroid-2-line' | 'polaroid-fill' | 'polaroid-line' | 'police-badge-fill' | 'police-badge-line' | 'police-car-fill' | 'police-car-line' | 'presentation-fill' | 'presentation-line' | 'price-tag-2-fill' | 'price-tag-2-line' | 'price-tag-3-fill' | 'price-tag-3-line' | 'price-tag-fill' | 'price-tag-line' | 'printer-cloud-fill' | 'printer-cloud-line' | 'printer-fill' | 'printer-line' | 'product-hunt-fill' | 'product-hunt-line' | 'profile-fill' | 'profile-line' | 'progress-1-fill' | 'progress-1-line' | 'progress-2-fill' | 'progress-2-line' | 'progress-3-fill' | 'progress-3-line' | 'progress-4-fill' | 'progress-4-line' | 'progress-5-fill' | 'progress-5-line' | 'progress-6-fill' | 'progress-6-line' | 'progress-7-fill' | 'progress-7-line' | 'progress-8-fill' | 'progress-8-line' | 'prohibited-2-fill' | 'prohibited-2-line' | 'prohibited-fill' | 'prohibited-line' | 'projector-2-fill' | 'projector-2-line' | 'projector-fill' | 'projector-line' | 'psychotherapy-fill' | 'psychotherapy-line' | 'pulse-ai-fill' | 'pulse-ai-line' | 'pulse-fill' | 'pulse-line' | 'pushpin-2-fill' | 'pushpin-2-line' | 'pushpin-fill' | 'pushpin-line' | 'puzzle-2-fill' | 'puzzle-2-line' | 'puzzle-fill' | 'puzzle-line' | 'qq-fill' | 'qq-line' | 'qr-code-fill' | 'qr-code-line' | 'qr-scan-2-fill' | 'qr-scan-2-line' | 'qr-scan-fill' | 'qr-scan-line' | 'question-answer-fill' | 'question-answer-line' | 'question-fill' | 'question-line' | 'question-mark' | 'questionnaire-fill' | 'questionnaire-line' | 'quill-pen-ai-fill' | 'quill-pen-ai-line' | 'quill-pen-fill' | 'quill-pen-line' | 'quote-text' | 'radar-fill' | 'radar-line' | 'radio-2-fill' | 'radio-2-line' | 'radio-button-fill' | 'radio-button-line' | 'radio-fill' | 'radio-line' | 'rainbow-fill' | 'rainbow-line' | 'rainy-fill' | 'rainy-line' | 'ram-2-fill' | 'ram-2-line' | 'ram-fill' | 'ram-line' | 'reactjs-fill' | 'reactjs-line' | 'receipt-fill' | 'receipt-line' | 'record-circle-fill' | 'record-circle-line' | 'record-mail-fill' | 'record-mail-line' | 'rectangle-fill' | 'rectangle-line' | 'recycle-fill' | 'recycle-line' | 'red-packet-fill' | 'red-packet-line' | 'reddit-fill' | 'reddit-line' | 'refresh-fill' | 'refresh-line' | 'refund-2-fill' | 'refund-2-line' | 'refund-fill' | 'refund-line' | 'registered-fill' | 'registered-line' | 'remix-fill' | 'remix-line' | 'remix-run-fill' | 'remix-run-line' | 'remixicon-fill' | 'remixicon-line' | 'remote-control-2-fill' | 'remote-control-2-line' | 'remote-control-fill' | 'remote-control-line' | 'repeat-2-fill' | 'repeat-2-line' | 'repeat-fill' | 'repeat-line' | 'repeat-one-fill' | 'repeat-one-line' | 'replay-10-fill' | 'replay-10-line' | 'replay-15-fill' | 'replay-15-line' | 'replay-30-fill' | 'replay-30-line' | 'replay-5-fill' | 'replay-5-line' | 'reply-all-fill' | 'reply-all-line' | 'reply-fill' | 'reply-line' | 'reserved-fill' | 'reserved-line' | 'reset-left-fill' | 'reset-left-line' | 'reset-right-fill' | 'reset-right-line' | 'rest-time-fill' | 'rest-time-line' | 'restart-fill' | 'restart-line' | 'restaurant-2-fill' | 'restaurant-2-line' | 'restaurant-fill' | 'restaurant-line' | 'rewind-fill' | 'rewind-line' | 'rewind-mini-fill' | 'rewind-mini-line' | 'rewind-start-fill' | 'rewind-start-line' | 'rewind-start-mini-fill' | 'rewind-start-mini-line' | 'rfid-fill' | 'rfid-line' | 'rhythm-fill' | 'rhythm-line' | 'riding-fill' | 'riding-line' | 'road-map-fill' | 'road-map-line' | 'roadster-fill' | 'roadster-line' | 'robot-2-fill' | 'robot-2-line' | 'robot-3-fill' | 'robot-3-line' | 'robot-fill' | 'robot-line' | 'rocket-2-fill' | 'rocket-2-line' | 'rocket-fill' | 'rocket-line' | 'rotate-lock-fill' | 'rotate-lock-line' | 'rounded-corner' | 'route-fill' | 'route-line' | 'router-fill' | 'router-line' | 'rss-fill' | 'rss-line' | 'ruler-2-fill' | 'ruler-2-line' | 'ruler-fill' | 'ruler-line' | 'run-fill' | 'run-line' | 'safari-fill' | 'safari-line' | 'safe-2-fill' | 'safe-2-line' | 'safe-3-fill' | 'safe-3-line' | 'safe-fill' | 'safe-line' | 'sailboat-fill' | 'sailboat-line' | 'save-2-fill' | 'save-2-line' | 'save-3-fill' | 'save-3-line' | 'save-fill' | 'save-line' | 'scales-2-fill' | 'scales-2-line' | 'scales-3-fill' | 'scales-3-line' | 'scales-fill' | 'scales-line' | 'scan-2-fill' | 'scan-2-line' | 'scan-fill' | 'scan-line' | 'school-fill' | 'school-line' | 'scissors-2-fill' | 'scissors-2-line' | 'scissors-cut-fill' | 'scissors-cut-line' | 'scissors-fill' | 'scissors-line' | 'screenshot-2-fill' | 'screenshot-2-line' | 'screenshot-fill' | 'screenshot-line' | 'scroll-to-bottom-fill' | 'scroll-to-bottom-line' | 'sd-card-fill' | 'sd-card-line' | 'sd-card-mini-fill' | 'sd-card-mini-line' | 'search-2-fill' | 'search-2-line' | 'search-ai-2-fill' | 'search-ai-2-line' | 'search-ai-3-fill' | 'search-ai-3-line' | 'search-ai-4-fill' | 'search-ai-4-line' | 'search-ai-fill' | 'search-ai-line' | 'search-eye-fill' | 'search-eye-line' | 'search-fill' | 'search-line' | 'secure-payment-fill' | 'secure-payment-line' | 'seedling-fill' | 'seedling-line' | 'send-backward' | 'send-ins-fill' | 'send-ins-line' | 'send-plane-2-fill' | 'send-plane-2-line' | 'send-plane-fill' | 'send-plane-line' | 'send-to-back' | 'sensor-fill' | 'sensor-line' | 'seo-fill' | 'seo-line' | 'separator' | 'server-fill' | 'server-line' | 'service-bell-fill' | 'service-bell-line' | 'service-fill' | 'service-line' | 'settings-2-fill' | 'settings-2-line' | 'settings-3-fill' | 'settings-3-line' | 'settings-4-fill' | 'settings-4-line' | 'settings-5-fill' | 'settings-5-line' | 'settings-6-fill' | 'settings-6-line' | 'settings-fill' | 'settings-line' | 'shadow-fill' | 'shadow-line' | 'shake-hands-fill' | 'shake-hands-line' | 'shape-2-fill' | 'shape-2-line' | 'shape-fill' | 'shape-line' | 'shapes-fill' | 'shapes-line' | 'share-2-fill' | 'share-2-line' | 'share-box-fill' | 'share-box-line' | 'share-circle-fill' | 'share-circle-line' | 'share-fill' | 'share-forward-2-fill' | 'share-forward-2-line' | 'share-forward-box-fill' | 'share-forward-box-line' | 'share-forward-fill' | 'share-forward-line' | 'share-line' | 'shield-check-fill' | 'shield-check-line' | 'shield-cross-fill' | 'shield-cross-line' | 'shield-fill' | 'shield-flash-fill' | 'shield-flash-line' | 'shield-keyhole-fill' | 'shield-keyhole-line' | 'shield-line' | 'shield-star-fill' | 'shield-star-line' | 'shield-user-fill' | 'shield-user-line' | 'shining-2-fill' | 'shining-2-line' | 'shining-fill' | 'shining-line' | 'ship-2-fill' | 'ship-2-line' | 'ship-fill' | 'ship-line' | 'shirt-fill' | 'shirt-line' | 'shopping-bag-2-fill' | 'shopping-bag-2-line' | 'shopping-bag-3-fill' | 'shopping-bag-3-line' | 'shopping-bag-4-fill' | 'shopping-bag-4-line' | 'shopping-bag-fill' | 'shopping-bag-line' | 'shopping-basket-2-fill' | 'shopping-basket-2-line' | 'shopping-basket-fill' | 'shopping-basket-line' | 'shopping-cart-2-fill' | 'shopping-cart-2-line' | 'shopping-cart-fill' | 'shopping-cart-line' | 'showers-fill' | 'showers-line' | 'shuffle-fill' | 'shuffle-line' | 'shut-down-fill' | 'shut-down-line' | 'side-bar-fill' | 'side-bar-line' | 'sidebar-fold-fill' | 'sidebar-fold-line' | 'sidebar-unfold-fill' | 'sidebar-unfold-line' | 'signal-cellular-1-fill' | 'signal-cellular-1-line' | 'signal-cellular-2-fill' | 'signal-cellular-2-line' | 'signal-cellular-3-fill' | 'signal-cellular-3-line' | 'signal-cellular-off-fill' | 'signal-cellular-off-line' | 'signal-tower-fill' | 'signal-tower-line' | 'signal-wifi-1-fill' | 'signal-wifi-1-line' | 'signal-wifi-2-fill' | 'signal-wifi-2-line' | 'signal-wifi-3-fill' | 'signal-wifi-3-line' | 'signal-wifi-error-fill' | 'signal-wifi-error-line' | 'signal-wifi-fill' | 'signal-wifi-line' | 'signal-wifi-off-fill' | 'signal-wifi-off-line' | 'signpost-fill' | 'signpost-line' | 'sim-card-2-fill' | 'sim-card-2-line' | 'sim-card-fill' | 'sim-card-line' | 'single-quotes-l' | 'single-quotes-r' | 'sip-fill' | 'sip-line' | 'sketching' | 'skip-back-fill' | 'skip-back-line' | 'skip-back-mini-fill' | 'skip-back-mini-line' | 'skip-down-fill' | 'skip-down-line' | 'skip-forward-fill' | 'skip-forward-line' | 'skip-forward-mini-fill' | 'skip-forward-mini-line' | 'skip-left-fill' | 'skip-left-line' | 'skip-right-fill' | 'skip-right-line' | 'skip-up-fill' | 'skip-up-line' | 'skull-2-fill' | 'skull-2-line' | 'skull-fill' | 'skull-line' | 'skype-fill' | 'skype-line' | 'slack-fill' | 'slack-line' | 'slash-commands' | 'slash-commands-2' | 'slice-fill' | 'slice-line' | 'slideshow-2-fill' | 'slideshow-2-line' | 'slideshow-3-fill' | 'slideshow-3-line' | 'slideshow-4-fill' | 'slideshow-4-line' | 'slideshow-fill' | 'slideshow-line' | 'slideshow-view' | 'slow-down-fill' | 'slow-down-line' | 'smartphone-fill' | 'smartphone-line' | 'snapchat-fill' | 'snapchat-line' | 'snowflake-fill' | 'snowflake-line' | 'snowy-fill' | 'snowy-line' | 'sofa-fill' | 'sofa-line' | 'sort-alphabet-asc' | 'sort-alphabet-desc' | 'sort-asc' | 'sort-desc' | 'sort-number-asc' | 'sort-number-desc' | 'sound-module-fill' | 'sound-module-line' | 'soundcloud-fill' | 'soundcloud-line' | 'space' | 'space-ship-fill' | 'space-ship-line' | 'spam-2-fill' | 'spam-2-line' | 'spam-3-fill' | 'spam-3-line' | 'spam-fill' | 'spam-line' | 'sparkling-2-fill' | 'sparkling-2-line' | 'sparkling-fill' | 'sparkling-line' | 'speak-ai-fill' | 'speak-ai-line' | 'speak-fill' | 'speak-line' | 'speaker-2-fill' | 'speaker-2-line' | 'speaker-3-fill' | 'speaker-3-line' | 'speaker-fill' | 'speaker-line' | 'spectrum-fill' | 'spectrum-line' | 'speech-to-text-fill' | 'speech-to-text-line' | 'speed-fill' | 'speed-line' | 'speed-mini-fill' | 'speed-mini-line' | 'speed-up-fill' | 'speed-up-line' | 'split-cells-horizontal' | 'split-cells-vertical' | 'spotify-fill' | 'spotify-line' | 'spy-fill' | 'spy-line' | 'square-fill' | 'square-line' | 'square-root' | 'stack-fill' | 'stack-line' | 'stack-overflow-fill' | 'stack-overflow-line' | 'stacked-chart-fill' | 'stacked-chart-line' | 'stacked-view' | 'stackshare-fill' | 'stackshare-line' | 'stairs-fill' | 'stairs-line' | 'star-fill' | 'star-half-fill' | 'star-half-line' | 'star-half-s-fill' | 'star-half-s-line' | 'star-line' | 'star-off-fill' | 'star-off-line' | 'star-s-fill' | 'star-s-line' | 'star-smile-fill' | 'star-smile-line' | 'steam-fill' | 'steam-line' | 'steering-2-fill' | 'steering-2-line' | 'steering-fill' | 'steering-line' | 'stethoscope-fill' | 'stethoscope-line' | 'sticky-note-2-fill' | 'sticky-note-2-line' | 'sticky-note-add-fill' | 'sticky-note-add-line' | 'sticky-note-fill' | 'sticky-note-line' | 'stock-fill' | 'stock-line' | 'stop-circle-fill' | 'stop-circle-line' | 'stop-fill' | 'stop-large-fill' | 'stop-large-line' | 'stop-line' | 'stop-mini-fill' | 'stop-mini-line' | 'store-2-fill' | 'store-2-line' | 'store-3-fill' | 'store-3-line' | 'store-fill' | 'store-line' | 'strikethrough' | 'strikethrough-2' | 'subscript' | 'subscript-2' | 'subtract-fill' | 'subtract-line' | 'subway-fill' | 'subway-line' | 'subway-wifi-fill' | 'subway-wifi-line' | 'suitcase-2-fill' | 'suitcase-2-line' | 'suitcase-3-fill' | 'suitcase-3-line' | 'suitcase-fill' | 'suitcase-line' | 'sun-cloudy-fill' | 'sun-cloudy-line' | 'sun-fill' | 'sun-foggy-fill' | 'sun-foggy-line' | 'sun-line' | 'supabase-fill' | 'supabase-line' | 'superscript' | 'superscript-2' | 'surgical-mask-fill' | 'surgical-mask-line' | 'surround-sound-fill' | 'surround-sound-line' | 'survey-fill' | 'survey-line' | 'svelte-fill' | 'svelte-line' | 'swap-2-fill' | 'swap-2-line' | 'swap-3-fill' | 'swap-3-line' | 'swap-box-fill' | 'swap-box-line' | 'swap-fill' | 'swap-line' | 'switch-fill' | 'switch-line' | 'sword-fill' | 'sword-line' | 'syringe-fill' | 'syringe-line' | 't-box-fill' | 't-box-line' | 't-shirt-2-fill' | 't-shirt-2-line' | 't-shirt-air-fill' | 't-shirt-air-line' | 't-shirt-fill' | 't-shirt-line' | 'table-2' | 'table-3' | 'table-alt-fill' | 'table-alt-line' | 'table-fill' | 'table-line' | 'table-view' | 'tablet-fill' | 'tablet-line' | 'tailwind-css-fill' | 'tailwind-css-line' | 'takeaway-fill' | 'takeaway-line' | 'taobao-fill' | 'taobao-line' | 'tape-fill' | 'tape-line' | 'target-fill' | 'target-line' | 'task-fill' | 'task-line' | 'taxi-fill' | 'taxi-line' | 'taxi-wifi-fill' | 'taxi-wifi-line' | 'team-fill' | 'team-line' | 'telegram-2-fill' | 'telegram-2-line' | 'telegram-fill' | 'telegram-line' | 'temp-cold-fill' | 'temp-cold-line' | 'temp-hot-fill' | 'temp-hot-line' | 'tent-fill' | 'tent-line' | 'terminal-box-fill' | 'terminal-box-line' | 'terminal-fill' | 'terminal-line' | 'terminal-window-fill' | 'terminal-window-line' | 'test-tube-fill' | 'test-tube-line' | 'text' | 'text-block' | 'text-direction-l' | 'text-direction-r' | 'text-snippet' | 'text-spacing' | 'text-to-speech-fill' | 'text-to-speech-line' | 'text-wrap' | 'thermometer-fill' | 'thermometer-line' | 'threads-fill' | 'threads-line' | 'thumb-down-fill' | 'thumb-down-line' | 'thumb-up-fill' | 'thumb-up-line' | 'thunderstorms-fill' | 'thunderstorms-line' | 'ticket-2-fill' | 'ticket-2-line' | 'ticket-fill' | 'ticket-line' | 'tiktok-fill' | 'tiktok-line' | 'time-fill' | 'time-line' | 'time-zone-fill' | 'time-zone-line' | 'timeline-view' | 'timer-2-fill' | 'timer-2-line' | 'timer-fill' | 'timer-flash-fill' | 'timer-flash-line' | 'timer-line' | 'todo-fill' | 'todo-line' | 'toggle-fill' | 'toggle-line' | 'token-swap-fill' | 'token-swap-line' | 'tools-fill' | 'tools-line' | 'tooth-fill' | 'tooth-line' | 'tornado-fill' | 'tornado-line' | 'trademark-fill' | 'trademark-line' | 'traffic-light-fill' | 'traffic-light-line' | 'train-fill' | 'train-line' | 'train-wifi-fill' | 'train-wifi-line' | 'translate' | 'translate-2' | 'translate-ai' | 'translate-ai-2' | 'travesti-fill' | 'travesti-line' | 'treasure-map-fill' | 'treasure-map-line' | 'tree-fill' | 'tree-line' | 'trello-fill' | 'trello-line' | 'triangle-fill' | 'triangle-line' | 'triangular-flag-fill' | 'triangular-flag-line' | 'trophy-fill' | 'trophy-line' | 'truck-fill' | 'truck-line' | 'tumblr-fill' | 'tumblr-line' | 'tv-2-fill' | 'tv-2-line' | 'tv-fill' | 'tv-line' | 'twitch-fill' | 'twitch-line' | 'twitter-fill' | 'twitter-line' | 'twitter-x-fill' | 'twitter-x-line' | 'typhoon-fill' | 'typhoon-line' | 'u-disk-fill' | 'u-disk-line' | 'ubuntu-fill' | 'ubuntu-line' | 'umbrella-fill' | 'umbrella-line' | 'underline' | 'uninstall-fill' | 'uninstall-line' | 'unpin-fill' | 'unpin-line' | 'unsplash-fill' | 'unsplash-line' | 'upload-2-fill' | 'upload-2-line' | 'upload-cloud-2-fill' | 'upload-cloud-2-line' | 'upload-cloud-fill' | 'upload-cloud-line' | 'upload-fill' | 'upload-line' | 'upwork-fill' | 'upwork-line' | 'usb-fill' | 'usb-line' | 'user-2-fill' | 'user-2-line' | 'user-3-fill' | 'user-3-line' | 'user-4-fill' | 'user-4-line' | 'user-5-fill' | 'user-5-line' | 'user-6-fill' | 'user-6-line' | 'user-add-fill' | 'user-add-line' | 'user-community-fill' | 'user-community-line' | 'user-fill' | 'user-follow-fill' | 'user-follow-line' | 'user-forbid-fill' | 'user-forbid-line' | 'user-heart-fill' | 'user-heart-line' | 'user-line' | 'user-location-fill' | 'user-location-line' | 'user-minus-fill' | 'user-minus-line' | 'user-received-2-fill' | 'user-received-2-line' | 'user-received-fill' | 'user-received-line' | 'user-search-fill' | 'user-search-line' | 'user-settings-fill' | 'user-settings-line' | 'user-shared-2-fill' | 'user-shared-2-line' | 'user-shared-fill' | 'user-shared-line' | 'user-smile-fill' | 'user-smile-line' | 'user-star-fill' | 'user-star-line' | 'user-unfollow-fill' | 'user-unfollow-line' | 'user-voice-fill' | 'user-voice-line' | 'vercel-fill' | 'vercel-line' | 'verified-badge-fill' | 'verified-badge-line' | 'video-add-fill' | 'video-add-line' | 'video-ai-fill' | 'video-ai-line' | 'video-chat-fill' | 'video-chat-line' | 'video-download-fill' | 'video-download-line' | 'video-fill' | 'video-line' | 'video-off-fill' | 'video-off-line' | 'video-on-ai-fill' | 'video-on-ai-line' | 'video-on-fill' | 'video-on-line' | 'video-upload-fill' | 'video-upload-line' | 'vidicon-2-fill' | 'vidicon-2-line' | 'vidicon-fill' | 'vidicon-line' | 'vimeo-fill' | 'vimeo-line' | 'vip-crown-2-fill' | 'vip-crown-2-line' | 'vip-crown-fill' | 'vip-crown-line' | 'vip-diamond-fill' | 'vip-diamond-line' | 'vip-fill' | 'vip-line' | 'virus-fill' | 'virus-line' | 'visa-fill' | 'visa-line' | 'vk-fill' | 'vk-line' | 'voice-ai-fill' | 'voice-ai-line' | 'voice-recognition-fill' | 'voice-recognition-line' | 'voiceprint-fill' | 'voiceprint-line' | 'volume-down-fill' | 'volume-down-line' | 'volume-mute-fill' | 'volume-mute-line' | 'volume-off-vibrate-fill' | 'volume-off-vibrate-line' | 'volume-up-fill' | 'volume-up-line' | 'volume-vibrate-fill' | 'volume-vibrate-line' | 'vuejs-fill' | 'vuejs-line' | 'walk-fill' | 'walk-line' | 'wallet-2-fill' | 'wallet-2-line' | 'wallet-3-fill' | 'wallet-3-line' | 'wallet-fill' | 'wallet-line' | 'water-flash-fill' | 'water-flash-line' | 'water-percent-fill' | 'water-percent-line' | 'webcam-fill' | 'webcam-line' | 'webhook-fill' | 'webhook-line' | 'wechat-2-fill' | 'wechat-2-line' | 'wechat-channels-fill' | 'wechat-channels-line' | 'wechat-fill' | 'wechat-line' | 'wechat-pay-fill' | 'wechat-pay-line' | 'weibo-fill' | 'weibo-line' | 'weight-fill' | 'weight-line' | 'whatsapp-fill' | 'whatsapp-line' | 'wheelchair-fill' | 'wheelchair-line' | 'wifi-fill' | 'wifi-line' | 'wifi-off-fill' | 'wifi-off-line' | 'window-2-fill' | 'window-2-line' | 'window-fill' | 'window-line' | 'windows-fill' | 'windows-line' | 'windy-fill' | 'windy-line' | 'wireless-charging-fill' | 'wireless-charging-line' | 'women-fill' | 'women-line' | 'wordpress-fill' | 'wordpress-line' | 'wrench-fill' | 'wrench-line' | 'wubi-input' | 'xbox-fill' | 'xbox-line' | 'xing-fill' | 'xing-line' | 'xrp-fill' | 'xrp-line' | 'xtz-fill' | 'xtz-line' | 'youtube-fill' | 'youtube-line' | 'yuque-fill' | 'yuque-line' | 'zcool-fill' | 'zcool-line' | 'zhihu-fill' | 'zhihu-line' | 'zoom-in-fill' | 'zoom-in-line' | 'zoom-out-fill' | 'zoom-out-line' | 'zzz-fill' | 'zzz-line';
421
+
422
+ interface IconProps {
423
+ /** The icon's name on https://remixicon.com/, such as `mail-line`. */
424
+ name: IconName;
425
+ /** The mark's size in pixels; without one, the font size around it. */
426
+ size?: number;
427
+ className?: string;
428
+ style?: CSSProperties;
429
+ }
430
+ /**
431
+ * A Remix Icon of the font the host loads into every view, in the colour
432
+ * of the text around it. `hs-icon` gives it the box of its size and the
433
+ * rules of the design system's drawn marks: the dim ink in a picker or a
434
+ * search field, and the press of the control it sits in.
435
+ */
436
+ declare function Icon({ name, size, className, style }: IconProps): react.JSX.Element;
437
+
438
+ export { Button, Card, Chip, EmptyState, FactRow, Icon, IconButton, InfoRow, Label, LinkRow, ListRow, MDivider, MItem, MSection, MSub, MenuSurface, Mono, Notice, PageTitle, SegmentedControl, SettingsCard, SettingsSearch, SettingsSection, SettingsSelect, SettingsTabs, ShellConfirm, StatusWord, TextField, TextInput, Toggle, ToggleRow, anchorFrom, useFloatingTips };
439
+ export type { ButtonProps, ButtonSize, ButtonVariant, CardProps, ChipProps, ChipTone, EmptyStateProps, IconButtonProps, IconButtonSize, IconName, IconProps, MenuAnchor, PageTitleProps, SegmentedControlProps, ShellConfirmProps, StatusTone, StatusWordProps, TextFieldProps, TextInputProps, ToggleProps };