@thinkhuman/react-native-simple-icons 16.19.0 → 16.20.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.
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  <p align="center">
2
- <img src="./assets/simple-icons.svg" width="90" height="80" alt="Simple Icons">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="./assets/simple-icons-dark.svg">
4
+ <source media="(prefers-color-scheme: light)" srcset="./assets/simple-icons.svg">
5
+ <img src="./assets/simple-icons.svg" width="90" height="80" alt="Simple Icons">
6
+ </picture>
3
7
  </p>
4
8
 
5
9
  <h1 align="center">@thinkhuman/react-native-simple-icons</h1>
@@ -9,10 +13,9 @@
9
13
  </p>
10
14
 
11
15
  <p align="center">
12
- <a href="https://www.npmjs.com/package/@thinkhuman/react-native-simple-icons"><img src="https://img.shields.io/npm/v/@thinkhuman%2Freact-native-simple-icons" alt="npm version"></a>
13
- <a href="https://www.npmjs.com/package/@thinkhuman/react-native-simple-icons"><img src="https://img.shields.io/npm/dw/@thinkhuman%2Freact-native-simple-icons" alt="weekly downloads"></a>
16
+ <a href="https://www.npmjs.com/package/@thinkhuman/react-native-simple-icons"><img src="https://img.shields.io/npm/v/@thinkhuman/react-native-simple-icons.svg" alt="npm version"></a>
14
17
  <a href="https://github.com/ThinkHumanDotDev/react-native-simple-icons/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/ThinkHumanDotDev/react-native-simple-icons/ci.yml?branch=main" alt="CI status"></a>
15
- <a href="https://github.com/ThinkHumanDotDev/react-native-simple-icons/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@thinkhuman%2Freact-native-simple-icons" alt="license"></a>
18
+ <a href="https://github.com/ThinkHumanDotDev/react-native-simple-icons/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT license"></a>
16
19
  </p>
17
20
 
18
21
  ## Installation
@@ -150,18 +153,27 @@ npm pack --dry-run
150
153
 
151
154
  ### Automated publish (GitHub Actions)
152
155
 
153
- Pushes to `main` on the upstream repo run [`.github/workflows/publish.yml`](.github/workflows/publish.yml) when `package.json` has a version that is not already on npm. Merging an icon update (or running `generate:icons` after bumping `simple-icons`) sets the version automatically; CI validates and publishes.
156
+ Pushes to `main` on the upstream repo run [`.github/workflows/publish.yml`](.github/workflows/publish.yml) when `package.json` has a version that is not already on npm. Merging an icon update (or running `generate:icons` after bumping `simple-icons`) sets the version automatically; CI validates, publishes to npm, and creates a matching GitHub release (`v16.19.0`, etc.) with icon change notes.
154
157
 
155
158
  Forks cannot trigger a publish: the workflow checks `github.repository`, only runs on `push` to `main` (never on `pull_request` / `pull_request_target`), and does not use shared Actions caches.
156
159
 
157
- **One-time setup** in [ThinkHumanDotDev/react-native-simple-icons](https://github.com/ThinkHumanDotDev/react-native-simple-icons) settings:
160
+ **One-time setup** uses [npm Trusted Publishers](https://docs.npmjs.com/trusted-publishers) (OIDC). No `NPM_TOKEN` secret is stored in GitHub.
158
161
 
159
- 1. Create an [npm automation token](https://docs.npmjs.com/creating-and-viewing-access-tokens) with publish access to `@thinkhuman/react-native-simple-icons`.
160
- 2. Add repository secret `NPM_TOKEN` with that token.
161
- 3. Optional: in **Settings → Environments → `npm`**, add required reviewers or deployment-branch rules before publish runs.
162
+ 1. On [npm](https://www.npmjs.com/package/@thinkhuman/react-native-simple-icons) → **Settings** → **Publishing access** → **Add Trusted Publisher**:
163
+ - Publisher: **GitHub Actions**
164
+ - Organization or user: `ThinkHumanDotDev`
165
+ - Repository: `react-native-simple-icons`
166
+ - Workflow filename: `publish.yml`
167
+ - Environment name: `npm`
168
+ 2. On GitHub → **Settings → Environments** → **`npm`** (you already created this). Optionally add required reviewers or limit deployments to the `main` branch.
169
+ 3. Push this repository to GitHub so the trusted publisher can match the workflow run.
170
+
171
+ The publish job uses `environment: npm` and `id-token: write`; `actions/setup-node` exchanges the OIDC token with npm at publish time.
162
172
 
163
173
  You can also run the workflow manually from the Actions tab (`workflow_dispatch`).
164
174
 
175
+ The package mirrors every `simple-icons` release 1:1. The update workflow jumps straight to the newest release, so the same workflow also **backfills** any upstream version that never reached npm (for example when two releases land between update runs). After every publish it lists the skipped versions (`bun scripts/plan-backfill.ts`) from the first version this package published up to `main`, then builds, validates and publishes each one oldest first. Backfilled versions use the `backfill` dist-tag so `latest` never moves backwards, get a `v<version>` tag on a commit holding their generated sources, and a GitHub release that is not marked as latest. To backfill from an earlier version, run the workflow manually with `backfill_from` (for example `16.0.0`).
176
+
165
177
  When `simple-icons` releases a new version, use the update workflow or run the same steps locally:
166
178
 
167
179
  ```sh
@@ -173,6 +185,10 @@ bun run validate
173
185
 
174
186
  Commit generated icon updates separately from tooling or documentation changes when possible. A typical update commit only changes `bun.lock`, `package.json`, `src/icons`, `src/index.ts`, and `src/simple-icons-manifest.json`.
175
187
 
188
+ ## Contributing
189
+
190
+ Bug reports and pull requests are welcome; read [CONTRIBUTING.md](CONTRIBUTING.md) first. Missing or outdated icons are fixed upstream in [simple-icons](https://github.com/simple-icons/simple-icons). Report vulnerabilities privately as described in [SECURITY.md](SECURITY.md).
191
+
176
192
  ## License
177
193
 
178
194
  This package is MIT licensed. Icon data is generated from `simple-icons`, which is CC0-1.0.
@@ -0,0 +1,4 @@
1
+ <svg role="img" width="90" height="80" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <title>Simple Icons</title>
3
+ <path fill="#ffffff" d="M18 6a6 6 0 10-6 6 6 6 0 015.35 9h1.5A7.5 7.5 0 0012 10.5 4.5 4.5 0 1116.5 6Zm-6-3a3 3 0 000 6 1 1 0 000-6m0 1.5a1.5 1.5 0 010 3 1 1 0 010-3M7.5 15v1.5H9v6H4.5V24h15v-1.5H15v-6h1.5V15Zm3 1.5h3v6h-3zm-6 1.5a7.5 7.5 0 00.7 3h1.5a6 6 0 01-.7-3Z"/>
4
+ </svg>
@@ -1,4 +1,4 @@
1
1
  <svg role="img" width="90" height="80" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
2
  <title>Simple Icons</title>
3
- <path d="M18 6a6 6 0 10-6 6 6 6 0 015.35 9h1.5A7.5 7.5 0 0012 10.5 4.5 4.5 0 1116.5 6Zm-6-3a3 3 0 000 6 1 1 0 000-6m0 1.5a1.5 1.5 0 010 3 1 1 0 010-3M7.5 15v1.5H9v6H4.5V24h15v-1.5H15v-6h1.5V15Zm3 1.5h3v6h-3zm-6 1.5a7.5 7.5 0 00.7 3h1.5a6 6 0 01-.7-3Z"/>
3
+ <path fill="#000000" d="M18 6a6 6 0 10-6 6 6 6 0 015.35 9h1.5A7.5 7.5 0 0012 10.5 4.5 4.5 0 1116.5 6Zm-6-3a3 3 0 000 6 1 1 0 000-6m0 1.5a1.5 1.5 0 010 3 1 1 0 010-3M7.5 15v1.5H9v6H4.5V24h15v-1.5H15v-6h1.5V15Zm3 1.5h3v6h-3zm-6 1.5a7.5 7.5 0 00.7 3h1.5a6 6 0 01-.7-3Z"/>
4
4
  </svg>
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ import type { IconProps } from "../types.js";
3
+ export declare const SiTickettailorHex = "222432";
4
+ export declare const SiTickettailorTitle = "Ticket Tailor";
5
+ export declare const SiTickettailorSlug = "tickettailor";
6
+ export declare function SiTickettailor({ size, color, title, ...props }: IconProps): React.ReactElement;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { Path, Svg } from "react-native-svg";
3
+ export const SiTickettailorHex = "222432";
4
+ export const SiTickettailorTitle = "Ticket Tailor";
5
+ export const SiTickettailorSlug = "tickettailor";
6
+ export function SiTickettailor({ size = 24, color = "black", title, ...props }) {
7
+ const resolvedColor = color === "default" ? `#${SiTickettailorHex}` : color;
8
+ return (React.createElement(Svg, { width: size, height: size, viewBox: "0 0 24 24", accessibilityLabel: title ?? SiTickettailorTitle, ...props },
9
+ React.createElement(Path, { fill: resolvedColor, d: "M21.328 19.239 15.283.631a.913.913 0 0 0-1.15-.586l-3.374 1.096a2.146 2.146 0 1 1-4.083 1.325L3.131 3.62a.73.73 0 0 0-.469.92l6.159 18.955a.73.73 0 0 0 .92.469l3.545-1.152a2.148 2.148 0 1 1 4.085-1.327l3.372-1.096a.913.913 0 0 0 .586-1.15zM10.302 14.52H8.578V8.345H6.506V6.673h5.857v1.672h-2.061zm6.865-3.577h-2.061v6.176H13.38v-6.176h-2.073V9.271h5.86z" })));
10
+ }
package/dist/index.d.ts CHANGED
@@ -3000,6 +3000,7 @@ export { SiThunderstore, SiThunderstoreHex, SiThunderstoreSlug, SiThunderstoreTi
3000
3000
  export { SiThurgauerkantonalbank, SiThurgauerkantonalbankHex, SiThurgauerkantonalbankSlug, SiThurgauerkantonalbankTitle } from "./icons/SiThurgauerkantonalbank.js";
3001
3001
  export { SiThymeleaf, SiThymeleafHex, SiThymeleafSlug, SiThymeleafTitle } from "./icons/SiThymeleaf.js";
3002
3002
  export { SiTicketmaster, SiTicketmasterHex, SiTicketmasterSlug, SiTicketmasterTitle } from "./icons/SiTicketmaster.js";
3003
+ export { SiTickettailor, SiTickettailorHex, SiTickettailorSlug, SiTickettailorTitle } from "./icons/SiTickettailor.js";
3003
3004
  export { SiTicktick, SiTicktickHex, SiTicktickSlug, SiTicktickTitle } from "./icons/SiTicktick.js";
3004
3005
  export { SiTidal, SiTidalHex, SiTidalSlug, SiTidalTitle } from "./icons/SiTidal.js";
3005
3006
  export { SiTidb, SiTidbHex, SiTidbSlug, SiTidbTitle } from "./icons/SiTidb.js";
package/dist/index.js CHANGED
@@ -2999,6 +2999,7 @@ export { SiThunderstore, SiThunderstoreHex, SiThunderstoreSlug, SiThunderstoreTi
2999
2999
  export { SiThurgauerkantonalbank, SiThurgauerkantonalbankHex, SiThurgauerkantonalbankSlug, SiThurgauerkantonalbankTitle } from "./icons/SiThurgauerkantonalbank.js";
3000
3000
  export { SiThymeleaf, SiThymeleafHex, SiThymeleafSlug, SiThymeleafTitle } from "./icons/SiThymeleaf.js";
3001
3001
  export { SiTicketmaster, SiTicketmasterHex, SiTicketmasterSlug, SiTicketmasterTitle } from "./icons/SiTicketmaster.js";
3002
+ export { SiTickettailor, SiTickettailorHex, SiTickettailorSlug, SiTickettailorTitle } from "./icons/SiTickettailor.js";
3002
3003
  export { SiTicktick, SiTicktickHex, SiTicktickSlug, SiTicktickTitle } from "./icons/SiTicktick.js";
3003
3004
  export { SiTidal, SiTidalHex, SiTidalSlug, SiTidalTitle } from "./icons/SiTidal.js";
3004
3005
  export { SiTidb, SiTidbHex, SiTidbSlug, SiTidbTitle } from "./icons/SiTidb.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkhuman/react-native-simple-icons",
3
- "version": "16.19.0",
3
+ "version": "16.20.0",
4
4
  "description": "React Native components generated from simple-icons data.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -75,7 +75,7 @@
75
75
  "react": "^18.3.1",
76
76
  "react-native": "^0.76.5",
77
77
  "react-native-svg": "^15.10.1",
78
- "simple-icons": "16.19.0",
78
+ "simple-icons": "16.20.0",
79
79
  "typescript": "^5.7.2",
80
80
  "vitest": "^2.1.8"
81
81
  },
@@ -1,7 +1,7 @@
1
1
  {
2
- "simpleIconsVersion": "16.19.0",
2
+ "simpleIconsVersion": "16.20.0",
3
3
  "componentApiHash": "6dc22d1820219f72f2f5a625c1f72349159eff5766d8884714f61688a25df1e7",
4
- "count": 3432,
4
+ "count": 3433,
5
5
  "iconNames": [
6
6
  "Si1001Tracklists",
7
7
  "Si1And1",
@@ -3004,6 +3004,7 @@
3004
3004
  "SiThurgauerkantonalbank",
3005
3005
  "SiThymeleaf",
3006
3006
  "SiTicketmaster",
3007
+ "SiTickettailor",
3007
3008
  "SiTicktick",
3008
3009
  "SiTidal",
3009
3010
  "SiTidb",
@@ -21443,6 +21444,12 @@
21443
21444
  "hex": "026CDF",
21444
21445
  "hash": "f5ec0cc4bfe9660b7939d381e4c9e4b6a7283752500bc84ccb0186b5f6fd0a9c"
21445
21446
  },
21447
+ "SiTickettailor": {
21448
+ "title": "Ticket Tailor",
21449
+ "slug": "tickettailor",
21450
+ "hex": "222432",
21451
+ "hash": "e40ae1a75fa1a6561dd350d1bd29003ec5f9357231455972bc0d78f91bbfdb86"
21452
+ },
21446
21453
  "SiTicktick": {
21447
21454
  "title": "TickTick",
21448
21455
  "slug": "ticktick",