playbook_ui 7.1.0.pre.alpha2 → 7.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 +4 -4
- data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +1 -1
- data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +1 -1
- data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +1 -1
- data/app/pb_kits/playbook/pb_nav/_item.html.erb +3 -0
- data/app/pb_kits/playbook/pb_nav/_item.jsx +14 -1
- data/app/pb_kits/playbook/pb_nav/_nav.jsx +3 -0
- data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +22 -3
- data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.html.erb +6 -0
- data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.jsx +29 -0
- data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.html.erb +7 -0
- data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.jsx +42 -0
- data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.md +1 -0
- data/app/pb_kits/playbook/pb_nav/docs/example.yml +5 -0
- data/app/pb_kits/playbook/pb_nav/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_nav/item.rb +1 -0
- data/app/pb_kits/playbook/pb_nav/nav.rb +6 -1
- data/app/pb_kits/playbook/pb_pill/_pill.scss +1 -0
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +1 -3
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +26 -47
- data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +32 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line.jsx +6 -2
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +2 -1
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.jsx +2 -1
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_vertical.jsx +9 -3
- data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +1 -1
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.html.erb +4 -4
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_options.html.erb +16 -0
- data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +16 -9
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.html.erb +3 -2
- data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_options.html.erb +16 -0
- data/app/pb_kits/playbook/pb_selectable_card_icon/docs/example.yml +4 -3
- data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +3 -0
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.html.erb +3 -3
- data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_options.html.erb +15 -0
- data/app/pb_kits/playbook/pb_selectable_icon/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +10 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +3 -2
- data/app/pb_kits/playbook/props.rb +1 -1
- data/app/pb_kits/playbook/props/base.rb +6 -4
- data/lib/playbook/version.rb +1 -1
- metadata +13 -18
- data/lib/generators/kit/USAGE +0 -5
- data/lib/generators/kit/kit_generator.rb +0 -95
- data/lib/generators/kit/templates/kit_example_rails.erb.tt +0 -1
- data/lib/generators/kit/templates/kit_example_react.erb.tt +0 -10
- data/lib/generators/kit/templates/kit_example_yml.erb.tt +0 -9
- data/lib/generators/kit/templates/kit_html.erb.tt +0 -7
- data/lib/generators/kit/templates/kit_js.erb.tt +0 -1
- data/lib/generators/kit/templates/kit_jsx.erb.tt +0 -68
- data/lib/generators/kit/templates/kit_ruby.erb.tt +0 -11
- data/lib/generators/kit/templates/kit_ruby_spec.erb.tt +0 -11
- data/lib/generators/kit/templates/kit_scss.erb +0 -3
- data/lib/tasks/changelog.rake +0 -14
- data/lib/tasks/pb_release.rake +0 -88
- data/lib/tasks/playbook_tasks.rake +0 -26
data/lib/generators/kit/USAGE
DELETED
@@ -1,95 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
class KitGenerator < Rails::Generators::NamedBase
|
4
|
-
desc "This generator creates a new Playbook Kit"
|
5
|
-
source_root File.expand_path("templates", __dir__)
|
6
|
-
class_option :props, type: :array, default: []
|
7
|
-
|
8
|
-
def create_templates
|
9
|
-
kit_name = name.strip.downcase
|
10
|
-
@kit_name_uppercase = kit_name.upcase
|
11
|
-
@kit_name_lowercase = kit_name
|
12
|
-
@kit_name_capitalize = kit_name.capitalize
|
13
|
-
@kit_name_underscore = kit_name.parameterize.underscore
|
14
|
-
@kit_name_pascal = kit_name.titleize.gsub(/\s+/, "")
|
15
|
-
|
16
|
-
kit_props = options[:props].concat(%w[id:string classname:string data:object aria:object])
|
17
|
-
@kit_props = kit_props.map { |hash| [hash.partition(":").first, hash.partition(":").last] }.to_h
|
18
|
-
@kit_props = @kit_props.sort.to_h
|
19
|
-
@unique_props = @kit_props.symbolize_keys.without(:id, :classname, :data, :aria)
|
20
|
-
|
21
|
-
@kit_class_init = []
|
22
|
-
@kit_props.each do |key, _val|
|
23
|
-
@kit_class_init.push("#{key.parameterize.underscore}: default_configuration".to_sym)
|
24
|
-
end
|
25
|
-
|
26
|
-
@kit_class_val = []
|
27
|
-
@kit_props.each do |key, _value|
|
28
|
-
@kit_class_val.push("self.configured_#{key.parameterize.underscore} = #{key.parameterize.underscore}")
|
29
|
-
end
|
30
|
-
|
31
|
-
full_kit_directory = "app/pb_kits/playbook/pb_#{@kit_name_underscore}"
|
32
|
-
|
33
|
-
# Check if kit already exists =======================
|
34
|
-
if File.directory?(full_kit_directory)
|
35
|
-
say_status "#{@kit_name_capitalize} kit already exists.",
|
36
|
-
"Please choose another name or manually make changes to the existing kit.",
|
37
|
-
:red
|
38
|
-
return
|
39
|
-
else
|
40
|
-
# Add kit to Playbook menu ==========================
|
41
|
-
open("app/pb_kits/playbook/data/menu.yml", "a") do |f|
|
42
|
-
f.puts " - #{@kit_name_underscore}"
|
43
|
-
end
|
44
|
-
say_status "complete",
|
45
|
-
"#{@kit_name_capitalize} kit added to Playbook menu.",
|
46
|
-
:green
|
47
|
-
|
48
|
-
# Generate SCSS files ==============================
|
49
|
-
template "kit_scss.erb", "#{full_kit_directory}/_#{@kit_name_underscore}.scss"
|
50
|
-
open("app/pb_kits/playbook/_playbook.scss", "a") do |f|
|
51
|
-
f.puts "\n@" + "import " + "\'" + "pb_#{@kit_name_underscore}/#{@kit_name_underscore}" + "\';"
|
52
|
-
end
|
53
|
-
say_status "complete",
|
54
|
-
"#{@kit_name_capitalize} kit stylesheet successfully created and imported.",
|
55
|
-
:green
|
56
|
-
|
57
|
-
# Ask user if Rails version should be generated ======
|
58
|
-
if yes?("Create RAILS #{@kit_name_underscore} kit? (y/N)")
|
59
|
-
@rails_kit = true
|
60
|
-
template "kit_ruby.erb", "#{full_kit_directory}/#{@kit_name_underscore}.rb"
|
61
|
-
template "kit_html.erb", "#{full_kit_directory}/_#{@kit_name_underscore}.html.erb"
|
62
|
-
template "kit_example_rails.erb", "#{full_kit_directory}/docs/_#{@kit_name_underscore}_default.html.erb"
|
63
|
-
template "kit_ruby_spec.erb", "spec/pb_kits/playbook/kits/#{@kit_name_underscore}_spec.rb"
|
64
|
-
say_status "complete",
|
65
|
-
"#{@kit_name_capitalize} rails kit successfully created.",
|
66
|
-
:green
|
67
|
-
end
|
68
|
-
|
69
|
-
# Ask user if React version should be generated ======
|
70
|
-
if yes?("Create REACT #{@kit_name_pascal} kit? (y/N)")
|
71
|
-
@react_kit = true
|
72
|
-
template "kit_jsx.erb", "#{full_kit_directory}/_#{@kit_name_underscore}.jsx"
|
73
|
-
template "kit_example_react.erb", "#{full_kit_directory}/docs/_#{@kit_name_underscore}_default.jsx"
|
74
|
-
template "kit_js.erb", "#{full_kit_directory}/docs/index.js"
|
75
|
-
|
76
|
-
# Import kit examples ===========================
|
77
|
-
append_to_file("app/pb_kits/playbook/packs/react-examples.js") do
|
78
|
-
"import * as #{@kit_name_pascal} from 'pb_#{@kit_name_underscore}/docs'\nWebpackerReact.setup(#{@kit_name_pascal})\n"
|
79
|
-
end
|
80
|
-
append_to_file("app/pb_kits/playbook/index.js") do
|
81
|
-
"\nexport #{@kit_name_pascal} from 'pb_#{@kit_name_underscore}/_#{@kit_name_underscore}.jsx'"
|
82
|
-
end
|
83
|
-
|
84
|
-
say_status "complete",
|
85
|
-
"#{@kit_name_capitalize} react kit successfully created.",
|
86
|
-
:green
|
87
|
-
end
|
88
|
-
|
89
|
-
# Create kit example.yml
|
90
|
-
template "kit_example_yml.erb", "#{full_kit_directory}/docs/example.yml"
|
91
|
-
|
92
|
-
`rubocop --safe-auto-correct #{full_kit_directory}`
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
<%%= pb_rails("<%= @kit_name_underscore %>") %>
|
@@ -1 +0,0 @@
|
|
1
|
-
export { default as <%= @kit_name_pascal %>Default } from './_<%= @kit_name_underscore %>_default.jsx'
|
@@ -1,68 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
break_lines = lambda do |list, spaces = 2, separator = ","|
|
3
|
-
list.join("#{separator}\n#{" " * spaces}") + separator
|
4
|
-
end
|
5
|
-
|
6
|
-
type_name = "#{@kit_name_pascal}Props"
|
7
|
-
|
8
|
-
props_types = @kit_props.map do |key, val|
|
9
|
-
prop_name = key == "classname" ? "className" : key.camelize(:lower)
|
10
|
-
prop_type = case val
|
11
|
-
when "enum", "one_of" then "'option_1' | 'option_2'"
|
12
|
-
when "boolean", "bool" then "boolean"
|
13
|
-
when "object", "obj" then "object"
|
14
|
-
else "string"
|
15
|
-
end
|
16
|
-
|
17
|
-
"#{prop_name}?: #{prop_type}"
|
18
|
-
end
|
19
|
-
puts props_types.inspect
|
20
|
-
|
21
|
-
props_names = @kit_props.keys.map do |key|
|
22
|
-
case key
|
23
|
-
when "classname" || "className"
|
24
|
-
"className"
|
25
|
-
when "aria"
|
26
|
-
"aria = {}"
|
27
|
-
when "data"
|
28
|
-
"data = {}"
|
29
|
-
else
|
30
|
-
key
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
%>
|
35
|
-
|
36
|
-
/* @flow */
|
37
|
-
|
38
|
-
import React from 'react'
|
39
|
-
import classnames from 'classnames'
|
40
|
-
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
41
|
-
import { globalProps } from '../utilities/globalProps.js'
|
42
|
-
|
43
|
-
type <%= type_name %> = {
|
44
|
-
<%= break_lines.call(props_types) %>
|
45
|
-
}
|
46
|
-
|
47
|
-
const <%= @kit_name_pascal %> = (props: <%= type_name %>) => {
|
48
|
-
const {
|
49
|
-
<%= break_lines.call(props_names) %>
|
50
|
-
} = props
|
51
|
-
|
52
|
-
const ariaProps = buildAriaProps(aria)
|
53
|
-
const dataProps = buildDataProps(data)
|
54
|
-
const classes = classnames(buildCss('pb_<%= @kit_name_underscore %>'), globalProps(props), className)
|
55
|
-
|
56
|
-
return (
|
57
|
-
<div
|
58
|
-
{...ariaProps}
|
59
|
-
{...dataProps}
|
60
|
-
className={classes}
|
61
|
-
id={id}
|
62
|
-
>
|
63
|
-
{className}
|
64
|
-
</div>
|
65
|
-
)
|
66
|
-
}
|
67
|
-
|
68
|
-
export default <%= @kit_name_pascal %>
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "../../../../app/pb_kits/playbook/pb_<%= @kit_name_underscore %>/<%= @kit_name_underscore %>"
|
4
|
-
|
5
|
-
RSpec.describe Playbook::Pb<%= @kit_name_capitalize %>::<%= @kit_name_capitalize %> do
|
6
|
-
subject { Playbook::Pb<%= @kit_name_capitalize %>::<%= @kit_name_capitalize %> }
|
7
|
-
|
8
|
-
it { is_expected.to define_partial }
|
9
|
-
|
10
|
-
# Do not leave this file blank. Use other spec files for example tests.
|
11
|
-
end
|
data/lib/tasks/changelog.rake
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'github_changelog_generator/task'
|
2
|
-
|
3
|
-
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
4
|
-
config.user = 'powerhome'
|
5
|
-
config.project = 'playbook'
|
6
|
-
config.since_tag = Playbook::VERSION
|
7
|
-
config.header = ''
|
8
|
-
config.issues = false
|
9
|
-
config.base = 'CHANGELOG.md'
|
10
|
-
config.enhancement_prefix = '**Kit Enhancements:**'
|
11
|
-
config.bug_prefix = '**Fixed Bugs:**'
|
12
|
-
config.max_issues = 75
|
13
|
-
config.add_sections = {"New Kits":{"prefix":"**New Kits:**","labels":["new kit"]},"Improvements": {"prefix":"**Improvements:**","labels":["improvement"]},"Breaking": {"prefix":"**Breaking Changes:**","labels":["breaking"]}}
|
14
|
-
end
|
data/lib/tasks/pb_release.rake
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
namespace :pb_release do
|
4
|
-
desc "Update the version number in preparation to release"
|
5
|
-
task version: :environment do
|
6
|
-
puts "\n"
|
7
|
-
puts "*" * 20 + " Create New Playbook Release " + "*" * 20
|
8
|
-
ack = "\nFirst, before creating a new version please make sure you are familiar with SemVer guidlines: "
|
9
|
-
ack += "\nhttps://semver.org/#semantic-versioning-specification-semver. "
|
10
|
-
ack += "\n\nDoing so will ensure the proper version is selected for the release. "
|
11
|
-
ack += "\nSee also: https://github.com/powerhome/playbook/wiki/Releasing-a-New-Version#determining-the-version."
|
12
|
-
ack += "\n\nReady to start? y/N"
|
13
|
-
STDOUT.puts ack
|
14
|
-
agreed = STDIN.gets.chomp.downcase
|
15
|
-
|
16
|
-
if agreed == "y"
|
17
|
-
old_version = Playbook::VERSION
|
18
|
-
STDOUT.puts "What would you like the next release number to be? Currently #{old_version}"
|
19
|
-
new_version = STDIN.gets.chomp
|
20
|
-
puts "Ok great, let's make version #{new_version}"
|
21
|
-
puts "\n\n"
|
22
|
-
|
23
|
-
# Update package.json
|
24
|
-
package = File.read("package.json")
|
25
|
-
new_package = package.gsub(/"version": "#{old_version}",/, "\"version\": \"#{new_version}\",")
|
26
|
-
File.open("package.json", "w") { |file| file.puts new_package }
|
27
|
-
puts "Updated package.json"
|
28
|
-
|
29
|
-
# Update version.rb
|
30
|
-
version_rb = File.read("lib/playbook/version.rb")
|
31
|
-
new_version_rb = version_rb.gsub(/VERSION = "#{old_version}".freeze/, "VERSION = \"#{new_version}\".freeze")
|
32
|
-
File.open("lib/playbook/version.rb", "w") { |file| file.puts new_version_rb }
|
33
|
-
puts "Updated lib/playbook/version.rb"
|
34
|
-
|
35
|
-
# Update gemfile.lock
|
36
|
-
gemfile = File.read("Gemfile.lock")
|
37
|
-
new_gemfile = gemfile.gsub(/playbook_ui \(#{Regexp.escape(old_version)}\)/, "playbook_ui (#{new_version})")
|
38
|
-
File.open("Gemfile.lock", "w") { |file| file.puts new_gemfile }
|
39
|
-
puts "Updated Gemfile.lock"
|
40
|
-
puts "\n\n"
|
41
|
-
|
42
|
-
puts "\nCreating dist files"
|
43
|
-
`yarn release`
|
44
|
-
|
45
|
-
puts "Commit your changes and create a PR to merge to master"
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
desc "Publish to RubyGems, NPM, and Create a Tag"
|
50
|
-
task push: :environment do
|
51
|
-
version = Playbook::VERSION
|
52
|
-
puts "You about to release version #{version}. Is that correct? (y/N)"
|
53
|
-
input = STDIN.gets.chomp
|
54
|
-
raise Nope unless input.downcase == "y"
|
55
|
-
|
56
|
-
# RubyGems
|
57
|
-
puts "\nCreating Gem..."
|
58
|
-
`gem build playbook_ui.gemspec`
|
59
|
-
puts "\nPushing to RubyGems..."
|
60
|
-
`gem push playbook_ui-#{version}.gem`
|
61
|
-
puts "\nPushed to RubyGems. Now lets clean up..."
|
62
|
-
`rm -rf playbook_ui-*.gem`
|
63
|
-
|
64
|
-
# NPM
|
65
|
-
puts "\nGenerating distribution files"
|
66
|
-
`docker-compose run web yarn release`
|
67
|
-
puts "\nOrganizing distribution files"
|
68
|
-
`rm dist/playbook-rails.css && mv dist/playbook-react.css dist/playbook.css`
|
69
|
-
puts "\nCreating NPM package..."
|
70
|
-
`npm pack`
|
71
|
-
puts "\nPublishing to NPM..."
|
72
|
-
`npm publish playbook-ui-#{version}.tgz`
|
73
|
-
puts "\nPublished to NPM. Now lets clean up..."
|
74
|
-
`rm -rf playbook-ui-*.tgz`
|
75
|
-
|
76
|
-
# Tags
|
77
|
-
puts "\nPushed to NPM. Now lets create a tag..."
|
78
|
-
puts "\nWrite a brief tag release description. You can edit this later on GitHub."
|
79
|
-
description = STDIN.gets.chomp
|
80
|
-
puts "\nCreating Tag..."
|
81
|
-
`git tag -a #{version} -m "#{description}"`
|
82
|
-
puts "\nPushing Tag to GitHub..."
|
83
|
-
`git push origin #{version}`
|
84
|
-
|
85
|
-
puts "\n\n"
|
86
|
-
puts "Complete! Don't forget to add your release notes https://github.com/powerhome/playbook/releases/tag/#{version}"
|
87
|
-
end
|
88
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "webpacker"
|
4
|
-
|
5
|
-
namespace :playbook do
|
6
|
-
namespace :webpacker do
|
7
|
-
desc "Install deps with yarn"
|
8
|
-
task :yarn_install do
|
9
|
-
Dir.chdir(File.join(__dir__, "../..")) do
|
10
|
-
system "yarn install --no-progress --production"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
desc "Compile JavaScript packs using webpack for production with digests"
|
15
|
-
task compile: %i[yarn_install environment] do
|
16
|
-
::Webpacker.with_node_env("production") do
|
17
|
-
if Playbook.webpacker.commands.compile
|
18
|
-
# Successful compilation!
|
19
|
-
else
|
20
|
-
# Failed compilation
|
21
|
-
exit!
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|