From e423787c6fa5fb8222ce0fac59ab182dca655324 Mon Sep 17 00:00:00 2001
From: rdlabo
+ @if (group.id === 'current') {
+
Capacitor Brother Print is a native Brother Print SDK implementation for iOS & Android. Support These models.
\nThis plugin is still in the RC (release candidate) phase.
\nBrother Print SDK is incompatible with CocoaPods and Minimum Developments iOS 14 and is not working at this time, please use Swift Package Manager.
\nEach product link is an Amazon affiliate link. If you choose to make a purchase through these links, it would be greatly appreciated and would help support development costs. Thank you!
\n| Product | \nModel | \niOS/WiFi | \niOS/BT | \niOS/BLE | \nAndroid/USB | \nAndroid/WiFi | \nAndroid/BT | \nAndroid/BLE | \n
|---|---|---|---|---|---|---|---|---|
| QL-810W | \nQL_810W | \n✗ | \n✗ | \n✗ | \n◯ | \n✗ | \n✗ | \n✗ | \n
| QL-820NWB | \nQL_820NWB | \n◯ | \n※1 | \n✗ | \n△ | \n◯ | \n△ | \n✗ | \n
| QL-820NWBc | \nQL_820NWB | \n◯ | \n※2 | \n✗ | \n✗ | \n◯ | \n◯ | \n✗ | \n
| TD-2320D | \nTD_2320D_203 | \n✗ | \n✗ | \n✗ | \n△ | \n✗ | \n✗ | \n✗ | \n
| TD-2350D | \nTD_2350D_300 | \n◯ | \n△ | \n△ | \n◯ | \n◯ | \n◯ | \n△ | \n
Amazon Affiliate Links: https://amzn.to/3AiiOFT
\nSupplement
\n| \n | description | \n
|---|---|
| ◯ | \nSupported and tested | \n
| △ | \nImplemented but not tested | \n
| - | \nPlugin is not supported | \n
| ✗ | \nDevice is not supported | \n
| BT | \nBluetooth | \n
| BLE | \nBluetooth Low Energy | \n
※1 Due to low Bluetooth version, connection is not possible with iOS. Ref: https://okbizcs.okwave.jp/brother/qa/q9932082.html
\n※2 The iOS/BT implementation for the QL-820NWBc is in place, but it’s uncertain if it functions correctly. It’s unclear whether this is an implementation issue, as Brother’s official app also doesn’t work well.
\n% npm install @rdlabo/capacitor-brotherprint\nFor detailed SDK setup and permission configuration, see Installation.
\nSee Search, Print, and Events.
\n", + "html": "Capacitor Brother Print is a native Brother Print SDK implementation for iOS & Android. Support These models.
\nThis plugin is still in the RC (release candidate) phase.
\nBrother Print SDK is incompatible with CocoaPods and Minimum Developments iOS 14 and is not working at this time, please use Swift Package Manager.
\nEach product link is an Amazon affiliate link. If you choose to make a purchase through these links, it would be greatly appreciated and would help support development costs. Thank you!
\n| Product | \nModel | \niOS/WiFi | \niOS/BT | \niOS/BLE | \nAndroid/USB | \nAndroid/WiFi | \nAndroid/BT | \nAndroid/BLE | \n
|---|---|---|---|---|---|---|---|---|
| QL-810W | \nQL_810W | \n❌ | \n❌ | \n❌ | \n✅ | \n❌ | \n❌ | \n❌ | \n
| QL-820NWB | \nQL_820NWB | \n✅ | \n※1 | \n❌ | \n△ | \n✅ | \n△ | \n❌ | \n
| QL-820NWBc | \nQL_820NWB | \n✅ | \n※2 | \n❌ | \n❌ | \n✅ | \n✅ | \n❌ | \n
| TD-2320D | \nTD_2320D_203 | \n❌ | \n❌ | \n❌ | \n△ | \n❌ | \n❌ | \n❌ | \n
| TD-2350D | \nTD_2350D_300 | \n✅ | \n△ | \n△ | \n✅ | \n✅ | \n✅ | \n△ | \n
Amazon Affiliate Links: https://amzn.to/3AiiOFT
\nSupplement
\n| \n | description | \n
|---|---|
| ✅ | \nSupported and tested | \n
| △ | \nImplemented but not tested | \n
| - | \nPlugin is not supported | \n
| ❌ | \nDevice is not supported | \n
| BT | \nBluetooth | \n
| BLE | \nBluetooth Low Energy | \n
※1 Due to low Bluetooth version, connection is not possible with iOS. Ref: https://okbizcs.okwave.jp/brother/qa/q9932082.html
\n※2 The iOS/BT implementation for the QL-820NWBc is in place, but it’s uncertain if it functions correctly. It’s unclear whether this is an implementation issue, as Brother’s official app also doesn’t work well.
\n% npm install @rdlabo/capacitor-brotherprint\nFor detailed SDK setup and permission configuration, see Installation.
\nSee Search, Print, and Events.
\n", "headings": [ { "id": "supported-models", diff --git a/src/app/generated/sponsors.generated.ts b/src/app/generated/sponsors.generated.ts new file mode 100644 index 0000000..2a61cb3 --- /dev/null +++ b/src/app/generated/sponsors.generated.ts @@ -0,0 +1,30 @@ +// Generated by scripts/generate-sponsors.ts. Do not edit. +export const CURRENT_SPONSORS = [ + { + "login": "stripe", + "name": "Stripe", + "avatarUrl": "https://avatars.githubusercontent.com/u/856813?v=4", + "profileUrl": "https://github.com/stripe" + }, + { + "login": "langy", + "name": "Adam Lang", + "avatarUrl": "https://avatars.githubusercontent.com/u/713141?u=a3ffa165af3d80b19f68fc99ae5514f26c03af07&v=4", + "profileUrl": "https://github.com/langy" + }, + { + "login": "synapsmedia", + "name": "Synaps Media", + "avatarUrl": "https://avatars.githubusercontent.com/u/13181917?v=4", + "profileUrl": "https://github.com/synapsmedia" + } +] as const; + +export const PAST_SPONSORS = [ + { + login: 'featers', + name: 'BackResto', + avatarUrl: 'https://avatars.githubusercontent.com/u/98342106?v=4', + profileUrl: 'https://github.com/featers', + }, +] as const; diff --git a/src/locale/messages.en.xlf b/src/locale/messages.en.xlf index fa978d1..e66de77 100644 --- a/src/locale/messages.en.xlf +++ b/src/locale/messages.en.xlf @@ -282,6 +282,38 @@This is a photo editor and viewer for modal page of Ionic Angular project using Capacitor.
\n| Goal | \nGuide | \n
|---|---|
| Load a photo from camera or album | \nPhotoFileService | \n
| Crop and edit in a modal | \nPhoto Editor | \n
| Browse images in a modal | \nPhoto Viewer | \n
| Override editor colors | \nTheme | \n
After Installation, load a photo:
\nimport { PhotoFileService } from '@rdlabo/ionic-angular-photo-editor';\n\nconst files = await this.photoFileService.loadPhoto(1);\nThen present the editor or viewer. Details: PhotoFileService, Photo Editor, Photo Viewer.
\nnpm install @rdlabo/ionic-angular-photo-editor\nIf you use capacitor, you need to install plugin:
\nnpm install @capacitor/camera swiper tui-image-editor\nAnd set permission. more info is here: Camera
\nIf you public your project to the web, you need to add the following input tag to the index.html.
\n<div style=\"width: 0; height: 0; overflow: hidden\">\n <input id=\"browserPhotoUploader\" type=\"file\" accept=\"image/*\" />\n</div>\nStart with Installation, then pick a guide.
\nThis is a photo editor and viewer for modal page of Ionic Angular project using Capacitor.
\n| Goal | \nGuide | \n
|---|---|
| Load a photo from camera or album | \nPhotoFileService | \n
| Crop and edit in a modal | \nPhoto Editor | \n
| Browse images in a modal | \nPhoto Viewer | \n
| Override editor colors | \nTheme | \n
| Upgrade from an earlier release | \nMigration guide | \n
After Installation, load a photo:
\nimport { PhotoFileService } from '@rdlabo/ionic-angular-photo-editor';\n\nconst files = await this.photoFileService.loadPhoto(1);\nThen present the editor or viewer. Details: PhotoFileService, Photo Editor, Photo Viewer.
\nnpm install @rdlabo/ionic-angular-photo-editor\nIf you use capacitor, you need to install plugin:
\nnpm install @capacitor/camera swiper tui-image-editor\nAnd set permission. more info is here: Camera
\nIf you public your project to the web, you need to add the following input tag to the index.html.
\n<div style=\"width: 0; height: 0; overflow: hidden\">\n <input id=\"browserPhotoUploader\" type=\"file\" accept=\"image/*\" />\n</div>\nStart with Installation, then pick a guide.
\nOverride the editor colors after Installation.
\nDefault color is set, but user can overwrite it: https://github.com/rdlabo-dev/ionic-angular-library/blob/v21.6.2/projects/photo-editor/src/lib/pages/core.scss
\n:root {\n --ion-photo-editor-background: #2a2a2a;\n --ion-photo-editor-background-tint: #414141;\n\n --ion-photo-editor-color: #f0f0f0;\n --ion-photo-editor-color-tint: #dbdbdb;\n\n --ion-photo-editor-primary: #4d8dff;\n --ion-photo-editor-danger: #f24c58;\n --ion-photo-editor-success: #2dd55b;\n}\nOverride the editor colors after Installation.
\nDefault color is set, but user can overwrite it: https://github.com/rdlabo-dev/ionic-angular-library/blob/v21.6.2/projects/photo-editor/src/lib/pages/core.scss
\n:root {\n --ion-photo-editor-background: #2a2a2a;\n --ion-photo-editor-background-tint: #414141;\n\n --ion-photo-editor-color: #f0f0f0;\n --ion-photo-editor-color-tint: #dbdbdb;\n\n --ion-photo-editor-primary: #4d8dff;\n --ion-photo-editor-danger: #f24c58;\n --ion-photo-editor-success: #2dd55b;\n\n --ion-photo-editor-header-button-color-on-light: #222428;\n --ion-photo-editor-header-button-color-on-dark: #f4f5f8;\n}\nPhotoEditorPage and PhotoViewerPage require headerButtonColorScheme: 'light' | 'dark' in their modal componentProps. Select dark for a dark/black ion-toolbar and light for a light/white toolbar. The consumer must choose because the library cannot reliably infer the final toolbar appearance from CSS, translucency, or runtime theme overrides.
For @rdlabo/ionic-theme-ios26 v3, import the optional integration stylesheet after the iOS 26 theme and dark-mode styles:
@import '@rdlabo/ionic-theme-ios26/dist/css/ionic-theme-ios26.css';\n@import '@ionic/angular/css/palettes/dark.class.css';\n@import '@rdlabo/ionic-theme-ios26/dist/css/ionic-theme-ios26-dark-class.css';\n@import '@rdlabo/ionic-angular-photo-editor/css/ios26-header-button-color-scheme.css';\nUse the matching Always or System dark-mode import instead when appropriate. The photo-editor integration stylesheet must remain last so its local header scheme can override the ambient application scheme. Applications that do not use the iOS 26 theme should not import this optional stylesheet; they receive only the regular Ionic button foreground-color switch.
\n", "headings": [ { "id": "how-to-overwrite", "text": "How to overwrite", "level": 2 + }, + { + "id": "header-button-color-scheme", + "text": "Header button color scheme", + "level": 2 } ], "codes": [], @@ -118,7 +123,7 @@ export const PROJECT = { "file": "editor.md", "section": "Guides", "path": "/projects/ionic-angular-photo-editor/docs/editor", - "html": "Present PhotoEditorPage in an Ionic modal. Call this after Installation.
import { PhotoEditorPage, IPhotoEditorDismiss } from '@rdlabo/ionic-angular-photo-editor';\n\n(async () => {\n const modal = await this.modalCtrl.create({\n component: PhotoEditorPage,\n componentProps: {\n requireSquare: false,\n value: 'https://picsum.photos/200/300',\n labels: {\n save: '送信', // change '保存' to '送信'\n },\n },\n });\n await modal.present();\n const { data } = await modal.onWillDismiss<IPhotoEditorDismiss>();\n if (data?.value) {\n console.log(data.value);\n }\n})();\nIf true, the image must be cropped to a square at first.
\nThe image url or base64 string.
\nIf set, the label is overwritten.
\nList is here.
\n", + "html": "Present PhotoEditorPage in an Ionic modal. Call this after Installation.
import { PhotoEditorPage, IPhotoEditorDismiss, PhotoEditorProps } from '@rdlabo/ionic-angular-photo-editor';\n\n(async () => {\n const componentProps = {\n requireSquare: false,\n value: 'https://picsum.photos/200/300',\n headerButtonColorScheme: 'dark',\n labels: {\n save: '送信', // change '保存' to '送信'\n },\n } satisfies PhotoEditorProps;\n const modal = await this.modalCtrl.create({\n component: PhotoEditorPage,\n componentProps,\n });\n await modal.present();\n const { data } = await modal.onWillDismiss<IPhotoEditorDismiss>();\n if (data?.value) {\n console.log(data.value);\n }\n})();\nIf true, the image must be cropped to a square at first.
\nThe image url or base64 string.
\nIf set, the label is overwritten.
\nList is here.
\nRequired. Select dark for a dark/black ion-toolbar and light for a light/white toolbar. The library cannot infer the toolbar appearance from CSS, translucent content, or runtime theme overrides.
Present PhotoViewerPage in an Ionic modal. Call this after Installation.
import { PhotoViewerPage, IPhotoViewerDismiss } from '@rdlabo/ionic-angular-photo-editor';\n\n(async () => {\n const modal = await this.modalCtrl.create({\n component: PhotoViewerPage,\n componentProps: {\n imageUrls: ['https://picsum.photos/200/300', 'https://picsum.photos/200/300'],\n index: 0,\n isCircle: false,\n },\n });\n await modal.present();\n const { data } = await modal.onWillDismiss<IPhotoViewerDismiss>();\n if (data?.delete) {\n // User delete image\n }\n})();\nThe image url or base64 string[].
\nThe index of imageUrls.
\nIf set, the image is displayed in a circle.
\nIf true, the delete button is displayed.
\nIf true, enable footer safe area for iOS.
\nIf set, the label is overwritten.
\nList is here.
\n", + "html": "Present PhotoViewerPage in an Ionic modal. Call this after Installation.
import { PhotoViewerPage, IPhotoViewerDismiss, PhotoViewerProps } from '@rdlabo/ionic-angular-photo-editor';\n\n(async () => {\n const componentProps = {\n imageUrls: ['https://picsum.photos/200/300', 'https://picsum.photos/200/300'],\n index: 0,\n isCircle: false,\n headerButtonColorScheme: 'dark',\n } satisfies PhotoViewerProps;\n const modal = await this.modalCtrl.create({\n component: PhotoViewerPage,\n componentProps,\n });\n await modal.present();\n const { data } = await modal.onWillDismiss<IPhotoViewerDismiss>();\n if (data?.delete) {\n // User delete image\n }\n})();\nThe image url or base64 string[].
\nThe index of imageUrls.
\nIf set, the image is displayed in a circle.
\nIf true, the delete button is displayed.
\nIf true, enable footer safe area for iOS.
\nIf set, the label is overwritten.
\nList is here.
\nRequired. Select dark for a dark/black ion-toolbar and light for a light/white toolbar. The library cannot infer the toolbar appearance from CSS, translucent content, or runtime theme overrides.
インストール のあと、エディターの色を上書きします。
\nデフォルトの色は設定済みですが、上書きできます: https://github.com/rdlabo-dev/ionic-angular-library/blob/v21.6.2/projects/photo-editor/src/lib/pages/core.scss
\n:root {\n --ion-photo-editor-background: #2a2a2a;\n --ion-photo-editor-background-tint: #414141;\n\n --ion-photo-editor-color: #f0f0f0;\n --ion-photo-editor-color-tint: #dbdbdb;\n\n --ion-photo-editor-primary: #4d8dff;\n --ion-photo-editor-danger: #f24c58;\n --ion-photo-editor-success: #2dd55b;\n}\nインストール のあと、エディターの色を上書きします。
\nデフォルトの色は設定済みですが、上書きできます: https://github.com/rdlabo-dev/ionic-angular-library/blob/v21.6.2/projects/photo-editor/src/lib/pages/core.scss
\n:root {\n --ion-photo-editor-background: #2a2a2a;\n --ion-photo-editor-background-tint: #414141;\n\n --ion-photo-editor-color: #f0f0f0;\n --ion-photo-editor-color-tint: #dbdbdb;\n\n --ion-photo-editor-primary: #4d8dff;\n --ion-photo-editor-danger: #f24c58;\n --ion-photo-editor-success: #2dd55b;\n\n --ion-photo-editor-header-button-color-on-light: #222428;\n --ion-photo-editor-header-button-color-on-dark: #f4f5f8;\n}\nPhotoEditorPage と PhotoViewerPage では、モーダルの componentProps に headerButtonColorScheme: 'light' | 'dark' を指定する必要があります。ion-toolbar が暗色または黒色の場合は dark、明色または白色の場合は light を選択してください。最終的なツールバーの外観はCSS、半透明効果、実行時のテーマ上書きによって変わるため、ライブラリ側では確実に判定できません。利用側で明示的に選択する必要があります。
@rdlabo/ionic-theme-ios26 v3では、iOS 26テーマとダークモードのスタイルよりあとに、オプションの連携スタイルシートを読み込みます。
@import '@rdlabo/ionic-theme-ios26/dist/css/ionic-theme-ios26.css';\n@import '@ionic/angular/css/palettes/dark.class.css';\n@import '@rdlabo/ionic-theme-ios26/dist/css/ionic-theme-ios26-dark-class.css';\n@import '@rdlabo/ionic-angular-photo-editor/css/ios26-header-button-color-scheme.css';\n必要に応じて、対応するAlwaysまたはSystemダークモード用のimportへ置き換えてください。photo-editor連携スタイルシートは、局所的なヘッダーの配色がアプリ全体の配色を上書きできるよう、必ず最後に読み込む必要があります。iOS 26テーマを使用しないアプリでは、このオプションのスタイルシートを読み込まないでください。その場合は、通常のIonicボタンの前景色切り替えだけが適用されます。
\n", "headings": [ { "id": "%E4%B8%8A%E6%9B%B8%E3%81%8D%E6%96%B9%E6%B3%95", "text": "上書き方法", "level": 2 + }, + { + "id": "%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%AE%E3%82%AB%E3%83%A9%E3%83%BC%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%A0", + "text": "ヘッダーボタンのカラースキーム", + "level": 2 } ], "codes": [], @@ -118,7 +123,7 @@ export const PROJECT = { "file": "editor.md", "section": "ガイド", "path": "/projects/ionic-angular-photo-editor/docs/editor", - "html": "Ionic モーダルで PhotoEditorPage を表示します。インストール のあとで呼び出します。
import { PhotoEditorPage, IPhotoEditorDismiss } from '@rdlabo/ionic-angular-photo-editor';\n\n(async () => {\n const modal = await this.modalCtrl.create({\n component: PhotoEditorPage,\n componentProps: {\n requireSquare: false,\n value: 'https://picsum.photos/200/300',\n labels: {\n save: '送信', // change '保存' to '送信'\n },\n },\n });\n await modal.present();\n const { data } = await modal.onWillDismiss<IPhotoEditorDismiss>();\n if (data?.value) {\n console.log(data.value);\n }\n})();\ntrue の場合、最初に画像を正方形に切り抜く必要があります。
\n画像の URL または base64 文字列です。
\n設定すると、ラベルが上書きされます。
\n一覧はこちらです。
\n", + "html": "Ionic モーダルで PhotoEditorPage を表示します。インストール のあとで呼び出します。
import { PhotoEditorPage, IPhotoEditorDismiss, PhotoEditorProps } from '@rdlabo/ionic-angular-photo-editor';\n\n(async () => {\n const componentProps = {\n requireSquare: false,\n value: 'https://picsum.photos/200/300',\n headerButtonColorScheme: 'dark',\n labels: {\n save: '送信', // change '保存' to '送信'\n },\n } satisfies PhotoEditorProps;\n const modal = await this.modalCtrl.create({\n component: PhotoEditorPage,\n componentProps,\n });\n await modal.present();\n const { data } = await modal.onWillDismiss<IPhotoEditorDismiss>();\n if (data?.value) {\n console.log(data.value);\n }\n})();\ntrue の場合、最初に画像を正方形に切り抜く必要があります。
\n画像の URL または base64 文字列です。
\n設定すると、ラベルが上書きされます。
\n一覧はこちらです。
\n必須です。ion-toolbar が暗色または黒色の場合は dark、明色または白色の場合は light を選択してください。ツールバーの外観はCSS、半透明コンテンツ、実行時のテーマ上書きによって変わるため、ライブラリ側では判定できません。
Ionic モーダルで PhotoViewerPage を表示します。インストール のあとで呼び出します。
import { PhotoViewerPage, IPhotoViewerDismiss } from '@rdlabo/ionic-angular-photo-editor';\n\n(async () => {\n const modal = await this.modalCtrl.create({\n component: PhotoViewerPage,\n componentProps: {\n imageUrls: ['https://picsum.photos/200/300', 'https://picsum.photos/200/300'],\n index: 0,\n isCircle: false,\n },\n });\n await modal.present();\n const { data } = await modal.onWillDismiss<IPhotoViewerDismiss>();\n if (data?.delete) {\n // User delete image\n }\n})();\n画像の URL または base64 文字列の配列です。
\nimageUrls のインデックスです。
\n設定すると、画像が円形で表示されます。
\ntrue の場合、削除ボタンが表示されます。
\ntrue の場合、iOS 向けにフッターのセーフエリアを有効にします。
\n設定すると、ラベルが上書きされます。
\n一覧はこちらです。
\n", + "html": "Ionic モーダルで PhotoViewerPage を表示します。インストール のあとで呼び出します。
import { PhotoViewerPage, IPhotoViewerDismiss, PhotoViewerProps } from '@rdlabo/ionic-angular-photo-editor';\n\n(async () => {\n const componentProps = {\n imageUrls: ['https://picsum.photos/200/300', 'https://picsum.photos/200/300'],\n index: 0,\n isCircle: false,\n headerButtonColorScheme: 'dark',\n } satisfies PhotoViewerProps;\n const modal = await this.modalCtrl.create({\n component: PhotoViewerPage,\n componentProps,\n });\n await modal.present();\n const { data } = await modal.onWillDismiss<IPhotoViewerDismiss>();\n if (data?.delete) {\n // User delete image\n }\n})();\n画像の URL または base64 文字列の配列です。
\nimageUrls のインデックスです。
\n設定すると、画像が円形で表示されます。
\ntrue の場合、削除ボタンが表示されます。
\ntrue の場合、iOS 向けにフッターのセーフエリアを有効にします。
\n設定すると、ラベルが上書きされます。
\n一覧はこちらです。
\n必須です。ion-toolbar が暗色または黒色の場合は dark、明色または白色の場合は light を選択してください。ツールバーの外観はCSS、半透明コンテンツ、実行時のテーマ上書きによって変わるため、ライブラリ側では判定できません。