govuk_design_system_formbuilder 2.1.4 → 2.1.5

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: 2b243fcaf512a7b1edd2455a06cb36368db533c9aa76661fc907d8725a916ecc
4
- data.tar.gz: 2ac392952f097e0730dc1d10b4b159d273a17335682ddcf8c8a5d589c7d0e53f
3
+ metadata.gz: f2892780c7524701d967f5ed6c409ad4eb741b5a3e6cfaf4ec65389dbaf504a4
4
+ data.tar.gz: 5a231ba3dfebdf493b8563fc2d7c4b11ba66d27963512e24ef6cd9647ba8bee9
5
5
  SHA512:
6
- metadata.gz: b4ff3afdcc29348497365e6e04f4a2848c9db92e57fe6db4098a011d5cefd00e3f0a6e38240e7eb4b5776b79a29f36f64785bbfdeb0181b9efed8d5c46813359
7
- data.tar.gz: 28c9f927dbfbe0b7176184ececf28c6de7ad229613728f7e57d5aed9d5f93c2d49d2d81ff474bad47a809a85dd847a4658d0af9695cdfa5a10a9705272ed926c
6
+ metadata.gz: 46966873483f3cec59d97458b1e211ab013d7056c6d18e6bd40749f393e6e5eff96e93ddf38d6888da4316cd26db7d3a6dbd9e744e40d3fa6b2b4ac5386281b8
7
+ data.tar.gz: cff65a82d937855335ef59346acb8d4e2a07e21ca615897c8dd9b0c873e2e919a794ac46dcfdde27054211f573c7be030d1b64a8b5fd1fa325f34ae1ecd8811d
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # GOV.UK Design System Form Builder for Rails
2
2
 
3
- [![Build Status](https://travis-ci.com/DFE-Digital/govuk_design_system_formbuilder.svg?branch=master)](https://travis-ci.com/DFE-Digital/govuk_design_system_formbuilder)
3
+ [![Tests](https://github.com/DFE-Digital/govuk_design_system_formbuilder/workflows/Testing/badge.svg)](https://github.com/DFE-Digital/govuk_design_system_formbuilder/actions)
4
4
  [![Maintainability](https://api.codeclimate.com/v1/badges/fde73b5dc9476197281b/maintainability)](https://codeclimate.com/github/DFE-Digital/govuk_design_system_formbuilder/maintainability)
5
5
  [![Gem Version](https://badge.fury.io/rb/govuk_design_system_formbuilder.svg)](https://badge.fury.io/rb/govuk_design_system_formbuilder)
6
6
  [![Gem](https://img.shields.io/gem/dt/govuk_design_system_formbuilder?logo=rubygems)](https://rubygems.org/gems/govuk_design_system_formbuilder)
@@ -850,6 +850,7 @@ module GOVUKDesignSystemFormBuilder
850
850
  # @option caption size [String] the size of the caption, can be +xl+, +l+ or +m+. Defaults to +m+
851
851
  # @option caption kwargs [Hash] additional arguments are applied as attributes on the caption +span+ element
852
852
  # @param omit_day [Boolean] do not render a day input, only capture month and year
853
+ # @param wildcards [Boolean] add an 'X' to the date wildcards so users can add approximate dates
853
854
  # @param form_group [Hash] configures the form group
854
855
  # @option form_group classes [Array,String] sets the form group's classes
855
856
  # @option form_group kwargs [Hash] additional attributes added to the form group
@@ -872,8 +873,8 @@ module GOVUKDesignSystemFormBuilder
872
873
  # @example A date input with legend supplied as a proc
873
874
  # = f.govuk_date_field :finishes_on,
874
875
  # legend: -> { tag.h3('Which category do you belong to?') }
875
- def govuk_date_field(attribute_name, hint: {}, legend: {}, caption: {}, date_of_birth: false, omit_day: false, form_group: {}, &block)
876
- Elements::Date.new(self, object_name, attribute_name, hint: hint, legend: legend, caption: caption, date_of_birth: date_of_birth, omit_day: omit_day, form_group: form_group, &block).html
876
+ def govuk_date_field(attribute_name, hint: {}, legend: {}, caption: {}, date_of_birth: false, omit_day: false, form_group: {}, wildcards: false, &block)
877
+ Elements::Date.new(self, object_name, attribute_name, hint: hint, legend: legend, caption: caption, date_of_birth: date_of_birth, omit_day: omit_day, form_group: form_group, wildcards: wildcards, &block).html
877
878
  end
878
879
 
879
880
  # Generates a summary of errors in the form, each linking to the corresponding
@@ -9,7 +9,7 @@ module GOVUKDesignSystemFormBuilder
9
9
 
10
10
  SEGMENTS = { day: '3i', month: '2i', year: '1i' }.freeze
11
11
 
12
- def initialize(builder, object_name, attribute_name, legend:, caption:, hint:, date_of_birth: false, omit_day:, form_group:, &block)
12
+ def initialize(builder, object_name, attribute_name, legend:, caption:, hint:, date_of_birth: false, omit_day:, form_group:, wildcards:, &block)
13
13
  super(builder, object_name, attribute_name, &block)
14
14
 
15
15
  @legend = legend
@@ -18,6 +18,7 @@ module GOVUKDesignSystemFormBuilder
18
18
  @date_of_birth = date_of_birth
19
19
  @omit_day = omit_day
20
20
  @form_group = form_group
21
+ @wildcards = wildcards
21
22
  end
22
23
 
23
24
  def html
@@ -82,13 +83,19 @@ module GOVUKDesignSystemFormBuilder
82
83
  class: classes(width),
83
84
  name: name(segment),
84
85
  type: 'text',
85
- pattern: '[0-9]*',
86
+ pattern: pattern(segment),
86
87
  inputmode: 'numeric',
87
88
  value: value,
88
89
  autocomplete: date_of_birth_autocomplete_value(segment)
89
90
  )
90
91
  end
91
92
 
93
+ def pattern(segment)
94
+ return '[0-9X]*' if @wildcards && segment.in?(%i(day month))
95
+
96
+ '[0-9]*'
97
+ end
98
+
92
99
  def classes(width)
93
100
  %w(input date-input__input).prefix(brand).tap do |classes|
94
101
  classes.push(%(#{brand}-input--width-#{width}))
@@ -1,3 +1,3 @@
1
1
  module GOVUKDesignSystemFormBuilder
2
- VERSION = '2.1.4'.freeze
2
+ VERSION = '2.1.5'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_design_system_formbuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4
4
+ version: 2.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Yates
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-07 00:00:00.000000000 Z
11
+ date: 2020-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview