katalyst-govuk-formbuilder 1.19.0 → 1.21.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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -2
  3. data/app/assets/builds/katalyst/govuk/formbuilder.css +18 -15
  4. data/app/assets/builds/katalyst/govuk/formbuilder.js +639 -449
  5. data/app/assets/builds/katalyst/govuk/formbuilder.min.js +15 -8
  6. data/app/assets/builds/katalyst/govuk/formbuilder.min.js.map +1 -0
  7. data/config/importmap.rb +1 -2
  8. data/lib/katalyst/govuk/{formbuilder → form_builder}/builder.rb +67 -1
  9. data/lib/katalyst/govuk/form_builder/config.rb +23 -0
  10. data/lib/katalyst/govuk/{formbuilder → form_builder}/containers/fieldset_context.rb +1 -1
  11. data/lib/katalyst/govuk/{formbuilder → form_builder}/elements/combobox.rb +1 -1
  12. data/lib/katalyst/govuk/form_builder/elements/document.rb +68 -0
  13. data/lib/katalyst/govuk/form_builder/elements/image.rb +65 -0
  14. data/lib/katalyst/govuk/{formbuilder → form_builder}/elements/label.rb +1 -1
  15. data/lib/katalyst/govuk/{formbuilder → form_builder}/elements/legend.rb +1 -1
  16. data/lib/katalyst/govuk/{formbuilder → form_builder}/elements/rich_text_area.rb +1 -1
  17. data/lib/katalyst/govuk/{formbuilder → form_builder}/engine.rb +6 -3
  18. data/lib/katalyst/govuk/{formbuilder → form_builder}/extensions.rb +2 -1
  19. data/lib/katalyst/govuk/{formbuilder → form_builder}/frontend.rb +1 -1
  20. data/lib/katalyst/govuk/form_builder/traits/file.rb +104 -0
  21. data/lib/katalyst/govuk/{formbuilder → form_builder}/traits/label.rb +2 -2
  22. data/lib/katalyst/govuk/form_builder.rb +13 -0
  23. data/lib/katalyst/govuk/formbuilder.rb +3 -6
  24. data/lib/katalyst-govuk-formbuilder.rb +3 -0
  25. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +72 -5
  26. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +5 -2
  27. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +31 -2
  28. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss +4 -1
  29. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss +2 -2
  30. data/node_modules/govuk-frontend/dist/govuk/settings/_index.scss +13 -0
  31. metadata +19 -11
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "govuk_design_system_formbuilder"
4
+
5
+ module Katalyst
6
+ module GOVUK
7
+ module FormBuilder
8
+ module Elements
9
+ class Document < GOVUKDesignSystemFormBuilder::Base
10
+ include ActionDispatch::Routing::RouteSet::MountedHelpers
11
+
12
+ include GOVUKDesignSystemFormBuilder::Traits::Error
13
+ include GOVUKDesignSystemFormBuilder::Traits::Hint
14
+ include GOVUKDesignSystemFormBuilder::Traits::Label
15
+ include GOVUKDesignSystemFormBuilder::Traits::Supplemental
16
+ include GOVUKDesignSystemFormBuilder::Traits::HTMLAttributes
17
+ include GOVUKDesignSystemFormBuilder::Traits::HTMLClasses
18
+
19
+ include FormBuilder::Traits::File
20
+
21
+ def initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, mime_types:,
22
+ **kwargs, &)
23
+ super(builder, object_name, attribute_name, &)
24
+
25
+ @mime_types = mime_types
26
+ @label = label
27
+ @caption = caption
28
+ @hint = hint
29
+ @html_attributes = kwargs.merge(file_input_options)
30
+ @form_group = form_group
31
+ end
32
+
33
+ def html
34
+ GOVUKDesignSystemFormBuilder::Containers::FormGroup.new(
35
+ *bound,
36
+ **default_form_group_options(**@form_group),
37
+ ).html do
38
+ safe_join([label_element, preview, hint_element, error_element, file, destroy_element,
39
+ supplemental_content])
40
+ end
41
+ end
42
+
43
+ def preview
44
+ options = {}
45
+ add_option(options, :data, "#{stimulus_controller}_target", "preview")
46
+ add_option(options, :class, "preview-file")
47
+ options[:hidden] = "" unless preview?
48
+
49
+ tag.div(**options) do
50
+ filename = @builder.object.send(@attribute_name).filename.to_s
51
+ tag.p(filename, class: "preview-filename") + destroy_element_trigger
52
+ end
53
+ end
54
+
55
+ private
56
+
57
+ def stimulus_controller
58
+ "govuk-document-field"
59
+ end
60
+
61
+ def form_group_class
62
+ "govuk-document-field"
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Katalyst
4
+ module GOVUK
5
+ module FormBuilder
6
+ module Elements
7
+ class Image < GOVUKDesignSystemFormBuilder::Base
8
+ include ActionDispatch::Routing::RouteSet::MountedHelpers
9
+
10
+ include GOVUKDesignSystemFormBuilder::Traits::Error
11
+ include GOVUKDesignSystemFormBuilder::Traits::Hint
12
+ include GOVUKDesignSystemFormBuilder::Traits::Label
13
+ include GOVUKDesignSystemFormBuilder::Traits::Supplemental
14
+ include GOVUKDesignSystemFormBuilder::Traits::HTMLAttributes
15
+ include GOVUKDesignSystemFormBuilder::Traits::HTMLClasses
16
+
17
+ include FormBuilder::Traits::File
18
+
19
+ def initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, mime_types:,
20
+ **kwargs, &)
21
+ super(builder, object_name, attribute_name, &)
22
+
23
+ @mime_types = mime_types
24
+ @label = label
25
+ @caption = caption
26
+ @hint = hint
27
+ @html_attributes = kwargs.merge(file_input_options)
28
+ @form_group = form_group
29
+ end
30
+
31
+ def html
32
+ GOVUKDesignSystemFormBuilder::Containers::FormGroup.new(
33
+ *bound,
34
+ **default_form_group_options(**@form_group),
35
+ ).html do
36
+ safe_join([label_element, preview, hint_element, error_element, file, destroy_element,
37
+ supplemental_content])
38
+ end
39
+ end
40
+
41
+ def preview
42
+ options = {}
43
+ add_option(options, :data, "#{stimulus_controller}_target", "preview")
44
+ add_option(options, :class, "preview-image")
45
+ options[:hidden] = "" unless preview?
46
+
47
+ tag.div(**options) do
48
+ tag.img(src: preview_url, class: "image-thumbnail") + destroy_element_trigger
49
+ end
50
+ end
51
+
52
+ private
53
+
54
+ def stimulus_controller
55
+ "govuk-image-field"
56
+ end
57
+
58
+ def form_group_class
59
+ "govuk-image-field"
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -4,7 +4,7 @@ require "govuk_design_system_formbuilder"
4
4
 
5
5
  module Katalyst
6
6
  module GOVUK
7
- module Formbuilder
7
+ module FormBuilder
8
8
  module Elements
9
9
  # Extend Elements::Label to add support for human_attribute_name as a fallback
10
10
  module Label
@@ -4,7 +4,7 @@ require "govuk_design_system_formbuilder"
4
4
 
5
5
  module Katalyst
6
6
  module GOVUK
7
- module Formbuilder
7
+ module FormBuilder
8
8
  module Elements
9
9
  # Extend Elements::Legend to add support for human_attribute_name as a fallback
10
10
  module Legend
@@ -4,7 +4,7 @@ require "govuk_design_system_formbuilder"
4
4
 
5
5
  module Katalyst
6
6
  module GOVUK
7
- module Formbuilder
7
+ module FormBuilder
8
8
  module Elements
9
9
  class RichTextArea < GOVUKDesignSystemFormBuilder::Base
10
10
  using GOVUKDesignSystemFormBuilder::PrefixableArray
@@ -6,15 +6,18 @@ require "rails/engine"
6
6
 
7
7
  module Katalyst
8
8
  module GOVUK
9
- module Formbuilder
9
+ module FormBuilder
10
10
  class Engine < ::Rails::Engine
11
11
  ActiveSupport::Inflector.inflections(:en) do |inflect|
12
12
  inflect.acronym "GOVUK"
13
13
  end
14
14
 
15
- config.eager_load_namespaces << Katalyst::GOVUK::Formbuilder
16
15
  config.paths.add("lib", autoload_once: true)
17
16
 
17
+ initializer "katalyst-govuk-formbuilder.autoload", before: :setup_once_autoloader do
18
+ Rails.autoloaders.once.ignore File.expand_path(root.join("lib/katalyst-govuk-formbuilder.rb"))
19
+ end
20
+
18
21
  initializer "katalyst-govuk-formbuilder.assets" do
19
22
  config.after_initialize do |app|
20
23
  if app.config.respond_to?(:assets)
@@ -25,7 +28,7 @@ module Katalyst
25
28
  end
26
29
 
27
30
  initializer "katalyst-govuk-formbuilder.extensions" do
28
- GOVUKDesignSystemFormBuilder::Builder.include(Formbuilder::Extensions)
31
+ GOVUKDesignSystemFormBuilder::Builder.include(FormBuilder::Extensions)
29
32
  end
30
33
 
31
34
  initializer "katalyst-govuk-formbuilder.importmap", before: "importmap" do |app|
@@ -4,11 +4,12 @@ require "govuk_design_system_formbuilder"
4
4
 
5
5
  module Katalyst
6
6
  module GOVUK
7
- module Formbuilder
7
+ module FormBuilder
8
8
  module Extensions
9
9
  extend ActiveSupport::Concern
10
10
 
11
11
  included do
12
+ GOVUKDesignSystemFormBuilder.include(Config)
12
13
  GOVUKDesignSystemFormBuilder::Builder.include(Builder)
13
14
  GOVUKDesignSystemFormBuilder::Elements::Label.include(Elements::Label)
14
15
  GOVUKDesignSystemFormBuilder::Elements::Legend.include(Elements::Legend)
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Katalyst
4
4
  module GOVUK
5
- module Formbuilder
5
+ module FormBuilder
6
6
  module Frontend
7
7
  # rubocop:disable Rails/OutputSafety
8
8
  def govuk_formbuilder_init
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "govuk_design_system_formbuilder"
4
+
5
+ module Katalyst
6
+ module GOVUK
7
+ module FormBuilder
8
+ module Traits
9
+ module File
10
+ extend ActiveSupport::Concern
11
+
12
+ protected
13
+
14
+ def stimulus_controller_actions
15
+ <<~ACTIONS.gsub(/\s+/, " ").freeze
16
+ dragover->#{stimulus_controller}#dragover
17
+ dragenter->#{stimulus_controller}#dragenter
18
+ dragleave->#{stimulus_controller}#dragleave
19
+ drop->#{stimulus_controller}#drop
20
+ ACTIONS
21
+ end
22
+
23
+ def file
24
+ previous_input = @builder.hidden_field(@attribute_name, id: nil, value: value.signed_id) if attached?
25
+ file_input = @builder.file_field(@attribute_name, attributes(@html_attributes))
26
+
27
+ safe_join([previous_input, file_input])
28
+ end
29
+
30
+ def destroy_element
31
+ return if @html_attributes[:optional].blank?
32
+
33
+ @builder.fields_for(:"#{@attribute_name}_attachment") do |form|
34
+ form.hidden_field :_destroy, value: false, data: { "#{stimulus_controller}_target" => "destroy" }
35
+ end
36
+ end
37
+
38
+ def destroy_element_trigger
39
+ return if @html_attributes[:optional].blank?
40
+
41
+ content_tag(:button, "", class: "file-destroy", data: { action: "#{stimulus_controller}#setDestroy" })
42
+ end
43
+
44
+ def preview_url
45
+ preview? ? main_app.polymorphic_path(value, only_path: true) : ""
46
+ end
47
+
48
+ def preview?
49
+ attached?
50
+ end
51
+
52
+ def attached?
53
+ value&.attached? && value.blob.persisted?
54
+ end
55
+
56
+ def value
57
+ @builder.object.send(@attribute_name)
58
+ end
59
+
60
+ def file_input_options
61
+ default_file_input_options = options
62
+
63
+ add_option(default_file_input_options, :accept, @mime_types.join(","))
64
+ add_option(default_file_input_options, :data, :action, "change->#{stimulus_controller}#onUpload")
65
+
66
+ default_file_input_options
67
+ end
68
+
69
+ def options
70
+ {
71
+ id: field_id(link_errors: true),
72
+ class: classes,
73
+ aria: { describedby: combine_references(hint_id, error_id, supplemental_id) },
74
+ }
75
+ end
76
+
77
+ using GOVUKDesignSystemFormBuilder::PrefixableArray
78
+
79
+ def classes
80
+ build_classes(%(file-upload), %(file-upload--error) => has_errors?).prefix(brand)
81
+ end
82
+
83
+ def default_form_group_options(**form_group_options)
84
+ add_option(form_group_options, :class, "govuk-form-group #{form_group_class}")
85
+ add_option(form_group_options, :data, :controller, stimulus_controller)
86
+ add_option(form_group_options, :data, :action, stimulus_controller_actions)
87
+ add_option(form_group_options, :data, :"#{stimulus_controller}_mime_types_value",
88
+ @mime_types.to_json)
89
+
90
+ form_group_options
91
+ end
92
+
93
+ def add_option(options, key, *path)
94
+ if path.length > 1
95
+ add_option(options[key] ||= {}, *path)
96
+ else
97
+ options[key] = [options[key], *path].compact.join(" ")
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
@@ -4,7 +4,7 @@ require "govuk_design_system_formbuilder"
4
4
 
5
5
  module Katalyst
6
6
  module GOVUK
7
- module Formbuilder
7
+ module FormBuilder
8
8
  module Traits
9
9
  # Extend GovukDesignSystemFormBuilder::Traits::Label set the default size to small for non-nested labels.
10
10
  module Label
@@ -14,7 +14,7 @@ module Katalyst
14
14
  private
15
15
 
16
16
  def label_content
17
- default = @builder.fieldset_context.count.positive? ? {} : { size: "s" }
17
+ default = @builder.fieldset_context.any? ? {} : { size: "s" }
18
18
 
19
19
  case @label
20
20
  when Hash
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support"
4
+ require "active_support/rails"
5
+
6
+ module Katalyst
7
+ module GOVUK
8
+ module FormBuilder
9
+ end
10
+ end
11
+ end
12
+
13
+ require "katalyst/govuk/form_builder/engine"
@@ -1,13 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "active_support"
3
+ require "katalyst-govuk-formbuilder"
4
4
 
5
+ # Backwards compatibility for Koi 4
5
6
  module Katalyst
6
7
  module GOVUK
7
- module Formbuilder
8
- extend ActiveSupport::Autoload
9
- end
8
+ Formbuilder = FormBuilder
10
9
  end
11
10
  end
12
-
13
- require "katalyst/govuk/formbuilder/engine"
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "katalyst/govuk/form_builder"
@@ -42,13 +42,22 @@
42
42
  border: 0 solid $govuk-service-navigation-link-colour;
43
43
 
44
44
  @include govuk-media-query($from: tablet) {
45
+ // inline-block is used as a fallback for browsers that don't support flexbox
46
+ display: inline-block;
47
+
45
48
  margin-top: 0;
46
49
  margin-bottom: 0;
47
50
  padding: govuk-spacing(4) 0;
48
51
 
49
52
  @include _govuk-rebrand {
50
53
  padding: govuk-spacing(3) 0;
51
- line-height: 1.5;
54
+
55
+ // More magic numbers ahoy:
56
+ // 29 is the desired height of the element (60), minus top and bottom
57
+ // padding (2×15), minus bottom border (1); 19 is the font-size at this
58
+ // point. This gives us the perfect fractional line height to make the
59
+ // overall component 60px high
60
+ line-height: (29 / 19);
52
61
  }
53
62
 
54
63
  &:not(:last-child) {
@@ -57,6 +66,17 @@
57
66
  }
58
67
  }
59
68
 
69
+ // Remove the top margin of the first nav item if there is a service name but
70
+ // there's no menu button (either because it doesn't exist or it's hidden)
71
+ .govuk-service-navigation__service-name + .govuk-service-navigation__wrapper {
72
+ .govuk-service-navigation__list:first-child,
73
+ .govuk-service-navigation__toggle[hidden] + .govuk-service-navigation__list {
74
+ .govuk-service-navigation__item:first-child {
75
+ margin-top: 0;
76
+ }
77
+ }
78
+ }
79
+
60
80
  .govuk-service-navigation__item--active {
61
81
  @include govuk-media-query($until: tablet) {
62
82
  // Negative offset the left margin so we can place a current page indicator
@@ -102,6 +122,13 @@
102
122
  @include govuk-link-style-text;
103
123
  }
104
124
 
125
+ // Allow navigation section to always take up maximum available space,
126
+ // rather than sizing to fit the content. This makes it easier to right align
127
+ // nav items and use slots.
128
+ .govuk-service-navigation__wrapper {
129
+ flex-grow: 1;
130
+ }
131
+
105
132
  //
106
133
  // Navigation list specific code
107
134
  //
@@ -165,11 +192,10 @@
165
192
  // However... IE11 totally trips over flexbox and doesn't wrap anything,
166
193
  // making all of the items into a single, horizontally scrolling row,
167
194
  // which is no good. This CSS hack removes the flexbox definition for
168
- // IE 10 & 11, reverting it to the flawed, but OK, non-flexbox version.
195
+ // IE 9–11, reverting it to the flawed, but OK, non-flexbox version.
169
196
  //
170
- // CSS hack taken from https://stackoverflow.com/questions/11173106/apply-style-only-on-ie#answer-36448860
171
- // which also includes an explanation of why this works
172
- @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
197
+ // CSS hack from http://browserhacks.com/#hack-a60b03e301a67f76a5a22221c739dc64
198
+ @media screen and (min-width: 0\0) {
173
199
  display: block;
174
200
  }
175
201
  }
@@ -182,6 +208,47 @@
182
208
  .govuk-service-navigation__active-fallback {
183
209
  font-weight: inherit;
184
210
  }
211
+
212
+ // Inverted colour scheme style intended for product pages
213
+ .govuk-service-navigation--inverse {
214
+ @include _govuk-rebrand {
215
+ // Remove bottom border to add width-container ones
216
+ border-bottom: none;
217
+
218
+ // Set colour here so non-link text (service name, slot content) can
219
+ // use it too.
220
+ color: govuk-colour("white");
221
+
222
+ background-color: $govuk-brand-colour;
223
+
224
+ .govuk-width-container {
225
+ border-width: 1px 0;
226
+ border-style: solid;
227
+ border-color: $_govuk-rebrand-border-colour-on-blue-tint-95;
228
+ }
229
+
230
+ // Subtract 1px of space to account for the extra border-top
231
+ .govuk-service-navigation__container {
232
+ margin-top: -1px;
233
+ }
234
+
235
+ // Override the 'active' border colour
236
+ .govuk-service-navigation__item,
237
+ .govuk-service-navigation__service-name {
238
+ border-color: govuk-colour("white");
239
+ }
240
+
241
+ // Override link styles
242
+ .govuk-service-navigation__link {
243
+ @include govuk-link-style-inverse;
244
+ }
245
+
246
+ // Override mobile menu toggle colour when not focused
247
+ .govuk-service-navigation__toggle:not(:focus) {
248
+ color: currentcolor;
249
+ }
250
+ }
251
+ }
185
252
  }
186
253
 
187
254
  /*# sourceMappingURL=_index.scss.map */
@@ -1,11 +1,14 @@
1
1
  :root {
2
2
  // This variable is automatically overwritten during builds and releases.
3
3
  // It doesn't need to be updated manually.
4
- --govuk-frontend-version: "5.10.2";
4
+ --govuk-frontend-version: "5.11.1";
5
5
 
6
6
  // CSS custom property for each breakpoint
7
7
  @each $name, $value in $govuk-breakpoints {
8
- --govuk-frontend-breakpoint-#{$name}: #{govuk-px-to-rem($value)};
8
+ --govuk-breakpoint-#{$name}: #{govuk-px-to-rem($value)};
9
+
10
+ // Deprecated, use `--govuk-breakpoint-[name]` instead
11
+ --govuk-frontend-breakpoint-#{$name}: var(--govuk-breakpoint-#{$name});
9
12
  }
10
13
  }
11
14
 
@@ -121,7 +121,9 @@
121
121
  /// @access public
122
122
 
123
123
  @function govuk-shade($colour, $percentage) {
124
- @return mix(#000000, $colour, $percentage);
124
+ // Ensure the output is a hex string so that Safari <12 can render the colour
125
+ // without issues from float values in `rgb()`
126
+ @return _as-hexadecimal(mix(#000000, $colour, $percentage));
125
127
  }
126
128
 
127
129
  /// Make a colour lighter by mixing it with white
@@ -132,7 +134,34 @@
132
134
  /// @access public
133
135
 
134
136
  @function govuk-tint($colour, $percentage) {
135
- @return mix(govuk-colour("white"), $colour, $percentage);
137
+ // Ensure the output is a hex string so that Safari <12 can render the colour
138
+ // without issues from float values in `rgb()`
139
+ @return _as-hexadecimal(mix(govuk-colour("white"), $colour, $percentage));
140
+ }
141
+
142
+ /// Converts a colour with potential float values for its RGB channels
143
+ /// into hexadecimal notation
144
+ ///
145
+ /// This ensures the colour is rendered properly by Safari < 12
146
+ ///
147
+ /// @param {Colour} $colour - The colour to convert
148
+ /// @return {Colour}
149
+ /// @access private
150
+ @function _as-hexadecimal($colour) {
151
+ @if not function-exists(change-color) {
152
+ @return $colour;
153
+ }
154
+
155
+ // `red`,`green` and `blue` functions are limited to 'legacy' colour spaces
156
+ // ensuring we don't get floating computations on them
157
+ $parts: (
158
+ "red": red($colour),
159
+ "green": green($colour),
160
+ "blue": blue($colour),
161
+ "alpha": alpha($colour)
162
+ );
163
+
164
+ @return change-color($colour, $parts...);
136
165
  }
137
166
 
138
167
  /*# sourceMappingURL=_colour.scss.map */
@@ -77,7 +77,10 @@
77
77
 
78
78
  @mixin govuk-visually-hidden-focusable($important: true) {
79
79
  // IE 11 doesn't support the combined `:not(:active, :focus)` syntax.
80
- &:not(:active):not(:focus) {
80
+ // Also allows for ':focus' companion classes from postcss-pseudo-classes
81
+ // which the plugin unfortunately doesn't handle automatically.
82
+ // stylelint-disable-next-line selector-class-pattern
83
+ &:not(:active):not(:focus):not(.\:focus) {
81
84
  @include _govuk-visually-hide-content($important: $important);
82
85
  }
83
86
  }
@@ -184,12 +184,12 @@ $govuk-link-active-colour: govuk-colour("black") !default;
184
184
  ///
185
185
  /// @type Colour
186
186
  /// @access private
187
- $_govuk-rebrand-template-background-colour: #f4f8fb; // Blue tint 95%
187
+ $_govuk-rebrand-template-background-colour: govuk-tint($govuk-brand-colour, 95%);
188
188
 
189
189
  /// Border colour for areas on a light-blue background
190
190
  ///
191
191
  /// @type Colour
192
192
  /// @access private
193
- $_govuk-rebrand-border-colour-on-blue-tint-95: #8eb8dc; // Blue tint 50%
193
+ $_govuk-rebrand-border-colour-on-blue-tint-95: govuk-tint($govuk-brand-colour, 50%);
194
194
 
195
195
  /*# sourceMappingURL=_colours-applied.scss.map */
@@ -20,4 +20,17 @@
20
20
 
21
21
  @import "links";
22
22
 
23
+ // LibSass evaluates this as a single unquoted string, equivalent to
24
+ // "true == false", whereas Dart Sass evaluates it as "true" == "false".
25
+ // Because a string in Sass is truthy, LibSass will output the warning; Dart
26
+ // Sass will not.
27
+ @if #{true} == #{false} {
28
+ @include _warning(
29
+ "libsass",
30
+ "It looks like you may be using LibSass to compile your Sass. LibSass is " +
31
+ "deprecated and will not be supported by the next major version of " +
32
+ "GOV.UK Frontend. See https://sass-lang.com/libsass/ for more information."
33
+ );
34
+ }
35
+
23
36
  /*# sourceMappingURL=_index.scss.map */
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katalyst-govuk-formbuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.0
4
+ version: 1.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katalyst Interactive
@@ -35,22 +35,29 @@ files:
35
35
  - app/assets/builds/katalyst/govuk/formbuilder.css
36
36
  - app/assets/builds/katalyst/govuk/formbuilder.js
37
37
  - app/assets/builds/katalyst/govuk/formbuilder.min.js
38
+ - app/assets/builds/katalyst/govuk/formbuilder.min.js.map
38
39
  - app/assets/config/katalyst-govuk-formbuilder.js
39
40
  - app/assets/stylesheets/katalyst/govuk/components/combobox/_index.scss
40
41
  - app/assets/stylesheets/katalyst/govuk/components/richtextarea/_index.scss
41
42
  - app/assets/stylesheets/katalyst/govuk/formbuilder.scss
42
43
  - config/importmap.rb
44
+ - lib/katalyst-govuk-formbuilder.rb
45
+ - lib/katalyst/govuk/form_builder.rb
46
+ - lib/katalyst/govuk/form_builder/builder.rb
47
+ - lib/katalyst/govuk/form_builder/config.rb
48
+ - lib/katalyst/govuk/form_builder/containers/fieldset_context.rb
49
+ - lib/katalyst/govuk/form_builder/elements/combobox.rb
50
+ - lib/katalyst/govuk/form_builder/elements/document.rb
51
+ - lib/katalyst/govuk/form_builder/elements/image.rb
52
+ - lib/katalyst/govuk/form_builder/elements/label.rb
53
+ - lib/katalyst/govuk/form_builder/elements/legend.rb
54
+ - lib/katalyst/govuk/form_builder/elements/rich_text_area.rb
55
+ - lib/katalyst/govuk/form_builder/engine.rb
56
+ - lib/katalyst/govuk/form_builder/extensions.rb
57
+ - lib/katalyst/govuk/form_builder/frontend.rb
58
+ - lib/katalyst/govuk/form_builder/traits/file.rb
59
+ - lib/katalyst/govuk/form_builder/traits/label.rb
43
60
  - lib/katalyst/govuk/formbuilder.rb
44
- - lib/katalyst/govuk/formbuilder/builder.rb
45
- - lib/katalyst/govuk/formbuilder/containers/fieldset_context.rb
46
- - lib/katalyst/govuk/formbuilder/elements/combobox.rb
47
- - lib/katalyst/govuk/formbuilder/elements/label.rb
48
- - lib/katalyst/govuk/formbuilder/elements/legend.rb
49
- - lib/katalyst/govuk/formbuilder/elements/rich_text_area.rb
50
- - lib/katalyst/govuk/formbuilder/engine.rb
51
- - lib/katalyst/govuk/formbuilder/extensions.rb
52
- - lib/katalyst/govuk/formbuilder/frontend.rb
53
- - lib/katalyst/govuk/formbuilder/traits/label.rb
54
61
  - node_modules/govuk-frontend/dist/govuk/_base.scss
55
62
  - node_modules/govuk-frontend/dist/govuk/all.scss
56
63
  - node_modules/govuk-frontend/dist/govuk/components/_all.scss
@@ -196,6 +203,7 @@ homepage: https://github.com/katalyst/govuk-formbuilder
196
203
  licenses:
197
204
  - MIT
198
205
  metadata:
206
+ changelog_uri: https://github.com/katalyst/govuk-formbuilder/releases
199
207
  rubygems_mfa_required: 'true'
200
208
  rdoc_options: []
201
209
  require_paths: