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