nitro_kit 2.0.0.alpha.2 → 2.0.0.alpha.3

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 (124) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -1
  3. data/README.md +23 -4
  4. data/STYLE_GUIDE.md +37 -5
  5. data/app/assets/stylesheets/nitro_kit.css +1714 -1358
  6. data/app/components/nitro_kit/accordion.rb +1 -7
  7. data/app/components/nitro_kit/app_navigation.rb +1 -2
  8. data/app/components/nitro_kit/app_shell.rb +1 -7
  9. data/app/components/nitro_kit/appearance_picker.rb +1 -11
  10. data/app/components/nitro_kit/avatar.rb +6 -1
  11. data/app/components/nitro_kit/avatar_stack.rb +3 -0
  12. data/app/components/nitro_kit/button_group.rb +2 -2
  13. data/app/components/nitro_kit/checkbox.rb +7 -4
  14. data/app/components/nitro_kit/checkbox_group.rb +0 -25
  15. data/app/components/nitro_kit/combobox.rb +3 -16
  16. data/app/components/nitro_kit/command_palette.rb +41 -59
  17. data/app/components/nitro_kit/component.rb +57 -5
  18. data/app/components/nitro_kit/danger_zone.rb +5 -1
  19. data/app/components/nitro_kit/data_section.rb +28 -4
  20. data/app/components/nitro_kit/details_table.rb +19 -8
  21. data/app/components/nitro_kit/dialog.rb +23 -19
  22. data/app/components/nitro_kit/dropdown.rb +1 -6
  23. data/app/components/nitro_kit/dropzone.rb +3 -14
  24. data/app/components/nitro_kit/empty_state.rb +21 -2
  25. data/app/components/nitro_kit/field.rb +35 -11
  26. data/app/components/nitro_kit/form_builder.rb +0 -1
  27. data/app/components/nitro_kit/progressive_image.rb +2 -2
  28. data/app/components/nitro_kit/radio_button.rb +7 -4
  29. data/app/components/nitro_kit/radio_button_group.rb +0 -25
  30. data/app/components/nitro_kit/select.rb +3 -3
  31. data/app/components/nitro_kit/settings_layout.rb +17 -4
  32. data/app/components/nitro_kit/{form_section.rb → settings_section.rb} +18 -11
  33. data/app/components/nitro_kit/sheet.rb +29 -20
  34. data/app/components/nitro_kit/stat_grid.rb +18 -2
  35. data/app/components/nitro_kit/table.rb +22 -3
  36. data/app/components/nitro_kit/tabs.rb +1 -13
  37. data/app/components/nitro_kit/toast.rb +4 -2
  38. data/app/components/nitro_kit/toolbar.rb +2 -0
  39. data/app/components/nitro_kit/tooltip.rb +7 -10
  40. data/app/javascript/controllers/nk/app_shell_controller.js +3 -3
  41. data/app/javascript/controllers/nk/appearance_controller.js +6 -0
  42. data/app/javascript/controllers/nk/combobox_controller.js +51 -1
  43. data/app/javascript/controllers/nk/command_palette_controller.js +21 -11
  44. data/app/javascript/controllers/nk/dialog_controller.js +54 -0
  45. data/app/javascript/controllers/nk/dropdown_controller.js +45 -0
  46. data/app/javascript/controllers/nk/dropzone_controller.js +2 -2
  47. data/app/javascript/controllers/nk/progressive_image_controller.js +11 -7
  48. data/app/javascript/controllers/nk/tabs_controller.js +8 -1
  49. data/app/javascript/controllers/nk/tooltip_controller.js +9 -0
  50. data/config/locales/en.yml +4 -1
  51. data/docs/agent_guide.md +31 -16
  52. data/docs/agent_native_spec.md +27 -10
  53. data/docs/browser_support.md +193 -0
  54. data/docs/component_contracts.md +88 -82
  55. data/docs/customization.md +27 -15
  56. data/docs/hotwire.md +15 -3
  57. data/docs/initialization_prompt.md +31 -6
  58. data/docs/migration_1_to_2.md +61 -19
  59. data/docs/patterns/application_foundation.md +6 -4
  60. data/docs/patterns/crud_resource.md +6 -3
  61. data/docs/patterns/destructive_action.md +25 -0
  62. data/docs/patterns/resource_form.md +1 -1
  63. data/docs/rails_conventions.md +4 -1
  64. data/docs/rails_integration.md +39 -11
  65. data/lib/generators/nitro_kit/upgrade_smoke_tests_generator.rb +12 -0
  66. data/lib/nitro_kit/installation.rb +9 -4
  67. data/lib/nitro_kit/migration_inventory.rb +268 -8
  68. data/lib/nitro_kit/upgrade_smoke_test.rb +10 -12
  69. data/lib/nitro_kit/version.rb +1 -1
  70. data/lib/rails/commands/nitro_kit/nitro_kit_command.rb +10 -3
  71. data/plugins/nitro-kit/skills/nitro-kit-hotwire/SKILL.md +4 -0
  72. data/plugins/nitro-kit/skills/nitro-kit-rails/SKILL.md +6 -1
  73. data/plugins/nitro-kit/skills/nitro-kit-ui/SKILL.md +18 -8
  74. data/src/stylesheets/nitro_kit/components/accordion.css +40 -40
  75. data/src/stylesheets/nitro_kit/components/alert.css +9 -9
  76. data/src/stylesheets/nitro_kit/components/app_navigation.css +19 -19
  77. data/src/stylesheets/nitro_kit/components/app_shell.css +196 -193
  78. data/src/stylesheets/nitro_kit/components/appearance_picker.css +41 -31
  79. data/src/stylesheets/nitro_kit/components/avatar.css +3 -3
  80. data/src/stylesheets/nitro_kit/components/avatar_stack.css +36 -19
  81. data/src/stylesheets/nitro_kit/components/button.css +83 -58
  82. data/src/stylesheets/nitro_kit/components/button_group.css +19 -14
  83. data/src/stylesheets/nitro_kit/components/card.css +11 -5
  84. data/src/stylesheets/nitro_kit/components/checkbox.css +40 -36
  85. data/src/stylesheets/nitro_kit/components/checkbox_group.css +13 -13
  86. data/src/stylesheets/nitro_kit/components/combobox.css +33 -23
  87. data/src/stylesheets/nitro_kit/components/command_palette.css +48 -47
  88. data/src/stylesheets/nitro_kit/components/control_group.css +52 -58
  89. data/src/stylesheets/nitro_kit/components/danger_zone.css +3 -3
  90. data/src/stylesheets/nitro_kit/components/data_section.css +1 -1
  91. data/src/stylesheets/nitro_kit/components/details_table.css +13 -13
  92. data/src/stylesheets/nitro_kit/components/dialog.css +6 -3
  93. data/src/stylesheets/nitro_kit/components/dropdown.css +29 -23
  94. data/src/stylesheets/nitro_kit/components/dropzone.css +71 -28
  95. data/src/stylesheets/nitro_kit/components/empty_state.css +6 -6
  96. data/src/stylesheets/nitro_kit/components/field.css +30 -26
  97. data/src/stylesheets/nitro_kit/components/field_group.css +13 -0
  98. data/src/stylesheets/nitro_kit/components/fieldset.css +6 -0
  99. data/src/stylesheets/nitro_kit/components/input.css +9 -2
  100. data/src/stylesheets/nitro_kit/components/layout.css +165 -165
  101. data/src/stylesheets/nitro_kit/components/page_header.css +3 -3
  102. data/src/stylesheets/nitro_kit/components/pagination.css +55 -46
  103. data/src/stylesheets/nitro_kit/components/pagination_bar.css +7 -7
  104. data/src/stylesheets/nitro_kit/components/palette.css +20 -20
  105. data/src/stylesheets/nitro_kit/components/progressive_image.css +44 -54
  106. data/src/stylesheets/nitro_kit/components/radio_button.css +36 -29
  107. data/src/stylesheets/nitro_kit/components/radio_button_group.css +43 -43
  108. data/src/stylesheets/nitro_kit/components/rich_text_area.css +15 -0
  109. data/src/stylesheets/nitro_kit/components/select.css +2 -9
  110. data/src/stylesheets/nitro_kit/components/settings_layout.css +21 -18
  111. data/src/stylesheets/nitro_kit/components/settings_section.css +84 -0
  112. data/src/stylesheets/nitro_kit/components/sheet.css +23 -3
  113. data/src/stylesheets/nitro_kit/components/stat_grid.css +10 -9
  114. data/src/stylesheets/nitro_kit/components/switch.css +37 -33
  115. data/src/stylesheets/nitro_kit/components/table.css +35 -31
  116. data/src/stylesheets/nitro_kit/components/tabs.css +43 -39
  117. data/src/stylesheets/nitro_kit/components/toast.css +20 -9
  118. data/src/stylesheets/nitro_kit/components/toolbar.css +14 -39
  119. data/src/stylesheets/nitro_kit/components/tooltip.css +34 -29
  120. data/src/stylesheets/nitro_kit/components/typeset.css +147 -1
  121. data/src/stylesheets/nitro_kit/reset.css +9 -9
  122. data/src/stylesheets/nitro_kit/tokens.css +8 -9
  123. metadata +4 -3
  124. data/src/stylesheets/nitro_kit/components/form_section.css +0 -71
@@ -1,4 +1,126 @@
1
1
  @layer nitro-kit.base {
2
+ /*
3
+ * Reduced fallback for engines without @scope. Every selector is anchored
4
+ * explicitly at the Typeset root; only direct, non-Nitro/non-opted-out
5
+ * content is supported, so nested boundaries cannot inherit these rules.
6
+ */
7
+ :where([data-nk="typeset"]) {
8
+ font-family: var(--nk-typeset-font-body);
9
+ font-size: var(--nk-typeset-size);
10
+ line-height: var(--nk-typeset-leading);
11
+ color: var(--nk-color-foreground);
12
+ overflow-wrap: break-word;
13
+ }
14
+
15
+ :where([data-nk="typeset"])
16
+ > :where(p, ul, ol, dl, blockquote, pre, figure, table, details, hr):not(
17
+ [data-nk],
18
+ [data-typeset="off"]
19
+ ) {
20
+ margin-block: var(--nk-typeset-flow) 0;
21
+ }
22
+
23
+ :where([data-nk="typeset"])
24
+ > :where(h1, h2, h3, h4, h5, h6):not([data-nk], [data-typeset="off"]) {
25
+ margin-block: calc(var(--nk-typeset-flow) * 1.4) 0;
26
+ font-family: var(--nk-typeset-font-heading);
27
+ font-weight: var(--nk-font-weight-bold);
28
+ line-height: var(--nk-leading-tight);
29
+ text-wrap: balance;
30
+ }
31
+
32
+ :where([data-nk="typeset"]) > h1:not([data-nk], [data-typeset="off"]) {
33
+ font-size: 2em;
34
+ }
35
+ :where([data-nk="typeset"]) > h2:not([data-nk], [data-typeset="off"]) {
36
+ font-size: 1.5em;
37
+ }
38
+ :where([data-nk="typeset"]) > h3:not([data-nk], [data-typeset="off"]) {
39
+ font-size: 1.25em;
40
+ }
41
+ :where([data-nk="typeset"]) > h4:not([data-nk], [data-typeset="off"]) {
42
+ font-size: 1.125em;
43
+ }
44
+ :where([data-nk="typeset"])
45
+ > :where(h5, h6):not([data-nk], [data-typeset="off"]) {
46
+ font-size: 1em;
47
+ }
48
+ :where([data-nk="typeset"]) > :where(a:not([data-nk], [data-typeset="off"])),
49
+ :where([data-nk="typeset"])
50
+ > :where(
51
+ p,
52
+ h1,
53
+ h2,
54
+ h3,
55
+ h4,
56
+ h5,
57
+ h6,
58
+ ul,
59
+ ol,
60
+ dl,
61
+ blockquote,
62
+ figure,
63
+ details
64
+ ):not([data-nk], [data-typeset="off"])
65
+ :where(a) {
66
+ color: inherit;
67
+ font-weight: var(--nk-font-weight-medium);
68
+ text-decoration-line: underline;
69
+ text-decoration-color: color-mix(in oklab, currentColor 35%, transparent);
70
+ text-decoration-thickness: from-font;
71
+ text-underline-offset: 0.15em;
72
+ }
73
+
74
+ :where([data-nk="typeset"])
75
+ > :where(ul, ol):not([data-nk], [data-typeset="off"]) {
76
+ padding-inline-start: 1.5em;
77
+ }
78
+ :where([data-nk="typeset"]) > ul:not([data-nk], [data-typeset="off"]) {
79
+ list-style-type: disc;
80
+ }
81
+ :where([data-nk="typeset"]) > ol:not([data-nk], [data-typeset="off"]) {
82
+ list-style-type: decimal;
83
+ }
84
+ :where([data-nk="typeset"]) > pre:not([data-nk], [data-typeset="off"]) {
85
+ overflow-x: auto;
86
+ padding: calc(var(--nk-space) * 4);
87
+ color: var(--nk-color-foreground);
88
+ font-family: var(--nk-typeset-font-mono);
89
+ font-size: 0.875em;
90
+ line-height: var(--nk-leading-relaxed);
91
+ background: var(--nk-color-muted);
92
+ border-radius: var(--nk-radius-md);
93
+ }
94
+ :where([data-nk="typeset"])
95
+ > pre:not([data-nk], [data-typeset="off"])
96
+ > code {
97
+ font: inherit;
98
+ }
99
+ :where([data-nk="typeset"])
100
+ > :not(pre, [data-nk], [data-typeset="off"])
101
+ > code {
102
+ padding: 0.15em 0.35em;
103
+ font-family: var(--nk-typeset-font-mono);
104
+ font-size: 0.875em;
105
+ background: var(--nk-color-muted);
106
+ border-radius: var(--nk-radius-sm);
107
+ }
108
+ :where([data-nk="typeset"]) > table:not([data-nk], [data-typeset="off"]) {
109
+ width: 100%;
110
+ border-collapse: collapse;
111
+ font-size: 0.925em;
112
+ }
113
+ :where([data-nk="typeset"])
114
+ > table:not([data-nk], [data-typeset="off"])
115
+ > :where(thead, tbody, tfoot)
116
+ > tr
117
+ > :where(th, td) {
118
+ padding: calc(var(--nk-space) * 2) calc(var(--nk-space) * 3);
119
+ text-align: start;
120
+ vertical-align: top;
121
+ border-block-end: var(--nk-border-width) solid var(--nk-color-border);
122
+ }
123
+
2
124
  @scope ([data-nk="typeset"]) to (
3
125
  [data-nk]:not([data-nk="typeset"]),
4
126
  [data-typeset="off"]
@@ -18,7 +140,7 @@
18
140
  :where(h1, h2, h3, h4, h5, h6) {
19
141
  margin-block: calc(var(--nk-typeset-flow) * 1.4) 0;
20
142
  font-family: var(--nk-typeset-font-heading);
21
- font-weight: var(--nk-font-weight-semibold);
143
+ font-weight: var(--nk-font-weight-bold);
22
144
  line-height: var(--nk-leading-tight);
23
145
  text-wrap: balance;
24
146
  }
@@ -172,6 +294,30 @@
172
294
  }
173
295
 
174
296
  @layer nitro-kit.state {
297
+ :where([data-nk="typeset"])
298
+ > :where(a:not([data-nk], [data-typeset="off"])):focus-visible,
299
+ :where([data-nk="typeset"])
300
+ > :where(
301
+ p,
302
+ h1,
303
+ h2,
304
+ h3,
305
+ h4,
306
+ h5,
307
+ h6,
308
+ ul,
309
+ ol,
310
+ dl,
311
+ blockquote,
312
+ figure,
313
+ details
314
+ ):not([data-nk], [data-typeset="off"])
315
+ :where(a):focus-visible {
316
+ outline: var(--nk-focus-width) solid var(--nk-color-focus);
317
+ outline-offset: var(--nk-focus-offset);
318
+ border-radius: var(--nk-radius-xs);
319
+ }
320
+
175
321
  @scope ([data-nk="typeset"]) to (
176
322
  [data-nk]:not([data-nk="typeset"]),
177
323
  [data-typeset="off"]
@@ -97,10 +97,10 @@
97
97
  }
98
98
 
99
99
  :where(
100
- button,
101
- input:is([type="button"], [type="reset"], [type="submit"]),
102
- label[for]
103
- ),
100
+ button,
101
+ input:is([type="button"], [type="reset"], [type="submit"]),
102
+ label[for]
103
+ ),
104
104
  ::file-selector-button {
105
105
  cursor: pointer;
106
106
  }
@@ -144,11 +144,11 @@
144
144
  /* Only Nitro-owned lists lose their markers. Prose lists keep real markers,
145
145
  and `typeset` restores its own in the `nitro-kit.base` layer. */
146
146
  :where(
147
- ol[data-nk],
148
- ul[data-nk],
149
- menu[data-nk],
150
- [data-nk] :is(ol, ul, menu)[data-slot]
151
- ) {
147
+ ol[data-nk],
148
+ ul[data-nk],
149
+ menu[data-nk],
150
+ [data-nk] :is(ol, ul, menu)[data-slot]
151
+ ) {
152
152
  list-style: none;
153
153
  }
154
154
 
@@ -1,11 +1,9 @@
1
1
  @layer nitro-kit.tokens {
2
2
  :where(:root) {
3
- --nk-font-sans:
4
- ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
3
+ --nk-font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
5
4
  "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
6
- --nk-font-mono:
7
- ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
8
- "Courier New", monospace;
5
+ --nk-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
6
+ "Liberation Mono", "Courier New", monospace;
9
7
 
10
8
  --nk-text-xs: 0.75rem;
11
9
  --nk-text-sm: 0.875rem;
@@ -38,16 +36,17 @@
38
36
  --nk-radius-lg: 0.5rem;
39
37
  --nk-radius-xl: 0.75rem;
40
38
  --nk-radius-full: 9999px;
39
+ --nk-button-radius: initial;
41
40
 
42
41
  --nk-border-width: 1px;
43
42
  --nk-focus-width: 2px;
44
43
  --nk-focus-offset: 2px;
45
44
 
46
45
  --nk-shadow-sm: 0 1px 2px oklch(0 0 0 / 0.08);
47
- --nk-shadow-md:
48
- 0 4px 6px -1px oklch(0 0 0 / 0.1), 0 2px 4px -2px oklch(0 0 0 / 0.1);
49
- --nk-shadow-lg:
50
- 0 10px 15px -3px oklch(0 0 0 / 0.12), 0 4px 6px -4px oklch(0 0 0 / 0.12);
46
+ --nk-shadow-md: 0 4px 6px -1px oklch(0 0 0 / 0.1),
47
+ 0 2px 4px -2px oklch(0 0 0 / 0.1);
48
+ --nk-shadow-lg: 0 10px 15px -3px oklch(0 0 0 / 0.12),
49
+ 0 4px 6px -4px oklch(0 0 0 / 0.12);
51
50
 
52
51
  --nk-duration-fast: 100ms;
53
52
  --nk-duration-normal: 150ms;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nitro_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.alpha.2
4
+ version: 2.0.0.alpha.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikkel Malmberg
@@ -128,7 +128,6 @@ files:
128
128
  - app/components/nitro_kit/fieldset.rb
129
129
  - app/components/nitro_kit/flex.rb
130
130
  - app/components/nitro_kit/form_builder.rb
131
- - app/components/nitro_kit/form_section.rb
132
131
  - app/components/nitro_kit/grid.rb
133
132
  - app/components/nitro_kit/icon.rb
134
133
  - app/components/nitro_kit/input.rb
@@ -144,6 +143,7 @@ files:
144
143
  - app/components/nitro_kit/rich_text_area.rb
145
144
  - app/components/nitro_kit/select.rb
146
145
  - app/components/nitro_kit/settings_layout.rb
146
+ - app/components/nitro_kit/settings_section.rb
147
147
  - app/components/nitro_kit/sheet.rb
148
148
  - app/components/nitro_kit/stat_grid.rb
149
149
  - app/components/nitro_kit/switch.rb
@@ -176,6 +176,7 @@ files:
176
176
  - config/locales/en.yml
177
177
  - docs/agent_guide.md
178
178
  - docs/agent_native_spec.md
179
+ - docs/browser_support.md
179
180
  - docs/component_contracts.md
180
181
  - docs/customization.md
181
182
  - docs/hotwire.md
@@ -238,7 +239,6 @@ files:
238
239
  - src/stylesheets/nitro_kit/components/field_group.css
239
240
  - src/stylesheets/nitro_kit/components/fieldset.css
240
241
  - src/stylesheets/nitro_kit/components/flex.css
241
- - src/stylesheets/nitro_kit/components/form_section.css
242
242
  - src/stylesheets/nitro_kit/components/grid.css
243
243
  - src/stylesheets/nitro_kit/components/icon.css
244
244
  - src/stylesheets/nitro_kit/components/input.css
@@ -254,6 +254,7 @@ files:
254
254
  - src/stylesheets/nitro_kit/components/rich_text_area.css
255
255
  - src/stylesheets/nitro_kit/components/select.css
256
256
  - src/stylesheets/nitro_kit/components/settings_layout.css
257
+ - src/stylesheets/nitro_kit/components/settings_section.css
257
258
  - src/stylesheets/nitro_kit/components/sheet.css
258
259
  - src/stylesheets/nitro_kit/components/stat_grid.css
259
260
  - src/stylesheets/nitro_kit/components/switch.css
@@ -1,71 +0,0 @@
1
- @layer nitro-kit.base {
2
- :where([data-nk="form-section"]) {
3
- display: grid;
4
- grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
5
- column-gap: calc(var(--nk-space) * 8);
6
- row-gap: calc(var(--nk-space) * 5);
7
- align-items: start;
8
- min-width: 0;
9
- color: var(--nk-color-foreground);
10
- }
11
-
12
- :where([data-nk="form-section"] > [data-slot="form-section-header"]) {
13
- display: grid;
14
- gap: calc(var(--nk-space) * 2);
15
- }
16
-
17
- :where([data-nk="form-section"] [data-slot="form-section-title"]) {
18
- font-size: var(--nk-text-xl);
19
- font-weight: var(--nk-font-weight-semibold);
20
- line-height: var(--nk-leading-tight);
21
- text-wrap: balance;
22
- }
23
-
24
- :where([data-nk="form-section"] [data-slot="form-section-description"]) {
25
- max-width: var(--nk-content-lg);
26
- color: var(--nk-color-muted-foreground);
27
- font-size: var(--nk-text-sm);
28
- line-height: var(--nk-leading-relaxed);
29
- text-wrap: pretty;
30
- }
31
-
32
- :where([data-nk="form-section"] > [data-slot="form-section-form"]) {
33
- display: grid;
34
- grid-column: 2;
35
- gap: calc(var(--nk-space) * 4);
36
- width: 100%;
37
- max-width: var(--nk-content-lg);
38
- }
39
-
40
- :where([data-nk="form-section"] > [data-slot="form-section-status"]) {
41
- grid-column: 2;
42
- width: 100%;
43
- max-width: var(--nk-content-lg);
44
- }
45
-
46
- :where([data-nk="form-section"] > [data-slot="form-section-form"] > form) {
47
- display: grid;
48
- gap: calc(var(--nk-space) * 5);
49
- }
50
-
51
- :where([data-nk="form-section"] + [data-nk="form-section"]) {
52
- padding-block-start: calc(var(--nk-space) * 8);
53
- border-block-start: var(--nk-border-width) solid var(--nk-color-border);
54
- }
55
- }
56
-
57
- @layer nitro-kit.state {
58
- @media (max-width: 48rem) {
59
- :where([data-nk="form-section"]) {
60
- grid-template-columns: minmax(0, 1fr);
61
- row-gap: calc(var(--nk-space) * 4);
62
- }
63
-
64
- :where(
65
- [data-nk="form-section"] > [data-slot="form-section-status"],
66
- [data-nk="form-section"] > [data-slot="form-section-form"]
67
- ) {
68
- grid-column: 1;
69
- }
70
- }
71
- }