cm-admin 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/linters.yml +6 -2
  3. data/.gitignore +1 -1
  4. data/.stylelintrc.json +3 -0
  5. data/Gemfile.lock +18 -17
  6. data/app/assets/javascripts/cm_admin/scaffolds.js +5 -1
  7. data/app/assets/stylesheets/cm_admin/base/auth.scss +113 -0
  8. data/app/assets/stylesheets/cm_admin/base/common.scss +2 -2
  9. data/app/assets/stylesheets/cm_admin/base/form.scss +4 -0
  10. data/app/assets/stylesheets/cm_admin/base/table.scss +2 -1
  11. data/app/assets/stylesheets/cm_admin/cm_admin.css.scss +1 -0
  12. data/app/assets/stylesheets/cm_admin/helpers/_mixins.scss +1 -1
  13. data/app/assets/stylesheets/cm_admin/pages/history_page.scss +49 -0
  14. data/app/controllers/cm_admin/resource_controller.rb +23 -5
  15. data/app/views/cm_admin/main/_nested_fields.html.slim +1 -1
  16. data/app/views/cm_admin/main/_nested_table_form.html.slim +2 -2
  17. data/app/views/cm_admin/main/_tabs.html.slim +5 -1
  18. data/app/views/cm_admin/main/associated_show.html.slim +1 -1
  19. data/app/views/cm_admin/main/history.html.slim +17 -0
  20. data/app/views/cm_admin/main/new.html.slim +2 -5
  21. data/app/views/cm_admin/main/show.html.slim +1 -1
  22. data/app/views/layouts/_left_sidebar_nav.html.slim +15 -19
  23. data/config/routes.rb +9 -1
  24. data/lib/cm_admin/constants.rb +4 -0
  25. data/lib/cm_admin/model.rb +2 -2
  26. data/lib/cm_admin/models/action.rb +2 -1
  27. data/lib/cm_admin/models/dsl_method.rb +11 -15
  28. data/lib/cm_admin/models/section.rb +38 -0
  29. data/lib/cm_admin/version.rb +1 -1
  30. data/lib/cm_admin/view_helpers/form_helper.rb +55 -30
  31. data/lib/cm_admin/view_helpers/page_info_helper.rb +6 -0
  32. data/lib/generators/cm_admin/templates/application_policy.rb +4 -0
  33. data/package-lock.json +61 -61
  34. data/package.json +1 -1
  35. data/yarn.lock +6589 -6425
  36. metadata +6 -5
  37. data/.github/workflows/.stylelintrc.json +0 -3
  38. data/lib/cm_admin/models/cm_show_section.rb +0 -19
  39. data/tmp/cache/webpacker/last-compilation-digest-development +0 -1
@@ -39,6 +39,12 @@ module CmAdmin
39
39
  end
40
40
  end
41
41
 
42
+ def scope_list(scopes=[])
43
+ return unless @current_action
44
+
45
+ @current_action.scopes = scopes
46
+ end
47
+
42
48
  def tab(tab_name, custom_action, associated_model: nil, layout_type: nil, layout: nil, partial: nil, display_if: nil, &block)
43
49
  if custom_action.to_s == ''
44
50
  @current_action = CmAdmin::Models::Action.find_by(self, name: 'show')
@@ -54,24 +60,14 @@ module CmAdmin
54
60
  yield if block
55
61
  end
56
62
 
57
- def cm_show_section(section_name, display_if: nil, &block)
63
+ def cm_section(section_name, display_if: nil, &block)
58
64
  @available_fields[@current_action.name.to_sym] ||= []
59
- @available_fields[@current_action.name.to_sym] << CmAdmin::Models::CmShowSection.new(section_name, display_if, &block)
60
- end
61
-
62
- def form_field(field_name, options={}, arg=nil)
63
- unless @current_action.is_nested_field
64
- @available_fields[@current_action.name.to_sym][:fields] << CmAdmin::Models::FormField.new(field_name, options[:input_type], options)
65
- else
66
- @available_fields[@current_action.name.to_sym][@current_action.nested_table_name] ||= []
67
- @available_fields[@current_action.name.to_sym][@current_action.nested_table_name] << CmAdmin::Models::FormField.new(field_name, options[:input_type], options)
68
- end
65
+ @available_fields[@current_action.name.to_sym] << CmAdmin::Models::Section.new(section_name, @current_action, @model, display_if, &block)
69
66
  end
70
67
 
71
- def nested_form_field(field_name, &block)
72
- @current_action.is_nested_field = true
73
- @current_action.nested_table_name = field_name
74
- yield
68
+ # This method is deprecated. Use cm_section instead.
69
+ def cm_show_section(section_name, display_if: nil, &block)
70
+ cm_section(section_name, display_if: display_if, &block)
75
71
  end
76
72
 
77
73
  def column(field_name, options={})
@@ -0,0 +1,38 @@
1
+ module CmAdmin
2
+ module Models
3
+ class Section
4
+
5
+ attr_accessor :section_name, :section_fields, :display_if, :current_action, :cm_model, :nested_table_fields
6
+
7
+ def initialize(section_name, current_action, cm_model, display_if, &block)
8
+ @section_fields = []
9
+ @nested_table_fields = {}
10
+ @section_name = section_name
11
+ @current_action = current_action
12
+ @cm_model = cm_model
13
+ @display_if = display_if || lambda { |arg| return true }
14
+ instance_eval(&block)
15
+ end
16
+
17
+ def field(field_name, options={})
18
+ @section_fields << CmAdmin::Models::Field.new(field_name, options)
19
+ end
20
+
21
+ def form_field(field_name, options={}, arg=nil)
22
+ if @current_action.is_nested_field
23
+ @nested_table_fields[@current_action.nested_table_name] ||= []
24
+ @nested_table_fields[@current_action.nested_table_name] << CmAdmin::Models::FormField.new(field_name, options[:input_type], options)
25
+ else
26
+ @section_fields << CmAdmin::Models::FormField.new(field_name, options[:input_type], options)
27
+ end
28
+ end
29
+
30
+ def nested_form_field(field_name, &block)
31
+ @current_action.is_nested_field = true
32
+ @current_action.nested_table_name = field_name
33
+ yield
34
+ end
35
+
36
+ end
37
+ end
38
+ end
@@ -1,3 +1,3 @@
1
1
  module CmAdmin
2
- VERSION = '1.0.2'
2
+ VERSION = '1.0.3'
3
3
  end
@@ -28,48 +28,73 @@ module CmAdmin
28
28
  set_form_for_fields(resource, columns, url, method)
29
29
  end
30
30
 
31
- def form_with_mentioned_fields(resource, available_fields, method)
31
+ def form_with_mentioned_fields(resource, sections_array, method)
32
32
  # columns = resource.class.columns.select { |i| available_fields.map(&:field_name).include?(i.name.to_sym) }
33
33
  table_name = resource.model_name.collection
34
34
  # columns.reject! { |i| REJECTABLE.include?(i.name) }
35
35
  url = CmAdmin::Engine.mount_path + "/#{table_name}/#{resource.id}"
36
- set_form_for_fields(resource, available_fields, url, method)
36
+ set_form_with_sections(resource, sections_array, url, method)
37
37
  end
38
38
 
39
- def set_form_for_fields(resource, available_fields_hash, url, method)
40
- form_for(resource, url: url, method: method, html: { class: "cm_#{resource.class.name.downcase}_form" } ) do |f|
39
+ def split_form_into_section(resource, form_obj, sections_array)
40
+ content_tag :div do
41
+ sections_array.each do |section|
42
+ concat create_sections(resource, form_obj, section)
43
+ end
44
+ end
45
+ end
46
+
47
+ def create_sections(resource, form_obj, section)
48
+ content_tag :div, class: 'form-container' do
49
+ concat content_tag(:p, section.section_name, class: 'form-title')
50
+ concat set_form_for_fields(resource, form_obj, section)
51
+ end
52
+ end
53
+
54
+ def set_form_for_fields(resource, form_obj, section)
55
+ content_tag(:div, class: 'form-container__inner') do
56
+ section.section_fields.each do |field|
57
+ next unless field.display_if.call(form_obj.object)
58
+
59
+ if field.input_type.eql?(:hidden)
60
+ concat input_field_for_column(form_obj, field)
61
+ else
62
+ concat(content_tag(:div, class: "input-wrapper #{field.disabled ? 'disabled' : ''}") do
63
+ concat form_obj.label field.label, field.label, class: 'field-label'
64
+ concat tag.br
65
+ concat(content_tag(:div, class: 'datetime-wrapper') do
66
+ concat input_field_for_column(form_obj, field)
67
+ end)
68
+ concat tag.p resource.errors[field.field_name].first if resource.errors[field.field_name].present?
69
+ end)
70
+ end
71
+ end
72
+ concat set_nested_form_fields(form_obj, section)
73
+ end
74
+ end
75
+
76
+ def set_nested_form_fields(form_obj, section)
77
+ content_tag(:div) do
78
+ section.nested_table_fields.keys.each do |key|
79
+ concat(render partial: '/cm_admin/main/nested_table_form', locals: {f: form_obj, table_name: key, section: section})
80
+ end
81
+ end
82
+ end
83
+
84
+ def set_form_with_sections(resource, sections_array, url, method)
85
+ form_for(resource, url: url, method: method, html: { class: "cm_#{resource.class.name.downcase}_form" } ) do |form_obj|
41
86
  if params[:referrer]
42
- concat f.text_field "referrer", class: "normal-input", hidden: true, value: params[:referrer], name: 'referrer'
87
+ concat form_obj.text_field "referrer", class: "normal-input", hidden: true, value: params[:referrer], name: 'referrer'
43
88
  end
44
89
  if params[:polymorphic_name].present?
45
- concat f.text_field params[:polymorphic_name] + '_type', class: "normal-input", hidden: true, value: params[:associated_class].classify
46
- concat f.text_field params[:polymorphic_name] + '_id', class: "normal-input", hidden: true, value: params[:associated_id]
90
+ concat form_obj.text_field params[:polymorphic_name] + '_type', class: "normal-input", hidden: true, value: params[:associated_class].classify
91
+ concat form_obj.text_field params[:polymorphic_name] + '_id', class: "normal-input", hidden: true, value: params[:associated_id]
47
92
  elsif params[:associated_class] && params[:associated_id]
48
- concat f.text_field params[:associated_class] + '_id', class: "normal-input", hidden: true, value: params[:associated_id]
49
- end
50
- available_fields_hash.each do |key, fields_array|
51
- if key == :fields
52
- fields_array.each do |field|
53
- next unless field.display_if.call(f.object)
54
- if field.input_type.eql?(:hidden)
55
- concat input_field_for_column(f, field)
56
- else
57
- concat(content_tag(:div, class: "input-wrapper #{field.disabled ? 'disabled' : ''}") do
58
- concat f.label field.label, field.label, class: "field-label"
59
- concat tag.br
60
- concat(content_tag(:div, class: "datetime-wrapper") do
61
- concat input_field_for_column(f, field)
62
- end)
63
- concat tag.p resource.errors[field.field_name].first if resource.errors[field.field_name].present?
64
- end)
65
- end
66
- end
67
- else
68
- concat(render partial: '/cm_admin/main/nested_table_form', locals: {f: f, table_name: key})
69
- end
93
+ concat form_obj.text_field params[:associated_class] + '_id', class: "normal-input", hidden: true, value: params[:associated_id]
70
94
  end
95
+ concat split_form_into_section(resource, form_obj, sections_array)
71
96
  concat tag.br
72
- concat f.submit 'Save', class: 'cta-btn mt-3 form_submit', data: {form_class: "cm_#{f.object.class.name.downcase}_form"}
97
+ concat form_obj.submit 'Save', class: 'cta-btn mt-3 form_submit', data: {form_class: "cm_#{form_obj.object.class.name.downcase}_form"}
73
98
  end
74
99
  end
75
100
  end
@@ -88,6 +88,12 @@ module CmAdmin
88
88
  def tab_display_name(nav_item_name)
89
89
  nav_item_name.instance_of?(Symbol) ? nav_item_name.to_s.titleize : nav_item_name.to_s
90
90
  end
91
+
92
+ def user_full_name
93
+ return false unless current_user
94
+ return current_user.full_name if defined?(current_user.full_name)
95
+ current_user.email.split('@').first
96
+ end
91
97
  end
92
98
  end
93
99
  end
@@ -36,6 +36,10 @@ class ApplicationPolicy
36
36
  false
37
37
  end
38
38
 
39
+ def history?
40
+ create?
41
+ end
42
+
39
43
  class Scope
40
44
  def initialize(user, scope)
41
45
  @user = user
data/package-lock.json CHANGED
@@ -26,7 +26,7 @@
26
26
  "turbolinks": "^5.2.0"
27
27
  },
28
28
  "devDependencies": {
29
- "stylelint": "^14.14.0",
29
+ "stylelint": "^14.16.1",
30
30
  "stylelint-config-standard-scss": "^5.0.0",
31
31
  "webpack-dev-server": "^4.9.3"
32
32
  }
@@ -5849,9 +5849,9 @@
5849
5849
  "license": "MIT"
5850
5850
  },
5851
5851
  "node_modules/ignore": {
5852
- "version": "5.2.0",
5853
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
5854
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
5852
+ "version": "5.2.4",
5853
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
5854
+ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
5855
5855
  "dev": true,
5856
5856
  "engines": {
5857
5857
  "node": ">= 4"
@@ -6513,9 +6513,9 @@
6513
6513
  }
6514
6514
  },
6515
6515
  "node_modules/known-css-properties": {
6516
- "version": "0.25.0",
6517
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz",
6518
- "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==",
6516
+ "version": "0.26.0",
6517
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
6518
+ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
6519
6519
  "dev": true
6520
6520
  },
6521
6521
  "node_modules/last-call-webpack-plugin": {
@@ -10995,15 +10995,15 @@
10995
10995
  }
10996
10996
  },
10997
10997
  "node_modules/stylelint": {
10998
- "version": "14.14.0",
10999
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.14.0.tgz",
11000
- "integrity": "sha512-yUI+4xXfPHVnueYddSQ/e1GuEA/2wVhWQbGj16AmWLtQJtn28lVxfS4b0CsWyVRPgd3Auzi0NXOthIEUhtQmmA==",
10998
+ "version": "14.16.1",
10999
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
11000
+ "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
11001
11001
  "dev": true,
11002
11002
  "dependencies": {
11003
11003
  "@csstools/selector-specificity": "^2.0.2",
11004
11004
  "balanced-match": "^2.0.0",
11005
11005
  "colord": "^2.9.3",
11006
- "cosmiconfig": "^7.0.1",
11006
+ "cosmiconfig": "^7.1.0",
11007
11007
  "css-functions-list": "^3.1.0",
11008
11008
  "debug": "^4.3.4",
11009
11009
  "fast-glob": "^3.2.12",
@@ -11013,21 +11013,21 @@
11013
11013
  "globby": "^11.1.0",
11014
11014
  "globjoin": "^0.1.4",
11015
11015
  "html-tags": "^3.2.0",
11016
- "ignore": "^5.2.0",
11016
+ "ignore": "^5.2.1",
11017
11017
  "import-lazy": "^4.0.0",
11018
11018
  "imurmurhash": "^0.1.4",
11019
11019
  "is-plain-object": "^5.0.0",
11020
- "known-css-properties": "^0.25.0",
11020
+ "known-css-properties": "^0.26.0",
11021
11021
  "mathml-tag-names": "^2.1.3",
11022
11022
  "meow": "^9.0.0",
11023
11023
  "micromatch": "^4.0.5",
11024
11024
  "normalize-path": "^3.0.0",
11025
11025
  "picocolors": "^1.0.0",
11026
- "postcss": "^8.4.17",
11026
+ "postcss": "^8.4.19",
11027
11027
  "postcss-media-query-parser": "^0.2.3",
11028
11028
  "postcss-resolve-nested-selector": "^0.1.1",
11029
11029
  "postcss-safe-parser": "^6.0.0",
11030
- "postcss-selector-parser": "^6.0.10",
11030
+ "postcss-selector-parser": "^6.0.11",
11031
11031
  "postcss-value-parser": "^4.2.0",
11032
11032
  "resolve-from": "^5.0.0",
11033
11033
  "string-width": "^4.2.3",
@@ -11035,7 +11035,7 @@
11035
11035
  "style-search": "^0.1.0",
11036
11036
  "supports-hyperlinks": "^2.3.0",
11037
11037
  "svg-tags": "^1.0.0",
11038
- "table": "^6.8.0",
11038
+ "table": "^6.8.1",
11039
11039
  "v8-compile-cache": "^2.3.0",
11040
11040
  "write-file-atomic": "^4.0.2"
11041
11041
  },
@@ -11225,9 +11225,9 @@
11225
11225
  }
11226
11226
  },
11227
11227
  "node_modules/stylelint/node_modules/cosmiconfig": {
11228
- "version": "7.0.1",
11229
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
11230
- "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
11228
+ "version": "7.1.0",
11229
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
11230
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
11231
11231
  "dev": true,
11232
11232
  "dependencies": {
11233
11233
  "@types/parse-json": "^4.0.0",
@@ -11365,9 +11365,9 @@
11365
11365
  }
11366
11366
  },
11367
11367
  "node_modules/stylelint/node_modules/postcss": {
11368
- "version": "8.4.18",
11369
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
11370
- "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
11368
+ "version": "8.4.20",
11369
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
11370
+ "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
11371
11371
  "dev": true,
11372
11372
  "funding": [
11373
11373
  {
@@ -11405,9 +11405,9 @@
11405
11405
  }
11406
11406
  },
11407
11407
  "node_modules/stylelint/node_modules/postcss-selector-parser": {
11408
- "version": "6.0.10",
11409
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
11410
- "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
11408
+ "version": "6.0.11",
11409
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
11410
+ "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
11411
11411
  "dev": true,
11412
11412
  "dependencies": {
11413
11413
  "cssesc": "^3.0.0",
@@ -11550,9 +11550,9 @@
11550
11550
  }
11551
11551
  },
11552
11552
  "node_modules/table": {
11553
- "version": "6.8.0",
11554
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
11555
- "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
11553
+ "version": "6.8.1",
11554
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
11555
+ "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
11556
11556
  "dev": true,
11557
11557
  "dependencies": {
11558
11558
  "ajv": "^8.0.1",
@@ -11566,9 +11566,9 @@
11566
11566
  }
11567
11567
  },
11568
11568
  "node_modules/table/node_modules/ajv": {
11569
- "version": "8.11.0",
11570
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
11571
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
11569
+ "version": "8.11.2",
11570
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz",
11571
+ "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==",
11572
11572
  "dev": true,
11573
11573
  "dependencies": {
11574
11574
  "fast-deep-equal": "^3.1.1",
@@ -17636,9 +17636,9 @@
17636
17636
  "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
17637
17637
  },
17638
17638
  "ignore": {
17639
- "version": "5.2.0",
17640
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
17641
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
17639
+ "version": "5.2.4",
17640
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
17641
+ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
17642
17642
  "dev": true
17643
17643
  },
17644
17644
  "import-cwd": {
@@ -18058,9 +18058,9 @@
18058
18058
  "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA=="
18059
18059
  },
18060
18060
  "known-css-properties": {
18061
- "version": "0.25.0",
18062
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz",
18063
- "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==",
18061
+ "version": "0.26.0",
18062
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
18063
+ "integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
18064
18064
  "dev": true
18065
18065
  },
18066
18066
  "last-call-webpack-plugin": {
@@ -21348,15 +21348,15 @@
21348
21348
  }
21349
21349
  },
21350
21350
  "stylelint": {
21351
- "version": "14.14.0",
21352
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.14.0.tgz",
21353
- "integrity": "sha512-yUI+4xXfPHVnueYddSQ/e1GuEA/2wVhWQbGj16AmWLtQJtn28lVxfS4b0CsWyVRPgd3Auzi0NXOthIEUhtQmmA==",
21351
+ "version": "14.16.1",
21352
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
21353
+ "integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
21354
21354
  "dev": true,
21355
21355
  "requires": {
21356
21356
  "@csstools/selector-specificity": "^2.0.2",
21357
21357
  "balanced-match": "^2.0.0",
21358
21358
  "colord": "^2.9.3",
21359
- "cosmiconfig": "^7.0.1",
21359
+ "cosmiconfig": "^7.1.0",
21360
21360
  "css-functions-list": "^3.1.0",
21361
21361
  "debug": "^4.3.4",
21362
21362
  "fast-glob": "^3.2.12",
@@ -21366,21 +21366,21 @@
21366
21366
  "globby": "^11.1.0",
21367
21367
  "globjoin": "^0.1.4",
21368
21368
  "html-tags": "^3.2.0",
21369
- "ignore": "^5.2.0",
21369
+ "ignore": "^5.2.1",
21370
21370
  "import-lazy": "^4.0.0",
21371
21371
  "imurmurhash": "^0.1.4",
21372
21372
  "is-plain-object": "^5.0.0",
21373
- "known-css-properties": "^0.25.0",
21373
+ "known-css-properties": "^0.26.0",
21374
21374
  "mathml-tag-names": "^2.1.3",
21375
21375
  "meow": "^9.0.0",
21376
21376
  "micromatch": "^4.0.5",
21377
21377
  "normalize-path": "^3.0.0",
21378
21378
  "picocolors": "^1.0.0",
21379
- "postcss": "^8.4.17",
21379
+ "postcss": "^8.4.19",
21380
21380
  "postcss-media-query-parser": "^0.2.3",
21381
21381
  "postcss-resolve-nested-selector": "^0.1.1",
21382
21382
  "postcss-safe-parser": "^6.0.0",
21383
- "postcss-selector-parser": "^6.0.10",
21383
+ "postcss-selector-parser": "^6.0.11",
21384
21384
  "postcss-value-parser": "^4.2.0",
21385
21385
  "resolve-from": "^5.0.0",
21386
21386
  "string-width": "^4.2.3",
@@ -21388,7 +21388,7 @@
21388
21388
  "style-search": "^0.1.0",
21389
21389
  "supports-hyperlinks": "^2.3.0",
21390
21390
  "svg-tags": "^1.0.0",
21391
- "table": "^6.8.0",
21391
+ "table": "^6.8.1",
21392
21392
  "v8-compile-cache": "^2.3.0",
21393
21393
  "write-file-atomic": "^4.0.2"
21394
21394
  },
@@ -21422,9 +21422,9 @@
21422
21422
  }
21423
21423
  },
21424
21424
  "cosmiconfig": {
21425
- "version": "7.0.1",
21426
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
21427
- "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
21425
+ "version": "7.1.0",
21426
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
21427
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
21428
21428
  "dev": true,
21429
21429
  "requires": {
21430
21430
  "@types/parse-json": "^4.0.0",
@@ -21523,9 +21523,9 @@
21523
21523
  }
21524
21524
  },
21525
21525
  "postcss": {
21526
- "version": "8.4.18",
21527
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
21528
- "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
21526
+ "version": "8.4.20",
21527
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
21528
+ "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
21529
21529
  "dev": true,
21530
21530
  "requires": {
21531
21531
  "nanoid": "^3.3.4",
@@ -21541,9 +21541,9 @@
21541
21541
  "requires": {}
21542
21542
  },
21543
21543
  "postcss-selector-parser": {
21544
- "version": "6.0.10",
21545
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
21546
- "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
21544
+ "version": "6.0.11",
21545
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
21546
+ "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
21547
21547
  "dev": true,
21548
21548
  "requires": {
21549
21549
  "cssesc": "^3.0.0",
@@ -21744,9 +21744,9 @@
21744
21744
  }
21745
21745
  },
21746
21746
  "table": {
21747
- "version": "6.8.0",
21748
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
21749
- "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
21747
+ "version": "6.8.1",
21748
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
21749
+ "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
21750
21750
  "dev": true,
21751
21751
  "requires": {
21752
21752
  "ajv": "^8.0.1",
@@ -21757,9 +21757,9 @@
21757
21757
  },
21758
21758
  "dependencies": {
21759
21759
  "ajv": {
21760
- "version": "8.11.0",
21761
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
21762
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
21760
+ "version": "8.11.2",
21761
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz",
21762
+ "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==",
21763
21763
  "dev": true,
21764
21764
  "requires": {
21765
21765
  "fast-deep-equal": "^3.1.1",
data/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "version": "0.1.0",
23
23
  "devDependencies": {
24
- "stylelint": "^14.14.0",
24
+ "stylelint": "^14.16.1",
25
25
  "stylelint-config-standard-scss": "^5.0.0",
26
26
  "webpack-dev-server": "^4.9.3"
27
27
  }