reflex 0.7.10.post1__py3-none-any.whl → 0.7.11__py3-none-any.whl
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.
Potentially problematic release.
This version of reflex might be problematic. Click here for more details.
- reflex/.templates/jinja/web/pages/_app.js.jinja2 +10 -10
- reflex/.templates/jinja/web/pages/_document.js.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/index.js.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/utils.js.jinja2 +35 -72
- reflex/.templates/jinja/web/utils/context.js.jinja2 +6 -18
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +7 -7
- reflex/.templates/web/components/shiki/code.js +5 -4
- reflex/compiler/compiler.py +20 -3
- reflex/components/base/bare.py +8 -5
- reflex/components/base/body.py +2 -4
- reflex/components/base/body.pyi +197 -3
- reflex/components/base/error_boundary.py +1 -1
- reflex/components/base/link.py +3 -3
- reflex/components/base/link.pyi +392 -4
- reflex/components/base/meta.py +5 -9
- reflex/components/base/meta.pyi +608 -28
- reflex/components/component.py +13 -27
- reflex/components/core/colors.py +35 -4
- reflex/components/core/cond.py +2 -2
- reflex/components/core/upload.py +2 -2
- reflex/components/datadisplay/shiki_code_block.py +2 -2
- reflex/components/dynamic.py +5 -2
- reflex/components/el/element.py +4 -0
- reflex/components/el/elements/forms.py +3 -1
- reflex/components/el/elements/inline.py +3 -1
- reflex/components/el/elements/metadata.py +1 -1
- reflex/components/el/elements/metadata.pyi +1 -0
- reflex/components/el/elements/typography.py +3 -1
- reflex/components/lucide/icon.py +47 -3
- reflex/components/lucide/icon.pyi +45 -0
- reflex/components/markdown/markdown.py +6 -7
- reflex/components/markdown/markdown.pyi +2 -2
- reflex/components/moment/moment.py +1 -1
- reflex/components/next/video.py +8 -1
- reflex/components/plotly/plotly.py +1 -1
- reflex/components/radix/primitives/drawer.py +1 -1
- reflex/components/radix/themes/layout/list.py +3 -2
- reflex/components/radix/themes/layout/list.pyi +391 -2
- reflex/components/suneditor/editor.py +1 -1
- reflex/config.py +3 -0
- reflex/constants/colors.py +23 -6
- reflex/constants/installer.py +2 -2
- reflex/state.py +3 -1
- reflex/utils/build.py +1 -2
- reflex/utils/format.py +16 -6
- reflex/utils/pyi_generator.py +1 -0
- reflex/utils/types.py +24 -8
- {reflex-0.7.10.post1.dist-info → reflex-0.7.11.dist-info}/METADATA +1 -1
- {reflex-0.7.10.post1.dist-info → reflex-0.7.11.dist-info}/RECORD +53 -53
- {reflex-0.7.10.post1.dist-info → reflex-0.7.11.dist-info}/WHEEL +0 -0
- {reflex-0.7.10.post1.dist-info → reflex-0.7.11.dist-info}/entry_points.txt +0 -0
- {reflex-0.7.10.post1.dist-info → reflex-0.7.11.dist-info}/licenses/LICENSE +0 -0
reflex/components/component.py
CHANGED
|
@@ -268,6 +268,9 @@ class Component(BaseComponent, ABC):
|
|
|
268
268
|
# The alias for the tag.
|
|
269
269
|
alias: str | None = pydantic.v1.Field(default_factory=lambda: None)
|
|
270
270
|
|
|
271
|
+
# Whether the component is a global scope tag. True for tags like `html`, `head`, `body`.
|
|
272
|
+
_is_tag_in_global_scope: ClassVar[bool] = False
|
|
273
|
+
|
|
271
274
|
# Whether the import is default or named.
|
|
272
275
|
is_default: bool | None = pydantic.v1.Field(default_factory=lambda: False)
|
|
273
276
|
|
|
@@ -689,9 +692,14 @@ class Component(BaseComponent, ABC):
|
|
|
689
692
|
Returns:
|
|
690
693
|
The tag to render.
|
|
691
694
|
"""
|
|
695
|
+
# Create the base tag.
|
|
696
|
+
name = (self.tag if not self.alias else self.alias) or ""
|
|
697
|
+
if self._is_tag_in_global_scope and self.library is None:
|
|
698
|
+
name = '"' + name + '"'
|
|
699
|
+
|
|
692
700
|
# Create the base tag.
|
|
693
701
|
tag = Tag(
|
|
694
|
-
name=
|
|
702
|
+
name=name,
|
|
695
703
|
special_props=self.special_props,
|
|
696
704
|
)
|
|
697
705
|
|
|
@@ -2570,12 +2578,12 @@ def render_dict_to_var(tag: dict | Component | str, imported_names: set[str]) ->
|
|
|
2570
2578
|
special_props = []
|
|
2571
2579
|
|
|
2572
2580
|
for prop_str in tag["props"]:
|
|
2573
|
-
if "
|
|
2581
|
+
if ":" not in prop_str:
|
|
2574
2582
|
special_props.append(Var(prop_str).to(ObjectVar))
|
|
2575
2583
|
continue
|
|
2576
|
-
prop = prop_str.index("
|
|
2584
|
+
prop = prop_str.index(":")
|
|
2577
2585
|
key = prop_str[:prop]
|
|
2578
|
-
value = prop_str[prop +
|
|
2586
|
+
value = prop_str[prop + 1 :]
|
|
2579
2587
|
props[key] = value
|
|
2580
2588
|
|
|
2581
2589
|
props = LiteralObjectVar.create(
|
|
@@ -2585,19 +2593,11 @@ def render_dict_to_var(tag: dict | Component | str, imported_names: set[str]) ->
|
|
|
2585
2593
|
for prop in special_props:
|
|
2586
2594
|
props = props.merge(prop)
|
|
2587
2595
|
|
|
2588
|
-
contents = tag["contents"]
|
|
2596
|
+
contents = tag["contents"] if tag["contents"] else None
|
|
2589
2597
|
|
|
2590
2598
|
raw_tag_name = tag.get("name")
|
|
2591
2599
|
tag_name = Var(raw_tag_name or "Fragment")
|
|
2592
2600
|
|
|
2593
|
-
tag_name = (
|
|
2594
|
-
LiteralStringVar.create(raw_tag_name)
|
|
2595
|
-
if raw_tag_name
|
|
2596
|
-
and raw_tag_name.split(".")[0] not in imported_names
|
|
2597
|
-
and raw_tag_name.lower() == raw_tag_name
|
|
2598
|
-
else tag_name
|
|
2599
|
-
)
|
|
2600
|
-
|
|
2601
2601
|
return FunctionStringVar.create(
|
|
2602
2602
|
"jsx",
|
|
2603
2603
|
).call(
|
|
@@ -2642,23 +2642,9 @@ class LiteralComponentVar(CachedVarOperation, LiteralVar, ComponentVar):
|
|
|
2642
2642
|
"""
|
|
2643
2643
|
return VarData.merge(
|
|
2644
2644
|
self._var_data,
|
|
2645
|
-
VarData(
|
|
2646
|
-
imports={
|
|
2647
|
-
"@emotion/react": [
|
|
2648
|
-
ImportVar(tag="jsx"),
|
|
2649
|
-
],
|
|
2650
|
-
}
|
|
2651
|
-
),
|
|
2652
2645
|
VarData(
|
|
2653
2646
|
imports=self._var_value._get_all_imports(),
|
|
2654
2647
|
),
|
|
2655
|
-
VarData(
|
|
2656
|
-
imports={
|
|
2657
|
-
"react": [
|
|
2658
|
-
ImportVar(tag="Fragment"),
|
|
2659
|
-
],
|
|
2660
|
-
}
|
|
2661
|
-
),
|
|
2662
2648
|
)
|
|
2663
2649
|
|
|
2664
2650
|
def __hash__(self) -> int:
|
reflex/components/core/colors.py
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
"""The colors used in Reflex are a wrapper around https://www.radix-ui.com/colors."""
|
|
2
2
|
|
|
3
|
-
from reflex.constants.
|
|
4
|
-
from reflex.
|
|
3
|
+
from reflex.constants.base import REFLEX_VAR_OPENING_TAG
|
|
4
|
+
from reflex.constants.colors import (
|
|
5
|
+
COLORS,
|
|
6
|
+
MAX_SHADE_VALUE,
|
|
7
|
+
MIN_SHADE_VALUE,
|
|
8
|
+
Color,
|
|
9
|
+
ColorType,
|
|
10
|
+
ShadeType,
|
|
11
|
+
)
|
|
12
|
+
from reflex.vars.base import Var
|
|
5
13
|
|
|
6
14
|
|
|
7
|
-
|
|
8
|
-
|
|
15
|
+
def color(
|
|
16
|
+
color: ColorType | Var[str],
|
|
17
|
+
shade: ShadeType | Var[int] = 7,
|
|
18
|
+
alpha: bool | Var[bool] = False,
|
|
19
|
+
) -> Color:
|
|
9
20
|
"""Create a color object.
|
|
10
21
|
|
|
11
22
|
Args:
|
|
@@ -15,5 +26,25 @@ def color(color: ColorType, shade: ShadeType = 7, alpha: bool = False) -> Color:
|
|
|
15
26
|
|
|
16
27
|
Returns:
|
|
17
28
|
The color object.
|
|
29
|
+
|
|
30
|
+
Raises:
|
|
31
|
+
ValueError: If the color, shade, or alpha are not valid.
|
|
18
32
|
"""
|
|
33
|
+
if isinstance(color, str):
|
|
34
|
+
if color not in COLORS and REFLEX_VAR_OPENING_TAG not in color:
|
|
35
|
+
raise ValueError(f"Color must be one of {COLORS}, received {color}")
|
|
36
|
+
elif not isinstance(color, Var):
|
|
37
|
+
raise ValueError("Color must be a string or a Var")
|
|
38
|
+
|
|
39
|
+
if isinstance(shade, int):
|
|
40
|
+
if shade < MIN_SHADE_VALUE or shade > MAX_SHADE_VALUE:
|
|
41
|
+
raise ValueError(
|
|
42
|
+
f"Shade must be between {MIN_SHADE_VALUE} and {MAX_SHADE_VALUE}"
|
|
43
|
+
)
|
|
44
|
+
elif not isinstance(shade, Var):
|
|
45
|
+
raise ValueError("Shade must be an integer or a Var")
|
|
46
|
+
|
|
47
|
+
if not isinstance(alpha, (bool, Var)):
|
|
48
|
+
raise ValueError("Alpha must be a boolean or a Var")
|
|
49
|
+
|
|
19
50
|
return Color(color, shade, alpha)
|
reflex/components/core/cond.py
CHANGED
|
@@ -5,7 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Any, overload
|
|
6
6
|
|
|
7
7
|
from reflex.components.base.fragment import Fragment
|
|
8
|
-
from reflex.components.component import BaseComponent, Component
|
|
8
|
+
from reflex.components.component import BaseComponent, Component
|
|
9
9
|
from reflex.components.tags import CondTag, Tag
|
|
10
10
|
from reflex.constants import Dirs
|
|
11
11
|
from reflex.style import LIGHT_COLOR_MODE, resolved_color_mode
|
|
@@ -20,7 +20,7 @@ _IS_TRUE_IMPORT: ImportDict = {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
class Cond(
|
|
23
|
+
class Cond(Component):
|
|
24
24
|
"""Render one of two components based on a condition."""
|
|
25
25
|
|
|
26
26
|
# The cond to determine which component to render.
|
reflex/components/core/upload.py
CHANGED
|
@@ -361,7 +361,7 @@ class Upload(MemoizationLeaf):
|
|
|
361
361
|
upload = Input.create(type="file")
|
|
362
362
|
upload.special_props = [
|
|
363
363
|
Var(
|
|
364
|
-
_js_expr=f"{
|
|
364
|
+
_js_expr=f"{input_props_unique_name}()",
|
|
365
365
|
_var_type=None,
|
|
366
366
|
_var_data=var_data,
|
|
367
367
|
)
|
|
@@ -375,7 +375,7 @@ class Upload(MemoizationLeaf):
|
|
|
375
375
|
)
|
|
376
376
|
zone.special_props = [
|
|
377
377
|
Var(
|
|
378
|
-
_js_expr=f"{
|
|
378
|
+
_js_expr=f"{root_props_unique_name}()",
|
|
379
379
|
_var_type=None,
|
|
380
380
|
_var_data=var_data,
|
|
381
381
|
)
|
|
@@ -421,7 +421,7 @@ class ShikiBaseTransformers(Base):
|
|
|
421
421
|
class ShikiJsTransformer(ShikiBaseTransformers):
|
|
422
422
|
"""A Wrapped shikijs transformer."""
|
|
423
423
|
|
|
424
|
-
library: str = "@shikijs/transformers"
|
|
424
|
+
library: str = "@shikijs/transformers@3.3.0"
|
|
425
425
|
fns: list[FunctionStringVar] = [
|
|
426
426
|
FunctionStringVar.create(fn) for fn in SHIKIJS_TRANSFORMER_FNS
|
|
427
427
|
]
|
|
@@ -538,7 +538,7 @@ class ShikiCodeBlock(Component, MarkdownComponentMap):
|
|
|
538
538
|
|
|
539
539
|
alias = "ShikiCode"
|
|
540
540
|
|
|
541
|
-
lib_dependencies: list[str] = ["shiki"]
|
|
541
|
+
lib_dependencies: list[str] = ["shiki@3.3.0"]
|
|
542
542
|
|
|
543
543
|
# The language to use.
|
|
544
544
|
language: Var[LiteralCodeLanguage] = Var.create("python")
|
reflex/components/dynamic.py
CHANGED
|
@@ -72,7 +72,7 @@ def load_dynamic_serializer():
|
|
|
72
72
|
The generated code
|
|
73
73
|
"""
|
|
74
74
|
# Causes a circular import, so we import here.
|
|
75
|
-
from reflex.compiler import templates, utils
|
|
75
|
+
from reflex.compiler import compiler, templates, utils
|
|
76
76
|
from reflex.components.base.bare import Bare
|
|
77
77
|
|
|
78
78
|
component = Bare.create(Var.create(component))
|
|
@@ -97,8 +97,11 @@ def load_dynamic_serializer():
|
|
|
97
97
|
|
|
98
98
|
libs_in_window = bundled_libraries
|
|
99
99
|
|
|
100
|
+
component_imports = component._get_all_imports()
|
|
101
|
+
compiler._apply_common_imports(component_imports)
|
|
102
|
+
|
|
100
103
|
imports = {}
|
|
101
|
-
for lib, names in
|
|
104
|
+
for lib, names in component_imports.items():
|
|
102
105
|
formatted_lib_name = format_library_name(lib)
|
|
103
106
|
if (
|
|
104
107
|
not lib.startswith((".", "/", "$/"))
|
reflex/components/el/element.py
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"""Base class definition for raw HTML elements."""
|
|
2
2
|
|
|
3
|
+
from typing import ClassVar
|
|
4
|
+
|
|
3
5
|
from reflex.components.component import Component
|
|
4
6
|
|
|
5
7
|
|
|
6
8
|
class Element(Component):
|
|
7
9
|
"""The base class for all raw HTML elements."""
|
|
8
10
|
|
|
11
|
+
_is_tag_in_global_scope: ClassVar[bool] = True
|
|
12
|
+
|
|
9
13
|
def __eq__(self, other: object):
|
|
10
14
|
"""Two elements are equal if they have the same tag.
|
|
11
15
|
|
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from collections.abc import Iterator
|
|
6
6
|
from hashlib import md5
|
|
7
|
-
from typing import Any, Literal
|
|
7
|
+
from typing import Any, ClassVar, Literal
|
|
8
8
|
|
|
9
9
|
from jinja2 import Environment
|
|
10
10
|
|
|
@@ -86,6 +86,8 @@ class Button(BaseHTML):
|
|
|
86
86
|
# Value of the button, used when sending form data
|
|
87
87
|
value: Var[str | int | float]
|
|
88
88
|
|
|
89
|
+
_invalid_children: ClassVar[list[str]] = ["Button"]
|
|
90
|
+
|
|
89
91
|
|
|
90
92
|
class Datalist(BaseHTML):
|
|
91
93
|
"""Display the datalist element."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Inline classes."""
|
|
2
2
|
|
|
3
|
-
from typing import Literal
|
|
3
|
+
from typing import ClassVar, Literal
|
|
4
4
|
|
|
5
5
|
from reflex.vars.base import Var
|
|
6
6
|
|
|
@@ -48,6 +48,8 @@ class A(BaseHTML): # Inherits common attributes from BaseMeta
|
|
|
48
48
|
# Specifies where to open the linked document
|
|
49
49
|
target: Var[str | Literal["_self", "_blank", "_parent", "_top"]]
|
|
50
50
|
|
|
51
|
+
_invalid_children: ClassVar[list[str]] = ["A"]
|
|
52
|
+
|
|
51
53
|
|
|
52
54
|
class Abbr(BaseHTML):
|
|
53
55
|
"""Display the abbr element."""
|
|
@@ -1100,6 +1100,7 @@ class StyleEl(Element):
|
|
|
1100
1100
|
cls,
|
|
1101
1101
|
*children,
|
|
1102
1102
|
media: Var[str] | str | None = None,
|
|
1103
|
+
suppress_hydration_warning: Var[bool] | bool | None = None,
|
|
1103
1104
|
style: Sequence[Mapping[str, Any]]
|
|
1104
1105
|
| Mapping[str, Any]
|
|
1105
1106
|
| Var[Mapping[str, Any]]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Typography classes."""
|
|
2
2
|
|
|
3
|
-
from typing import Literal
|
|
3
|
+
from typing import ClassVar, Literal
|
|
4
4
|
|
|
5
5
|
from reflex.vars.base import Var
|
|
6
6
|
|
|
@@ -87,6 +87,8 @@ class P(BaseHTML):
|
|
|
87
87
|
|
|
88
88
|
tag = "p"
|
|
89
89
|
|
|
90
|
+
_invalid_children: ClassVar[list] = ["P", "Ol", "Ul", "Div"]
|
|
91
|
+
|
|
90
92
|
|
|
91
93
|
class Pre(BaseHTML):
|
|
92
94
|
"""Display the pre element."""
|
reflex/components/lucide/icon.py
CHANGED
|
@@ -10,7 +10,7 @@ from reflex.vars.sequence import LiteralStringVar, StringVar
|
|
|
10
10
|
class LucideIconComponent(Component):
|
|
11
11
|
"""Lucide Icon Component."""
|
|
12
12
|
|
|
13
|
-
library = "lucide-react@0.
|
|
13
|
+
library = "lucide-react@0.508.0"
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class Icon(LucideIconComponent):
|
|
@@ -75,13 +75,12 @@ class Icon(LucideIconComponent):
|
|
|
75
75
|
)
|
|
76
76
|
console.warn(
|
|
77
77
|
f"Invalid icon tag: {tag}. Please use one of the following: {', '.join(icons_sorted[0:10])}, ..."
|
|
78
|
-
"\nSee full list at https://reflex.dev/docs/library/data-display/icon/#icons-list. Using '
|
|
78
|
+
"\nSee full list at https://reflex.dev/docs/library/data-display/icon/#icons-list. Using 'circle_help' icon instead."
|
|
79
79
|
)
|
|
80
80
|
tag = "circle_help"
|
|
81
81
|
|
|
82
82
|
props["tag"] = LUCIDE_ICON_MAPPING_OVERRIDE.get(tag, format.to_title_case(tag))
|
|
83
83
|
props["alias"] = f"Lucide{props['tag']}"
|
|
84
|
-
props.setdefault("color", "var(--current-color)")
|
|
85
84
|
return super().create(**props)
|
|
86
85
|
|
|
87
86
|
|
|
@@ -234,6 +233,8 @@ LUCIDE_ICON_LIST = [
|
|
|
234
233
|
"banana",
|
|
235
234
|
"bandage",
|
|
236
235
|
"banknote",
|
|
236
|
+
"banknote_arrow_down",
|
|
237
|
+
"banknote_x",
|
|
237
238
|
"bar_chart",
|
|
238
239
|
"bar_chart_2",
|
|
239
240
|
"bar_chart_3",
|
|
@@ -249,6 +250,7 @@ LUCIDE_ICON_LIST = [
|
|
|
249
250
|
"battery_full",
|
|
250
251
|
"battery_low",
|
|
251
252
|
"battery_medium",
|
|
253
|
+
"battery_plus",
|
|
252
254
|
"battery_warning",
|
|
253
255
|
"beaker",
|
|
254
256
|
"bean",
|
|
@@ -321,6 +323,7 @@ LUCIDE_ICON_LIST = [
|
|
|
321
323
|
"bot",
|
|
322
324
|
"bot_message_square",
|
|
323
325
|
"bot_off",
|
|
326
|
+
"bow_arrow",
|
|
324
327
|
"box",
|
|
325
328
|
"box_select",
|
|
326
329
|
"boxes",
|
|
@@ -330,12 +333,15 @@ LUCIDE_ICON_LIST = [
|
|
|
330
333
|
"brain_circuit",
|
|
331
334
|
"brain_cog",
|
|
332
335
|
"brick_wall",
|
|
336
|
+
"brick_wall_fire",
|
|
333
337
|
"briefcase",
|
|
334
338
|
"briefcase_business",
|
|
335
339
|
"briefcase_conveyor_belt",
|
|
336
340
|
"briefcase_medical",
|
|
337
341
|
"bring_to_front",
|
|
338
342
|
"brush",
|
|
343
|
+
"brush_cleaning",
|
|
344
|
+
"bubbles",
|
|
339
345
|
"bug",
|
|
340
346
|
"bug_off",
|
|
341
347
|
"bug_play",
|
|
@@ -475,6 +481,7 @@ LUCIDE_ICON_LIST = [
|
|
|
475
481
|
"circle_power",
|
|
476
482
|
"circle_slash",
|
|
477
483
|
"circle_slash_2",
|
|
484
|
+
"circle_small",
|
|
478
485
|
"circle_stop",
|
|
479
486
|
"circle_user",
|
|
480
487
|
"circle_user_round",
|
|
@@ -509,6 +516,8 @@ LUCIDE_ICON_LIST = [
|
|
|
509
516
|
"clock_alert",
|
|
510
517
|
"clock_arrow_down",
|
|
511
518
|
"clock_arrow_up",
|
|
519
|
+
"clock_fading",
|
|
520
|
+
"clock_plus",
|
|
512
521
|
"cloud",
|
|
513
522
|
"cloud_alert",
|
|
514
523
|
"cloud_cog",
|
|
@@ -538,6 +547,7 @@ LUCIDE_ICON_LIST = [
|
|
|
538
547
|
"coins",
|
|
539
548
|
"columns_2",
|
|
540
549
|
"columns_3",
|
|
550
|
+
"columns_3_cog",
|
|
541
551
|
"columns_4",
|
|
542
552
|
"combine",
|
|
543
553
|
"command",
|
|
@@ -585,6 +595,8 @@ LUCIDE_ICON_LIST = [
|
|
|
585
595
|
"database",
|
|
586
596
|
"database_backup",
|
|
587
597
|
"database_zap",
|
|
598
|
+
"decimals_arrow_left",
|
|
599
|
+
"decimals_arrow_right",
|
|
588
600
|
"delete",
|
|
589
601
|
"dessert",
|
|
590
602
|
"diameter",
|
|
@@ -612,6 +624,7 @@ LUCIDE_ICON_LIST = [
|
|
|
612
624
|
"dollar_sign",
|
|
613
625
|
"donut",
|
|
614
626
|
"door_closed",
|
|
627
|
+
"door_closed_locked",
|
|
615
628
|
"door_open",
|
|
616
629
|
"dot",
|
|
617
630
|
"download",
|
|
@@ -785,6 +798,9 @@ LUCIDE_ICON_LIST = [
|
|
|
785
798
|
"frown",
|
|
786
799
|
"fuel",
|
|
787
800
|
"fullscreen",
|
|
801
|
+
"funnel",
|
|
802
|
+
"funnel_plus",
|
|
803
|
+
"funnel_x",
|
|
788
804
|
"gallery_horizontal",
|
|
789
805
|
"gallery_horizontal_end",
|
|
790
806
|
"gallery_thumbnails",
|
|
@@ -836,6 +852,7 @@ LUCIDE_ICON_LIST = [
|
|
|
836
852
|
"group",
|
|
837
853
|
"guitar",
|
|
838
854
|
"ham",
|
|
855
|
+
"hamburger",
|
|
839
856
|
"hammer",
|
|
840
857
|
"hand",
|
|
841
858
|
"hand_coins",
|
|
@@ -864,7 +881,9 @@ LUCIDE_ICON_LIST = [
|
|
|
864
881
|
"heart",
|
|
865
882
|
"heart_crack",
|
|
866
883
|
"heart_handshake",
|
|
884
|
+
"heart_minus",
|
|
867
885
|
"heart_off",
|
|
886
|
+
"heart_plus",
|
|
868
887
|
"heart_pulse",
|
|
869
888
|
"heater",
|
|
870
889
|
"hexagon",
|
|
@@ -975,6 +994,7 @@ LUCIDE_ICON_LIST = [
|
|
|
975
994
|
"locate",
|
|
976
995
|
"locate_fixed",
|
|
977
996
|
"locate_off",
|
|
997
|
+
"location_edit",
|
|
978
998
|
"lock",
|
|
979
999
|
"lock_keyhole",
|
|
980
1000
|
"lock_keyhole_open",
|
|
@@ -1009,6 +1029,8 @@ LUCIDE_ICON_LIST = [
|
|
|
1009
1029
|
"map_pin_x",
|
|
1010
1030
|
"map_pin_x_inside",
|
|
1011
1031
|
"map_pinned",
|
|
1032
|
+
"map_plus",
|
|
1033
|
+
"mars_stroke",
|
|
1012
1034
|
"martini",
|
|
1013
1035
|
"maximize",
|
|
1014
1036
|
"maximize_2",
|
|
@@ -1107,6 +1129,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1107
1129
|
"network",
|
|
1108
1130
|
"newspaper",
|
|
1109
1131
|
"nfc",
|
|
1132
|
+
"non_binary",
|
|
1110
1133
|
"notebook",
|
|
1111
1134
|
"notebook_pen",
|
|
1112
1135
|
"notebook_tabs",
|
|
@@ -1138,6 +1161,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1138
1161
|
"paintbrush_2",
|
|
1139
1162
|
"paintbrush_vertical",
|
|
1140
1163
|
"palette",
|
|
1164
|
+
"panda",
|
|
1141
1165
|
"panel_bottom",
|
|
1142
1166
|
"panel_bottom_close",
|
|
1143
1167
|
"panel_bottom_dashed",
|
|
@@ -1249,6 +1273,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1249
1273
|
"receipt_swiss_franc",
|
|
1250
1274
|
"receipt_text",
|
|
1251
1275
|
"rectangle_ellipsis",
|
|
1276
|
+
"rectangle_goggles",
|
|
1252
1277
|
"rectangle_horizontal",
|
|
1253
1278
|
"rectangle_vertical",
|
|
1254
1279
|
"recycle",
|
|
@@ -1276,6 +1301,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1276
1301
|
"roller_coaster",
|
|
1277
1302
|
"rotate_3d",
|
|
1278
1303
|
"rotate_ccw",
|
|
1304
|
+
"rotate_ccw_key",
|
|
1279
1305
|
"rotate_ccw_square",
|
|
1280
1306
|
"rotate_cw",
|
|
1281
1307
|
"rotate_cw_square",
|
|
@@ -1287,12 +1313,14 @@ LUCIDE_ICON_LIST = [
|
|
|
1287
1313
|
"rows_4",
|
|
1288
1314
|
"rss",
|
|
1289
1315
|
"ruler",
|
|
1316
|
+
"ruler_dimension_line",
|
|
1290
1317
|
"russian_ruble",
|
|
1291
1318
|
"sailboat",
|
|
1292
1319
|
"salad",
|
|
1293
1320
|
"sandwich",
|
|
1294
1321
|
"satellite",
|
|
1295
1322
|
"satellite_dish",
|
|
1323
|
+
"saudi_riyal",
|
|
1296
1324
|
"save",
|
|
1297
1325
|
"save_all",
|
|
1298
1326
|
"save_off",
|
|
@@ -1348,6 +1376,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1348
1376
|
"shield_off",
|
|
1349
1377
|
"shield_plus",
|
|
1350
1378
|
"shield_question",
|
|
1379
|
+
"shield_user",
|
|
1351
1380
|
"shield_x",
|
|
1352
1381
|
"ship",
|
|
1353
1382
|
"ship_wheel",
|
|
@@ -1357,6 +1386,8 @@ LUCIDE_ICON_LIST = [
|
|
|
1357
1386
|
"shopping_cart",
|
|
1358
1387
|
"shovel",
|
|
1359
1388
|
"shower_head",
|
|
1389
|
+
"shredder",
|
|
1390
|
+
"shrimp",
|
|
1360
1391
|
"shrink",
|
|
1361
1392
|
"shrub",
|
|
1362
1393
|
"shuffle",
|
|
@@ -1385,6 +1416,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1385
1416
|
"smile_plus",
|
|
1386
1417
|
"snail",
|
|
1387
1418
|
"snowflake",
|
|
1419
|
+
"soap_dispenser_droplet",
|
|
1388
1420
|
"sofa",
|
|
1389
1421
|
"soup",
|
|
1390
1422
|
"space",
|
|
@@ -1396,6 +1428,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1396
1428
|
"spell_check",
|
|
1397
1429
|
"spell_check_2",
|
|
1398
1430
|
"spline",
|
|
1431
|
+
"spline_pointer",
|
|
1399
1432
|
"split",
|
|
1400
1433
|
"spray_can",
|
|
1401
1434
|
"sprout",
|
|
@@ -1449,6 +1482,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1449
1482
|
"square_plus",
|
|
1450
1483
|
"square_power",
|
|
1451
1484
|
"square_radical",
|
|
1485
|
+
"square_round_corner",
|
|
1452
1486
|
"square_scissors",
|
|
1453
1487
|
"square_sigma",
|
|
1454
1488
|
"square_slash",
|
|
@@ -1460,6 +1494,10 @@ LUCIDE_ICON_LIST = [
|
|
|
1460
1494
|
"square_user",
|
|
1461
1495
|
"square_user_round",
|
|
1462
1496
|
"square_x",
|
|
1497
|
+
"squares_exclude",
|
|
1498
|
+
"squares_intersect",
|
|
1499
|
+
"squares_subtract",
|
|
1500
|
+
"squares_unite",
|
|
1463
1501
|
"squircle",
|
|
1464
1502
|
"squirrel",
|
|
1465
1503
|
"stamp",
|
|
@@ -1556,6 +1594,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1556
1594
|
"train_front_tunnel",
|
|
1557
1595
|
"train_track",
|
|
1558
1596
|
"tram_front",
|
|
1597
|
+
"transgender",
|
|
1559
1598
|
"trash",
|
|
1560
1599
|
"trash_2",
|
|
1561
1600
|
"tree_deciduous",
|
|
@@ -1572,6 +1611,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1572
1611
|
"triangle_right",
|
|
1573
1612
|
"trophy",
|
|
1574
1613
|
"truck",
|
|
1614
|
+
"truck_electric",
|
|
1575
1615
|
"turtle",
|
|
1576
1616
|
"tv",
|
|
1577
1617
|
"tv_2",
|
|
@@ -1599,6 +1639,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1599
1639
|
"user",
|
|
1600
1640
|
"user_check",
|
|
1601
1641
|
"user_cog",
|
|
1642
|
+
"user_lock",
|
|
1602
1643
|
"user_minus",
|
|
1603
1644
|
"user_pen",
|
|
1604
1645
|
"user_plus",
|
|
@@ -1621,6 +1662,8 @@ LUCIDE_ICON_LIST = [
|
|
|
1621
1662
|
"vault",
|
|
1622
1663
|
"vegan",
|
|
1623
1664
|
"venetian_mask",
|
|
1665
|
+
"venus",
|
|
1666
|
+
"venus_and_mars",
|
|
1624
1667
|
"vibrate",
|
|
1625
1668
|
"vibrate_off",
|
|
1626
1669
|
"video",
|
|
@@ -1658,6 +1701,7 @@ LUCIDE_ICON_LIST = [
|
|
|
1658
1701
|
"wifi_high",
|
|
1659
1702
|
"wifi_low",
|
|
1660
1703
|
"wifi_off",
|
|
1704
|
+
"wifi_pen",
|
|
1661
1705
|
"wifi_zero",
|
|
1662
1706
|
"wind",
|
|
1663
1707
|
"wind_arrow_down",
|