@tacc/core-styles 2.14.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 (248) 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 -1
  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 +1 -0
  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/django-cms-forms/config.yml +35 -3
  226. package/src/lib/_imports/components/django-cms-forms/django-cms-forms.hbs +1 -408
  227. package/src/lib/_imports/components/django-cms-forms.css +12 -168
  228. package/src/lib/_imports/components/django-cms-forms.selectors.css +37 -0
  229. package/src/lib/_imports/components/pymdownx--tabbed.css +1 -1
  230. package/src/lib/_imports/core-styles.base.css +2 -0
  231. package/src/lib/_imports/core-styles.cms.css +0 -1
  232. package/src/lib/_imports/core-styles.docs.css +0 -1
  233. package/src/lib/_imports/elements/{form.cms.css → form.css} +11 -3
  234. package/src/lib/_imports/elements/html-elements.cms.css +3 -0
  235. package/src/lib/_imports/elements/html-elements.css +1 -1
  236. package/src/lib/_imports/tools/selectors.form.css +71 -0
  237. package/src/lib/_imports/trumps/s-affixed-input-wrapper.css +4 -2
  238. package/src/lib/_imports/trumps/s-form/config.yml +23 -0
  239. package/src/lib/_imports/trumps/s-form/readme.md +8 -0
  240. package/src/lib/_imports/trumps/s-form/s-form.hbs +1 -0
  241. package/src/lib/_imports/trumps/s-form--cms.css +1 -0
  242. package/src/lib/_imports/trumps/s-form--portal.css +1 -0
  243. package/src/lib/_imports/trumps/s-form.css +2 -0
  244. package/src/lib/_imports/trumps/s-form.selectors.css +38 -0
  245. package/dist/components/django-cms-forms--errors-via-c-message.css +0 -1
  246. package/dist/elements/form.cms.css +0 -1
  247. package/src/lib/_imports/components/django-cms-forms--errors-via-c-message.css +0 -23
  248. /package/docs/{index.md → 01-index.md} +0 -0
@@ -0,0 +1,431 @@
1
+ {{#message}}
2
+ {{> @message content=. }}
3
+ {{/message}}
4
+
5
+ {{#if markup.wrap_start}}
6
+ {{{markup.wrap_start}}}
7
+ {{else}}
8
+ <form action="" method="POST" enctype="multipart/form-data" class="{{ class.root }}">
9
+
10
+ <h3 class="{{ class.title }}">(Optional) Title of Form</h3>
11
+ <p class="{{ class.desc }}">(Optional) Description of the form.</p>
12
+ {{/if}}
13
+
14
+ {{> @form-errors class=class.errors wrapClass=class.form_errors_wrap }}
15
+
16
+ <div class="{{ class.field }} {{ class.has_required }}">
17
+ {{#if (eq errorLoc "top")}}
18
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
19
+ {{/if}}
20
+
21
+ <label for="name">
22
+ Name<span class="{{ class.badge }}" aria-label="(required)">*</span>
23
+ </label>
24
+
25
+ <input
26
+ type="text"
27
+ name="name"
28
+ required=""
29
+ placeholder="Your name"
30
+ id="name"
31
+ />
32
+
33
+ {{#unless (eq errorLoc "top")}}
34
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
35
+ {{/unless}}
36
+
37
+ {{#with helpTextTag as | tag |}}
38
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
39
+ We use this to identify your submission.
40
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
41
+ {{/with}}
42
+ </div>
43
+
44
+ <div class="{{ class.field }}">
45
+ {{#if (eq errorLoc "top")}}
46
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
47
+ {{/if}}
48
+
49
+ <label for="favorite-fruit">Favorite Fruit</label>
50
+
51
+ <select name="favorite-fruit" id="favorite-fruit">
52
+ <option value="" selected="">
53
+ Please select an option
54
+ </option>
55
+ <option value="Apple">Apple</option>
56
+ <option value="Banana">Banana</option>
57
+ <option value="Cherry">Cherry</option>
58
+ <option value="Durian">Durian</option>
59
+ <option value="Other">Other</option>
60
+ <option value="Whatever">Whatever</option>
61
+ </select>
62
+
63
+ {{#unless (eq errorLoc "top")}}
64
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
65
+ {{/unless}}
66
+
67
+ {{#with helpTextTag as | tag |}}
68
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
69
+ Choose your favorite fruit.
70
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
71
+ {{/with}}
72
+ </div>
73
+
74
+ <div class="{{ class.field }}">
75
+ {{#if (eq errorLoc "top")}}
76
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
77
+ {{/if}}
78
+
79
+ <label for="wake-up-time">Wake Up Time</label>
80
+
81
+ <input
82
+ type="time"
83
+ name="wake-up-time"
84
+ id="wake-up-time"
85
+ />
86
+
87
+ {{#unless (eq errorLoc "top")}}
88
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
89
+ {{/unless}}
90
+
91
+ {{#with helpTextTag as | tag |}}
92
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
93
+ We use this to know when to wake you up.
94
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
95
+ {{/with}}
96
+ </div>
97
+
98
+ <div class="{{ class.field }}">
99
+ {{#if (eq errorLoc "top")}}
100
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
101
+ {{/if}}
102
+
103
+ <label>Radio stations</label>
104
+
105
+ {{#with inputListTag as | tag |}}
106
+ <{{#if tag}}{{tag}}{{else}}menu{{/if}} class="{{../class.radio_menu}}" id="radio-stations">
107
+ <li>
108
+ <label for="radio-stations-0">
109
+ <input
110
+ type="radio"
111
+ name="radio-stations"
112
+ value="LX 1234"
113
+ id="radio-stations-0"
114
+ />
115
+ LX 1234
116
+ </label>
117
+ </li>
118
+ <li>
119
+ <label for="radio-stations-1">
120
+ <input
121
+ type="radio"
122
+ name="radio-stations"
123
+ value="LOVE 45"
124
+ id="radio-stations-1"
125
+ />
126
+ LOVE 45
127
+ </label>
128
+ </li>
129
+ <li>
130
+ <label for="radio-stations-2">
131
+ <input
132
+ type="radio"
133
+ name="radio-stations"
134
+ value="OLD 555"
135
+ id="radio-stations-2"
136
+ />
137
+ OLD 555
138
+ </label>
139
+ </li>
140
+ </{{#if tag}}{{tag}}{{else}}menu{{/if}}>
141
+ {{/with}}
142
+
143
+ {{#unless (eq errorLoc "top")}}
144
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
145
+ {{/unless}}
146
+
147
+ {{#with helpTextTag as | tag |}}
148
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
149
+ Which radio stations do you prefer?
150
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
151
+ {{/with}}
152
+ </div>
153
+
154
+ <div class="{{ class.field }} {{ class.has_checkbox }}">
155
+ {{#if (eq errorLoc "top")}}
156
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
157
+ {{/if}}
158
+
159
+ <input
160
+ type="checkbox"
161
+ name="checking-out"
162
+ id="checking-out"
163
+ />
164
+
165
+ <label for="checking-out">Checking Out?</label>
166
+
167
+ {{#unless (eq errorLoc "top")}}
168
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
169
+ {{/unless}}
170
+
171
+ {{#with helpTextTag as | tag |}}
172
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
173
+ Are you checking out today?
174
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
175
+ {{/with}}
176
+ </div>
177
+
178
+ <div class="{{ class.field }}">
179
+ {{#if (eq errorLoc "top")}}
180
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
181
+ {{/if}}
182
+
183
+ <label for="">
184
+ Which fish do you want?
185
+ </label>
186
+
187
+ {{#with inputListTag as | tag |}}
188
+ <{{#if tag}}{{tag}}{{else}}menu{{/if}} class="{{../class.check_menu}}" id="which-fish-do-you-want">
189
+ <li>
190
+ <label for="which-fish-do-you-want-0">
191
+ <input
192
+ type="checkbox"
193
+ name="which-fish-do-you-want"
194
+ value="one fish"
195
+ id="which-fish-do-you-want-0"
196
+ />
197
+ one fish
198
+ </label>
199
+ </li>
200
+ <li>
201
+ <label for="which-fish-do-you-want-1">
202
+ <input
203
+ type="checkbox"
204
+ name="which-fish-do-you-want"
205
+ value="two fish"
206
+ id="which-fish-do-you-want-1"
207
+ />
208
+ two fish
209
+ </label>
210
+ </li>
211
+ <li>
212
+ <label for="which-fish-do-you-want-2">
213
+ <input
214
+ type="checkbox"
215
+ name="which-fish-do-you-want"
216
+ value="red fish"
217
+ id="which-fish-do-you-want-2"
218
+ />
219
+ red fish
220
+ </label>
221
+ </li>
222
+ <li>
223
+ <label for="which-fish-do-you-want-3">
224
+ <input
225
+ type="checkbox"
226
+ name="which-fish-do-you-want"
227
+ value="blue fish"
228
+ id="which-fish-do-you-want-3"
229
+ />
230
+ blue fish
231
+ </label>
232
+ </li>
233
+ <li>
234
+ <label for="which-fish-do-you-want-4">
235
+ <input
236
+ type="checkbox"
237
+ name="which-fish-do-you-want"
238
+ value="all the fish"
239
+ id="which-fish-do-you-want-4"
240
+ />
241
+ all the fish
242
+ </label>
243
+ </li>
244
+ </{{#if tag}}{{tag}}{{else}}menu{{/if}}>
245
+ {{/with}}
246
+
247
+ {{#unless (eq errorLoc "top")}}
248
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
249
+ {{/unless}}
250
+ </div>
251
+
252
+ <div class="{{ class.field }}">
253
+ {{#if (eq errorLoc "top")}}
254
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
255
+ {{/if}}
256
+
257
+ <label for="hangry-time">Hangry Time</label>
258
+
259
+ <select name="hangry-time" id="hangry-time">
260
+ <option value="" selected="">
261
+ Please select an option
262
+ </option>
263
+ <option value="Morning">Morning</option>
264
+ <option value="Noon">Noon</option>
265
+ <option value="Afternoon">Afternoon</option>
266
+ <option value="Evening">Evening</option>
267
+ <option value="Night">Night</option>
268
+ <option value="Midnight">Midnight</option>
269
+ </select>
270
+
271
+ {{#unless (eq errorLoc "top")}}
272
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
273
+ {{/unless}}
274
+
275
+ {{#with helpTextTag as | tag |}}
276
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
277
+ At which time of day do you get hangry?
278
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
279
+ {{/with}}
280
+ </div>
281
+
282
+ <div class="{{ class.field }}">
283
+ {{#if (eq errorLoc "top")}}
284
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
285
+ {{/if}}
286
+
287
+ <label for="life-story">Life Story</label>
288
+
289
+ <textarea
290
+ name="life-story"
291
+ cols="40"
292
+ rows="10"
293
+ id="life-story"
294
+ ></textarea>
295
+
296
+ {{#unless (eq errorLoc "top")}}
297
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
298
+ {{/unless}}
299
+
300
+ {{#with helpTextTag as | tag |}}
301
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
302
+ Go on, tell me everything.
303
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
304
+ {{/with}}
305
+ </div>
306
+
307
+ <div class="{{ class.field }}">
308
+ {{#if (eq errorLoc "top")}}
309
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
310
+ {{/if}}
311
+
312
+ <label for="what-day-is-it">What day is it?</label>
313
+
314
+ <input
315
+ type="date"
316
+ name="what-day-is-it"
317
+ id="what-day-is-it"
318
+ />
319
+
320
+ {{#unless (eq errorLoc "top")}}
321
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
322
+ {{/unless}}
323
+
324
+ {{#with helpTextTag as | tag |}}
325
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
326
+ Please enter today's date.
327
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
328
+ {{/with}}
329
+ </div>
330
+
331
+ <div class="{{ class.field }}">
332
+ {{#if (eq errorLoc "top")}}
333
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
334
+ {{/if}}
335
+
336
+ <label for="your-favorite-picture">Your favorite picture</label>
337
+
338
+ <input
339
+ type="file"
340
+ name="your-favorite-picture"
341
+ id="your-favorite-picture"
342
+ />
343
+
344
+ {{#unless (eq errorLoc "top")}}
345
+ {{> @field-errors class=class.errors wrapClass=class.field_errors_wrap }}
346
+ {{/unless}}
347
+
348
+ {{#with helpTextTag as | tag |}}
349
+ <{{#if tag}}{{tag}}{{else}}small{{/if}} class="{{../class.hint}}">
350
+ Upload your favorite image.
351
+ <small class="{{../class.hint}}">
352
+ Supported types:
353
+ <code>.jpeg</code>,<code>.jpg</code>,<code>.gif</code>,<code>.png</code>
354
+ </small>
355
+ </{{#if tag}}{{tag}}{{else}}small{{/if}}>
356
+ {{/with}}
357
+ </div>
358
+
359
+ <div class="{{ class.field }} {{ class.has_spam_filter }} {{ class.has_required }}">
360
+ <label for="recaptcha_g9y93gP8">
361
+ Are you a robot?<span class="{{ class.badge }}" aria-label="(required)">*</span>
362
+ </label>
363
+
364
+ <script src="https://www.google.com/recaptcha/api.js"></script>
365
+ <script type="text/javascript">
366
+ // Submit function to be called, after reCAPTCHA was successful. var
367
+ onSubmit_9e32f28ccb9545109ff6ae891f9af324 = function(token){" "}
368
+ {console.log("reCAPTCHA validated for 'data-widget-uuid=\"9e32f28ccb9545109ff6ae891f9af324\"'")};
369
+ </script>
370
+ <div class="g-recaptcha" data-sitekey="6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI" required="" id="recaptcha_g9y93gP8" data-widget-uuid="9e32f28ccb9545109ff6ae891f9af324" data-callback="onSubmit_9e32f28ccb9545109ff6ae891f9af324" data-size="normal"></div>
371
+ </div>
372
+
373
+ <footer class="{{ class.buttons }}">
374
+ <button class="{{ class.button }}" type="submit">
375
+ Submit
376
+ </button>
377
+ <button id="toggle-field-errors" class="{{ class.button }}" type="button">
378
+ Toggle Field Errors
379
+ </button>
380
+ <button id="toggle-required-fields" class="{{ class.button }}" type="button">
381
+ Toggle Required Fields
382
+ </button>
383
+ </footer>
384
+
385
+ {{#if markup.wrap_end}}
386
+ {{{markup.wrap_end}}}
387
+ {{else}}
388
+ </form>
389
+ {{/if}}
390
+
391
+ <script type="module">
392
+ import toggleFieldErrors from '{{ path "/components/raw/c-form/toggle-field-errors.js" }}';
393
+
394
+ document.addEventListener('DOMContentLoaded', () => {
395
+ const toggle = document.getElementById('toggle-field-errors');
396
+ const form = document.querySelector('form');
397
+ const selector = '{{{ selectors.errorList }}}'
398
+
399
+ toggle.addEventListener('click', () => {
400
+ toggleFieldErrors( form, selector );
401
+ });
402
+ });
403
+ </script>
404
+ <script type="module">
405
+ import toggleRequiredFields from '{{ path "/components/raw/c-form/toggle-required-fields.js" }}';
406
+
407
+ document.addEventListener('DOMContentLoaded', () => {
408
+ const toggle = document.getElementById('toggle-required-fields');
409
+ const form = toggle.closest('form');
410
+
411
+ toggle.addEventListener('click', () => {
412
+ toggleRequiredFields( form, {
413
+ shouldScrollToFirst: true,
414
+ classNames: { wrapRequired: '{{{ classNames.has_required }}}' },
415
+ selectors: { wrap: '{{{ selectors.wrap }}}' }
416
+ });
417
+ });
418
+ });
419
+ </script>
420
+ <script type="module">
421
+ document.addEventListener('DOMContentLoaded', () => {
422
+ const form = document.querySelector('form');
423
+
424
+ form.addEventListener('submit', event => {
425
+ event.preventDefault();
426
+
427
+ /* TODO: Show success message on form */
428
+ alert('Form was not submitted, because this is an incomplete demo.');
429
+ });
430
+ });
431
+ </script>
@@ -1,9 +1,19 @@
1
- {{#each links as | link |}}{{#if ../is-list}}<li>{{/if}}{{!
2
-
3
- }}<a
4
- {{#if link.href}}href="{{#if is-anchor-href}}#{{/if}}{{link.href}}"{{/if}}
5
- {{#if link.id}}id="{{link.id}}"{{/if}}>{{!
6
- }}{{link.name}}{{!
7
- }}</a>{{!
8
-
9
- }}{{#if ../is-list}}</li>{{/if}}{{/each}}
1
+ {{#each links as | link |}}
2
+ {{#if ../is-list}}
3
+ <li>
4
+ {{/if}}
5
+ <a
6
+ {{#if link.href~}}href="
7
+ {{~#if is-anchor-href}}#{{link.href~}}
8
+ {{~else if is-internal}}{{path link.href~}}
9
+ {{~else}}{{link.href}}{{/if~}}
10
+ "{{~/if}}
11
+ {{#if link.id}}id="{{link.id}}"{{/if}}
12
+ {{#if link.target}}target="{{link.target}}"{{/if}}
13
+ >
14
+ {{{link.name}}}
15
+ </a>
16
+ {{#if ../is-list}}
17
+ </li>
18
+ {{/if}}
19
+ {{/each}}
@@ -29,10 +29,10 @@
29
29
 
30
30
  @extend .x-truncate--one-line;
31
31
  }
32
- :--c-button:not(:--disabled) {
32
+ :--c-button:where(:not(:--disabled)) {
33
33
  cursor: pointer; /* WARNING: Opinionated */
34
34
  }
35
- :--c-button:not(:--c-button--as-link) {
35
+ :--c-button:where(:not(:--c-button--as-link)) {
36
36
  font-weight: var(--medium);
37
37
  }
38
38
 
@@ -294,13 +294,13 @@ a:--c-button--is-busy {
294
294
 
295
295
  /* Modifiers: Sizes */
296
296
 
297
- :--c-button:not(
297
+ :--c-button:where(:not(
298
298
  :--c-button--width-short,
299
299
  :--c-button--width-medium,
300
300
  :--c-button--width-long,
301
301
  :--c-button--size-small,
302
302
  :--c-button--as-link
303
- ) {
303
+ )) {
304
304
  width: auto;
305
305
  --max-width: auto;
306
306
  }