@tacc/core-styles 2.13.0 → 2.15.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 (257) hide show
  1. package/README.md +7 -0
  2. package/dist/branding_logos.css +1 -1
  3. package/dist/components/README.css +1 -1
  4. package/dist/components/admonition/demo.css +1 -1
  5. package/dist/components/admonition.css +1 -1
  6. package/dist/components/align/demo.css +1 -1
  7. package/dist/components/align.css +1 -1
  8. package/dist/components/bootstrap/bootstrap--form.demo.css +1 -1
  9. package/dist/components/bootstrap/bootstrap--modal.demo.css +1 -1
  10. package/dist/components/bootstrap/demo.css +1 -1
  11. package/dist/components/bootstrap.col.css +1 -1
  12. package/dist/components/bootstrap.container.css +1 -1
  13. package/dist/components/bootstrap.css +1 -1
  14. package/dist/components/bootstrap.figure.css +1 -1
  15. package/dist/components/bootstrap.form.css +1 -1
  16. package/dist/components/bootstrap.modal--cms.css +1 -1
  17. package/dist/components/bootstrap.modal--portal.css +1 -1
  18. package/dist/components/bootstrap.modal.css +1 -1
  19. package/dist/components/bootstrap.nav-tabs.css +1 -1
  20. package/dist/components/bootstrap.pagination.css +1 -1
  21. package/dist/components/bootstrap.row.css +1 -1
  22. package/dist/components/c-button/demo.css +1 -1
  23. package/dist/components/c-button.css +1 -1
  24. package/dist/components/c-button.selectors.css +1 -1
  25. package/dist/components/c-callout.css +1 -1
  26. package/dist/components/c-card/c-card--frontera.demo.css +1 -1
  27. package/dist/components/c-card/c-card.demo.css +1 -1
  28. package/dist/components/c-card--docs.css +1 -1
  29. package/dist/components/c-card--from-tup-cms.css +1 -1
  30. package/dist/components/c-card--frontera-about-page.css +1 -1
  31. package/dist/components/c-card.css +1 -1
  32. package/dist/components/c-card.selectors.css +1 -1
  33. package/dist/components/c-data-list.css +1 -1
  34. package/dist/components/c-footer.css +1 -1
  35. package/dist/components/c-form--cms.css +1 -1
  36. package/dist/components/c-form--portal.css +1 -1
  37. package/dist/components/c-form.css +1 -1
  38. package/dist/components/c-form.selectors.css +1 -0
  39. package/dist/components/c-image-map.css +1 -1
  40. package/dist/components/c-image-map.skin.css +1 -1
  41. package/dist/components/c-image-map.structure.css +1 -1
  42. package/dist/components/c-island/demo.css +1 -1
  43. package/dist/components/c-island.css +1 -1
  44. package/dist/components/c-message/demo.css +1 -1
  45. package/dist/components/c-message--compact.css +1 -1
  46. package/dist/components/c-message--expanded.css +1 -1
  47. package/dist/components/c-message.css +1 -1
  48. package/dist/components/c-message.selectors.css +1 -1
  49. package/dist/components/c-nav/demo.css +1 -1
  50. package/dist/components/c-nav.css +1 -1
  51. package/dist/components/c-page.css +1 -1
  52. package/dist/components/c-recognition.css +1 -1
  53. package/dist/components/c-see-all-link.css +1 -1
  54. package/dist/components/c-show-more.css +1 -1
  55. package/dist/components/c-tag/demo.css +1 -1
  56. package/dist/components/c-tag.css +1 -1
  57. package/dist/components/c-tag.selectors.css +1 -1
  58. package/dist/components/cortal.icon.css +1 -1
  59. package/dist/components/cortal.icon.font.css +1 -1
  60. package/dist/components/demo.css +1 -1
  61. package/dist/components/django-cms-forms.css +1 -1
  62. package/dist/components/django-cms-forms.hacks.css +1 -1
  63. package/dist/components/django-cms-forms.selectors.css +1 -0
  64. package/dist/components/mui.tabs.css +1 -1
  65. package/dist/components/pymdownx--tabbed.css +1 -1
  66. package/dist/components/pymdownx.css +1 -1
  67. package/dist/components/tacc-docs.css +1 -1
  68. package/dist/core-styles.base.css +2 -2
  69. package/dist/core-styles.cms.css +2 -2
  70. package/dist/core-styles.demo.css +1 -1
  71. package/dist/core-styles.docs.css +2 -2
  72. package/dist/core-styles.header.css +1 -1
  73. package/dist/core-styles.portal.css +2 -2
  74. package/dist/core-styles.settings.css +1 -1
  75. package/dist/core-styles.theme.default.css +1 -1
  76. package/dist/core-styles.theme.has-dark-logo.css +1 -1
  77. package/dist/core-styles.wysiwyg.css +1 -1
  78. package/dist/elements/README.css +1 -1
  79. package/dist/elements/bootstrap.css +1 -1
  80. package/dist/elements/demo.css +1 -1
  81. package/dist/elements/form.css +1 -0
  82. package/dist/elements/headings/demo.css +1 -1
  83. package/dist/elements/headings--cms.css +1 -1
  84. package/dist/elements/headings--docs.css +1 -1
  85. package/dist/elements/html-elements/demo.css +1 -1
  86. package/dist/elements/html-elements.cms.css +1 -1
  87. package/dist/elements/html-elements.css +1 -1
  88. package/dist/elements/html-elements.docs.css +1 -1
  89. package/dist/elements/links.css +1 -1
  90. package/dist/elements/monospace.css +1 -1
  91. package/dist/elements/root--cms.css +1 -1
  92. package/dist/elements/root--demo.css +1 -1
  93. package/dist/elements/root--docs.css +1 -1
  94. package/dist/elements/root--portal.css +1 -1
  95. package/dist/elements/root.css +1 -1
  96. package/dist/elements/sticky-footer.css +1 -1
  97. package/dist/elements/table--basic.css +1 -1
  98. package/dist/elements/table--nested.css +1 -1
  99. package/dist/elements/table.cms.css +1 -1
  100. package/dist/elements/table.css +1 -1
  101. package/dist/elements/table.docs.css +1 -1
  102. package/dist/elements/table.selectors.css +1 -1
  103. package/dist/elements/tacc-search-bar.css +1 -1
  104. package/dist/fractal.server.refresh.css +1 -1
  105. package/dist/generics/README.css +1 -1
  106. package/dist/generics/fonts.css +1 -1
  107. package/dist/generics/pseudo-elements.css +1 -1
  108. package/dist/objects/README.css +1 -1
  109. package/dist/objects/o-fixed-header-table/demo.css +1 -1
  110. package/dist/objects/o-fixed-header-table.css +1 -1
  111. package/dist/objects/o-flex-item-table-wrap/demo.css +1 -1
  112. package/dist/objects/o-flex-item-table-wrap.css +1 -1
  113. package/dist/objects/o-float-content.css +1 -1
  114. package/dist/objects/o-grid.css +1 -1
  115. package/dist/objects/o-offset-content.css +1 -1
  116. package/dist/objects/o-section/demo.css +1 -1
  117. package/dist/objects/o-section--docs.css +1 -1
  118. package/dist/objects/o-section.css +1 -1
  119. package/dist/objects/o-section.selectors.css +1 -1
  120. package/dist/objects/o-site.css +1 -1
  121. package/dist/objects/o-table-wrap/demo.basic.css +1 -1
  122. package/dist/objects/o-table-wrap/demo.extra.css +1 -1
  123. package/dist/objects/o-table-wrap/example.flexible-horz.css +1 -1
  124. package/dist/objects/o-table-wrap/example.overflow-hidden.css +1 -1
  125. package/dist/objects/o-table-wrap/example.overflow-scroll.css +1 -1
  126. package/dist/objects/o-table-wrap/o-table-wrap--flexible-horz.css +1 -1
  127. package/dist/objects/o-table-wrap/o-table-wrap--flexible-vert.css +1 -1
  128. package/dist/objects/o-table-wrap/o-table-wrap--overflow-hidden.css +1 -1
  129. package/dist/objects/o-table-wrap/o-table-wrap--overflow-scroll-extra.css +1 -1
  130. package/dist/objects/o-table-wrap/o-table-wrap--overflow-scroll.css +1 -1
  131. package/dist/objects/o-table-wrap.css +1 -1
  132. package/dist/settings/README.css +1 -1
  133. package/dist/settings/border.css +1 -1
  134. package/dist/settings/color/demo.css +1 -1
  135. package/dist/settings/color--cms.css +1 -1
  136. package/dist/settings/color--demo.css +1 -1
  137. package/dist/settings/color--docs.css +1 -1
  138. package/dist/settings/color--portal.css +1 -1
  139. package/dist/settings/color.accent--blue.css +1 -1
  140. package/dist/settings/color.accent--purple.css +1 -1
  141. package/dist/settings/color.css +1 -1
  142. package/dist/settings/demo.css +1 -1
  143. package/dist/settings/font/demo-family.css +1 -1
  144. package/dist/settings/font/demo-size.css +1 -1
  145. package/dist/settings/font/demo-style.css +1 -1
  146. package/dist/settings/font/demo-weight.css +1 -1
  147. package/dist/settings/font--cms.css +1 -1
  148. package/dist/settings/font--docs.css +1 -1
  149. package/dist/settings/font--portal.css +1 -1
  150. package/dist/settings/font.css +1 -1
  151. package/dist/settings/max-width.css +1 -1
  152. package/dist/settings/space.css +1 -1
  153. package/dist/tools/README.css +1 -1
  154. package/dist/tools/c-form.selectors.css +1 -0
  155. package/dist/tools/media-queries.css +1 -1
  156. package/dist/tools/s-form.css +1 -0
  157. package/dist/tools/selectors.common.css +1 -1
  158. package/dist/tools/selectors.css +1 -1
  159. package/dist/tools/selectors.form.css +1 -0
  160. package/dist/tools/selectors.monospace.css +1 -1
  161. package/dist/tools/x-article-link.css +1 -1
  162. package/dist/tools/x-blockquote.css +1 -1
  163. package/dist/tools/x-center.css +1 -1
  164. package/dist/tools/x-fake-border.css +1 -1
  165. package/dist/tools/x-figure.css +1 -1
  166. package/dist/tools/x-grid.css +1 -1
  167. package/dist/tools/x-layout.css +1 -1
  168. package/dist/tools/x-link.css +1 -1
  169. package/dist/tools/x-mailto-text-replace.css +1 -1
  170. package/dist/tools/x-overlay.css +1 -1
  171. package/dist/tools/x-tabs/demo.css +1 -1
  172. package/dist/tools/x-tabs.css +1 -1
  173. package/dist/tools/x-tabs.skin.css +1 -1
  174. package/dist/tools/x-tabs.structure.css +1 -1
  175. package/dist/tools/x-truncate.css +1 -1
  176. package/dist/trumps/README.css +1 -1
  177. package/dist/trumps/demo.css +1 -1
  178. package/dist/trumps/s-affixed-input-wrapper/demo.css +1 -0
  179. package/dist/trumps/s-affixed-input-wrapper.css +1 -1
  180. package/dist/trumps/s-article-list.css +1 -1
  181. package/dist/trumps/s-article-preview.css +1 -1
  182. package/dist/trumps/s-blockquote.css +1 -1
  183. package/dist/trumps/s-breadcrumbs.css +1 -1
  184. package/dist/trumps/s-cms-nav.css +1 -1
  185. package/dist/trumps/s-document.css +1 -1
  186. package/dist/trumps/s-footer.css +1 -1
  187. package/dist/trumps/s-form--cms.css +1 -0
  188. package/dist/trumps/s-form--portal.css +1 -0
  189. package/dist/trumps/s-form.css +1 -0
  190. package/dist/trumps/s-form.selectors.css +1 -0
  191. package/dist/trumps/s-guide-doc.css +1 -1
  192. package/dist/trumps/s-header.bootstrap.css +1 -1
  193. package/dist/trumps/s-header.css +1 -1
  194. package/dist/trumps/s-image-grid.css +1 -1
  195. package/dist/trumps/s-inline-dl.css +1 -1
  196. package/dist/trumps/s-irregular-links.css +1 -1
  197. package/dist/trumps/s-paragraph-table.css +1 -1
  198. package/dist/trumps/s-portal-nav.css +1 -1
  199. package/dist/trumps/s-style-guide.css +1 -1
  200. package/dist/trumps/s-system-specs.css +1 -1
  201. package/dist/trumps/tacc-search-bar.css +1 -1
  202. package/dist/trumps/u-empty.css +1 -1
  203. package/dist/trumps/u-hide.css +1 -1
  204. package/dist/trumps/u-mailto-text-replace.css +1 -1
  205. package/dist/trumps/u-nested-text-content.css +1 -1
  206. package/docs/bootstrap.md +52 -0
  207. package/docs/contributing.config.yml +1 -0
  208. package/docs/contributing.md +4 -2
  209. package/docs/shortcuts/forms.md +11 -0
  210. package/docs/shortcuts/tables.md +5 -3
  211. package/package.json +1 -1
  212. package/src/lib/_imports/_partials/field-errors.hbs +1 -0
  213. package/src/lib/_imports/_partials/form-errors.hbs +12 -0
  214. package/src/lib/_imports/_partials/form.hbs +431 -0
  215. package/src/lib/_imports/_partials/link-list.hbs +19 -9
  216. package/src/lib/_imports/components/c-button.css +4 -4
  217. package/src/lib/_imports/components/c-form/c-form.hbs +1 -366
  218. package/src/lib/_imports/components/c-form/config.yml +19 -5
  219. package/src/lib/_imports/components/c-form/readme.md +1 -7
  220. package/src/lib/_imports/components/c-form/toggle-required-fields.js +35 -19
  221. package/src/lib/_imports/components/c-form--cms.css +3 -2
  222. package/src/lib/_imports/components/c-form--portal.css +3 -2
  223. package/src/lib/_imports/components/c-form.css +53 -57
  224. package/src/lib/_imports/components/c-form.selectors.css +37 -0
  225. package/src/lib/_imports/components/c-nav/config.yml +3 -0
  226. package/src/lib/_imports/components/django-cms-forms/config.yml +35 -3
  227. package/src/lib/_imports/components/django-cms-forms/django-cms-forms.hbs +1 -408
  228. package/src/lib/_imports/components/django-cms-forms.css +12 -168
  229. package/src/lib/_imports/components/django-cms-forms.selectors.css +37 -0
  230. package/src/lib/_imports/components/pymdownx--tabbed.css +1 -1
  231. package/src/lib/_imports/core-styles.base.css +3 -0
  232. package/src/lib/_imports/core-styles.cms.css +0 -2
  233. package/src/lib/_imports/core-styles.docs.css +0 -1
  234. package/src/lib/_imports/elements/{form.cms.css → form.css} +11 -3
  235. package/src/lib/_imports/elements/html-elements.cms.css +3 -0
  236. package/src/lib/_imports/elements/html-elements.css +1 -1
  237. package/src/lib/_imports/tools/selectors.form.css +71 -0
  238. package/src/lib/_imports/trumps/s-affixed-input-wrapper/README.md +4 -2
  239. package/src/lib/_imports/trumps/s-affixed-input-wrapper/_s-affixed-input-wrapper--affix.hbs +15 -0
  240. package/src/lib/_imports/trumps/s-affixed-input-wrapper/_s-affixed-input-wrapper--end.hbs +13 -0
  241. package/src/lib/_imports/trumps/s-affixed-input-wrapper/config.yml +9 -1
  242. package/src/lib/_imports/trumps/s-affixed-input-wrapper/demo.css +5 -0
  243. package/src/lib/_imports/trumps/s-affixed-input-wrapper/s-affixed-input-wrapper--prefix-and-suffix.hbs +32 -0
  244. package/src/lib/_imports/trumps/s-affixed-input-wrapper/s-affixed-input-wrapper--prepend-and-append.hbs +43 -0
  245. package/src/lib/_imports/trumps/s-affixed-input-wrapper/s-affixed-input-wrapper.hbs +1 -32
  246. package/src/lib/_imports/trumps/s-affixed-input-wrapper.css +108 -47
  247. package/src/lib/_imports/trumps/s-form/config.yml +23 -0
  248. package/src/lib/_imports/trumps/s-form/readme.md +8 -0
  249. package/src/lib/_imports/trumps/s-form/s-form.hbs +1 -0
  250. package/src/lib/_imports/trumps/s-form--cms.css +1 -0
  251. package/src/lib/_imports/trumps/s-form--portal.css +1 -0
  252. package/src/lib/_imports/trumps/s-form.css +2 -0
  253. package/src/lib/_imports/trumps/s-form.selectors.css +38 -0
  254. package/dist/components/django-cms-forms--errors-via-c-message.css +0 -1
  255. package/dist/elements/form.cms.css +0 -1
  256. package/src/lib/_imports/components/django-cms-forms--errors-via-c-message.css +0 -23
  257. /package/docs/{index.md → 01-index.md} +0 -0
@@ -1,10 +1,11 @@
1
+ @import url("../tools/selectors.form.css");
1
2
  @import url("../components/c-button.css");
2
3
 
3
4
 
4
5
 
5
6
  /* Title & Description */
6
7
 
7
- .c-form__desc {
8
+ :--form__desc {
8
9
  margin-block: 25px;
9
10
  }
10
11
 
@@ -12,100 +13,89 @@
12
13
 
13
14
  /* Help Text */
14
15
 
15
- .c-form__help {
16
+ :--form__help {
17
+ display: block; /* FAQ: An inline element tag may be used */
18
+ margin-top: 0.3em; /* mimic Bootstrap _reboot.css label margin-bottom */
19
+
16
20
  font-size: var(--global-font-size--small);
17
21
  font-style: italic;
18
22
  }
19
- :not(
20
- ul, /* FAQ: Lists already have margin-bottom */
21
- label /* FAQ: Labels already have margin-bottom */
22
- ) + .c-form__help {
23
- margin-top: 0.3em; /* mimic Bootstrap _reboot.css label margin-bottom */
24
- }
25
23
  /* To prevent help text font-style from affecting any tags */
26
24
  /* FAQ: Help text can contain inline elements like <samp> */
27
25
  /* FAQ: Help text can be (ab)used to add headings between form fields */
28
- .c-form__help > :not(details, a, samp) {
26
+ :--form__help > :where(:not(details, a, samp)) {
29
27
  font-style: initial;
30
28
  }
31
29
 
32
30
 
33
31
 
34
32
  /* Fields */
35
- /* TODO: Make fieldset-child <div>s be opt-out automatic field-wrappers.
36
- 0. [ ] Define `fieldset > div { @extend .c-form__field; }` ruleset.
37
- 1. [ ] Create `.c-form--no-auto-wrappers`.
38
- 2. [ ] Define `.c-form:not(.c-form--no-auto-wrappers) fieldset > div` rules.
33
+ /* IDEA: Make fieldset-child <div>s be opt-out automatic field-wrappers.
34
+ 0. [ ] Define `fieldset > div { @extend :--form__field; }` ruleset.
35
+ 1. [ ] Create `:--form--no-auto-wrappers`.
36
+ 2. [ ] Define `:--form:where(:not(:--form--no-auto-wrappers)) fieldset > div` rules.
39
37
  */
40
38
 
41
- .c-form__field {
39
+ :--form__field {
42
40
  margin-bottom: 2rem; /* mimic <p> `margin-bottom` */
43
41
  }
44
42
 
45
- .c-form__field:not(.has-type-check) {
46
- display: flex;
47
- flex-direction: column;
48
- }
49
- .c-form__field:not(.has-type-check) > .c-form__errors {
50
- order: 1; /* i.e. move to end */
51
- }
52
-
53
- .c-form__field.has-type-check {
43
+ :--form__field--has-checkbox {
54
44
  display: inline-grid;
55
45
 
56
46
  column-gap: 0.5em;
57
47
  align-items: center;
58
48
  grid-template-columns: min-content auto; /* shrink input, let label extend */
59
49
  grid-template-areas:
60
- 'error _____'
61
50
  'input label'
51
+ 'error error'
62
52
  'notes notes';
63
53
  }
64
- .c-form__field.has-type-check .c-form__errors { grid-area: error; }
65
- .c-form__field.has-type-check input { grid-area: input; }
66
- .c-form__field.has-type-check label { grid-area: label; }
67
- .c-form__field.has-type-check .c-form__help { grid-area: notes; }
68
- .c-form__field.has-type-check label {
54
+ :--form__field--has-checkbox :--form__errors { grid-area: error; }
55
+ :--form__field--has-checkbox input { grid-area: input; }
56
+ :--form__field--has-checkbox label { grid-area: label; }
57
+ :--form__field--has-checkbox :--form__help { grid-area: notes; }
58
+ :--form__field--has-checkbox label {
69
59
  margin-bottom: 0; /* overwrite forms.css label */
70
60
  }
71
61
 
72
- .c-form__field > ul:where(:not(.c-form__errors)) label {
62
+ :--form__menu label {
73
63
  display: flex;
74
64
  gap: 0.5em;
75
65
  align-items: center;
76
66
  font-weight: revert; /* undo html-elements.cms.css */
77
67
  }
78
- .c-form__field > ul:where(:not(.c-form__errors)) li:last-child label {
68
+ :--form__menu li:last-child label {
79
69
  margin-bottom: 0; /* overwrite forms.css label */
80
70
  }
81
71
 
82
72
  /* Field: Required, Asterisk, Important */
83
73
 
84
- .c-form__field .c-form__star {
74
+ :--form__badge {
85
75
  margin-left: 0.5em;
86
76
  }
87
- .c-form__field.has-required .c-form__star {
77
+ :--form__badge:where(:--form__field--has-required *) {
88
78
  color: var(--global-color-danger--dark);
89
79
  }
90
- .c-form__field:not(.has-required) .c-form__star
80
+ :--form__badge:where(:not(:--form__field--has-required *))
91
81
  /* NOTE: Manual markup ONLY; form plugin can't render non-required asterisk */ {
92
82
  color: var(--global-color-warning--dark);
93
83
  }
94
84
  /* To replace asterisk character with text */
95
- .c-form__field .c-form__star {
85
+ :--form__badge {
96
86
  width: 0;
97
87
  display: inline-block;
98
88
  visibility: hidden;
99
89
  line-height: 0;
100
90
  }
101
- .c-form__field .c-form__star::after {
91
+ :--form__badge::after {
102
92
  visibility: visible;
103
93
  line-height: initial;
104
94
  }
105
- .c-form__field.has-required .c-form__star::after {
95
+ :--form__badge:where(:--form__field--has-required *)::after {
106
96
  content: '(required)';
107
97
  }
108
- .c-form__field:not(.has-required) .c-form__star::after
98
+ :--form__badge:where(:not(:--form__field--has-required *))::after
109
99
  /* NOTE: Manual markup ONLY; form plugin can't render non-required asterisk */ {
110
100
  content: '(important)';
111
101
  }
@@ -114,23 +104,21 @@
114
104
 
115
105
  /* Errors */
116
106
 
117
- .c-form__field ul.c-form__errors {
107
+ ul:--form__errors_list {
108
+ list-style: none;
109
+ padding-left: 0;
110
+ }
111
+ ul:--form__errors--field {
118
112
  margin-top: 1rem; /* mimic ul margin-bottom */
119
113
  margin-bottom: 0; /* overwrite ul margin-bottom */
120
114
  }
121
115
 
122
- ul.c-form__errors {
123
- list-style: none;
124
- padding-inline: 0;
125
- }
126
-
127
116
 
128
117
 
129
- /* Lists */
118
+ /* Menus (Input Lists) */
130
119
 
131
- .c-form__field > ul:where(:not(.c-form__errors)) {
120
+ :--form__menu {
132
121
  list-style: none;
133
-
134
122
  padding-left: 0;
135
123
  }
136
124
 
@@ -138,25 +126,33 @@ ul.c-form__errors {
138
126
 
139
127
  /* Buttons */
140
128
 
141
- .c-form__buttons {
142
- margin-top: 35px;
143
- }
144
-
145
- /* To style obvious buttons that neglect class */
146
- .c-form__buttons button[type="submit"] {
129
+ :--form__button {
147
130
  @extend :--c-button;
131
+ }
132
+ :--form__button[type="submit"] {
148
133
  @extend :--c-button--primary;
149
134
  }
135
+ :--form__button[type="button"] {
136
+ @extend :--c-button--secondary;
137
+ }
138
+ :--form__button[type="reset"] {
139
+ @extend :--c-button--tertiary;
140
+ }
150
141
 
151
- .c-form__button {
142
+ :--form__buttons {
143
+ margin-top: 35px;
144
+ }
145
+ /* To style obvious buttons that neglect class */
146
+ /* FAQ: I think I saw this on APCD… */
147
+ :--form__buttons button:not(:--form__button) {
152
148
  @extend :--c-button;
153
149
  }
154
- .c-form__button[type="submit"] {
150
+ :--form__buttons button:not(:--form__button)[type="submit"] {
155
151
  @extend :--c-button--primary;
156
152
  }
157
- .c-form__button:where(:not([type="submit"], [type="reset"])) {
153
+ :--form__buttons button:not(:--form__button)[type="button"] {
158
154
  @extend :--c-button--secondary;
159
155
  }
160
- .c-form__button[type="reset"] {
156
+ :--form__buttons button:not(:--form__button)[type="reset"] {
161
157
  @extend :--c-button--tertiary;
162
158
  }
@@ -0,0 +1,37 @@
1
+ @custom-selector :--c-form
2
+ .c-form;
3
+
4
+ @custom-selector :--c-form__title
5
+ .c-form__title;
6
+ @custom-selector :--c-form__desc
7
+ .c-form__desc;
8
+
9
+ @custom-selector :--c-form__errors
10
+ .c-form__errors;
11
+ @custom-selector :--c-form__errors_list
12
+ :--c-form__errors;
13
+ @custom-selector :--c-form__errors--form /* submission errors */
14
+ :where(.c-form > .c-form__errors);
15
+ @custom-selector :--c-form__errors--field /* validation errors */
16
+ :where(.c-form__field .c-form__errors);
17
+
18
+ @custom-selector :--c-form__field
19
+ .c-form__field;
20
+ @custom-selector :--c-form__field--has-required
21
+ :--c-form__field.has-required;
22
+ @custom-selector :--c-form__field--has-checkbox
23
+ :--c-form__field.has-type-check;
24
+
25
+ @custom-selector :--c-form__menu
26
+ .c-form__field > :where(ul:not(.c-form__errors), menu);
27
+
28
+ @custom-selector :--c-form__help
29
+ .c-form__help;
30
+
31
+ @custom-selector :--c-form__badge
32
+ .c-form__star;
33
+
34
+ @custom-selector :--c-form__buttons
35
+ .c-form__buttons;
36
+ @custom-selector :--c-form__button
37
+ .c-form__button;
@@ -13,8 +13,11 @@ variants:
13
13
  context:
14
14
  modifiers:
15
15
  - [piped]
16
+ - [piped, boxed]
16
17
  - [piped, piped--before]
18
+ - [piped, boxed, piped--before]
17
19
  - [piped, piped--after]
20
+ - [piped, boxed, piped--after]
18
21
  status: wip
19
22
  - name: no-list
20
23
  context:
@@ -1,6 +1,38 @@
1
+ label: Django CMS Forms
2
+ status: ready
1
3
  context:
2
4
  shouldLoadCMS: true
3
5
  📝 shouldLoadCMS: because this is demo but this is CMS pattern
4
- shouldSkipPattern: false
5
- 📝 shouldSkipPattern: because core-styles.….css does not import this
6
- label: Django CMS Forms
6
+ markup:
7
+ wrap_start: |2
8
+ <div class="forms">
9
+ <h3 class="title">(Optional) Title of Form</h3>
10
+ <div class="description">(Optional) Description of the form.</div>
11
+ <div class="form-wrapper">
12
+ <form action="" method="POST" enctype="multipart/form-data">
13
+ wrap_end: |2
14
+ </form>
15
+ </div>
16
+ </div>
17
+ errorLoc: top
18
+ helpTextTag: div
19
+ inputListTag: ul
20
+ selectors:
21
+ errorList: .form-errors, .field-errors
22
+ wrap: .field-wrapper
23
+ classNames:
24
+ title: title
25
+ desc: description
26
+ errors: errorlist
27
+ form_errors_wrap: form-errors
28
+ field_errors_wrap: field-errors
29
+ field: field-wrapper
30
+ badge: asterisk
31
+ hint: help-text
32
+ has_required: required
33
+ has_checkbox: checkboxinput
34
+ has_spam_filter: recaptchav2checkbox
35
+ radio_menu: radioselect
36
+ check_menu: checkboxselectmultiple
37
+ buttons: button-wrapper
38
+ button: form-button