form_props 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cff106aa823f714feedeca5bcb60009c1e699fd3e5caf04213aff7b5453bebf1
4
- data.tar.gz: dec35c8f4b7eaf8233b1dc5ba018b08d2d71275a9e5251e82c18c68190e8b10f
3
+ metadata.gz: 6afc4d5cd3b6527eda75e36d715a828d50fb91f7cd35015840cfda0fd3bd1757
4
+ data.tar.gz: 112580b30cc0ee20c4bb7903bf2b710c07452e9584753306badd4b091965f367
5
5
  SHA512:
6
- metadata.gz: 3bfdfa243ba6534c73b837472bd1e9718b19ca0c99ecc7cc177389a6d4474c4042a634f5ac2a0f68e32484b6895e024b433266d7c670cda6199dfa0a82929154
7
- data.tar.gz: 5afc0d65c6d09a6bbfde9c31dc9fc489499cfa69f489cd45626ebf4342da1bd1e8524ec4fab46af87d6778cef9fd445a2b45585d7462143298a113fc13efcb94
6
+ metadata.gz: f96bd0cf7459cf432c86d4e0b660a061b0787d294ce154ed18af9c6a44feebc5ee8451525bc9e9304823c1b16ff41be0a10423e0e30e47435b5b94e3eae6e1de
7
+ data.tar.gz: f15f59d1ce001e8f4208d1e9081feb01967964cd6e8b2be7633ac97166ef17aaf8a4df2b2a0333b113ba7438858a2ffa0913d7bc5cfaa5dfc9a83906718f38b2
data/README.md CHANGED
@@ -1,10 +1,9 @@
1
1
  # Form Props
2
2
 
3
- ![Build Status](https://github.com/github/docs/actions/workflows/build.yml/badge.svg?branch=main)
3
+ ![Build Status](https://github.com/thoughtbot/form_props/actions/workflows/build.yml/badge.svg?branch=main)
4
4
 
5
- FormProps is a Rails form builder that outputs HTML attributes instead of tags.
6
- Now you can enjoy the conviences of Rails helpers in other view libraries like
7
- React, and React Native.
5
+ FormProps is a Rails form builder that outputs HTML props instead of tags. Now
6
+ you can enjoy the power and convenience of Rails helpers in React!
8
7
 
9
8
  By separting attributes from tags, FormProps can offer greater flexbility than normal
10
9
  Rails form builders; allowing designers to stay longer in HTML land and more easily
@@ -26,7 +25,7 @@ gem "form_props"
26
25
  and `bundle install`
27
26
 
28
27
  ## Usage
29
- `form_props` is designed to be used in a [PropsTemplate] template (it can work with
28
+ `form_props` is designed to be used in a [PropsTemplate] template (it can work with
30
29
  [jbuilder](#jbuilder)). For example in your `new.json.props`:
31
30
 
32
31
  ```ruby
@@ -46,7 +45,7 @@ would output
46
45
  props: {
47
46
  id: "create-post",
48
47
  action: "/posts/123",
49
- accept-charset: "UTF-8",
48
+ acceptCharset: "UTF-8",
50
49
  method: "post"
51
50
  },
52
51
  extras: {
@@ -54,19 +53,19 @@ would output
54
53
  name: "_method",
55
54
  type: "hidden",
56
55
  defaultValue: "patch",
57
- autocomplete: "off"
56
+ autoComplete: "off"
58
57
  },
59
58
  utf8: {
60
59
  name: "utf8",
61
60
  type: "hidden",
62
61
  defaultValue: "\u0026#x2713;",
63
- autocomplete: "off"
62
+ autoComplete: "off"
64
63
  }
65
64
  csrf: {
66
65
  name: "utf8",
67
66
  type: "authenticity_token",
68
67
  defaultValue: "SomeTOken!23$",
69
- autocomplete: "off"
68
+ autoComplete: "off"
70
69
  }
71
70
  },
72
71
  inputs: {
@@ -84,12 +83,11 @@ import React from 'react'
84
83
 
85
84
  export default ({props, inputs, extras}) => {
86
85
  <form {...props}>
87
- {Object.values(extras).map((hiddenProps) => (<input {...hiddenProps} type="hidden"/>))}
86
+ {Object.values(extras).map((hiddenProps) => (<input {...hiddenProps} key={hiddenProps.name}/>))}
88
87
 
89
- <input {...inputs.title} type="text"/>
88
+ <input {...inputs.title} />
90
89
  <label for={inputs.title.id}>Your Name</label>
91
-
92
- <input {...inputs.submit} type="submit"/>
90
+ <button {...inputs.submit}>{inputs.submit.text}</button>
93
91
  </form>
94
92
  }
95
93
  ```
@@ -649,7 +647,7 @@ available.
649
647
 
650
648
  ## jbuilder
651
649
 
652
- form_props can work with jbuilder, but needs an extra call in the beginning of
650
+ form_props can work with jbuilder, but needs an extra call in the beginning of
653
651
  your template to `FormProps.set` to inject `json`. For example.
654
652
 
655
653
  ```ruby
@@ -40,6 +40,7 @@ module FormProps
40
40
  end
41
41
 
42
42
  html_options = html_options_for_form_with(url, model, **options)
43
+ html_options["acceptCharset"] ||= html_options.delete("accept-charset")
43
44
 
44
45
  json.extras do
45
46
  extra_props_for_form(json, html_options)
@@ -62,7 +63,7 @@ module FormProps
62
63
  json.name request_forgery_protection_token.to_s
63
64
  json.type "hidden"
64
65
  json.default_value token
65
- json.autocomplete "off"
66
+ json.auto_complete "off"
66
67
  end
67
68
  end
68
69
  end
@@ -72,7 +73,7 @@ module FormProps
72
73
  json.name "_method"
73
74
  json.type "hidden"
74
75
  json.default_value method.to_s
75
- json.autocomplete "off"
76
+ json.auto_complete "off"
76
77
  end
77
78
  end
78
79
 
@@ -81,7 +82,7 @@ module FormProps
81
82
  json.name "utf8"
82
83
  json.type "hidden"
83
84
  json.default_value "&#x2713;"
84
- json.autocomplete "off"
85
+ json.auto_complete "off"
85
86
  end
86
87
  end
87
88
 
@@ -132,7 +132,7 @@ module FormProps
132
132
  def submit(value = nil, options = {})
133
133
  value, options = nil, value if value.is_a?(Hash)
134
134
  value ||= submit_default_value
135
- options = {name: "commit", value: value}.update(options)
135
+ options = {name: "commit", text: value}.update(options)
136
136
 
137
137
  Inputs::Submit.new(@template, options).render
138
138
  end
@@ -4,7 +4,7 @@ module FormProps
4
4
  module Inputs
5
5
  class HiddenField < TextField
6
6
  def render
7
- @options[:autocomplete] = "off"
7
+ @options[:auto_complete] = "off"
8
8
  super
9
9
  end
10
10
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FormProps
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: form_props
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johny Ho
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-13 00:00:00.000000000 Z
11
+ date: 2023-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport