@dubium/icons 0.0.2-alpha.3 → 0.0.2-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +286 -49
- package/dist/collection/AdjustmentsPlusIcon.d.ts +3 -0
- package/dist/collection/{Icon123Icon.js → AdjustmentsPlusIcon.js} +3 -3
- package/dist/collection/AdjustmentsQuestionIcon.d.ts +3 -0
- package/dist/collection/AdjustmentsQuestionIcon.js +18 -0
- package/dist/collection/AlarmPlusFilledIcon.d.ts +3 -0
- package/dist/collection/AlarmPlusFilledIcon.js +29 -0
- package/dist/collection/AlarmSnoozeFilledIcon.d.ts +3 -0
- package/dist/collection/AlarmSnoozeFilledIcon.js +29 -0
- package/dist/collection/{Icon360ViewIcon.d.ts → AlarmSnoozeIcon.d.ts} +2 -2
- package/dist/collection/{Icon360Icon.js → AlarmSnoozeIcon.js} +3 -3
- package/dist/collection/AlbumIcon.d.ts +3 -0
- package/dist/collection/{Icon24HoursIcon.js → AlbumIcon.js} +3 -3
- package/dist/collection/AlbumOffIcon.d.ts +3 -0
- package/dist/collection/AlbumOffIcon.js +18 -0
- package/dist/collection/AlertCircleFilledIcon.d.ts +3 -0
- package/dist/collection/AlertCircleFilledIcon.js +15 -0
- package/dist/collection/{Icon24HoursIcon.d.ts → AlertCircleIcon.d.ts} +2 -2
- package/dist/collection/{Icon2faIcon.js → AlertCircleIcon.js} +3 -3
- package/dist/collection/AlertHexagonIcon.d.ts +3 -0
- package/dist/collection/AlertHexagonIcon.js +18 -0
- package/dist/collection/AlignBoxBottomRightFilledIcon.d.ts +3 -0
- package/dist/collection/AlignBoxBottomRightFilledIcon.js +15 -0
- package/dist/collection/AlignBoxBottomRightIcon.d.ts +3 -0
- package/dist/collection/AlignBoxBottomRightIcon.js +18 -0
- package/dist/collection/AlignBoxCenterMiddleFilledIcon.d.ts +3 -0
- package/dist/collection/AlignBoxCenterMiddleFilledIcon.js +15 -0
- package/dist/collection/AlignBoxCenterMiddleIcon.d.ts +3 -0
- package/dist/collection/AlignBoxCenterMiddleIcon.js +18 -0
- package/dist/collection/AlignBoxLeftBottomFilledIcon.d.ts +3 -0
- package/dist/collection/AlignBoxLeftBottomFilledIcon.js +15 -0
- package/dist/collection/AlignBoxLeftBottomIcon.d.ts +3 -0
- package/dist/collection/AlignBoxLeftBottomIcon.js +18 -0
- package/dist/collection/AlignBoxLeftMiddleFilledIcon.d.ts +3 -0
- package/dist/collection/AlignBoxLeftMiddleFilledIcon.js +15 -0
- package/dist/collection/AlignBoxLeftMiddleIcon.d.ts +3 -0
- package/dist/collection/AlignBoxLeftMiddleIcon.js +18 -0
- package/dist/collection/index.d.ts +20 -7
- package/dist/collection/index.js +19 -6
- package/dist/collection/types.d.ts +17 -1
- package/dist/icon/Icon.container.d.ts +29 -0
- package/dist/icon/Icon.container.js +19 -0
- package/dist/icon/Icon.d.ts +5 -0
- package/dist/icon/Icon.js +20 -0
- package/dist/icon/Icon.types.d.ts +59 -0
- package/dist/icon/index.d.ts +13 -0
- package/dist/icon/index.js +2 -0
- package/dist/vite/icon/Icon.create.d.ts +35 -0
- package/dist/{spa → vite}/icon/Icon.create.js +1 -1
- package/dist/vite/icon/Icon.d.ts +66 -0
- package/dist/vite/icon/Icon.js +79 -0
- package/dist/vite/icon/Icon.types.d.ts +88 -0
- package/dist/vite/icon/index.d.ts +6 -0
- package/dist/vite/index.d.ts +10 -46
- package/dist/vite/index.js +6 -167
- package/dist/vite/plugin/index.d.ts +11 -0
- package/dist/vite/plugin/index.js +2 -0
- package/dist/vite/plugin/plugin.d.ts +41 -0
- package/dist/vite/plugin/plugin.js +105 -0
- package/dist/vite/plugin/plugin.types.d.ts +99 -0
- package/dist/vite/plugin/scanner/index.d.ts +9 -0
- package/dist/vite/plugin/scanner/scanner.imports.d.ts +5 -0
- package/dist/vite/plugin/scanner/scanner.imports.js +36 -0
- package/dist/vite/plugin/scanner/scanner.jsx.d.ts +24 -0
- package/dist/vite/plugin/scanner/scanner.jsx.js +58 -0
- package/dist/vite/plugin/scanner/scanner.lexical.d.ts +30 -0
- package/dist/vite/plugin/scanner/scanner.lexical.js +140 -0
- package/dist/vite/plugin/scanner/scanner.properties.d.ts +9 -0
- package/dist/vite/plugin/scanner/scanner.properties.js +78 -0
- package/dist/vite/plugin/scanner/scanner.regex.d.ts +21 -0
- package/dist/vite/plugin/scanner/scanner.regex.js +24 -0
- package/dist/vite/plugin/scanner/scanner.source.d.ts +18 -0
- package/dist/vite/plugin/scanner/scanner.source.js +23 -0
- package/dist/vite/plugin/scanner/scanner.types.d.ts +1 -0
- package/dist/vite/plugin/sources/index.d.ts +11 -0
- package/dist/vite/plugin/sources/sources.catalog.d.ts +17 -0
- package/dist/vite/plugin/sources/sources.catalog.js +19 -0
- package/dist/vite/plugin/sources/sources.files.d.ts +34 -0
- package/dist/vite/plugin/sources/sources.files.js +43 -0
- package/dist/vite/plugin/sources/sources.types.d.ts +1 -0
- package/dist/vite/plugin/sources/sources.validate.d.ts +13 -0
- package/dist/vite/plugin/sources/sources.validate.js +12 -0
- package/dist/vite/plugin/virtual/index.d.ts +9 -0
- package/dist/vite/plugin/virtual/virtual.constants.d.ts +15 -0
- package/dist/vite/plugin/virtual/virtual.constants.js +4 -0
- package/dist/vite/plugin/virtual/virtual.module.d.ts +23 -0
- package/dist/vite/plugin/virtual/virtual.module.js +27 -0
- package/dist/vite/provider/IconProvider.context.d.ts +14 -0
- package/dist/vite/provider/IconProvider.context.js +5 -0
- package/dist/{spa → vite}/provider/IconProvider.d.ts +3 -2
- package/dist/{spa → vite}/provider/IconProvider.js +1 -1
- package/dist/{spa → vite}/provider/index.d.ts +2 -2
- package/dist/{spa/provider/IconProvider.context.d.ts → vite/provider/useIconContext.d.ts} +4 -14
- package/dist/vite/provider/useIconContext.js +6 -0
- package/dist/vite/runtime/IconRuntime.registry.d.ts +54 -0
- package/dist/vite/runtime/IconRuntime.registry.js +58 -0
- package/dist/vite/runtime/index.d.ts +9 -0
- package/package.json +17 -17
- package/dist/collection/Icon123Icon.d.ts +0 -3
- package/dist/collection/Icon2faIcon.d.ts +0 -3
- package/dist/collection/Icon360Icon.d.ts +0 -3
- package/dist/collection/Icon360ViewIcon.js +0 -18
- package/dist/spa/icon/Icon.create.d.ts +0 -40
- package/dist/spa/icon/Icon.d.ts +0 -25
- package/dist/spa/icon/Icon.js +0 -58
- package/dist/spa/icon/Icon.registry.d.ts +0 -12
- package/dist/spa/icon/Icon.types.d.ts +0 -71
- package/dist/spa/icon/index.d.ts +0 -9
- package/dist/spa/index.d.ts +0 -8
- package/dist/spa/index.js +0 -5
- package/dist/spa/provider/IconProvider.context.js +0 -5
- package/dist/ssr/icon/Icon.container.d.ts +0 -26
- package/dist/ssr/icon/Icon.container.js +0 -23
- package/dist/ssr/icon/Icon.create.d.ts +0 -35
- package/dist/ssr/icon/Icon.create.js +0 -8
- package/dist/ssr/icon/Icon.d.ts +0 -6
- package/dist/ssr/icon/Icon.js +0 -27
- package/dist/ssr/icon/Icon.registry.d.ts +0 -12
- package/dist/ssr/icon/Icon.registry.js +0 -10
- package/dist/ssr/icon/Icon.types.d.ts +0 -97
- package/dist/ssr/icon/index.d.ts +0 -10
- package/dist/ssr/index.d.ts +0 -6
- package/dist/ssr/index.js +0 -4
- /package/dist/{spa → vite}/provider/IconProvider.types.d.ts +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/collection/AlignBoxBottomRightFilledIcon.tsx
|
|
3
|
+
var t = ({ color: t = "var(--icon-color, currentColor)", ...n }) => /* @__PURE__ */ e("svg", {
|
|
4
|
+
...n,
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "100%",
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ e("path", {
|
|
10
|
+
fill: t,
|
|
11
|
+
d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005.195v12.666c0 1.96-1.537 3.56-3.472 3.662l-.195.005H5.667a3.667 3.667 0 0 1-3.662-3.472L2 18.333V5.667c0-1.96 1.537-3.56 3.472-3.662L5.667 2zM12 15a1 1 0 0 0-1 1v2l.007.117A1 1 0 0 0 13 18v-2l-.007-.117A1 1 0 0 0 12 15m3-4a1 1 0 0 0-1 1v6l.007.117A1 1 0 0 0 16 18v-6l-.007-.117A1 1 0 0 0 15 11m3 2a1 1 0 0 0-1 1v4l.007.117A1 1 0 0 0 19 18v-4l-.007-.117A1 1 0 0 0 18 13"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { t as AlignBoxBottomRightFilledIcon, t as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/collection/AlignBoxBottomRightIcon.tsx
|
|
3
|
+
var t = ({ color: t = "var(--icon-color, currentColor)", ...n }) => /* @__PURE__ */ e("svg", {
|
|
4
|
+
...n,
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "100%",
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ e("path", {
|
|
10
|
+
stroke: t,
|
|
11
|
+
strokeLinecap: "round",
|
|
12
|
+
strokeLinejoin: "round",
|
|
13
|
+
strokeWidth: "2",
|
|
14
|
+
d: "M11 15v2m3-6v6m3-4v4M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as AlignBoxBottomRightIcon, t as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/collection/AlignBoxCenterMiddleFilledIcon.tsx
|
|
3
|
+
var t = ({ color: t = "var(--icon-color, currentColor)", ...n }) => /* @__PURE__ */ e("svg", {
|
|
4
|
+
...n,
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "100%",
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ e("path", {
|
|
10
|
+
fill: t,
|
|
11
|
+
d: "M19 2a3 3 0 0 1 2.995 2.824L22 5v14a3 3 0 0 1-2.824 2.995L19 22H5a3 3 0 0 1-2.993-2.802L2 19V5a3 3 0 0 1 2.824-2.995L5 2zm-6 12h-2l-.117.007a1 1 0 0 0 0 1.986L11 16h2l.117-.007a1 1 0 0 0 0-1.986zm2-3H9l-.117.007a1 1 0 0 0 0 1.986L9 13h6l.117-.007a1 1 0 0 0 0-1.986zm-1-3h-4l-.117.007a1 1 0 0 0 0 1.986L10 10h4l.117-.007a1 1 0 0 0 0-1.986z"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { t as AlignBoxCenterMiddleFilledIcon, t as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/collection/AlignBoxCenterMiddleIcon.tsx
|
|
3
|
+
var t = ({ color: t = "var(--icon-color, currentColor)", ...n }) => /* @__PURE__ */ e("svg", {
|
|
4
|
+
...n,
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "100%",
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ e("path", {
|
|
10
|
+
stroke: t,
|
|
11
|
+
strokeLinecap: "round",
|
|
12
|
+
strokeLinejoin: "round",
|
|
13
|
+
strokeWidth: "2",
|
|
14
|
+
d: "M11 15h2m-4-3h6m-5-3h4M3 19V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2"
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as AlignBoxCenterMiddleIcon, t as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/collection/AlignBoxLeftBottomFilledIcon.tsx
|
|
3
|
+
var t = ({ color: t = "var(--icon-color, currentColor)", ...n }) => /* @__PURE__ */ e("svg", {
|
|
4
|
+
...n,
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "100%",
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ e("path", {
|
|
10
|
+
fill: t,
|
|
11
|
+
d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005.195v12.666c0 1.96-1.537 3.56-3.472 3.662l-.195.005H5.667a3.667 3.667 0 0 1-3.662-3.472L2 18.333V5.667c0-1.96 1.537-3.56 3.472-3.662L5.667 2zM8 17H6l-.117.007A1 1 0 0 0 6 19h2l.117-.007A1 1 0 0 0 8 17m4-3H6l-.117.007A1 1 0 0 0 6 16h6l.117-.007A1 1 0 0 0 12 14m-2-3H6l-.117.007A1 1 0 0 0 6 13h4l.117-.007A1 1 0 0 0 10 11"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { t as AlignBoxLeftBottomFilledIcon, t as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/collection/AlignBoxLeftBottomIcon.tsx
|
|
3
|
+
var t = ({ color: t = "var(--icon-color, currentColor)", ...n }) => /* @__PURE__ */ e("svg", {
|
|
4
|
+
...n,
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "100%",
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ e("path", {
|
|
10
|
+
stroke: t,
|
|
11
|
+
strokeLinecap: "round",
|
|
12
|
+
strokeLinejoin: "round",
|
|
13
|
+
strokeWidth: "2",
|
|
14
|
+
d: "M9 17H7m6-3H7m4-3H7M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as AlignBoxLeftBottomIcon, t as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/collection/AlignBoxLeftMiddleFilledIcon.tsx
|
|
3
|
+
var t = ({ color: t = "var(--icon-color, currentColor)", ...n }) => /* @__PURE__ */ e("svg", {
|
|
4
|
+
...n,
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "100%",
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ e("path", {
|
|
10
|
+
fill: t,
|
|
11
|
+
d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005.195v12.666c0 1.96-1.537 3.56-3.472 3.662l-.195.005H5.667a3.667 3.667 0 0 1-3.662-3.472L2 18.333V5.667c0-1.96 1.537-3.56 3.472-3.662L5.667 2zM8 14H6l-.117.007A1 1 0 0 0 6 16h2l.117-.007A1 1 0 0 0 8 14m4-3H6l-.117.007A1 1 0 0 0 6 13h6l.117-.007A1 1 0 0 0 12 11m-2-3H6l-.117.007A1 1 0 0 0 6 10h4l.117-.007A1 1 0 0 0 10 8"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { t as AlignBoxLeftMiddleFilledIcon, t as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/collection/AlignBoxLeftMiddleIcon.tsx
|
|
3
|
+
var t = ({ color: t = "var(--icon-color, currentColor)", ...n }) => /* @__PURE__ */ e("svg", {
|
|
4
|
+
...n,
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "100%",
|
|
8
|
+
height: "100%",
|
|
9
|
+
children: /* @__PURE__ */ e("path", {
|
|
10
|
+
stroke: t,
|
|
11
|
+
strokeLinecap: "round",
|
|
12
|
+
strokeLinejoin: "round",
|
|
13
|
+
strokeWidth: "2",
|
|
14
|
+
d: "M9 15H7m6-3H7m4-3H7M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as AlignBoxLeftMiddleIcon, t as default };
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* СГЕНЕРИРОВАНО АВТОМАТИЧЕСКИ скриптом scripts/sync-icons.mjs.
|
|
3
|
+
* Не редактировать вручную.
|
|
4
4
|
*/
|
|
5
5
|
export type { IIconComponentProps } from "./types.js";
|
|
6
|
-
export { default as
|
|
7
|
-
export { default as
|
|
8
|
-
export { default as
|
|
9
|
-
export { default as
|
|
10
|
-
export { default as
|
|
6
|
+
export { default as AdjustmentsPlusIcon } from "./AdjustmentsPlusIcon.js";
|
|
7
|
+
export { default as AdjustmentsQuestionIcon } from "./AdjustmentsQuestionIcon.js";
|
|
8
|
+
export { default as AlarmPlusFilledIcon } from "./AlarmPlusFilledIcon.js";
|
|
9
|
+
export { default as AlarmSnoozeFilledIcon } from "./AlarmSnoozeFilledIcon.js";
|
|
10
|
+
export { default as AlarmSnoozeIcon } from "./AlarmSnoozeIcon.js";
|
|
11
|
+
export { default as AlbumIcon } from "./AlbumIcon.js";
|
|
12
|
+
export { default as AlbumOffIcon } from "./AlbumOffIcon.js";
|
|
13
|
+
export { default as AlertCircleFilledIcon } from "./AlertCircleFilledIcon.js";
|
|
14
|
+
export { default as AlertCircleIcon } from "./AlertCircleIcon.js";
|
|
15
|
+
export { default as AlertHexagonIcon } from "./AlertHexagonIcon.js";
|
|
16
|
+
export { default as AlignBoxBottomRightFilledIcon } from "./AlignBoxBottomRightFilledIcon.js";
|
|
17
|
+
export { default as AlignBoxBottomRightIcon } from "./AlignBoxBottomRightIcon.js";
|
|
18
|
+
export { default as AlignBoxCenterMiddleFilledIcon } from "./AlignBoxCenterMiddleFilledIcon.js";
|
|
19
|
+
export { default as AlignBoxCenterMiddleIcon } from "./AlignBoxCenterMiddleIcon.js";
|
|
20
|
+
export { default as AlignBoxLeftBottomFilledIcon } from "./AlignBoxLeftBottomFilledIcon.js";
|
|
21
|
+
export { default as AlignBoxLeftBottomIcon } from "./AlignBoxLeftBottomIcon.js";
|
|
22
|
+
export { default as AlignBoxLeftMiddleFilledIcon } from "./AlignBoxLeftMiddleFilledIcon.js";
|
|
23
|
+
export { default as AlignBoxLeftMiddleIcon } from "./AlignBoxLeftMiddleIcon.js";
|
package/dist/collection/index.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { AdjustmentsPlusIcon as e } from "./AdjustmentsPlusIcon.js";
|
|
2
|
+
import { AdjustmentsQuestionIcon as t } from "./AdjustmentsQuestionIcon.js";
|
|
3
|
+
import { AlarmPlusFilledIcon as n } from "./AlarmPlusFilledIcon.js";
|
|
4
|
+
import { AlarmSnoozeFilledIcon as r } from "./AlarmSnoozeFilledIcon.js";
|
|
5
|
+
import { AlarmSnoozeIcon as i } from "./AlarmSnoozeIcon.js";
|
|
6
|
+
import { AlbumIcon as a } from "./AlbumIcon.js";
|
|
7
|
+
import { AlbumOffIcon as o } from "./AlbumOffIcon.js";
|
|
8
|
+
import { AlertCircleFilledIcon as s } from "./AlertCircleFilledIcon.js";
|
|
9
|
+
import { AlertCircleIcon as c } from "./AlertCircleIcon.js";
|
|
10
|
+
import { AlertHexagonIcon as l } from "./AlertHexagonIcon.js";
|
|
11
|
+
import { AlignBoxBottomRightFilledIcon as u } from "./AlignBoxBottomRightFilledIcon.js";
|
|
12
|
+
import { AlignBoxBottomRightIcon as d } from "./AlignBoxBottomRightIcon.js";
|
|
13
|
+
import { AlignBoxCenterMiddleFilledIcon as f } from "./AlignBoxCenterMiddleFilledIcon.js";
|
|
14
|
+
import { AlignBoxCenterMiddleIcon as p } from "./AlignBoxCenterMiddleIcon.js";
|
|
15
|
+
import { AlignBoxLeftBottomFilledIcon as m } from "./AlignBoxLeftBottomFilledIcon.js";
|
|
16
|
+
import { AlignBoxLeftBottomIcon as h } from "./AlignBoxLeftBottomIcon.js";
|
|
17
|
+
import { AlignBoxLeftMiddleFilledIcon as g } from "./AlignBoxLeftMiddleFilledIcon.js";
|
|
18
|
+
import { AlignBoxLeftMiddleIcon as _ } from "./AlignBoxLeftMiddleIcon.js";
|
|
19
|
+
export { e as AdjustmentsPlusIcon, t as AdjustmentsQuestionIcon, n as AlarmPlusFilledIcon, r as AlarmSnoozeFilledIcon, i as AlarmSnoozeIcon, a as AlbumIcon, o as AlbumOffIcon, s as AlertCircleFilledIcon, c as AlertCircleIcon, l as AlertHexagonIcon, u as AlignBoxBottomRightFilledIcon, d as AlignBoxBottomRightIcon, f as AlignBoxCenterMiddleFilledIcon, p as AlignBoxCenterMiddleIcon, m as AlignBoxLeftBottomFilledIcon, h as AlignBoxLeftBottomIcon, g as AlignBoxLeftMiddleFilledIcon, _ as AlignBoxLeftMiddleIcon };
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import type { SVGProps } from "react";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Свойства сгенерированных SVG-компонентов иконок.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Расширяет стандартные атрибуты `SVGProps`, добавляя пропы для замены
|
|
7
|
+
* первичного и вторичного цвета иконки.
|
|
8
|
+
*/
|
|
3
9
|
export interface IIconComponentProps extends SVGProps<SVGSVGElement> {
|
|
10
|
+
/**
|
|
11
|
+
* Основной цвет иконки.
|
|
12
|
+
*
|
|
13
|
+
* Заменяет первый найденный цвет в исходном SVG.
|
|
14
|
+
*/
|
|
4
15
|
color?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Вторичный цвет для двухцветных иконок.
|
|
18
|
+
*
|
|
19
|
+
* Заменяет второй найденный цвет в исходном SVG.
|
|
20
|
+
*/
|
|
5
21
|
secondaryColor?: string;
|
|
6
22
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Свойства контейнера иконки.
|
|
4
|
+
*/
|
|
5
|
+
export interface IconContainerProps {
|
|
6
|
+
/** Доступное имя иконки. */
|
|
7
|
+
ariaLabel?: string;
|
|
8
|
+
/** Угол поворота иконки в градусах. */
|
|
9
|
+
deg?: number;
|
|
10
|
+
/** Высота контейнера. */
|
|
11
|
+
height?: number | string;
|
|
12
|
+
/** Размер контейнера по умолчанию. */
|
|
13
|
+
size?: number | string;
|
|
14
|
+
/** Дополнительные CSS-стили контейнера. */
|
|
15
|
+
style?: CSSProperties;
|
|
16
|
+
/** Ширина контейнера. */
|
|
17
|
+
width?: number | string;
|
|
18
|
+
/** Содержимое контейнера. */
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Универсальный контейнер для отображения иконки.
|
|
23
|
+
*
|
|
24
|
+
* @remarks
|
|
25
|
+
* Контейнер управляет размерами, поворотом и доступностью.
|
|
26
|
+
* Не зависит от способа рендера и может использоваться как
|
|
27
|
+
* при клиентском рендеринге, так и при SSR.
|
|
28
|
+
*/
|
|
29
|
+
export declare const IconContainer: ({ ariaLabel, children, deg, height, size, style, width, }: IconContainerProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
//#region src/icons/icon/Icon.container.tsx
|
|
3
|
+
var t = ({ ariaLabel: t, children: n, deg: r = 0, height: i, size: a = 24, style: o, width: s }) => /* @__PURE__ */ e("span", {
|
|
4
|
+
"aria-label": t,
|
|
5
|
+
"aria-hidden": !t || void 0,
|
|
6
|
+
role: t ? "img" : void 0,
|
|
7
|
+
style: {
|
|
8
|
+
display: "inline-flex",
|
|
9
|
+
flexShrink: 0,
|
|
10
|
+
height: i ?? a,
|
|
11
|
+
lineHeight: 0,
|
|
12
|
+
transform: r ? `rotate(${r}deg)` : void 0,
|
|
13
|
+
width: s ?? a,
|
|
14
|
+
...o
|
|
15
|
+
},
|
|
16
|
+
children: n
|
|
17
|
+
});
|
|
18
|
+
//#endregion
|
|
19
|
+
export { t as IconContainer };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IconProps } from "./Icon.types.js";
|
|
2
|
+
export declare function Icon({ ariaLabel, color, deg, height, name: IconComponent, secondaryColor, size, style, width, }: IconProps): import("react").JSX.Element;
|
|
3
|
+
export declare namespace Icon {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IconContainer as e } from "./Icon.container.js";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
//#region src/icons/icon/Icon.tsx
|
|
4
|
+
var n = ({ ariaLabel: n, color: r = "var(--icon-color, currentColor)", deg: i = 0, height: a, name: o, secondaryColor: s = "var(--icon-secondary-color, currentColor)", size: c = 24, style: l, width: u }) => /* @__PURE__ */ t(e, {
|
|
5
|
+
ariaLabel: n,
|
|
6
|
+
deg: i,
|
|
7
|
+
height: a,
|
|
8
|
+
size: c,
|
|
9
|
+
style: l,
|
|
10
|
+
width: u,
|
|
11
|
+
children: /* @__PURE__ */ t(o, {
|
|
12
|
+
"aria-hidden": "true",
|
|
13
|
+
color: r,
|
|
14
|
+
focusable: "false",
|
|
15
|
+
secondaryColor: s
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
n.displayName = "Icon";
|
|
19
|
+
//#endregion
|
|
20
|
+
export { n as Icon };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { ComponentType, CSSProperties } from "react";
|
|
2
|
+
import type { IIconComponentProps } from "../collection/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* React-компонент, представляющий иконку.
|
|
5
|
+
*/
|
|
6
|
+
export type TIconComponent = ComponentType<IIconComponentProps>;
|
|
7
|
+
/**
|
|
8
|
+
* Свойства универсального компонента Icon.
|
|
9
|
+
*/
|
|
10
|
+
export interface IconProps {
|
|
11
|
+
/**
|
|
12
|
+
* Доступное название (aria-label).
|
|
13
|
+
*
|
|
14
|
+
* Без названия иконка считается декоративной.
|
|
15
|
+
*/
|
|
16
|
+
ariaLabel?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Основной цвет иконки.
|
|
19
|
+
*/
|
|
20
|
+
color?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Вторичный цвет для двухцветных иконок.
|
|
23
|
+
*/
|
|
24
|
+
secondaryColor?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Поворот контейнера в градусах.
|
|
27
|
+
*
|
|
28
|
+
* @default 0
|
|
29
|
+
*/
|
|
30
|
+
deg?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Высота контейнера.
|
|
33
|
+
*
|
|
34
|
+
* Переопределяет `size` для высоты.
|
|
35
|
+
*/
|
|
36
|
+
height?: number | string;
|
|
37
|
+
/**
|
|
38
|
+
* Компонент иконки, отображаемый внутри контейнера.
|
|
39
|
+
*/
|
|
40
|
+
name: TIconComponent;
|
|
41
|
+
/**
|
|
42
|
+
* Размер контейнера.
|
|
43
|
+
*
|
|
44
|
+
* Используется и для ширины, и для высоты, если они не заданы отдельно.
|
|
45
|
+
*
|
|
46
|
+
* @default 24
|
|
47
|
+
*/
|
|
48
|
+
size?: number | string;
|
|
49
|
+
/**
|
|
50
|
+
* Стили контейнера.
|
|
51
|
+
*/
|
|
52
|
+
style?: CSSProperties;
|
|
53
|
+
/**
|
|
54
|
+
* Ширина контейнера.
|
|
55
|
+
*
|
|
56
|
+
* Переопределяет `size` для ширины.
|
|
57
|
+
*/
|
|
58
|
+
width?: number | string;
|
|
59
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Универсальный React API для отображения иконок.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { UserIcon } from "@dubium/icons/icons"
|
|
7
|
+
* import { Icon } from "@dubium/icons/icon"
|
|
8
|
+
*
|
|
9
|
+
* <Icon name={UserIcon} />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export { Icon } from "./Icon.js";
|
|
13
|
+
export type { IconProps, TIconComponent } from "./Icon.types.js";
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { TEmptyIconRegistry, TIconRegistry } from "./Icon.types.js";
|
|
2
|
+
import { type IconProps } from "./Icon.js";
|
|
3
|
+
/**
|
|
4
|
+
* Создаёт типизированную версию Icon
|
|
5
|
+
* для кастомного registry.
|
|
6
|
+
*
|
|
7
|
+
* При этом autocomplete содержит:
|
|
8
|
+
*
|
|
9
|
+
* - все встроенные иконки @sg/icons;
|
|
10
|
+
* - все ключи TCustomIcons.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const appIcons = {
|
|
16
|
+
* CompanyLogo: () => import("./CompanyLogoIcon"),
|
|
17
|
+
* SpecialDocument: () => import("./SpecialDocumentIcon"),
|
|
18
|
+
* } as const
|
|
19
|
+
*
|
|
20
|
+
* const AppIcon = createIcon<typeof appIcons>()
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* После этого:
|
|
24
|
+
*
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <AppIcon name="Abacus" />
|
|
27
|
+
* <AppIcon name="CompanyLogo" />
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* оба варианта будут типизированы.
|
|
31
|
+
*/
|
|
32
|
+
export declare const createIcon: <TCustomIcons extends TIconRegistry = TEmptyIconRegistry>() => {
|
|
33
|
+
(props: IconProps<TCustomIcons>): import("react").JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Icon as e } from "./Icon.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
-
//#region src/icons/
|
|
3
|
+
//#region src/icons/vite/icon/Icon.create.tsx
|
|
4
4
|
var n = () => {
|
|
5
5
|
let n = (n) => /* @__PURE__ */ t(e, { ...n });
|
|
6
6
|
return n.displayName = "TypedIcon", n;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type MemoExoticComponent } from "react";
|
|
2
|
+
import type { TEmptyIconRegistry, TIconName, TIconRegistry } from "./Icon.types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Props компонента Icon.
|
|
5
|
+
*
|
|
6
|
+
* По умолчанию `name` содержит autocomplete
|
|
7
|
+
* всех встроенных иконок @sg/icons.
|
|
8
|
+
*
|
|
9
|
+
* Если передан custom registry, его ключи также
|
|
10
|
+
* добавляются в autocomplete.
|
|
11
|
+
*/
|
|
12
|
+
export interface IconProps<TCustomIcons extends TIconRegistry = TEmptyIconRegistry> {
|
|
13
|
+
/**
|
|
14
|
+
* Accessible label.
|
|
15
|
+
*
|
|
16
|
+
* Если не передан, иконка считается декоративной.
|
|
17
|
+
*/
|
|
18
|
+
ariaLabel?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Основной цвет.
|
|
21
|
+
*/
|
|
22
|
+
color?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Вторичный цвет для двухцветных иконок.
|
|
25
|
+
*/
|
|
26
|
+
secondaryColor?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Поворот в градусах.
|
|
29
|
+
*/
|
|
30
|
+
deg?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Высота.
|
|
33
|
+
*
|
|
34
|
+
* Имеет приоритет над size.
|
|
35
|
+
*/
|
|
36
|
+
height?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Имя иконки.
|
|
39
|
+
*
|
|
40
|
+
* VS Code должен предлагать все имена,
|
|
41
|
+
* экспортируемые из collection/index.ts.
|
|
42
|
+
*/
|
|
43
|
+
name: TIconName<TCustomIcons>;
|
|
44
|
+
/**
|
|
45
|
+
* Размер иконки.
|
|
46
|
+
*/
|
|
47
|
+
size?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Ширина.
|
|
50
|
+
*
|
|
51
|
+
* Имеет приоритет над size.
|
|
52
|
+
*/
|
|
53
|
+
width?: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Базовый компонент Icon.
|
|
57
|
+
*
|
|
58
|
+
* Иконка разрешается в следующем порядке:
|
|
59
|
+
*
|
|
60
|
+
* 1. IconProvider;
|
|
61
|
+
* 2. runtime registry;
|
|
62
|
+
* 3. compile-time virtual registry.
|
|
63
|
+
*/
|
|
64
|
+
declare const IconComponentBase: <TCustomIcons extends TIconRegistry = TEmptyIconRegistry>({ name, size, width: propWidth, height: propHeight, color, secondaryColor, deg, ariaLabel, }: IconProps<TCustomIcons>) => import("react").JSX.Element;
|
|
65
|
+
declare const MemoizedIcon: MemoExoticComponent<typeof IconComponentBase> & typeof IconComponentBase;
|
|
66
|
+
export { MemoizedIcon as Icon };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { useIconContext as e } from "../provider/useIconContext.js";
|
|
2
|
+
import { getRuntimeIconLoader as t, getRuntimeIconsVersion as n, subscribeRuntimeIcons as r } from "../runtime/IconRuntime.registry.js";
|
|
3
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
4
|
+
import { memo as a, useEffect as o, useMemo as s, useState as c, useSyncExternalStore as l } from "react";
|
|
5
|
+
import { iconRegistry as u } from "virtual:@dubium/icons-registry";
|
|
6
|
+
//#region src/icons/vite/icon/Icon.tsx
|
|
7
|
+
var d = /* @__PURE__ */ new Map(), f = a(({ name: a, size: f = 24, width: p, height: m, color: h = "var(--icon-color, currentColor)", secondaryColor: g = "var(--icon-secondary-color, currentColor)", deg: _ = 0, ariaLabel: v }) => {
|
|
8
|
+
let { icons: y } = e(), b = String(a);
|
|
9
|
+
l(r, n, n);
|
|
10
|
+
let x = y[a] ?? t(b) ?? u[b], [S, C] = c(() => {
|
|
11
|
+
if (!x) return null;
|
|
12
|
+
let e = d.get(x);
|
|
13
|
+
return e ? {
|
|
14
|
+
Component: e,
|
|
15
|
+
loader: x
|
|
16
|
+
} : null;
|
|
17
|
+
}), [w, T] = c(!1), E = p ?? f, D = m ?? f, O = s(() => ({
|
|
18
|
+
alignItems: "center",
|
|
19
|
+
display: "inline-flex",
|
|
20
|
+
height: D,
|
|
21
|
+
justifyContent: "center",
|
|
22
|
+
transform: `rotate(${_}deg)`,
|
|
23
|
+
width: E
|
|
24
|
+
}), [
|
|
25
|
+
D,
|
|
26
|
+
E,
|
|
27
|
+
_
|
|
28
|
+
]);
|
|
29
|
+
o(() => {
|
|
30
|
+
let e = !1;
|
|
31
|
+
if (!x) return T(!1), C(null), console.warn(`Иконка "${b}" не найдена в IconProvider, runtime registry или compile-time registry.`), () => {
|
|
32
|
+
e = !0;
|
|
33
|
+
};
|
|
34
|
+
let t = d.get(x);
|
|
35
|
+
return t ? (T(!1), C({
|
|
36
|
+
Component: t,
|
|
37
|
+
loader: x
|
|
38
|
+
}), () => {
|
|
39
|
+
e = !0;
|
|
40
|
+
}) : (T(!0), C(null), x().then((t) => {
|
|
41
|
+
if (e) return;
|
|
42
|
+
let n = t.default;
|
|
43
|
+
d.set(x, n), C({
|
|
44
|
+
Component: n,
|
|
45
|
+
loader: x
|
|
46
|
+
});
|
|
47
|
+
}).catch((t) => {
|
|
48
|
+
e || (console.error(`Ошибка загрузки иконки "${b}":`, t), C(null));
|
|
49
|
+
}).finally(() => {
|
|
50
|
+
e || T(!1);
|
|
51
|
+
}), () => {
|
|
52
|
+
e = !0;
|
|
53
|
+
});
|
|
54
|
+
}, [x, b]);
|
|
55
|
+
let k = S !== null && S.loader === x;
|
|
56
|
+
if (w || !k) return /* @__PURE__ */ i("div", {
|
|
57
|
+
"aria-hidden": "true",
|
|
58
|
+
style: {
|
|
59
|
+
...O,
|
|
60
|
+
visibility: "hidden"
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
let A = S.Component;
|
|
64
|
+
return /* @__PURE__ */ i("div", {
|
|
65
|
+
"aria-hidden": !v || void 0,
|
|
66
|
+
"aria-label": v,
|
|
67
|
+
role: v ? "img" : void 0,
|
|
68
|
+
style: O,
|
|
69
|
+
children: /* @__PURE__ */ i(A, {
|
|
70
|
+
"aria-hidden": "true",
|
|
71
|
+
color: h,
|
|
72
|
+
focusable: "false",
|
|
73
|
+
secondaryColor: g
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
f.displayName = "Icon";
|
|
78
|
+
//#endregion
|
|
79
|
+
export { f as Icon };
|