@central-icons-react/all 1.1.320 → 1.1.322

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.
@@ -6,8 +6,8 @@ export type CentralIconBaseProps = {
6
6
  mode?: "masked" | "raw";
7
7
  maskId?: string;
8
8
  } & SVGProps<SVGSVGElement>;
9
- export declare const CentralIconBase: React.FC<
10
- CentralIconBaseProps & {
11
- ariaLabel?: string;
12
- }
13
- >;
9
+ type Props = CentralIconBaseProps & {
10
+ ariaLabel?: string;
11
+ };
12
+ export declare const CentralIconBase: React.FC<Props>;
13
+ export {};
@@ -1,12 +1,32 @@
1
1
  import React from "react";
2
- export const CentralIconBase = ({ children, size = 24, ariaLabel, color, ariaHidden = true, style, mode = "masked", maskId, ...props }) => {
2
+ const ModernCentralIconBase = (props) => {
3
+ const instanceId = React.useId();
4
+ return React.createElement(CentralIconSvg, { ...props, instanceId: instanceId });
5
+ };
6
+ let nextLegacyId = 0;
7
+ class LegacyCentralIconBase extends React.Component {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.state = {};
11
+ }
12
+ componentDidMount() {
13
+ // Defer legacy IDs until mount so server and initial client markup agree.
14
+ this.setState({ instanceId: `legacy-${++nextLegacyId}` });
15
+ }
16
+ render() {
17
+ return (React.createElement(CentralIconSvg, { ...this.props.iconProps, instanceId: this.state.instanceId }));
18
+ }
19
+ }
20
+ export const CentralIconBase = (props) => typeof React.useId === "function" ? (React.createElement(ModernCentralIconBase, { ...props })) : (React.createElement(LegacyCentralIconBase, { iconProps: props }));
21
+ const CentralIconSvg = ({ children, size = 24, ariaLabel, color, ariaHidden = true, style, mode = "masked", maskId, instanceId, ...props }) => {
22
+ const uniqueMaskId = instanceId ? `${maskId}-${instanceId}` : maskId;
3
23
  const masked = mode !== "raw" && !!maskId;
4
24
  return (React.createElement("svg", { ...props, "aria-hidden": ariaHidden, role: ariaHidden ? undefined : "img", width: typeof size === "number" ? `${size}px` : size, height: typeof size === "number" ? `${size}px` : size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: { color, ...style } },
5
25
  ariaLabel && !ariaHidden && React.createElement("title", null, ariaLabel),
6
26
  masked ? (React.createElement(React.Fragment, null,
7
- React.createElement("mask", { id: maskId, maskUnits: "userSpaceOnUse", x: "0", y: "0", width: "24", height: "24" },
27
+ React.createElement("mask", { id: uniqueMaskId, maskUnits: "userSpaceOnUse", x: "0", y: "0", width: "24", height: "24" },
8
28
  React.createElement("rect", { width: "24", height: "24", fill: "#000" }),
9
29
  React.createElement("g", { fill: "none", style: { color: "#fff" } }, children)),
10
- React.createElement("rect", { width: "24", height: "24", fill: "currentColor", mask: `url(#${maskId})` }))) : (children)));
30
+ React.createElement("rect", { width: "24", height: "24", fill: "currentColor", mask: `url(#${uniqueMaskId})` }))) : (children)));
11
31
  };
12
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/CentralIconBase/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,CAAC,MAAM,eAAe,GAExB,CAAC,EACH,QAAQ,EACR,IAAI,GAAG,EAAE,EACT,SAAS,EACT,KAAK,EACL,UAAU,GAAG,IAAI,EACjB,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,MAAM,EACN,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,CACL,gCACM,KAAK,iBACI,UAAU,EACvB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EACpC,KAAK,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EACpD,MAAM,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EACrD,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;QAEzB,SAAS,IAAI,CAAC,UAAU,IAAI,mCAAQ,SAAS,CAAS;QACtD,MAAM,CAAC,CAAC,CAAC,CACR;YACE,8BACE,EAAE,EAAE,MAAM,EACV,SAAS,EAAC,gBAAgB,EAC1B,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI;gBAEX,8BAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,GAAG;gBAC3C,2BAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IACpC,QAAQ,CACP,CACC;YACP,8BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,cAAc,EACnB,IAAI,EAAE,QAAQ,MAAM,GAAG,GACvB,CACD,CACJ,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CACG,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/CentralIconBase/index.tsx"],"names":[],"mappings":"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"}
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @central-icons-react/all
2
2
 
3
3
  A comprehensive collection of professionally designed React icons featuring customizable styles including round and square shapes, filled and outlined variants, multiple stroke widths, and corner radius options.
4
- The collection contains 2096 icons with 30 variants in total.
4
+ The collection contains 2098 icons with 30 variants in total.
5
5
 
6
6
  ## Table of Contents
7
7
 
@@ -91,6 +91,8 @@ function MyComponent() {
91
91
 
92
92
  ## Using transparent colors
93
93
 
94
+ Each mounted icon has a unique mask ID, so repeated icons remain independent even when one is hidden with `display: none`. React 18+ uses `useId()` for IDs that also match during server rendering and hydration. Older React versions assign unique IDs after mounting; server-rendered icons retain shared IDs until hydration completes.
95
+
94
96
  Transparent colors work out of the box. Every icon is drawn through a mask and the color is painted once, so a semi-transparent `color` (or `currentColor` with an alpha channel) renders evenly — no darker overlaps:
95
97
 
96
98
  ```jsx
@@ -545,6 +547,7 @@ Below is a complete list of available icons:
545
547
  - IconCodeMedium
546
548
  - IconCodeTree
547
549
  - IconCommits
550
+ - IconConditionalLogic
548
551
  - IconConsole
549
552
  - IconConsoleSimple
550
553
  - IconDebugger
@@ -1628,6 +1631,7 @@ Below is a complete list of available icons:
1628
1631
  - IconShadows
1629
1632
  - IconShareScreen
1630
1633
  - IconSplit
1634
+ - IconSpotlight.focus
1631
1635
  - IconStopShareScreen
1632
1636
  - IconUnblur
1633
1637
  - IconVideo
package/icons/index.d.ts CHANGED
@@ -1859,6 +1859,11 @@ export declare const centralIconsMetadata: {
1859
1859
  readonly category: "Code";
1860
1860
  readonly createdAt: "2026-06-17T07:03:10.280172+00:00";
1861
1861
  };
1862
+ readonly IconConditionalLogic: {
1863
+ readonly title: "conditional-logic, if, tree";
1864
+ readonly category: "Code";
1865
+ readonly createdAt: "2026-09-23T07:02:04.436553+00:00";
1866
+ };
1862
1867
  readonly IconEmail1: {
1863
1868
  readonly title: "email-1, envelope";
1864
1869
  readonly category: "Communication";
@@ -6879,6 +6884,11 @@ export declare const centralIconsMetadata: {
6879
6884
  readonly category: "Photography & Video";
6880
6885
  readonly createdAt: "2026-09-16T07:02:05.063116+00:00";
6881
6886
  };
6887
+ readonly "IconSpotlight.focus": {
6888
+ readonly title: "spotlight. focus, shooting, studio";
6889
+ readonly category: "Photography & Video";
6890
+ readonly createdAt: "2026-09-23T07:02:04.436553+00:00";
6891
+ };
6882
6892
  readonly IconLock: {
6883
6893
  readonly title: "lock, private";
6884
6894
  readonly category: "Security";
package/icons/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/icons/index.js
3
- size: 55684269 bytes
4
- sha256: 755a8fadb3cf5c11edcc28758d3cb35070ae59f792d1db88213dfcc98c055e8c
3
+ size: 55723751 bytes
4
+ sha256: 93767f5f5e19dd0d6dd85e6587aab03059dded486e02a2ab0525633301f00c6b
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/icons/index.js.map
3
- size: 60509995 bytes
4
- sha256: 8df341f4242f3e74fa2dc4d9515e009d122b509325e1551aa5f938808956ae4c
3
+ size: 60553821 bytes
4
+ sha256: d1ab24ed3474f100b473c40c9a201ddf31ec4a39ff576d10ca6249cfe76aa03b
package/icons/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/icons/index.mjs
3
- size: 55683758 bytes
4
- sha256: 06f710666d475c0ec2d9d8bbdaef39b3ccbec4087250ce2be13c4e3dfa68e99e
3
+ size: 55723240 bytes
4
+ sha256: 1b2b6c3cf61c7c0399e2b48c1dc8c6d3f487fed086de64a88ed07e50f0a96d43
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/icons/index.mjs.map
3
- size: 60509872 bytes
4
- sha256: 965eb4cfebe608af069d1162cbb835886a53b42c480e8b4b1689c128ae818629
3
+ size: 60553698 bytes
4
+ sha256: ffcaf180bfce78e15eb02e4c2709b30c93920f2b76c17e6c54fa538c5547d20b
package/icons-index.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "withProps": "<IconHome size={32} color=\"#007AFF\" />",
12
12
  "central": "<CentralIcon\n iconJoin=\"round\" // round | square\n iconFill=\"filled\" // filled | outlined\n iconStroke=\"1\" // 1 | 1.5 | 2\n iconRadius=\"1\" // 0 | 1 | 2 | 3\n name=\"IconName\"\n/>"
13
13
  },
14
- "totalIcons": 2096,
14
+ "totalIcons": 2098,
15
15
  "categories": {
16
16
  "AI & Magic": {
17
17
  "count": 90,
@@ -350,7 +350,7 @@
350
350
  ]
351
351
  },
352
352
  "Code": {
353
- "count": 66,
353
+ "count": 67,
354
354
  "icons": [
355
355
  "IconAgent",
356
356
  "IconAgenticCoding",
@@ -388,6 +388,7 @@
388
388
  "IconCodeMedium",
389
389
  "IconCodeTree",
390
390
  "IconCommits",
391
+ "IconConditionalLogic",
391
392
  "IconConsole",
392
393
  "IconConsoleSimple",
393
394
  "IconDebugger",
@@ -1436,7 +1437,7 @@
1436
1437
  ]
1437
1438
  },
1438
1439
  "Photography & Video": {
1439
- "count": 88,
1440
+ "count": 89,
1440
1441
  "icons": [
1441
1442
  "Icon4k",
1442
1443
  "IconAddImage",
@@ -1511,6 +1512,7 @@
1511
1512
  "IconShadows",
1512
1513
  "IconShareScreen",
1513
1514
  "IconSplit",
1515
+ "IconSpotlight.focus",
1514
1516
  "IconStopShareScreen",
1515
1517
  "IconUnblur",
1516
1518
  "IconVideo",
@@ -2683,6 +2685,7 @@
2683
2685
  "IconAnimatePath": "animate-path, animation, jump",
2684
2686
  "IconAgents": "agents, connections, flow, roadmap",
2685
2687
  "IconWebhooks": "webhooks",
2688
+ "IconConditionalLogic": "conditional-logic, if, tree",
2686
2689
  "IconEmail1": "email-1, envelope",
2687
2690
  "IconEmailSettings": "email-settings, envelope, gear",
2688
2691
  "IconEmailPlus": "email-plus, envelope, add, plus",
@@ -3687,6 +3690,7 @@
3687
3690
  "IconVideo2Off": "video-2-off, cam-off, movie, play",
3688
3691
  "IconStopShareScreen": "stop-share-screen, stop-sharing",
3689
3692
  "IconReferenceImage": "reference-image, verified-photo, proof, aperture",
3693
+ "IconSpotlight.focus": "spotlight. focus, shooting, studio",
3690
3694
  "IconLock": "lock, private",
3691
3695
  "IconUnlocked": "unlocked, unlock, private",
3692
3696
  "IconShield": "shield, security, protection",
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/index.js
3
- size: 55685558 bytes
4
- sha256: c625bc22017952c9fbc46193349ad41e706c8a16ab70c6381de318774400c426
3
+ size: 55725527 bytes
4
+ sha256: da8904fa2ec822428e1564b0256343357929a8ae998db5784be8624bdecddb5f
package/index.js.map CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/index.js.map
3
- size: 60514716 bytes
4
- sha256: 5751f99ddb61890bfcd61f2ab3b086c7ccc974237b1251972a34c4ab3cc7e5b4
3
+ size: 60560221 bytes
4
+ sha256: 21c5453a7d8ae87d0d835466ad584111e2ac384b73b82c95dd637e2462a3256c
package/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/index.mjs
3
- size: 55684841 bytes
4
- sha256: 8ed3c75b2ebe7728eeede28332dfff38f8be01234efdbf1c0343d5123867b756
3
+ size: 55724754 bytes
4
+ sha256: 84e2251b5c70d0b171e80f2eadde8e564fdea952bd04dffdf2f3273568a2a2d1
package/index.mjs.map CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/index.mjs.map
3
- size: 60514534 bytes
4
- sha256: 6d62fed172191b470261b34208f86360c80b8a32f78c70eed6c59e9b2438c6b8
3
+ size: 60560009 bytes
4
+ sha256: 546b08d67522478bfd946a02c4b343591c2067a4cb0579f7a0357da4f5330c9e
package/license-check.js CHANGED
@@ -18,7 +18,7 @@ const licenseCheck = async () => {
18
18
  },
19
19
  body: JSON.stringify({
20
20
  package: "central-icons-react/all",
21
- version: "1.1.320",
21
+ version: "1.1.322",
22
22
  }),
23
23
  signal: controller.signal,
24
24
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@central-icons-react/all",
3
- "version": "1.1.320",
3
+ "version": "1.1.322",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "homepage": "https://iconists.co/central",
6
6
  "bugs": {
@@ -5,7 +5,7 @@ description: Use when inserting icons in React code that imports from @central-i
5
5
 
6
6
  # Central Icons — React (all)
7
7
 
8
- This skill helps you find and insert icons from the `@central-icons-react/all` package (version 1.1.320). The package exposes 2096 icons across 30 variants (round/square × filled/outlined × multiple corner radii and stroke widths) through a single dynamic `CentralIcon` component.
8
+ This skill helps you find and insert icons from the `@central-icons-react/all` package (version 1.1.322). The package exposes 2098 icons across 30 variants (round/square × filled/outlined × multiple corner radii and stroke widths) through a single dynamic `CentralIcon` component.
9
9
 
10
10
  ## Prefer a variant package when possible
11
11
 
@@ -496,6 +496,7 @@ Need the raw, unmasked shapes instead (e.g. to style individual paths)? Set `mod
496
496
  - **IconCodeMedium** — code-medium, syntax, brackets, dev
497
497
  - **IconCodeTree** — code-tree, file-tree
498
498
  - **IconCommits** — commits
499
+ - **IconConditionalLogic** — conditional-logic, if, tree
499
500
  - **IconConsole** — console, terminal
500
501
  - **IconConsoleSimple** — console-simple
501
502
  - **IconConsoleSimple** — console-simple, terminal
@@ -1583,6 +1584,7 @@ Need the raw, unmasked shapes instead (e.g. to style individual paths)? Set `mod
1583
1584
  - **IconShadows** — shadows
1584
1585
  - **IconShareScreen** — share-screen, screen-sharing
1585
1586
  - **IconSplit** — split
1587
+ - **IconSpotlight.focus** — spotlight. focus, shooting, studio
1586
1588
  - **IconStopShareScreen** — stop-share-screen, stop-sharing
1587
1589
  - **IconUnblur** — unblur
1588
1590
  - **IconVideo** — video, camera, movie, play