@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.
- package/README.md +7 -0
- package/dist/branding_logos.css +1 -1
- package/dist/components/README.css +1 -1
- package/dist/components/admonition/demo.css +1 -1
- package/dist/components/admonition.css +1 -1
- package/dist/components/align/demo.css +1 -1
- package/dist/components/align.css +1 -1
- package/dist/components/bootstrap/bootstrap--form.demo.css +1 -1
- package/dist/components/bootstrap/bootstrap--modal.demo.css +1 -1
- package/dist/components/bootstrap/demo.css +1 -1
- package/dist/components/bootstrap.col.css +1 -1
- package/dist/components/bootstrap.container.css +1 -1
- package/dist/components/bootstrap.css +1 -1
- package/dist/components/bootstrap.figure.css +1 -1
- package/dist/components/bootstrap.form.css +1 -1
- package/dist/components/bootstrap.modal--cms.css +1 -1
- package/dist/components/bootstrap.modal--portal.css +1 -1
- package/dist/components/bootstrap.modal.css +1 -1
- package/dist/components/bootstrap.nav-tabs.css +1 -1
- package/dist/components/bootstrap.pagination.css +1 -1
- package/dist/components/bootstrap.row.css +1 -1
- package/dist/components/c-button/demo.css +1 -1
- package/dist/components/c-button.css +1 -1
- package/dist/components/c-button.selectors.css +1 -1
- package/dist/components/c-callout.css +1 -1
- package/dist/components/c-card/c-card--frontera.demo.css +1 -1
- package/dist/components/c-card/c-card.demo.css +1 -1
- package/dist/components/c-card--docs.css +1 -1
- package/dist/components/c-card--from-tup-cms.css +1 -1
- package/dist/components/c-card--frontera-about-page.css +1 -1
- package/dist/components/c-card.css +1 -1
- package/dist/components/c-card.selectors.css +1 -1
- package/dist/components/c-data-list.css +1 -1
- package/dist/components/c-footer.css +1 -1
- package/dist/components/c-form--cms.css +1 -1
- package/dist/components/c-form--portal.css +1 -1
- package/dist/components/c-form.css +1 -1
- package/dist/components/c-form.selectors.css +1 -0
- package/dist/components/c-image-map.css +1 -1
- package/dist/components/c-image-map.skin.css +1 -1
- package/dist/components/c-image-map.structure.css +1 -1
- package/dist/components/c-island/demo.css +1 -1
- package/dist/components/c-island.css +1 -1
- package/dist/components/c-message/demo.css +1 -1
- package/dist/components/c-message--compact.css +1 -1
- package/dist/components/c-message--expanded.css +1 -1
- package/dist/components/c-message.css +1 -1
- package/dist/components/c-message.selectors.css +1 -1
- package/dist/components/c-nav/demo.css +1 -1
- package/dist/components/c-nav.css +1 -1
- package/dist/components/c-page.css +1 -1
- package/dist/components/c-recognition.css +1 -1
- package/dist/components/c-see-all-link.css +1 -1
- package/dist/components/c-show-more.css +1 -1
- package/dist/components/c-tag/demo.css +1 -1
- package/dist/components/c-tag.css +1 -1
- package/dist/components/c-tag.selectors.css +1 -1
- package/dist/components/cortal.icon.css +1 -1
- package/dist/components/cortal.icon.font.css +1 -1
- package/dist/components/demo.css +1 -1
- package/dist/components/django-cms-forms.css +1 -1
- package/dist/components/django-cms-forms.hacks.css +1 -1
- package/dist/components/django-cms-forms.selectors.css +1 -0
- package/dist/components/mui.tabs.css +1 -1
- package/dist/components/pymdownx--tabbed.css +1 -1
- package/dist/components/pymdownx.css +1 -1
- package/dist/components/tacc-docs.css +1 -1
- package/dist/core-styles.base.css +2 -2
- package/dist/core-styles.cms.css +2 -2
- package/dist/core-styles.demo.css +1 -1
- package/dist/core-styles.docs.css +2 -2
- package/dist/core-styles.header.css +1 -1
- package/dist/core-styles.portal.css +2 -2
- package/dist/core-styles.settings.css +1 -1
- package/dist/core-styles.theme.default.css +1 -1
- package/dist/core-styles.theme.has-dark-logo.css +1 -1
- package/dist/core-styles.wysiwyg.css +1 -1
- package/dist/elements/README.css +1 -1
- package/dist/elements/bootstrap.css +1 -1
- package/dist/elements/demo.css +1 -1
- package/dist/elements/form.css +1 -0
- package/dist/elements/headings/demo.css +1 -1
- package/dist/elements/headings--cms.css +1 -1
- package/dist/elements/headings--docs.css +1 -1
- package/dist/elements/html-elements/demo.css +1 -1
- package/dist/elements/html-elements.cms.css +1 -1
- package/dist/elements/html-elements.css +1 -1
- package/dist/elements/html-elements.docs.css +1 -1
- package/dist/elements/links.css +1 -1
- package/dist/elements/monospace.css +1 -1
- package/dist/elements/root--cms.css +1 -1
- package/dist/elements/root--demo.css +1 -1
- package/dist/elements/root--docs.css +1 -1
- package/dist/elements/root--portal.css +1 -1
- package/dist/elements/root.css +1 -1
- package/dist/elements/sticky-footer.css +1 -1
- package/dist/elements/table--basic.css +1 -1
- package/dist/elements/table--nested.css +1 -1
- package/dist/elements/table.cms.css +1 -1
- package/dist/elements/table.css +1 -1
- package/dist/elements/table.docs.css +1 -1
- package/dist/elements/table.selectors.css +1 -1
- package/dist/elements/tacc-search-bar.css +1 -1
- package/dist/fractal.server.refresh.css +1 -1
- package/dist/generics/README.css +1 -1
- package/dist/generics/fonts.css +1 -1
- package/dist/generics/pseudo-elements.css +1 -1
- package/dist/objects/README.css +1 -1
- package/dist/objects/o-fixed-header-table/demo.css +1 -1
- package/dist/objects/o-fixed-header-table.css +1 -1
- package/dist/objects/o-flex-item-table-wrap/demo.css +1 -1
- package/dist/objects/o-flex-item-table-wrap.css +1 -1
- package/dist/objects/o-float-content.css +1 -1
- package/dist/objects/o-grid.css +1 -1
- package/dist/objects/o-offset-content.css +1 -1
- package/dist/objects/o-section/demo.css +1 -1
- package/dist/objects/o-section--docs.css +1 -1
- package/dist/objects/o-section.css +1 -1
- package/dist/objects/o-section.selectors.css +1 -1
- package/dist/objects/o-site.css +1 -1
- package/dist/objects/o-table-wrap/demo.basic.css +1 -1
- package/dist/objects/o-table-wrap/demo.extra.css +1 -1
- package/dist/objects/o-table-wrap/example.flexible-horz.css +1 -1
- package/dist/objects/o-table-wrap/example.overflow-hidden.css +1 -1
- package/dist/objects/o-table-wrap/example.overflow-scroll.css +1 -1
- package/dist/objects/o-table-wrap/o-table-wrap--flexible-horz.css +1 -1
- package/dist/objects/o-table-wrap/o-table-wrap--flexible-vert.css +1 -1
- package/dist/objects/o-table-wrap/o-table-wrap--overflow-hidden.css +1 -1
- package/dist/objects/o-table-wrap/o-table-wrap--overflow-scroll-extra.css +1 -1
- package/dist/objects/o-table-wrap/o-table-wrap--overflow-scroll.css +1 -1
- package/dist/objects/o-table-wrap.css +1 -1
- package/dist/settings/README.css +1 -1
- package/dist/settings/border.css +1 -1
- package/dist/settings/color/demo.css +1 -1
- package/dist/settings/color--cms.css +1 -1
- package/dist/settings/color--demo.css +1 -1
- package/dist/settings/color--docs.css +1 -1
- package/dist/settings/color--portal.css +1 -1
- package/dist/settings/color.accent--blue.css +1 -1
- package/dist/settings/color.accent--purple.css +1 -1
- package/dist/settings/color.css +1 -1
- package/dist/settings/demo.css +1 -1
- package/dist/settings/font/demo-family.css +1 -1
- package/dist/settings/font/demo-size.css +1 -1
- package/dist/settings/font/demo-style.css +1 -1
- package/dist/settings/font/demo-weight.css +1 -1
- package/dist/settings/font--cms.css +1 -1
- package/dist/settings/font--docs.css +1 -1
- package/dist/settings/font--portal.css +1 -1
- package/dist/settings/font.css +1 -1
- package/dist/settings/max-width.css +1 -1
- package/dist/settings/space.css +1 -1
- package/dist/tools/README.css +1 -1
- package/dist/tools/c-form.selectors.css +1 -0
- package/dist/tools/media-queries.css +1 -1
- package/dist/tools/s-form.css +1 -0
- package/dist/tools/selectors.common.css +1 -1
- package/dist/tools/selectors.css +1 -1
- package/dist/tools/selectors.form.css +1 -0
- package/dist/tools/selectors.monospace.css +1 -1
- package/dist/tools/x-article-link.css +1 -1
- package/dist/tools/x-blockquote.css +1 -1
- package/dist/tools/x-center.css +1 -1
- package/dist/tools/x-fake-border.css +1 -1
- package/dist/tools/x-figure.css +1 -1
- package/dist/tools/x-grid.css +1 -1
- package/dist/tools/x-layout.css +1 -1
- package/dist/tools/x-link.css +1 -1
- package/dist/tools/x-mailto-text-replace.css +1 -1
- package/dist/tools/x-overlay.css +1 -1
- package/dist/tools/x-tabs/demo.css +1 -1
- package/dist/tools/x-tabs.css +1 -1
- package/dist/tools/x-tabs.skin.css +1 -1
- package/dist/tools/x-tabs.structure.css +1 -1
- package/dist/tools/x-truncate.css +1 -1
- package/dist/trumps/README.css +1 -1
- package/dist/trumps/demo.css +1 -1
- package/dist/trumps/s-affixed-input-wrapper/demo.css +1 -0
- package/dist/trumps/s-affixed-input-wrapper.css +1 -1
- package/dist/trumps/s-article-list.css +1 -1
- package/dist/trumps/s-article-preview.css +1 -1
- package/dist/trumps/s-blockquote.css +1 -1
- package/dist/trumps/s-breadcrumbs.css +1 -1
- package/dist/trumps/s-cms-nav.css +1 -1
- package/dist/trumps/s-document.css +1 -1
- package/dist/trumps/s-footer.css +1 -1
- package/dist/trumps/s-form--cms.css +1 -0
- package/dist/trumps/s-form--portal.css +1 -0
- package/dist/trumps/s-form.css +1 -0
- package/dist/trumps/s-form.selectors.css +1 -0
- package/dist/trumps/s-guide-doc.css +1 -1
- package/dist/trumps/s-header.bootstrap.css +1 -1
- package/dist/trumps/s-header.css +1 -1
- package/dist/trumps/s-image-grid.css +1 -1
- package/dist/trumps/s-inline-dl.css +1 -1
- package/dist/trumps/s-irregular-links.css +1 -1
- package/dist/trumps/s-paragraph-table.css +1 -1
- package/dist/trumps/s-portal-nav.css +1 -1
- package/dist/trumps/s-style-guide.css +1 -1
- package/dist/trumps/s-system-specs.css +1 -1
- package/dist/trumps/tacc-search-bar.css +1 -1
- package/dist/trumps/u-empty.css +1 -1
- package/dist/trumps/u-hide.css +1 -1
- package/dist/trumps/u-mailto-text-replace.css +1 -1
- package/dist/trumps/u-nested-text-content.css +1 -1
- package/docs/bootstrap.md +52 -0
- package/docs/contributing.config.yml +1 -0
- package/docs/contributing.md +4 -2
- package/docs/shortcuts/forms.md +11 -0
- package/docs/shortcuts/tables.md +5 -3
- package/package.json +1 -1
- package/src/lib/_imports/_partials/field-errors.hbs +1 -0
- package/src/lib/_imports/_partials/form-errors.hbs +12 -0
- package/src/lib/_imports/_partials/form.hbs +431 -0
- package/src/lib/_imports/_partials/link-list.hbs +19 -9
- package/src/lib/_imports/components/c-button.css +4 -4
- package/src/lib/_imports/components/c-form/c-form.hbs +1 -366
- package/src/lib/_imports/components/c-form/config.yml +19 -5
- package/src/lib/_imports/components/c-form/readme.md +1 -7
- package/src/lib/_imports/components/c-form/toggle-required-fields.js +35 -19
- package/src/lib/_imports/components/c-form--cms.css +3 -2
- package/src/lib/_imports/components/c-form--portal.css +3 -2
- package/src/lib/_imports/components/c-form.css +53 -57
- package/src/lib/_imports/components/c-form.selectors.css +37 -0
- package/src/lib/_imports/components/c-nav/config.yml +3 -0
- package/src/lib/_imports/components/django-cms-forms/config.yml +35 -3
- package/src/lib/_imports/components/django-cms-forms/django-cms-forms.hbs +1 -408
- package/src/lib/_imports/components/django-cms-forms.css +12 -168
- package/src/lib/_imports/components/django-cms-forms.selectors.css +37 -0
- package/src/lib/_imports/components/pymdownx--tabbed.css +1 -1
- package/src/lib/_imports/core-styles.base.css +3 -0
- package/src/lib/_imports/core-styles.cms.css +0 -2
- package/src/lib/_imports/core-styles.docs.css +0 -1
- package/src/lib/_imports/elements/{form.cms.css → form.css} +11 -3
- package/src/lib/_imports/elements/html-elements.cms.css +3 -0
- package/src/lib/_imports/elements/html-elements.css +1 -1
- package/src/lib/_imports/tools/selectors.form.css +71 -0
- package/src/lib/_imports/trumps/s-affixed-input-wrapper/README.md +4 -2
- package/src/lib/_imports/trumps/s-affixed-input-wrapper/_s-affixed-input-wrapper--affix.hbs +15 -0
- package/src/lib/_imports/trumps/s-affixed-input-wrapper/_s-affixed-input-wrapper--end.hbs +13 -0
- package/src/lib/_imports/trumps/s-affixed-input-wrapper/config.yml +9 -1
- package/src/lib/_imports/trumps/s-affixed-input-wrapper/demo.css +5 -0
- package/src/lib/_imports/trumps/s-affixed-input-wrapper/s-affixed-input-wrapper--prefix-and-suffix.hbs +32 -0
- package/src/lib/_imports/trumps/s-affixed-input-wrapper/s-affixed-input-wrapper--prepend-and-append.hbs +43 -0
- package/src/lib/_imports/trumps/s-affixed-input-wrapper/s-affixed-input-wrapper.hbs +1 -32
- package/src/lib/_imports/trumps/s-affixed-input-wrapper.css +108 -47
- package/src/lib/_imports/trumps/s-form/config.yml +23 -0
- package/src/lib/_imports/trumps/s-form/readme.md +8 -0
- package/src/lib/_imports/trumps/s-form/s-form.hbs +1 -0
- package/src/lib/_imports/trumps/s-form--cms.css +1 -0
- package/src/lib/_imports/trumps/s-form--portal.css +1 -0
- package/src/lib/_imports/trumps/s-form.css +2 -0
- package/src/lib/_imports/trumps/s-form.selectors.css +38 -0
- package/dist/components/django-cms-forms--errors-via-c-message.css +0 -1
- package/dist/elements/form.cms.css +0 -1
- package/src/lib/_imports/components/django-cms-forms--errors-via-c-message.css +0 -23
- /package/docs/{index.md → 01-index.md} +0 -0
|
@@ -1,408 +1 @@
|
|
|
1
|
-
{{> @message
|
|
2
|
-
tag="p"
|
|
3
|
-
content='This component is maintained simuiltaneously with <a href="../detail/c-form" target="_parent">C Form</code></a> and should look identical. Eventually, the two should have a single source of truth. To learn more, read <a href="https://confluence.tacc.utexas.edu/x/vJd9E" target="_blank">(Confluence) APCD - Form Markup & Styles</a>.'
|
|
4
|
-
}}
|
|
5
|
-
<div class="forms">
|
|
6
|
-
|
|
7
|
-
<h3 class="title">Title of Form</h3>
|
|
8
|
-
<div class="description">
|
|
9
|
-
I describe the form, but not very well.
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<div class="form-wrapper">
|
|
13
|
-
<form action="" method="POST" enctype="multipart/form-data">
|
|
14
|
-
<div class="form-errors" style="display:none;">
|
|
15
|
-
<ul class="errorlist">
|
|
16
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
17
|
-
</ul>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
<div class="field-wrapper textinput required">
|
|
21
|
-
<div class="field-errors" style="display:none;">
|
|
22
|
-
<ul class="errorlist">
|
|
23
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
24
|
-
</ul>
|
|
25
|
-
</div>
|
|
26
|
-
|
|
27
|
-
<label for="name">
|
|
28
|
-
Name<span class="asterisk">*</span>
|
|
29
|
-
</label>
|
|
30
|
-
|
|
31
|
-
<input
|
|
32
|
-
type="text"
|
|
33
|
-
name="name"
|
|
34
|
-
required=""
|
|
35
|
-
placeholder="Your name"
|
|
36
|
-
class="textinput"
|
|
37
|
-
id="name"
|
|
38
|
-
/>
|
|
39
|
-
|
|
40
|
-
<div id="help-text-name" class="help-text">
|
|
41
|
-
We use this to identify your submission.
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
<div class="field-wrapper select">
|
|
46
|
-
<div class="field-errors" style="display:none;">
|
|
47
|
-
<ul class="errorlist">
|
|
48
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
49
|
-
</ul>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
<label for="favorite-fruit">Favorite Fruit</label>
|
|
53
|
-
|
|
54
|
-
<select name="favorite-fruit" class="choicefield" id="favorite-fruit">
|
|
55
|
-
<option value="" selected="">
|
|
56
|
-
Please select an option
|
|
57
|
-
</option>
|
|
58
|
-
<option value="Apple">Apple</option>
|
|
59
|
-
<option value="Banana">Banana</option>
|
|
60
|
-
<option value="Cherry">Cherry</option>
|
|
61
|
-
<option value="Durian">Durian</option>
|
|
62
|
-
<option value="Other">Other</option>
|
|
63
|
-
<option value="Whatever">Whatever</option>
|
|
64
|
-
</select>
|
|
65
|
-
|
|
66
|
-
<div id="help-text-favorite-fruit" class="help-text">
|
|
67
|
-
Choose your favorite fruit.
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
|
|
71
|
-
<div class="field-wrapper timeinput">
|
|
72
|
-
<div class="field-errors" style="display:none;">
|
|
73
|
-
<ul class="errorlist">
|
|
74
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
75
|
-
</ul>
|
|
76
|
-
</div>
|
|
77
|
-
|
|
78
|
-
<label for="wake-up-time">Wake Up Time</label>
|
|
79
|
-
|
|
80
|
-
<input
|
|
81
|
-
type="time"
|
|
82
|
-
name="wake-up-time"
|
|
83
|
-
class="timeinput"
|
|
84
|
-
id="wake-up-time"
|
|
85
|
-
/>
|
|
86
|
-
|
|
87
|
-
<div id="help-text-wake-up-time" class="help-text">
|
|
88
|
-
We use this to know when to wake you up.
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
|
|
92
|
-
<div class="field-wrapper radioselect">
|
|
93
|
-
<div class="field-errors" style="display:none;">
|
|
94
|
-
<ul class="errorlist">
|
|
95
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
96
|
-
</ul>
|
|
97
|
-
</div>
|
|
98
|
-
|
|
99
|
-
<label for="radio-stations_0">Radio stations</label>
|
|
100
|
-
|
|
101
|
-
<ul id="radio-stations" class="radioselect">
|
|
102
|
-
<li>
|
|
103
|
-
<label for="radio-stations_0">
|
|
104
|
-
<input
|
|
105
|
-
type="radio"
|
|
106
|
-
name="radio-stations"
|
|
107
|
-
value="LX 1234"
|
|
108
|
-
class="radioselect"
|
|
109
|
-
id="radio-stations_0"
|
|
110
|
-
/>
|
|
111
|
-
LX 1234
|
|
112
|
-
</label>
|
|
113
|
-
</li>
|
|
114
|
-
<li>
|
|
115
|
-
<label for="radio-stations_1">
|
|
116
|
-
<input
|
|
117
|
-
type="radio"
|
|
118
|
-
name="radio-stations"
|
|
119
|
-
value="LOVE 45"
|
|
120
|
-
class="radioselect"
|
|
121
|
-
id="radio-stations_1"
|
|
122
|
-
/>
|
|
123
|
-
LOVE 45
|
|
124
|
-
</label>
|
|
125
|
-
</li>
|
|
126
|
-
<li>
|
|
127
|
-
<label for="radio-stations_2">
|
|
128
|
-
<input
|
|
129
|
-
type="radio"
|
|
130
|
-
name="radio-stations"
|
|
131
|
-
value="OLD 555"
|
|
132
|
-
class="radioselect"
|
|
133
|
-
id="radio-stations_2"
|
|
134
|
-
/>
|
|
135
|
-
OLD 555
|
|
136
|
-
</label>
|
|
137
|
-
</li>
|
|
138
|
-
</ul>
|
|
139
|
-
|
|
140
|
-
<div id="help-text-radio-stations" class="help-text">
|
|
141
|
-
Which radio stations do you prefer?
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
|
|
145
|
-
<div class="field-wrapper checkboxinput">
|
|
146
|
-
<div class="field-errors" style="display:none;">
|
|
147
|
-
<ul class="errorlist">
|
|
148
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
149
|
-
</ul>
|
|
150
|
-
</div>
|
|
151
|
-
|
|
152
|
-
<input
|
|
153
|
-
type="checkbox"
|
|
154
|
-
name="checking-out"
|
|
155
|
-
class="booleanfield"
|
|
156
|
-
id="checking-out"
|
|
157
|
-
/>
|
|
158
|
-
|
|
159
|
-
<label for="checking-out">Checking Out?</label>
|
|
160
|
-
|
|
161
|
-
<div id="help-text-checking-out" class="help-text">
|
|
162
|
-
Are you checking out today?
|
|
163
|
-
</div>
|
|
164
|
-
</div>
|
|
165
|
-
|
|
166
|
-
<div class="field-wrapper checkboxselectmultiple">
|
|
167
|
-
<div class="field-errors" style="display:none;">
|
|
168
|
-
<ul class="errorlist">
|
|
169
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
170
|
-
</ul>
|
|
171
|
-
</div>
|
|
172
|
-
|
|
173
|
-
<label>
|
|
174
|
-
Which fish do you want?
|
|
175
|
-
</label>
|
|
176
|
-
|
|
177
|
-
<ul id="which-fish-do-you-want" class="checkboxselectmultiple">
|
|
178
|
-
<li>
|
|
179
|
-
<label for="which-fish-do-you-want_0">
|
|
180
|
-
<input
|
|
181
|
-
type="checkbox"
|
|
182
|
-
name="which-fish-do-you-want"
|
|
183
|
-
value="one fish"
|
|
184
|
-
class="checkboxselectmultiple"
|
|
185
|
-
id="which-fish-do-you-want_0"
|
|
186
|
-
/>
|
|
187
|
-
one fish
|
|
188
|
-
</label>
|
|
189
|
-
</li>
|
|
190
|
-
<li>
|
|
191
|
-
<label for="which-fish-do-you-want_1">
|
|
192
|
-
<input
|
|
193
|
-
type="checkbox"
|
|
194
|
-
name="which-fish-do-you-want"
|
|
195
|
-
value="two fish"
|
|
196
|
-
class="checkboxselectmultiple"
|
|
197
|
-
id="which-fish-do-you-want_1"
|
|
198
|
-
/>
|
|
199
|
-
two fish
|
|
200
|
-
</label>
|
|
201
|
-
</li>
|
|
202
|
-
<li>
|
|
203
|
-
<label for="which-fish-do-you-want_2">
|
|
204
|
-
<input
|
|
205
|
-
type="checkbox"
|
|
206
|
-
name="which-fish-do-you-want"
|
|
207
|
-
value="red fish"
|
|
208
|
-
class="checkboxselectmultiple"
|
|
209
|
-
id="which-fish-do-you-want_2"
|
|
210
|
-
/>
|
|
211
|
-
red fish
|
|
212
|
-
</label>
|
|
213
|
-
</li>
|
|
214
|
-
<li>
|
|
215
|
-
<label for="which-fish-do-you-want_3">
|
|
216
|
-
<input
|
|
217
|
-
type="checkbox"
|
|
218
|
-
name="which-fish-do-you-want"
|
|
219
|
-
value="blue fish"
|
|
220
|
-
class="checkboxselectmultiple"
|
|
221
|
-
id="which-fish-do-you-want_3"
|
|
222
|
-
/>
|
|
223
|
-
blue fish
|
|
224
|
-
</label>
|
|
225
|
-
</li>
|
|
226
|
-
<li>
|
|
227
|
-
<label for="which-fish-do-you-want_4">
|
|
228
|
-
<input
|
|
229
|
-
type="checkbox"
|
|
230
|
-
name="which-fish-do-you-want"
|
|
231
|
-
value="all the fish"
|
|
232
|
-
class="checkboxselectmultiple"
|
|
233
|
-
id="which-fish-do-you-want_4"
|
|
234
|
-
/>
|
|
235
|
-
all the fish
|
|
236
|
-
</label>
|
|
237
|
-
</li>
|
|
238
|
-
</ul>
|
|
239
|
-
</div>
|
|
240
|
-
|
|
241
|
-
<div class="field-wrapper select">
|
|
242
|
-
<div class="field-errors" style="display:none;">
|
|
243
|
-
<ul class="errorlist">
|
|
244
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
245
|
-
</ul>
|
|
246
|
-
</div>
|
|
247
|
-
|
|
248
|
-
<label for="hangry-time">Hangry Time</label>
|
|
249
|
-
|
|
250
|
-
<select name="hangry-time" class="choicefield" id="hangry-time">
|
|
251
|
-
<option value="" selected="">
|
|
252
|
-
Please select an option
|
|
253
|
-
</option>
|
|
254
|
-
<option value="Morning">Morning</option>
|
|
255
|
-
<option value="Noon">Noon</option>
|
|
256
|
-
<option value="Afternoon">Afternoon</option>
|
|
257
|
-
<option value="Evening">Evening</option>
|
|
258
|
-
<option value="Night">Night</option>
|
|
259
|
-
<option value="Midnight">Midnight</option>
|
|
260
|
-
</select>
|
|
261
|
-
|
|
262
|
-
<div id="help-text-hangry-time" class="help-text">
|
|
263
|
-
At which time of day do you get hangry?
|
|
264
|
-
</div>
|
|
265
|
-
</div>
|
|
266
|
-
|
|
267
|
-
<div class="field-wrapper textarea">
|
|
268
|
-
<div class="field-errors" style="display:none;">
|
|
269
|
-
<ul class="errorlist">
|
|
270
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
271
|
-
</ul>
|
|
272
|
-
</div>
|
|
273
|
-
|
|
274
|
-
<label for="life-story">Life Story</label>
|
|
275
|
-
|
|
276
|
-
<textarea
|
|
277
|
-
name="life-story"
|
|
278
|
-
cols="40"
|
|
279
|
-
rows="10"
|
|
280
|
-
class="textarea"
|
|
281
|
-
id="life-story"
|
|
282
|
-
></textarea>
|
|
283
|
-
|
|
284
|
-
<div id="help-text-life-story" class="help-text">
|
|
285
|
-
Go on, tell me everything.
|
|
286
|
-
</div>
|
|
287
|
-
</div>
|
|
288
|
-
|
|
289
|
-
<div class="field-wrapper dateinput">
|
|
290
|
-
<div class="field-errors" style="display:none;">
|
|
291
|
-
<ul class="errorlist">
|
|
292
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
293
|
-
</ul>
|
|
294
|
-
</div>
|
|
295
|
-
|
|
296
|
-
<label for="what-day-is-it">What day is it?</label>
|
|
297
|
-
|
|
298
|
-
<input
|
|
299
|
-
type="date"
|
|
300
|
-
name="what-day-is-it"
|
|
301
|
-
class="dateinput"
|
|
302
|
-
id="what-day-is-it"
|
|
303
|
-
/>
|
|
304
|
-
|
|
305
|
-
<div id="help-text-what-day-is-it" class="help-text">
|
|
306
|
-
Please enter today's date.
|
|
307
|
-
</div>
|
|
308
|
-
</div>
|
|
309
|
-
|
|
310
|
-
<div class="field-wrapper clearablefileinput">
|
|
311
|
-
<div class="field-errors" style="display:none;">
|
|
312
|
-
<ul class="errorlist">
|
|
313
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
314
|
-
</ul>
|
|
315
|
-
</div>
|
|
316
|
-
|
|
317
|
-
<label for="your-favorite-picture">Your favorite picture</label>
|
|
318
|
-
|
|
319
|
-
<input
|
|
320
|
-
type="file"
|
|
321
|
-
name="your-favorite-picture"
|
|
322
|
-
class="filefield"
|
|
323
|
-
id="your-favorite-picture"
|
|
324
|
-
/>
|
|
325
|
-
|
|
326
|
-
<div id="help-text-your-favorite-picture" class="help-text">
|
|
327
|
-
Upload your favorite image.
|
|
328
|
-
<small>
|
|
329
|
-
Supported types:
|
|
330
|
-
<code>.jpeg</code>,<code>.jpg</code>,<code>.gif</code>,<code>.png</code>
|
|
331
|
-
</small>
|
|
332
|
-
</div>
|
|
333
|
-
</div>
|
|
334
|
-
|
|
335
|
-
<div class="field-wrapper recaptchav2checkbox required">
|
|
336
|
-
<div class="field-errors" style="display:none;">
|
|
337
|
-
<ul class="errorlist">
|
|
338
|
-
<li>Sample <strong>form</strong> error. <a href="#">Link.</a></li>
|
|
339
|
-
</ul>
|
|
340
|
-
</div>
|
|
341
|
-
|
|
342
|
-
<label for="recaptcha_g9y93gP8">
|
|
343
|
-
Are you a robot?<span class="asterisk">*</span>
|
|
344
|
-
</label>
|
|
345
|
-
|
|
346
|
-
<script src="https://www.google.com/recaptcha/api.js"></script>
|
|
347
|
-
<script type="text/javascript">
|
|
348
|
-
// Submit function to be called, after reCAPTCHA was successful. var
|
|
349
|
-
onSubmit_9e32f28ccb9545109ff6ae891f9af324 = function(token){" "}
|
|
350
|
-
{console.log("reCAPTCHA validated for 'data-widget-uuid=\"9e32f28ccb9545109ff6ae891f9af324\"'")};
|
|
351
|
-
</script>
|
|
352
|
-
<div class="g-recaptcha" data-sitekey="6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI" required="" id="recaptcha_g9y93gP8" data-widget-uuid="9e32f28ccb9545109ff6ae891f9af324" data-callback="onSubmit_9e32f28ccb9545109ff6ae891f9af324" data-size="normal"></div>
|
|
353
|
-
</div>
|
|
354
|
-
|
|
355
|
-
<div class="button-wrapper submit">
|
|
356
|
-
<button class="form-button" type="submit" value="Submit">
|
|
357
|
-
Submit
|
|
358
|
-
</button>
|
|
359
|
-
<button id="toggle-field-errors" class="form-button" type="button">
|
|
360
|
-
Toggle Field Errors
|
|
361
|
-
</button>
|
|
362
|
-
<button id="toggle-required-fields" class="form-button" type="button">
|
|
363
|
-
Toggle Required Fields
|
|
364
|
-
</button>
|
|
365
|
-
</div>
|
|
366
|
-
</form>
|
|
367
|
-
</div>
|
|
368
|
-
|
|
369
|
-
</div>
|
|
370
|
-
|
|
371
|
-
<script type="module">
|
|
372
|
-
import toggleFieldErrors from '{{ path "/components/raw/c-form/toggle-field-errors.js" }}';
|
|
373
|
-
|
|
374
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
375
|
-
const toggle = document.getElementById('toggle-field-errors');
|
|
376
|
-
const scope = document.querySelector('div.forms');
|
|
377
|
-
|
|
378
|
-
toggle.addEventListener('click', () => {
|
|
379
|
-
toggleFieldErrors( scope, '.field-errors, .form-errors');
|
|
380
|
-
});
|
|
381
|
-
});
|
|
382
|
-
</script>
|
|
383
|
-
<script type="module">
|
|
384
|
-
import toggleRequiredFields from '{{ path "/components/raw/c-form/toggle-required-fields.js" }}';
|
|
385
|
-
|
|
386
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
387
|
-
const toggle = document.getElementById('toggle-required-fields');
|
|
388
|
-
const form = toggle.closest('form');
|
|
389
|
-
|
|
390
|
-
toggle.addEventListener('click', () => {
|
|
391
|
-
toggleRequiredFields( form, 'field-wrapper', 'required', {
|
|
392
|
-
shouldScrollToFirst: true
|
|
393
|
-
});
|
|
394
|
-
});
|
|
395
|
-
});
|
|
396
|
-
</script>
|
|
397
|
-
<script type="module">
|
|
398
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
399
|
-
const form = document.querySelector('form');
|
|
400
|
-
|
|
401
|
-
form.addEventListener('submit', event => {
|
|
402
|
-
event.preventDefault();
|
|
403
|
-
|
|
404
|
-
/* TODO: Show success message on form */
|
|
405
|
-
alert('Form was not submitted, because this is an incomplete demo.');
|
|
406
|
-
});
|
|
407
|
-
});
|
|
408
|
-
</script>
|
|
1
|
+
{{> @form class=classNames selectors=selectors message=message }}
|
|
@@ -1,176 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
@import url("
|
|
3
|
-
@import url("
|
|
1
|
+
/* FAQ: c-form.css styles s-form and django-cms-forms */
|
|
2
|
+
@import url("./c-form.css");
|
|
3
|
+
@import url("./c-form--cms.css");
|
|
4
4
|
|
|
5
5
|
@import url("./django-cms-forms.hacks.css");
|
|
6
|
-
@import url("./django-cms-forms--errors-via-c-message.css");
|
|
7
6
|
|
|
7
|
+
/* No other styles necessary, because c-form supports s-form selectors */
|
|
8
|
+
/* SEE ../components/c-form.css */
|
|
9
|
+
/* SEE: ../tools/selectors.form.css */
|
|
8
10
|
|
|
11
|
+
@custom-selector :--cms-form__field--no-checkbox
|
|
12
|
+
.field-wrapper:where(:not(.checkboxinput));
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.description {
|
|
13
|
-
margin-block: 25px;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
/* Help Text */
|
|
19
|
-
|
|
20
|
-
.help-text {
|
|
21
|
-
font-size: var(--global-font-size--small);
|
|
22
|
-
font-style: italic;
|
|
23
|
-
}
|
|
24
|
-
:not(
|
|
25
|
-
ul, /* FAQ: Lists already have margin-bottom */
|
|
26
|
-
label /* FAQ: Labels already have margin-bottom */
|
|
27
|
-
) + .help-text {
|
|
28
|
-
margin-top: 0.3em; /* mimic Bootstrap _reboot.css label margin-bottom */
|
|
29
|
-
}
|
|
30
|
-
/* To prevent help text font-style from affecting any tags */
|
|
31
|
-
/* FAQ: Help text can contain inline elements like <samp> */
|
|
32
|
-
/* FAQ: Help text can be (ab)used to add headings between form fields */
|
|
33
|
-
.help-text > :not(details, a, samp) {
|
|
34
|
-
font-style: initial;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/* Fields */
|
|
40
|
-
|
|
41
|
-
.field-wrapper {
|
|
42
|
-
margin-bottom: 2rem; /* mimic <p> `margin-bottom` */
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.field-wrapper:not(.checkboxinput) {
|
|
14
|
+
:--cms-form__field--no-checkbox {
|
|
46
15
|
display: flex;
|
|
47
16
|
flex-direction: column;
|
|
17
|
+
width: max-content;
|
|
48
18
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.field-wrapper.checkboxinput {
|
|
54
|
-
display: inline-grid;
|
|
55
|
-
|
|
56
|
-
column-gap: 0.5em;
|
|
57
|
-
align-items: center;
|
|
58
|
-
grid-template-columns: min-content auto; /* shrink input, let label extend */
|
|
59
|
-
grid-template-areas:
|
|
60
|
-
'error _____'
|
|
61
|
-
'input label'
|
|
62
|
-
'notes notes';
|
|
63
|
-
}
|
|
64
|
-
.field-wrapper.checkboxinput .field-errors { grid-area: error; }
|
|
65
|
-
.field-wrapper.checkboxinput input { grid-area: input; }
|
|
66
|
-
.field-wrapper.checkboxinput label { grid-area: label; }
|
|
67
|
-
.field-wrapper.checkboxinput .help-text { grid-area: notes; }
|
|
68
|
-
.field-wrapper.checkboxinput label {
|
|
69
|
-
margin-bottom: 0; /* overwrite forms.css label */
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
ul.radioselect label,
|
|
73
|
-
ul.checkboxselectmultiple label {
|
|
74
|
-
display: flex;
|
|
75
|
-
gap: 0.5em;
|
|
76
|
-
align-items: center;
|
|
77
|
-
font-weight: revert; /* undo html-elements.cms.css */
|
|
78
|
-
}
|
|
79
|
-
ul.radioselect li:last-child label,
|
|
80
|
-
ul.checkboxselectmultiple li:last-child label {
|
|
81
|
-
margin-bottom: 0; /* overwrite forms.css label */
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/* Field: Required, Asterisk, Important */
|
|
85
|
-
|
|
86
|
-
.field-wrapper .asterisk {
|
|
87
|
-
margin-left: 0.5em;
|
|
88
|
-
}
|
|
89
|
-
.field-wrapper.required .asterisk {
|
|
90
|
-
color: var(--global-color-danger--dark);
|
|
91
|
-
}
|
|
92
|
-
.field-wrapper:not(.required) .asterisk
|
|
93
|
-
/* NOTE: Manual markup ONLY; form plugin can't render non-required asterisk */ {
|
|
94
|
-
color: var(--global-color-warning--dark);
|
|
95
|
-
}
|
|
96
|
-
/* To replace asterisk character with text */
|
|
97
|
-
.field-wrapper .asterisk {
|
|
98
|
-
width: 0;
|
|
99
|
-
display: inline-block;
|
|
100
|
-
visibility: hidden;
|
|
101
|
-
line-height: 0;
|
|
102
|
-
}
|
|
103
|
-
.field-wrapper .asterisk::after {
|
|
104
|
-
visibility: visible;
|
|
105
|
-
line-height: initial;
|
|
106
|
-
}
|
|
107
|
-
.field-wrapper.required .asterisk::after {
|
|
108
|
-
content: '(required)';
|
|
109
|
-
}
|
|
110
|
-
.field-wrapper:not(.required) .asterisk::after
|
|
111
|
-
/* NOTE: Manual markup ONLY; form plugin can't render non-required asterisk */ {
|
|
112
|
-
content: '(important)';
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
/* Errors */
|
|
118
|
-
|
|
119
|
-
.field-errors ul {
|
|
120
|
-
margin-top: 1rem; /* mimic ul margin-bottom */
|
|
121
|
-
}
|
|
122
|
-
.form-errors ul,
|
|
123
|
-
.field-errors ul {
|
|
124
|
-
margin-bottom: 0; /* overwrite ul margin-bottom */
|
|
125
|
-
}
|
|
126
|
-
.form-errors {
|
|
127
|
-
margin-bottom: 1rem; /* mimic ul margin-bottom */
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.form-errors ul,
|
|
131
|
-
.field-errors ul {
|
|
132
|
-
list-style: none;
|
|
133
|
-
padding-inline: 0;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
/* Lists */
|
|
139
|
-
|
|
140
|
-
ul.radioselect,
|
|
141
|
-
ul.checkboxselectmultiple {
|
|
142
|
-
list-style: none;
|
|
143
|
-
|
|
144
|
-
padding-left: 0;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
/* Layout */
|
|
150
|
-
|
|
151
|
-
.button-wrapper {
|
|
152
|
-
margin-top: 35px;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
/* Button */
|
|
158
|
-
|
|
159
|
-
/* To style obvious buttons that neglect class */
|
|
160
|
-
.button-wrapper button[type="submit"] {
|
|
161
|
-
@extend :--c-button;
|
|
162
|
-
@extend :--c-button--primary;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
.form-button {
|
|
166
|
-
@extend :--c-button;
|
|
167
|
-
}
|
|
168
|
-
.form-button[type="submit"] {
|
|
169
|
-
@extend :--c-button--primary;
|
|
170
|
-
}
|
|
171
|
-
.form-button:where(:not([type="submit"], [type="reset"])) {
|
|
172
|
-
@extend :--c-button--secondary;
|
|
173
|
-
}
|
|
174
|
-
.form-button[type="reset"] {
|
|
175
|
-
@extend :--c-button--tertiary;
|
|
176
|
-
}
|
|
19
|
+
:--cms-form__field--no-checkbox > .field-errors { order: 1; }
|
|
20
|
+
:--cms-form__field--no-checkbox > .help-text { order: 2; }
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
@custom-selector :--cms-form
|
|
2
|
+
.forms;
|
|
3
|
+
|
|
4
|
+
@custom-selector :--cms-form__title
|
|
5
|
+
.title;
|
|
6
|
+
@custom-selector :--cms-form__desc
|
|
7
|
+
.description;
|
|
8
|
+
|
|
9
|
+
@custom-selector :--cms-form__errors
|
|
10
|
+
:where(.form-errors, .field-errors);
|
|
11
|
+
@custom-selector :--cms-form__errors_list
|
|
12
|
+
.errorlist;
|
|
13
|
+
@custom-selector :--cms-form__errors--form /* submission errors */
|
|
14
|
+
:where(.form-errors .errorlist);
|
|
15
|
+
@custom-selector :--cms-form__errors--field /* validation errors */
|
|
16
|
+
:where(.field-errors .errorlist);
|
|
17
|
+
|
|
18
|
+
@custom-selector :--cms-form__field
|
|
19
|
+
.field-wrapper;
|
|
20
|
+
@custom-selector :--cms-form__field--has-required
|
|
21
|
+
:--cms-form__field.required;
|
|
22
|
+
@custom-selector :--cms-form__field--has-checkbox
|
|
23
|
+
:--cms-form__field.checkboxinput;
|
|
24
|
+
|
|
25
|
+
@custom-selector :--cms-form__menu
|
|
26
|
+
:where(.radioselect, .checkboxselectmultiple);
|
|
27
|
+
|
|
28
|
+
@custom-selector :--cms-form__help
|
|
29
|
+
.help-text;
|
|
30
|
+
|
|
31
|
+
@custom-selector :--cms-form__badge
|
|
32
|
+
.asterisk;
|
|
33
|
+
|
|
34
|
+
@custom-selector :--cms-form__buttons
|
|
35
|
+
.button-wrapper;
|
|
36
|
+
@custom-selector :--cms-form__button
|
|
37
|
+
.form_button;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
.tabbed-set > label {
|
|
15
15
|
@extend .x-tabs__tab;
|
|
16
16
|
|
|
17
|
-
margin-bottom: unset; /* overwrite form.
|
|
17
|
+
margin-bottom: unset; /* overwrite form.css which core-style.docs loads */
|
|
18
18
|
}
|
|
19
19
|
.tabbed-set > label:hover {
|
|
20
20
|
@extend .x-tabs__tab--hover;
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
@import url("./elements/root.css");
|
|
19
19
|
/* NOTE: Load generic html-elements.css before specific elements/….css */
|
|
20
20
|
@import url("./elements/html-elements.css");
|
|
21
|
+
@import url("./elements/form.css");
|
|
21
22
|
@import url("./elements/links.css");
|
|
22
23
|
@import url("./elements/table.css");
|
|
23
24
|
|
|
@@ -44,6 +45,8 @@
|
|
|
44
45
|
@import url("./components/c-tag.css");
|
|
45
46
|
|
|
46
47
|
/* TRUMPS */
|
|
48
|
+
@import url("./trumps/s-affixed-input-wrapper.css");
|
|
49
|
+
@import url("./trumps/s-form.css");
|
|
47
50
|
@import url("./trumps/s-blockquote.css");
|
|
48
51
|
@import url("./trumps/s-breadcrumbs.css");
|
|
49
52
|
@import url("./trumps/s-footer.css");
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
@import url("./elements/html-elements.cms.css");
|
|
21
21
|
@import url("./elements/headings--cms.css");
|
|
22
22
|
@import url("./elements/monospace.css");
|
|
23
|
-
@import url("./elements/form.cms.css");
|
|
24
23
|
@import url("./elements/table.cms.css");
|
|
25
24
|
|
|
26
25
|
/* OBJECTS */
|
|
@@ -43,7 +42,6 @@
|
|
|
43
42
|
@import url("./components/c-card--frontera-about-page.css");
|
|
44
43
|
|
|
45
44
|
/* TRUMPS */
|
|
46
|
-
@import url("./trumps/s-affixed-input-wrapper.css");
|
|
47
45
|
/* To explain the in-limbo Core-CMS doc page styles */
|
|
48
46
|
/* FAQ: Commented out because Core-CMS doc pages load these directly */
|
|
49
47
|
/* IMPORTANT: If CMS docs are moved to TACC-Docs, then kill these stylesheets */
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
|
|
15
15
|
/* ELEMENTS */
|
|
16
16
|
@import url("./elements/root--docs.css");
|
|
17
|
-
@import url("./elements/form.cms.css");
|
|
18
17
|
@import url("./elements/html-elements.cms.css");
|
|
19
18
|
@import url("./elements/html-elements.docs.css");
|
|
20
19
|
@import url("./elements/headings--docs.css");
|