@tacc/core-styles 2.14.0 → 2.16.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 (266) 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--login.css +1 -0
  37. package/dist/components/c-form--portal.css +1 -1
  38. package/dist/components/c-form.css +1 -1
  39. package/dist/components/c-form.selectors.css +1 -0
  40. package/dist/components/c-image-map.css +1 -1
  41. package/dist/components/c-image-map.skin.css +1 -1
  42. package/dist/components/c-image-map.structure.css +1 -1
  43. package/dist/components/c-island/demo.css +1 -1
  44. package/dist/components/c-island.css +1 -1
  45. package/dist/components/c-login.css +1 -0
  46. package/dist/components/c-message/demo.css +1 -1
  47. package/dist/components/c-message--compact.css +1 -1
  48. package/dist/components/c-message--expanded.css +1 -1
  49. package/dist/components/c-message.css +1 -1
  50. package/dist/components/c-message.selectors.css +1 -1
  51. package/dist/components/c-nav/demo.css +1 -1
  52. package/dist/components/c-nav.css +1 -1
  53. package/dist/components/c-page.css +1 -1
  54. package/dist/components/c-recognition.css +1 -1
  55. package/dist/components/c-see-all-link.css +1 -1
  56. package/dist/components/c-show-more.css +1 -1
  57. package/dist/components/c-tag/demo.css +1 -1
  58. package/dist/components/c-tag.css +1 -1
  59. package/dist/components/c-tag.selectors.css +1 -1
  60. package/dist/components/cortal.icon.css +1 -1
  61. package/dist/components/cortal.icon.font.css +1 -1
  62. package/dist/components/demo.css +1 -1
  63. package/dist/components/django-cms-forms.css +1 -1
  64. package/dist/components/django-cms-forms.hacks.css +1 -1
  65. package/dist/components/django-cms-forms.selectors.css +1 -0
  66. package/dist/components/mui.tabs.css +1 -1
  67. package/dist/components/pymdownx--tabbed.css +1 -1
  68. package/dist/components/pymdownx.css +1 -1
  69. package/dist/components/s-form-page.css +1 -0
  70. package/dist/components/tacc-docs.css +1 -1
  71. package/dist/core-styles.base.css +2 -2
  72. package/dist/core-styles.cms.css +2 -2
  73. package/dist/core-styles.demo.css +1 -1
  74. package/dist/core-styles.docs.css +2 -2
  75. package/dist/core-styles.header.css +1 -1
  76. package/dist/core-styles.portal.css +2 -2
  77. package/dist/core-styles.settings.css +1 -1
  78. package/dist/core-styles.theme.default.css +1 -1
  79. package/dist/core-styles.theme.has-dark-logo.css +1 -1
  80. package/dist/core-styles.wysiwyg.css +1 -1
  81. package/dist/elements/README.css +1 -1
  82. package/dist/elements/bootstrap.css +1 -1
  83. package/dist/elements/demo.css +1 -1
  84. package/dist/elements/form.css +1 -0
  85. package/dist/elements/headings/demo.css +1 -1
  86. package/dist/elements/headings--cms.css +1 -1
  87. package/dist/elements/headings--docs.css +1 -1
  88. package/dist/elements/html-elements/demo.css +1 -1
  89. package/dist/elements/html-elements.cms.css +1 -1
  90. package/dist/elements/html-elements.css +1 -1
  91. package/dist/elements/html-elements.docs.css +1 -1
  92. package/dist/elements/links.css +1 -1
  93. package/dist/elements/monospace.css +1 -1
  94. package/dist/elements/root--cms.css +1 -1
  95. package/dist/elements/root--demo.css +1 -1
  96. package/dist/elements/root--docs.css +1 -1
  97. package/dist/elements/root--portal.css +1 -1
  98. package/dist/elements/root.css +1 -1
  99. package/dist/elements/sticky-footer.css +1 -1
  100. package/dist/elements/table--basic.css +1 -1
  101. package/dist/elements/table--nested.css +1 -1
  102. package/dist/elements/table.cms.css +1 -1
  103. package/dist/elements/table.css +1 -1
  104. package/dist/elements/table.docs.css +1 -1
  105. package/dist/elements/table.selectors.css +1 -1
  106. package/dist/elements/tacc-search-bar.css +1 -1
  107. package/dist/fractal.server.refresh.css +1 -1
  108. package/dist/generics/README.css +1 -1
  109. package/dist/generics/fonts.css +1 -1
  110. package/dist/generics/pseudo-elements.css +1 -1
  111. package/dist/objects/README.css +1 -1
  112. package/dist/objects/o-fixed-header-table/demo.css +1 -1
  113. package/dist/objects/o-fixed-header-table.css +1 -1
  114. package/dist/objects/o-flex-item-table-wrap/demo.css +1 -1
  115. package/dist/objects/o-flex-item-table-wrap.css +1 -1
  116. package/dist/objects/o-float-content.css +1 -1
  117. package/dist/objects/o-grid.css +1 -1
  118. package/dist/objects/o-offset-content.css +1 -1
  119. package/dist/objects/o-section/demo.css +1 -1
  120. package/dist/objects/o-section--docs.css +1 -1
  121. package/dist/objects/o-section.css +1 -1
  122. package/dist/objects/o-section.selectors.css +1 -1
  123. package/dist/objects/o-site.css +1 -1
  124. package/dist/objects/o-table-wrap/demo.basic.css +1 -1
  125. package/dist/objects/o-table-wrap/demo.extra.css +1 -1
  126. package/dist/objects/o-table-wrap/example.flexible-horz.css +1 -1
  127. package/dist/objects/o-table-wrap/example.overflow-hidden.css +1 -1
  128. package/dist/objects/o-table-wrap/example.overflow-scroll.css +1 -1
  129. package/dist/objects/o-table-wrap/o-table-wrap--flexible-horz.css +1 -1
  130. package/dist/objects/o-table-wrap/o-table-wrap--flexible-vert.css +1 -1
  131. package/dist/objects/o-table-wrap/o-table-wrap--overflow-hidden.css +1 -1
  132. package/dist/objects/o-table-wrap/o-table-wrap--overflow-scroll-extra.css +1 -1
  133. package/dist/objects/o-table-wrap/o-table-wrap--overflow-scroll.css +1 -1
  134. package/dist/objects/o-table-wrap.css +1 -1
  135. package/dist/settings/README.css +1 -1
  136. package/dist/settings/border.css +1 -1
  137. package/dist/settings/color/demo.css +1 -1
  138. package/dist/settings/color--cms.css +1 -1
  139. package/dist/settings/color--demo.css +1 -1
  140. package/dist/settings/color--docs.css +1 -1
  141. package/dist/settings/color--portal.css +1 -1
  142. package/dist/settings/color.accent--blue.css +1 -1
  143. package/dist/settings/color.accent--purple.css +1 -1
  144. package/dist/settings/color.css +1 -1
  145. package/dist/settings/demo.css +1 -1
  146. package/dist/settings/font/demo-family.css +1 -1
  147. package/dist/settings/font/demo-size.css +1 -1
  148. package/dist/settings/font/demo-style.css +1 -1
  149. package/dist/settings/font/demo-weight.css +1 -1
  150. package/dist/settings/font--cms.css +1 -1
  151. package/dist/settings/font--docs.css +1 -1
  152. package/dist/settings/font--portal.css +1 -1
  153. package/dist/settings/font.css +1 -1
  154. package/dist/settings/max-width.css +1 -1
  155. package/dist/settings/space.css +1 -1
  156. package/dist/tools/README.css +1 -1
  157. package/dist/tools/c-form.selectors.css +1 -0
  158. package/dist/tools/media-queries.css +1 -1
  159. package/dist/tools/s-form.css +1 -0
  160. package/dist/tools/selectors.common.css +1 -1
  161. package/dist/tools/selectors.css +1 -1
  162. package/dist/tools/selectors.form.css +1 -0
  163. package/dist/tools/selectors.monospace.css +1 -1
  164. package/dist/tools/x-article-link.css +1 -1
  165. package/dist/tools/x-blockquote.css +1 -1
  166. package/dist/tools/x-center.css +1 -1
  167. package/dist/tools/x-fake-border.css +1 -1
  168. package/dist/tools/x-figure.css +1 -1
  169. package/dist/tools/x-grid.css +1 -1
  170. package/dist/tools/x-layout.css +1 -1
  171. package/dist/tools/x-link.css +1 -1
  172. package/dist/tools/x-mailto-text-replace.css +1 -1
  173. package/dist/tools/x-overlay.css +1 -1
  174. package/dist/tools/x-tabs/demo.css +1 -1
  175. package/dist/tools/x-tabs.css +1 -1
  176. package/dist/tools/x-tabs.skin.css +1 -1
  177. package/dist/tools/x-tabs.structure.css +1 -1
  178. package/dist/tools/x-truncate.css +1 -1
  179. package/dist/trumps/README.css +1 -1
  180. package/dist/trumps/demo.css +1 -1
  181. package/dist/trumps/s-affixed-input-wrapper/demo.css +1 -1
  182. package/dist/trumps/s-affixed-input-wrapper.css +1 -1
  183. package/dist/trumps/s-article-list.css +1 -1
  184. package/dist/trumps/s-article-preview.css +1 -1
  185. package/dist/trumps/s-blockquote.css +1 -1
  186. package/dist/trumps/s-breadcrumbs.css +1 -1
  187. package/dist/trumps/s-cms-nav.css +1 -1
  188. package/dist/trumps/s-document.css +1 -1
  189. package/dist/trumps/s-footer.css +1 -1
  190. package/dist/trumps/s-form--cms.css +1 -0
  191. package/dist/trumps/s-form--login.css +1 -0
  192. package/dist/trumps/s-form--portal.css +1 -0
  193. package/dist/trumps/s-form-page/example.css +1 -0
  194. package/dist/trumps/s-form-page.css +1 -0
  195. package/dist/trumps/s-form.css +1 -0
  196. package/dist/trumps/s-form.selectors.css +1 -0
  197. package/dist/trumps/s-guide-doc.css +1 -1
  198. package/dist/trumps/s-header.bootstrap.css +1 -1
  199. package/dist/trumps/s-header.css +1 -1
  200. package/dist/trumps/s-image-grid.css +1 -1
  201. package/dist/trumps/s-inline-dl.css +1 -1
  202. package/dist/trumps/s-irregular-links.css +1 -1
  203. package/dist/trumps/s-paragraph-table.css +1 -1
  204. package/dist/trumps/s-portal-nav.css +1 -1
  205. package/dist/trumps/s-style-guide.css +1 -1
  206. package/dist/trumps/s-system-specs.css +1 -1
  207. package/dist/trumps/tacc-search-bar.css +1 -1
  208. package/dist/trumps/u-empty.css +1 -1
  209. package/dist/trumps/u-hide.css +1 -1
  210. package/dist/trumps/u-mailto-text-replace.css +1 -1
  211. package/dist/trumps/u-nested-text-content.css +1 -1
  212. package/docs/bootstrap.md +52 -0
  213. package/docs/contributing.config.yml +1 -0
  214. package/docs/contributing.md +1 -0
  215. package/docs/shortcuts/forms.md +11 -0
  216. package/docs/shortcuts/tables.md +5 -3
  217. package/package.json +1 -1
  218. package/src/lib/_imports/_partials/field-errors.hbs +1 -0
  219. package/src/lib/_imports/_partials/form--login.hbs +84 -0
  220. package/src/lib/_imports/_partials/form-errors.hbs +12 -0
  221. package/src/lib/_imports/_partials/form.hbs +456 -0
  222. package/src/lib/_imports/_partials/link-list.hbs +19 -9
  223. package/src/lib/_imports/components/c-button.css +4 -4
  224. package/src/lib/_imports/components/c-form/c-form--login.hbs +1 -0
  225. package/src/lib/_imports/components/c-form/c-form.hbs +1 -366
  226. package/src/lib/_imports/components/c-form/config.yml +28 -5
  227. package/src/lib/_imports/components/c-form/readme.md +1 -7
  228. package/src/lib/_imports/components/c-form/toggle-required-fields.js +35 -19
  229. package/src/lib/_imports/components/c-form--cms.css +3 -2
  230. package/src/lib/_imports/components/c-form--login.css +111 -0
  231. package/src/lib/_imports/components/c-form--portal.css +3 -2
  232. package/src/lib/_imports/components/c-form.css +55 -58
  233. package/src/lib/_imports/components/c-form.selectors.css +46 -0
  234. package/src/lib/_imports/components/django-cms-forms/config.yml +35 -3
  235. package/src/lib/_imports/components/django-cms-forms/django-cms-forms.hbs +1 -408
  236. package/src/lib/_imports/components/django-cms-forms.css +12 -168
  237. package/src/lib/_imports/components/django-cms-forms.selectors.css +37 -0
  238. package/src/lib/_imports/components/pymdownx--tabbed.css +1 -1
  239. package/src/lib/_imports/core-styles.base.css +2 -0
  240. package/src/lib/_imports/core-styles.cms.css +0 -1
  241. package/src/lib/_imports/core-styles.docs.css +0 -1
  242. package/src/lib/_imports/core-styles.portal.css +1 -1
  243. package/src/lib/_imports/elements/{form.cms.css → form.css} +11 -3
  244. package/src/lib/_imports/elements/html-elements.cms.css +3 -0
  245. package/src/lib/_imports/elements/html-elements.css +1 -1
  246. package/src/lib/_imports/tools/selectors.form.css +82 -0
  247. package/src/lib/_imports/trumps/s-affixed-input-wrapper.css +4 -2
  248. package/src/lib/_imports/trumps/s-form/config.yml +30 -0
  249. package/src/lib/_imports/trumps/s-form/readme.md +8 -0
  250. package/src/lib/_imports/trumps/s-form/s-form--login.hbs +1 -0
  251. package/src/lib/_imports/trumps/s-form/s-form.hbs +1 -0
  252. package/src/lib/_imports/trumps/s-form--cms.css +1 -0
  253. package/src/lib/_imports/trumps/s-form--login.css +1 -0
  254. package/src/lib/_imports/trumps/s-form--portal.css +1 -0
  255. package/src/lib/_imports/trumps/s-form-page/config.yml +12 -0
  256. package/src/lib/_imports/trumps/s-form-page/example.css +5 -0
  257. package/src/lib/_imports/trumps/s-form-page/readme.md +6 -0
  258. package/src/lib/_imports/trumps/s-form-page/s-form-page--login.hbs +11 -0
  259. package/src/lib/_imports/trumps/s-form-page/s-form-page.hbs +13 -0
  260. package/src/lib/_imports/trumps/s-form-page.css +47 -0
  261. package/src/lib/_imports/trumps/s-form.css +2 -0
  262. package/src/lib/_imports/trumps/s-form.selectors.css +47 -0
  263. package/dist/components/django-cms-forms--errors-via-c-message.css +0 -1
  264. package/dist/elements/form.cms.css +0 -1
  265. package/src/lib/_imports/components/django-cms-forms--errors-via-c-message.css +0 -23
  266. /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,90 @@
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 {
96
- width: 0;
85
+ :--form__badge {
97
86
  display: inline-block;
98
87
  visibility: hidden;
99
88
  line-height: 0;
89
+ font-size: 0;
100
90
  }
101
- .c-form__field .c-form__star::after {
91
+ :--form__badge::after {
102
92
  visibility: visible;
103
93
  line-height: initial;
94
+ font-size: var(--global-font-size--small); /* mimic elements/form.css label */
104
95
  }
105
- .c-form__field.has-required .c-form__star::after {
96
+ :--form__badge:where(:--form__field--has-required *)::after {
106
97
  content: '(required)';
107
98
  }
108
- .c-form__field:not(.has-required) .c-form__star::after
99
+ :--form__badge:where(:not(:--form__field--has-required *))::after
109
100
  /* NOTE: Manual markup ONLY; form plugin can't render non-required asterisk */ {
110
101
  content: '(important)';
111
102
  }
@@ -114,23 +105,21 @@
114
105
 
115
106
  /* Errors */
116
107
 
117
- .c-form__field ul.c-form__errors {
108
+ ul:--form__errors_list {
109
+ list-style: none;
110
+ padding-left: 0;
111
+ }
112
+ ul:--form__errors--field {
118
113
  margin-top: 1rem; /* mimic ul margin-bottom */
119
114
  margin-bottom: 0; /* overwrite ul margin-bottom */
120
115
  }
121
116
 
122
- ul.c-form__errors {
123
- list-style: none;
124
- padding-inline: 0;
125
- }
126
-
127
117
 
128
118
 
129
- /* Lists */
119
+ /* Menus (Input Lists) */
130
120
 
131
- .c-form__field > ul:where(:not(.c-form__errors)) {
121
+ :--form__menu {
132
122
  list-style: none;
133
-
134
123
  padding-left: 0;
135
124
  }
136
125
 
@@ -138,25 +127,33 @@ ul.c-form__errors {
138
127
 
139
128
  /* Buttons */
140
129
 
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"] {
130
+ :--form__button {
147
131
  @extend :--c-button;
132
+ }
133
+ :--form__button[type="submit"] {
148
134
  @extend :--c-button--primary;
149
135
  }
136
+ :--form__button[type="button"] {
137
+ @extend :--c-button--secondary;
138
+ }
139
+ :--form__button[type="reset"] {
140
+ @extend :--c-button--tertiary;
141
+ }
150
142
 
151
- .c-form__button {
143
+ :--form__buttons {
144
+ margin-top: 35px;
145
+ }
146
+ /* To style obvious buttons that neglect class */
147
+ /* FAQ: I think I saw this on APCD… */
148
+ :--form__buttons button:not(:--form__button) {
152
149
  @extend :--c-button;
153
150
  }
154
- .c-form__button[type="submit"] {
151
+ :--form__buttons button:not(:--form__button)[type="submit"] {
155
152
  @extend :--c-button--primary;
156
153
  }
157
- .c-form__button:where(:not([type="submit"], [type="reset"])) {
154
+ :--form__buttons button:not(:--form__button)[type="button"] {
158
155
  @extend :--c-button--secondary;
159
156
  }
160
- .c-form__button[type="reset"] {
157
+ :--form__buttons button:not(:--form__button)[type="reset"] {
161
158
  @extend :--c-button--tertiary;
162
159
  }
@@ -0,0 +1,46 @@
1
+ @custom-selector :--c-form
2
+ .c-form;
3
+
4
+ /* Generic */
5
+
6
+ @custom-selector :--c-form__title
7
+ .c-form__title;
8
+ @custom-selector :--c-form__desc
9
+ .c-form__desc;
10
+
11
+ @custom-selector :--c-form__errors
12
+ .c-form__errors;
13
+ @custom-selector :--c-form__errors_list
14
+ :--c-form__errors;
15
+ @custom-selector :--c-form__errors--form /* submission errors */
16
+ :where(.c-form > .c-form__errors);
17
+ @custom-selector :--c-form__errors--field /* validation errors */
18
+ :where(.c-form__field .c-form__errors);
19
+
20
+ @custom-selector :--c-form__field
21
+ .c-form__field;
22
+ @custom-selector :--c-form__field--has-required
23
+ :--c-form__field.has-required;
24
+ @custom-selector :--c-form__field--has-checkbox
25
+ :--c-form__field.has-type-check;
26
+
27
+ @custom-selector :--c-form__menu
28
+ .c-form__field > :where(ul:not(.c-form__errors), menu);
29
+
30
+ @custom-selector :--c-form__help
31
+ .c-form__help;
32
+
33
+ @custom-selector :--c-form__badge
34
+ .c-form__star;
35
+
36
+ @custom-selector :--c-form__buttons
37
+ .c-form__buttons;
38
+ @custom-selector :--c-form__button
39
+ .c-form__button;
40
+
41
+ /* Login */
42
+
43
+ @custom-selector :--c-form--login
44
+ .c-form--login;
45
+ @custom-selector :--c-form__nav
46
+ .c-form__nav;
@@ -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