bootstrap5-rails-extensions 0.1.1 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef22d282b16beda6e45198696a5a195bd7b1c8fec2194d0a800feac98250241c
4
- data.tar.gz: 6688cd5525b52bc6fff9eac91ce4f34c0bad6485ff7e44f5e6fef9947d52e213
3
+ metadata.gz: e04b08a7e1e9691990f85d877250fbb94a0751b7764a72ab8a6370d5e7dd7968
4
+ data.tar.gz: '0383ce0e398470e76959a5ae9f279988fb9e215754ffafc1c20c2c391f060d5a'
5
5
  SHA512:
6
- metadata.gz: 818f330d8adbf842416ea5f326ab16b6e8521d32291351cbe327ee2a5de12afa7a92817fac300f5a389e23561d749a4011e732b6b83b6b066c12250d29810db5
7
- data.tar.gz: e8e7e38011baabc19fedea102432a44f760f7998d14d0c7d505a78a712d3899b381a766705c6c59462852abbb4e9b4bc869a42562258a6ecee34c666c5bc6c38
6
+ metadata.gz: 9237559c9d82078e8fc47f1b9594c19b858e724affde377b55701a22ea08b959f5f45c49a401fd9a5c322ccd5d48e8d366c87f92a75e05ed4e926471762c4165
7
+ data.tar.gz: 123846d9a8dbe4e505e29fe6e8928c8aaeb1ca464b2447e6f7b657f7d805c03956b2534494f60b9e9df93cfd09a4dd4cab9f0ff7a6b30bb273c92587d5c7cf89
data/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ # CHANGELOG
2
+
3
+ ## 0.2.0 - 2025-10-06
4
+ - Stimulusアプリケーションへコントローラーをまとめて登録する`registerBootstrap5Controllers`を追加しました。
5
+ - バージョン番号を0.2.0に更新しました。
6
+
7
+ ## 0.1.1
8
+ - 初期リリースです。
@@ -0,0 +1,22 @@
1
+ # CODE OF CONDUCT
2
+
3
+ ## 目的
4
+ - 本プロジェクトに関わるすべての方が安心して協力できる環境を維持することを目的としています。
5
+
6
+ ## 行動指針
7
+ - 互いを敬意をもって扱い、思いやりのある言動を心がけてください。
8
+ - 建設的なフィードバックを行い、個人攻撃や誹謗中傷を避けてください。
9
+ - 異なる意見や経験を尊重し、多様性を歓迎してください。
10
+
11
+ ## 禁止事項
12
+ - いかなる形であれハラスメント、差別的発言、脅迫行為を行わないでください。
13
+ - 公共の場に適さないコンテンツを共有しないでください。
14
+
15
+ ## 報告方法
16
+ - 行動規範に反する事案を確認した場合は、可能な限り詳細な情報を添えてメンテナへご連絡ください。
17
+
18
+ ## 適用範囲
19
+ - この行動規範は、オンラインおよびオフラインを問わず、本プロジェクトに関連するすべての活動に適用されます。
20
+
21
+ ## 改訂
22
+ - 本行動規範は必要に応じて更新します。更新が行われた場合は、本リポジトリで周知します。
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bootstrap5-rails-extensions (0.1.1)
4
+ bootstrap5-rails-extensions (0.2.0)
5
5
  rails (>= 8.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -28,17 +28,14 @@ Stimulusアプリケーションへの登録例です。
28
28
  ```javascript
29
29
  // app/javascript/controllers/index.js
30
30
  import { application } from "./application"
31
+ import { registerBootstrap5Controllers } from "bootstrap5_rails_extensions"
31
32
 
32
- import ModalController from "bootstrap5_rails_extensions/modal_controller"
33
- import OffcanvasController from "bootstrap5_rails_extensions/offcanvas_controller"
34
- import ToastController from "bootstrap5_rails_extensions/toast_controller"
35
-
36
- application.register("modal", ModalController)
37
- application.register("offcanvas", OffcanvasController)
38
- application.register("toast", ToastController)
33
+ registerBootstrap5Controllers(application)
39
34
  ```
40
35
 
41
- ESBuildやViteなどを利用している場合も、同様にコントローラをインポートして登録してください。
36
+ オプションで`registerBootstrap5Controllers`の第2引数に`{ modal: CustomModalController }`のようなハッシュを渡すと、任意のコントローラーで上書きを行えます。ESBuildやViteなどのバンドラをご利用の場合も同様に読み込んでください。
37
+
38
+ 個別に登録したい場合は、従来どおり各コントローラーをインポートした上で`application.register`を呼び出してください。
42
39
 
43
40
  ### トースト用コンテナの設置
44
41
 
@@ -0,0 +1,27 @@
1
+ import ModalController from "./modal_controller"
2
+ import OffcanvasController from "./offcanvas_controller"
3
+ import ToastController from "./toast_controller"
4
+
5
+ const defaultControllers = {
6
+ modal: ModalController,
7
+ offcanvas: OffcanvasController,
8
+ toast: ToastController,
9
+ }
10
+
11
+ // Stimulusアプリケーションへ本Gemのコントローラーをまとめて登録する
12
+ export function registerBootstrap5Controllers(application, controllers = {}) {
13
+ if (!application) {
14
+ throw new Error("Stimulusアプリケーションが未指定です。")
15
+ }
16
+
17
+ const registrationMap = { ...defaultControllers, ...controllers }
18
+
19
+ Object.entries(registrationMap).forEach(([identifier, controller]) => {
20
+ const alreadyRegistered = application.router?.modulesByIdentifier?.has?.(identifier)
21
+ if (alreadyRegistered) return
22
+
23
+ application.register(identifier, controller)
24
+ })
25
+ }
26
+
27
+ export { ModalController, OffcanvasController, ToastController }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bootstrap5RailsExtensions
4
- VERSION = "0.1.1"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap5-rails-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dreaw Inc.
@@ -32,6 +32,8 @@ extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
34
  - ".gitignore"
35
+ - CHANGELOG.md
36
+ - CODE_OF_CONDUCT.md
35
37
  - Gemfile
36
38
  - Gemfile.lock
37
39
  - LICENSE.txt
@@ -42,6 +44,7 @@ files:
42
44
  - app/helpers/bootstrap5_rails_extensions/offcanvas_helper.rb
43
45
  - app/helpers/bootstrap5_rails_extensions/table_helper.rb
44
46
  - app/helpers/bootstrap5_rails_extensions/toast_helper.rb
47
+ - app/javascript/bootstrap5_rails_extensions/index.js
45
48
  - app/javascript/bootstrap5_rails_extensions/modal_controller.js
46
49
  - app/javascript/bootstrap5_rails_extensions/offcanvas_controller.js
47
50
  - app/javascript/bootstrap5_rails_extensions/toast_controller.js