Sha256: e14818de36ff8fe689ed336e7f348269ac66f0e9fb6f1d8d46e858d29b0b200e

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

module Schienenzeppelin
  module AddOns
    class StimulusComponents < AddOn
      depends_on :stimulus

      def apply
        run('yarn add tailwindcss-stimulus-components')
        inject_into_file('app/javascript/packs/application.js') do
          <<~JS
            import { Application } from "stimulus"
            import { definitionsFromContext } from "stimulus/webpack-helpers"

            const application = Application.start();
            const context = require.context("controllers", true, /.js$/);
            application.load(definitionsFromContext(context));

            import { Dropdown, Modal, Tabs, Popover, Toggle, Slideover } from "tailwindcss-stimulus-components"
            application.register('dropdown', Dropdown)
            application.register('modal', Modal)
            application.register('tabs', Tabs)
            application.register('popover', Popover)
            application.register('toggle', Toggle)
            application.register('slideover', Slideover)
          JS
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
schienenzeppelin-0.2 lib/schienenzeppelin/addons/stimulus_components.rb