@c4h/chuci 0.1.0 → 0.2.1
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/CHANGELOG.md +32 -32
- package/LICENSE +20 -20
- package/README.ja.md +143 -143
- package/README.md +224 -224
- package/dist/chuci.js +9068 -6596
- package/dist/chuci.umd.js +165 -166
- package/dist/index.d.ts +1 -0
- package/package.json +36 -33
- package/src/components/swiper/cc-swiper-slide.ts +49 -49
- package/src/components/swiper/cc-swiper-styles.ts +28 -28
- package/src/components/swiper/cc-swiper.ts +379 -361
- package/src/components/swiper/swiper-styles.css +4 -4
- package/src/components/viewer/cc-viewer-3dmodel.ts +491 -491
- package/src/components/viewer/cc-viewer-base.ts +278 -278
- package/src/components/viewer/cc-viewer-gaussian.ts +380 -380
- package/src/components/viewer/cc-viewer-image.ts +189 -189
- package/src/components/viewer/cc-viewer-panorama.ts +85 -85
- package/src/components/viewer/cc-viewer-styles.ts +55 -55
- package/src/components/viewer/cc-viewer-video.ts +109 -109
- package/src/components/viewer/cc-viewer-youtube.ts +75 -75
- package/src/components/viewer/cc-viewer.ts +290 -290
- package/src/index.ts +24 -24
- package/src/types/css-modules.d.ts +1 -1
- package/src/types/global.d.ts +10 -10
- package/src/utils/base-element.ts +76 -76
- package/dist/assets/azumaya_panorama1.png +0 -0
- package/dist/chuci.cjs +0 -4483
- package/dist/index-8VMexD2a.cjs +0 -255
- package/dist/index-kvsisbKS.js +0 -2125
- package/dist/index.html +0 -241
- package/dist/test-image.html +0 -63
package/CHANGELOG.md
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [0.1.0] - 2025-01-13
|
|
9
|
-
|
|
10
|
-
### Added
|
|
11
|
-
- Initial release of Chuci Web Components library
|
|
12
|
-
- `cc-swiper` component for creating multimedia carousels
|
|
13
|
-
- `cc-swiper-slide` component for individual carousel slides
|
|
14
|
-
- `cc-viewer` base viewer component with navigation support
|
|
15
|
-
- `cc-viewer-image` for displaying images with ViewerJS integration
|
|
16
|
-
- `cc-viewer-video` for HTML5 video playback
|
|
17
|
-
- `cc-viewer-youtube` for YouTube video embedding
|
|
18
|
-
- `cc-viewer-panorama` for 360° panoramic images
|
|
19
|
-
- `cc-viewer-3dmodel` for 3D model viewing with Three.js
|
|
20
|
-
- `cc-viewer-gaussian` for Gaussian Splatting visualization
|
|
21
|
-
- TypeScript type definitions
|
|
22
|
-
- ESM, CommonJS, and UMD build outputs
|
|
23
|
-
|
|
24
|
-
### Fixed
|
|
25
|
-
- Shadow DOM rendering issues for WebGL-based viewers (3D Model and Gaussian)
|
|
26
|
-
- Navigation button event handling across all viewer types
|
|
27
|
-
- Duplicate event listener registration
|
|
28
|
-
- ViewerJS timing issues in image viewer
|
|
29
|
-
|
|
30
|
-
### Changed
|
|
31
|
-
- Unified viewer implementation using Template Method pattern
|
|
32
|
-
- Simplified 3D model data format from pipe-separated to separate attributes
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2025-01-13
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Initial release of Chuci Web Components library
|
|
12
|
+
- `cc-swiper` component for creating multimedia carousels
|
|
13
|
+
- `cc-swiper-slide` component for individual carousel slides
|
|
14
|
+
- `cc-viewer` base viewer component with navigation support
|
|
15
|
+
- `cc-viewer-image` for displaying images with ViewerJS integration
|
|
16
|
+
- `cc-viewer-video` for HTML5 video playback
|
|
17
|
+
- `cc-viewer-youtube` for YouTube video embedding
|
|
18
|
+
- `cc-viewer-panorama` for 360° panoramic images
|
|
19
|
+
- `cc-viewer-3dmodel` for 3D model viewing with Three.js
|
|
20
|
+
- `cc-viewer-gaussian` for Gaussian Splatting visualization
|
|
21
|
+
- TypeScript type definitions
|
|
22
|
+
- ESM, CommonJS, and UMD build outputs
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
- Shadow DOM rendering issues for WebGL-based viewers (3D Model and Gaussian)
|
|
26
|
+
- Navigation button event handling across all viewer types
|
|
27
|
+
- Duplicate event listener registration
|
|
28
|
+
- ViewerJS timing issues in image viewer
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
- Unified viewer implementation using Template Method pattern
|
|
32
|
+
- Simplified 3D model data format from pipe-separated to separate attributes
|
|
33
33
|
- Migrated to Code4History standards with @c4h scope
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024 Code for History
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Code for History
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
package/README.ja.md
CHANGED
|
@@ -1,144 +1,144 @@
|
|
|
1
|
-
# Chuci (楚辞)
|
|
2
|
-
|
|
3
|
-
[Quyuan](https://github.com/code4history/Quyuan)から抽出されたスタンドアロンのマルチメディアスワイパーとビューアWebコンポーネントライブラリです。フレームワークに依存せず、タッチ対応のカルーセルとマルチメディアビューアを提供します。
|
|
4
|
-
|
|
5
|
-
## 特徴
|
|
6
|
-
|
|
7
|
-
- 🚀 **フレームワーク非依存**: 純粋なWeb Components、任意のフレームワークまたはバニラJSで動作
|
|
8
|
-
- 📱 **タッチ対応**: Swiper.jsをベースとしたスムーズなタッチ操作
|
|
9
|
-
- 🎬 **複数のメディアタイプ**: 画像、パノラマ、動画、YouTube、3Dモデル、Gaussianスプラットに対応
|
|
10
|
-
- 🔧 **ゼロ依存関係**: すべての依存関係がバンドル済み(Lit依存なし)
|
|
11
|
-
- 📦 **軽量**: tree-shakingサポートによる最適化されたバンドルサイズ
|
|
12
|
-
- 🛠️ **TypeScript**: 型定義付きの完全なTypeScriptサポート
|
|
13
|
-
|
|
14
|
-
## インストール
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
npm install @c4h/chuci
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## 使用方法
|
|
21
|
-
|
|
22
|
-
### 基本的なスワイパー
|
|
23
|
-
|
|
24
|
-
```html
|
|
25
|
-
<cc-swiper>
|
|
26
|
-
<cc-swiper-slide
|
|
27
|
-
thumbnail-url="thumb1.jpg"
|
|
28
|
-
image-url="full1.jpg"
|
|
29
|
-
image-type="image"
|
|
30
|
-
caption="最初の画像">
|
|
31
|
-
</cc-swiper-slide>
|
|
32
|
-
<cc-swiper-slide
|
|
33
|
-
thumbnail-url="thumb2.jpg"
|
|
34
|
-
image-url="full2.jpg"
|
|
35
|
-
image-type="image"
|
|
36
|
-
caption="2番目の画像">
|
|
37
|
-
</cc-swiper-slide>
|
|
38
|
-
</cc-swiper>
|
|
39
|
-
|
|
40
|
-
<script type="module">
|
|
41
|
-
import '@c4h/chuci'
|
|
42
|
-
</script>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### サムネイルギャラリー付き
|
|
46
|
-
|
|
47
|
-
```html
|
|
48
|
-
<cc-swiper has-thumb>
|
|
49
|
-
<cc-swiper-slide thumbnail-url="..." image-url="..." image-type="image"></cc-swiper-slide>
|
|
50
|
-
<cc-swiper-slide thumbnail-url="..." image-url="..." image-type="image"></cc-swiper-slide>
|
|
51
|
-
</cc-swiper>
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### 自動再生
|
|
55
|
-
|
|
56
|
-
```html
|
|
57
|
-
<cc-swiper autoplay>
|
|
58
|
-
<!-- スライド -->
|
|
59
|
-
</cc-swiper>
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## サポートされるメディアタイプ
|
|
63
|
-
|
|
64
|
-
- **image**: 通常の画像(jpg, png, gif など)
|
|
65
|
-
- **panorama**: 360°パノラマ画像
|
|
66
|
-
- **youtube**: YouTube動画(YouTube URLを提供)
|
|
67
|
-
- **video**: HTML5動画(mp4, webm など)
|
|
68
|
-
- **3dmodel**: 3Dモデル(OBJ/MTL形式)
|
|
69
|
-
- **gaussian**: Gaussianスプラッティングファイル(.splat, .ply)
|
|
70
|
-
|
|
71
|
-
## コンポーネント
|
|
72
|
-
|
|
73
|
-
### `<cc-swiper>`
|
|
74
|
-
|
|
75
|
-
メインのカルーセルコンポーネント。
|
|
76
|
-
|
|
77
|
-
**属性:**
|
|
78
|
-
- `has-thumb`: サムネイルギャラリーを表示
|
|
79
|
-
- `autoplay`: 自動再生を有効化
|
|
80
|
-
|
|
81
|
-
### `<cc-swiper-slide>`
|
|
82
|
-
|
|
83
|
-
個別のスライドコンポーネント。
|
|
84
|
-
|
|
85
|
-
**属性:**
|
|
86
|
-
- `thumbnail-url`: サムネイル画像のURL
|
|
87
|
-
- `image-url`: フルメディアのURL
|
|
88
|
-
- `image-type`: メディアタイプ(上記のサポートされるタイプを参照)
|
|
89
|
-
- `caption`: オプションのキャプションテキスト
|
|
90
|
-
|
|
91
|
-
### ビューア固有の属性
|
|
92
|
-
|
|
93
|
-
3DモデルとGaussianスプラット用:
|
|
94
|
-
- `fit-to-container`: モデルをコンテナサイズに合わせる
|
|
95
|
-
- `debug-mode`: デバッグ情報を表示
|
|
96
|
-
- `camera-position`: 初期カメラ位置を設定(例: "0,0,5")
|
|
97
|
-
- `camera-target`: カメラターゲットを設定(例: "0,0,0")
|
|
98
|
-
- `show-texture`: テクスチャの表示/非表示(3Dモデル用)
|
|
99
|
-
|
|
100
|
-
## スタイリング
|
|
101
|
-
|
|
102
|
-
CSSカスタムプロパティ:
|
|
103
|
-
|
|
104
|
-
```css
|
|
105
|
-
cc-swiper {
|
|
106
|
-
--cc-slider-theme-color: #007aff;
|
|
107
|
-
--cc-slider-navigation-color: #007aff;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
cc-viewer {
|
|
111
|
-
--cc-viewer-z-index: 1000;
|
|
112
|
-
}
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## ブラウザサポート
|
|
116
|
-
|
|
117
|
-
Web Componentsをサポートするすべてのモダンブラウザで動作:
|
|
118
|
-
- Chrome/Edge 79+
|
|
119
|
-
- Firefox 63+
|
|
120
|
-
- Safari 12.1+
|
|
121
|
-
|
|
122
|
-
## 開発
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
# 依存関係のインストール
|
|
126
|
-
pnpm install
|
|
127
|
-
|
|
128
|
-
# 開発サーバーの起動
|
|
129
|
-
pnpm run dev
|
|
130
|
-
|
|
131
|
-
# テストの実行
|
|
132
|
-
pnpm test
|
|
133
|
-
|
|
134
|
-
# ライブラリのビルド
|
|
135
|
-
pnpm run build
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## ライセンス
|
|
139
|
-
|
|
140
|
-
MIT License - 詳細はLICENSEファイルを参照してください。
|
|
141
|
-
|
|
142
|
-
## クレジット
|
|
143
|
-
|
|
1
|
+
# Chuci (楚辞)
|
|
2
|
+
|
|
3
|
+
[Quyuan](https://github.com/code4history/Quyuan)から抽出されたスタンドアロンのマルチメディアスワイパーとビューアWebコンポーネントライブラリです。フレームワークに依存せず、タッチ対応のカルーセルとマルチメディアビューアを提供します。
|
|
4
|
+
|
|
5
|
+
## 特徴
|
|
6
|
+
|
|
7
|
+
- 🚀 **フレームワーク非依存**: 純粋なWeb Components、任意のフレームワークまたはバニラJSで動作
|
|
8
|
+
- 📱 **タッチ対応**: Swiper.jsをベースとしたスムーズなタッチ操作
|
|
9
|
+
- 🎬 **複数のメディアタイプ**: 画像、パノラマ、動画、YouTube、3Dモデル、Gaussianスプラットに対応
|
|
10
|
+
- 🔧 **ゼロ依存関係**: すべての依存関係がバンドル済み(Lit依存なし)
|
|
11
|
+
- 📦 **軽量**: tree-shakingサポートによる最適化されたバンドルサイズ
|
|
12
|
+
- 🛠️ **TypeScript**: 型定義付きの完全なTypeScriptサポート
|
|
13
|
+
|
|
14
|
+
## インストール
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @c4h/chuci
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 使用方法
|
|
21
|
+
|
|
22
|
+
### 基本的なスワイパー
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
<cc-swiper>
|
|
26
|
+
<cc-swiper-slide
|
|
27
|
+
thumbnail-url="thumb1.jpg"
|
|
28
|
+
image-url="full1.jpg"
|
|
29
|
+
image-type="image"
|
|
30
|
+
caption="最初の画像">
|
|
31
|
+
</cc-swiper-slide>
|
|
32
|
+
<cc-swiper-slide
|
|
33
|
+
thumbnail-url="thumb2.jpg"
|
|
34
|
+
image-url="full2.jpg"
|
|
35
|
+
image-type="image"
|
|
36
|
+
caption="2番目の画像">
|
|
37
|
+
</cc-swiper-slide>
|
|
38
|
+
</cc-swiper>
|
|
39
|
+
|
|
40
|
+
<script type="module">
|
|
41
|
+
import '@c4h/chuci'
|
|
42
|
+
</script>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### サムネイルギャラリー付き
|
|
46
|
+
|
|
47
|
+
```html
|
|
48
|
+
<cc-swiper has-thumb>
|
|
49
|
+
<cc-swiper-slide thumbnail-url="..." image-url="..." image-type="image"></cc-swiper-slide>
|
|
50
|
+
<cc-swiper-slide thumbnail-url="..." image-url="..." image-type="image"></cc-swiper-slide>
|
|
51
|
+
</cc-swiper>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 自動再生
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<cc-swiper autoplay>
|
|
58
|
+
<!-- スライド -->
|
|
59
|
+
</cc-swiper>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## サポートされるメディアタイプ
|
|
63
|
+
|
|
64
|
+
- **image**: 通常の画像(jpg, png, gif など)
|
|
65
|
+
- **panorama**: 360°パノラマ画像
|
|
66
|
+
- **youtube**: YouTube動画(YouTube URLを提供)
|
|
67
|
+
- **video**: HTML5動画(mp4, webm など)
|
|
68
|
+
- **3dmodel**: 3Dモデル(OBJ/MTL形式)
|
|
69
|
+
- **gaussian**: Gaussianスプラッティングファイル(.splat, .ply)
|
|
70
|
+
|
|
71
|
+
## コンポーネント
|
|
72
|
+
|
|
73
|
+
### `<cc-swiper>`
|
|
74
|
+
|
|
75
|
+
メインのカルーセルコンポーネント。
|
|
76
|
+
|
|
77
|
+
**属性:**
|
|
78
|
+
- `has-thumb`: サムネイルギャラリーを表示
|
|
79
|
+
- `autoplay`: 自動再生を有効化
|
|
80
|
+
|
|
81
|
+
### `<cc-swiper-slide>`
|
|
82
|
+
|
|
83
|
+
個別のスライドコンポーネント。
|
|
84
|
+
|
|
85
|
+
**属性:**
|
|
86
|
+
- `thumbnail-url`: サムネイル画像のURL
|
|
87
|
+
- `image-url`: フルメディアのURL
|
|
88
|
+
- `image-type`: メディアタイプ(上記のサポートされるタイプを参照)
|
|
89
|
+
- `caption`: オプションのキャプションテキスト
|
|
90
|
+
|
|
91
|
+
### ビューア固有の属性
|
|
92
|
+
|
|
93
|
+
3DモデルとGaussianスプラット用:
|
|
94
|
+
- `fit-to-container`: モデルをコンテナサイズに合わせる
|
|
95
|
+
- `debug-mode`: デバッグ情報を表示
|
|
96
|
+
- `camera-position`: 初期カメラ位置を設定(例: "0,0,5")
|
|
97
|
+
- `camera-target`: カメラターゲットを設定(例: "0,0,0")
|
|
98
|
+
- `show-texture`: テクスチャの表示/非表示(3Dモデル用)
|
|
99
|
+
|
|
100
|
+
## スタイリング
|
|
101
|
+
|
|
102
|
+
CSSカスタムプロパティ:
|
|
103
|
+
|
|
104
|
+
```css
|
|
105
|
+
cc-swiper {
|
|
106
|
+
--cc-slider-theme-color: #007aff;
|
|
107
|
+
--cc-slider-navigation-color: #007aff;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
cc-viewer {
|
|
111
|
+
--cc-viewer-z-index: 1000;
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## ブラウザサポート
|
|
116
|
+
|
|
117
|
+
Web Componentsをサポートするすべてのモダンブラウザで動作:
|
|
118
|
+
- Chrome/Edge 79+
|
|
119
|
+
- Firefox 63+
|
|
120
|
+
- Safari 12.1+
|
|
121
|
+
|
|
122
|
+
## 開発
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# 依存関係のインストール
|
|
126
|
+
pnpm install
|
|
127
|
+
|
|
128
|
+
# 開発サーバーの起動
|
|
129
|
+
pnpm run dev
|
|
130
|
+
|
|
131
|
+
# テストの実行
|
|
132
|
+
pnpm test
|
|
133
|
+
|
|
134
|
+
# ライブラリのビルド
|
|
135
|
+
pnpm run build
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## ライセンス
|
|
139
|
+
|
|
140
|
+
MIT License - 詳細はLICENSEファイルを参照してください。
|
|
141
|
+
|
|
142
|
+
## クレジット
|
|
143
|
+
|
|
144
144
|
Code for Historyによる[Quyuan](https://github.com/code4history/Quyuan)から抽出。
|