@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
|
@@ -17,17 +17,25 @@ label {
|
|
|
17
17
|
font-weight: var(--medium);
|
|
18
18
|
|
|
19
19
|
line-height: normal;
|
|
20
|
-
margin-bottom: 0.75em;
|
|
21
20
|
}
|
|
22
21
|
/* To avoid extra space between field wrappers */
|
|
23
22
|
/* FAQ: The known use case is a django.cms.forms `.checkboxselectmultiple` */
|
|
24
23
|
li > label:only-child {
|
|
25
24
|
margin-bottom: unset;
|
|
26
25
|
}
|
|
27
|
-
/* To avoid inline labels for raw form elements */
|
|
26
|
+
/* To avoid inline labels for (most) raw form elements */
|
|
28
27
|
/* FAQ: Any specific form styling (e.g. django.cms.forms) manages this */
|
|
29
|
-
:not(
|
|
28
|
+
label:not(
|
|
29
|
+
input[type="checkbox"] + *, /* so checkbox labels are still inline */
|
|
30
|
+
:is(ul, menu) * /* so menus of radios or checkboxes are still inline */
|
|
31
|
+
) {
|
|
30
32
|
display: block;
|
|
33
|
+
margin-bottom: 0.75em;
|
|
34
|
+
}
|
|
35
|
+
/* To avoid extra space between label and list of inputs */
|
|
36
|
+
label + :is(ul, menu),
|
|
37
|
+
.checkboxinput .errorlist /* django-cms-forms */ {
|
|
38
|
+
margin-top: unset;
|
|
31
39
|
}
|
|
32
40
|
|
|
33
41
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@import url("../tools/selectors.css");
|
|
2
|
+
@import url("../tools/selectors.form.css");
|
|
2
3
|
|
|
3
4
|
/* To scope these styles to main content (i.e. not header, not navbar) */
|
|
4
5
|
:where(:--main-content) {
|
|
@@ -56,6 +57,8 @@ Styleguide Elements.TextContent
|
|
|
56
57
|
& :is(
|
|
57
58
|
ol, ul,
|
|
58
59
|
dl dl /* Treat nested definition lists like other nested lists */
|
|
60
|
+
):not(
|
|
61
|
+
:--form *
|
|
59
62
|
) {
|
|
60
63
|
padding-left: var(--global-space--list-indent);
|
|
61
64
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
@import url("../components/c-form.selectors.css");
|
|
2
|
+
@import url("../components/django-cms-forms.selectors.css");
|
|
3
|
+
@import url("../trumps/s-form.selectors.css");
|
|
4
|
+
|
|
5
|
+
@custom-selector :--form
|
|
6
|
+
:--c-form,
|
|
7
|
+
:--s-form,
|
|
8
|
+
:--cms-form;
|
|
9
|
+
|
|
10
|
+
@custom-selector :--form__title
|
|
11
|
+
:--c-form__title,
|
|
12
|
+
:--s-form__title,
|
|
13
|
+
:--cms-form__title;
|
|
14
|
+
@custom-selector :--form__desc
|
|
15
|
+
:--c-form__desc,
|
|
16
|
+
:--s-form__desc,
|
|
17
|
+
:--cms-form__desc;
|
|
18
|
+
|
|
19
|
+
@custom-selector :--form__errors /* errors container (maybe not the list) */
|
|
20
|
+
:--c-form__errors,
|
|
21
|
+
:--s-form__errors,
|
|
22
|
+
:--cms-form__errors;
|
|
23
|
+
@custom-selector :--form__errors_list /* list of errors (maybe not container) */
|
|
24
|
+
:--c-form__errors_list,
|
|
25
|
+
:--s-form__errors_list,
|
|
26
|
+
:--cms-form__errors_list;
|
|
27
|
+
@custom-selector :--form__errors--form /* submission errors */
|
|
28
|
+
:--c-form__errors--form,
|
|
29
|
+
:--s-form__errors--form,
|
|
30
|
+
:--cms-form__errors--form;
|
|
31
|
+
@custom-selector :--form__errors--field /* validation errors */
|
|
32
|
+
:--c-form__errors--field,
|
|
33
|
+
:--s-form__errors--field,
|
|
34
|
+
:--cms-form__errors--field;
|
|
35
|
+
|
|
36
|
+
@custom-selector :--form__field
|
|
37
|
+
:--c-form__field,
|
|
38
|
+
:--s-form__field,
|
|
39
|
+
:--cms-form__field;
|
|
40
|
+
@custom-selector :--form__field--has-required
|
|
41
|
+
:--c-form__field--has-required,
|
|
42
|
+
:--s-form__field--has-required,
|
|
43
|
+
:--cms-form__field--has-required;
|
|
44
|
+
@custom-selector :--form__field--has-checkbox
|
|
45
|
+
:--c-form__field--has-checkbox,
|
|
46
|
+
:--s-form__field--has-checkbox,
|
|
47
|
+
:--cms-form__field--has-checkbox;
|
|
48
|
+
|
|
49
|
+
@custom-selector :--form__menu
|
|
50
|
+
:--c-form__menu,
|
|
51
|
+
:--s-form__menu,
|
|
52
|
+
:--cms-form__menu;
|
|
53
|
+
|
|
54
|
+
@custom-selector :--form__help
|
|
55
|
+
:--c-form__help,
|
|
56
|
+
:--s-form__help,
|
|
57
|
+
:--cms-form__help;
|
|
58
|
+
|
|
59
|
+
@custom-selector :--form__badge
|
|
60
|
+
:--c-form__badge,
|
|
61
|
+
:--s-form__badge,
|
|
62
|
+
:--cms-form__badge;
|
|
63
|
+
|
|
64
|
+
@custom-selector :--form__buttons
|
|
65
|
+
:--c-form__buttons,
|
|
66
|
+
:--s-form__buttons,
|
|
67
|
+
:--cms-form__buttons;
|
|
68
|
+
@custom-selector :--form__button
|
|
69
|
+
:--c-form__button,
|
|
70
|
+
:--s-form__button,
|
|
71
|
+
:--cms-form__button;
|
|
@@ -5,11 +5,13 @@ _This is an isolated feature from [Bootstrap Input Group](https://getbootstrap.c
|
|
|
5
5
|
**Use Cases**
|
|
6
6
|
|
|
7
7
|
- [APCD](https://apcd-qa.tacc.utexas.edu/register/request-to-submit) "Total Claims Value"
|
|
8
|
+
- [Core Portal](https://github.com/TACC/Core-Portal) to replace [Bootstrap `.input-group`](https://getbootstrap.com/docs/4.0/components/input-group/)*
|
|
9
|
+
|
|
10
|
+
<small>* Bootstrap `.input-group` requires extra markup, which can make it cumbersome to combine React JSX components without the components having "external knowledge".</small>
|
|
8
11
|
|
|
9
12
|
**Known Bugs**
|
|
10
13
|
|
|
11
|
-
1.
|
|
12
|
-
2. A `s-affixed-input-wrapper__suffix` overlaps with browser controls e.g.
|
|
14
|
+
1. A `s-affixed-input-wrapper__suffix` overlaps with browser controls e.g.
|
|
13
15
|
- `<input type="number">` arrows
|
|
14
16
|
- `<input type="date">` calendar
|
|
15
17
|
- `<input type="time">` clock
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<div class="
|
|
2
|
+
s-affixed-input-wrapper s-affixed-input-wrapper--{{modifier}}
|
|
3
|
+
{{#if is-full-width}}s-affixed-input-wrapper--full-width{{/if}}
|
|
4
|
+
">
|
|
5
|
+
<label for="field-dollars">How many dollars do you have?</label>
|
|
6
|
+
<span class="s-affixed-input-wrapper__{{modifier}}">$</span>
|
|
7
|
+
<input
|
|
8
|
+
type="number"
|
|
9
|
+
name="dollars"
|
|
10
|
+
id="field-dollars"
|
|
11
|
+
inputmode="numeric"
|
|
12
|
+
step="0.01"
|
|
13
|
+
min="0.01"
|
|
14
|
+
/>
|
|
15
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<div class="
|
|
2
|
+
s-affixed-input-wrapper s-affixed-input-wrapper--{{modifier}}
|
|
3
|
+
{{#if is-full-width}}s-affixed-input-wrapper--full-width{{/if}}
|
|
4
|
+
">
|
|
5
|
+
<label for="text-to-copy-{{modifier}}">Text to Copy</label>
|
|
6
|
+
<button
|
|
7
|
+
class="s-affixed-input-wrapper__{{modifier}} c-button c-button--size-small"
|
|
8
|
+
data-copy-target="text-to-copy-{{modifier}}"
|
|
9
|
+
>
|
|
10
|
+
Copy
|
|
11
|
+
</button>
|
|
12
|
+
<input id="text-to-copy-{{modifier}}" name="text-{{modifier}}" />
|
|
13
|
+
</div>
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
label: (CMS) S Affixed Input Wrapper
|
|
2
1
|
context:
|
|
3
2
|
shouldLoadCMS: true
|
|
4
3
|
📝 shouldLoadBootstrap: temporary dependence, until proven to work on Portal
|
|
4
|
+
variants:
|
|
5
|
+
- name: default
|
|
6
|
+
hidden: true
|
|
7
|
+
- name: prefix-and-suffix
|
|
8
|
+
label: Prefix & Suffix
|
|
9
|
+
status: wip
|
|
10
|
+
- name: prepend-and-append
|
|
11
|
+
label: Prepend & Append
|
|
12
|
+
status: prototype
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<dl>
|
|
2
|
+
<dt>Prefix</dt>
|
|
3
|
+
<dl>
|
|
4
|
+
<dt>Auto-Width Input</dt>
|
|
5
|
+
<dd>
|
|
6
|
+
{{> @s-affixed-input-wrapper--affix modifier="prefix" }}
|
|
7
|
+
</dd>
|
|
8
|
+
<dt>Static-Width Input</dt>
|
|
9
|
+
<dd class="demo-static-width">
|
|
10
|
+
{{> @s-affixed-input-wrapper--affix modifier="prefix" }}
|
|
11
|
+
</dd>
|
|
12
|
+
<dt>Full-Width Input</dt>
|
|
13
|
+
<dd>
|
|
14
|
+
{{> @s-affixed-input-wrapper--affix modifier="prefix" is-full-width=true }}
|
|
15
|
+
</dd>
|
|
16
|
+
</dl>
|
|
17
|
+
<dt>Suffix</dt>
|
|
18
|
+
<dl>
|
|
19
|
+
<dt>Auto-Width Input</dt>
|
|
20
|
+
<dd>
|
|
21
|
+
{{> @s-affixed-input-wrapper--affix modifier="suffix" }}
|
|
22
|
+
</dd>
|
|
23
|
+
<dt>Static-Width Input</dt>
|
|
24
|
+
<dd class="demo-static-width">
|
|
25
|
+
{{> @s-affixed-input-wrapper--affix modifier="suffix" }}
|
|
26
|
+
</dd>
|
|
27
|
+
<dt>Full-Width Input</dt>
|
|
28
|
+
<dd>
|
|
29
|
+
{{> @s-affixed-input-wrapper--affix modifier="suffix" is-full-width=true }}
|
|
30
|
+
</dd>
|
|
31
|
+
</dl>
|
|
32
|
+
</dl>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<dl>
|
|
2
|
+
<dt>Prepend</dt>
|
|
3
|
+
<dl>
|
|
4
|
+
<dt>Auto-Width Input</dt>
|
|
5
|
+
<dd>
|
|
6
|
+
{{> @s-affixed-input-wrapper--end modifier="prepend" }}
|
|
7
|
+
</dd>
|
|
8
|
+
<dt>Static-Width Input</dt>
|
|
9
|
+
<dd class="demo-static-width">
|
|
10
|
+
{{> @s-affixed-input-wrapper--end modifier="prepend" }}
|
|
11
|
+
</dd>
|
|
12
|
+
<dt>Full-Width Input</dt>
|
|
13
|
+
<dd>
|
|
14
|
+
{{> @s-affixed-input-wrapper--end modifier="prepend" is-full-width=true }}
|
|
15
|
+
</dd>
|
|
16
|
+
</dl>
|
|
17
|
+
<dt>Append</dt>
|
|
18
|
+
<dl>
|
|
19
|
+
<dt>Auto-Width Input</dt>
|
|
20
|
+
<dd>
|
|
21
|
+
{{> @s-affixed-input-wrapper--end modifier="append" }}
|
|
22
|
+
</dd>
|
|
23
|
+
<dt>Static-Width Input</dt>
|
|
24
|
+
<dd class="demo-static-width">
|
|
25
|
+
{{> @s-affixed-input-wrapper--end modifier="append" }}
|
|
26
|
+
</dd>
|
|
27
|
+
<dt>Full-Width Input</dt>
|
|
28
|
+
<dd>
|
|
29
|
+
{{> @s-affixed-input-wrapper--end modifier="append" is-full-width=true }}
|
|
30
|
+
</dd>
|
|
31
|
+
</dl>
|
|
32
|
+
</dl>
|
|
33
|
+
<script>
|
|
34
|
+
const copyButtons = document.querySelectorAll('[data-copy-target]');
|
|
35
|
+
|
|
36
|
+
[ ...copyButtons ].forEach( button => button.addEventListener('click', event => {
|
|
37
|
+
const textFieldId = event.srcElement.dataset.copyTarget
|
|
38
|
+
const textField = document.getElementById( textFieldId );
|
|
39
|
+
const text = textField.value;
|
|
40
|
+
|
|
41
|
+
navigator.clipboard.writeText( text );
|
|
42
|
+
}));
|
|
43
|
+
</script>
|
|
@@ -1,32 +1 @@
|
|
|
1
|
-
|
|
2
|
-
<dt>Prefix</dt>
|
|
3
|
-
<dd>
|
|
4
|
-
<div class="s-affixed-input-wrapper s-affixed-input-wrapper--prefix">
|
|
5
|
-
<label for="field-dollars">How many dollars to you have?</label>
|
|
6
|
-
<span class="s-affixed-input-wrapper__prefix">$</span>
|
|
7
|
-
<input
|
|
8
|
-
type="number"
|
|
9
|
-
name="dollars"
|
|
10
|
-
id="field-dollars"
|
|
11
|
-
inputmode="numeric"
|
|
12
|
-
step="0.01"
|
|
13
|
-
min="0.01"
|
|
14
|
-
/>
|
|
15
|
-
</div>
|
|
16
|
-
</dd>
|
|
17
|
-
<dt>Suffix</dt>
|
|
18
|
-
<dd>
|
|
19
|
-
<div class="s-affixed-input-wrapper s-affixed-input-wrapper--suffix">
|
|
20
|
-
<label for="field-usd">How many US Dollars to you have?</label>
|
|
21
|
-
<input
|
|
22
|
-
type="number"
|
|
23
|
-
name="usd"
|
|
24
|
-
id="field-usd"
|
|
25
|
-
inputmode="numeric"
|
|
26
|
-
step="0.01"
|
|
27
|
-
min="0.01"
|
|
28
|
-
/>
|
|
29
|
-
<span class="s-affixed-input-wrapper__suffix">$</span>
|
|
30
|
-
</div>
|
|
31
|
-
</dd>
|
|
32
|
-
</dl>
|
|
1
|
+
<!-- SEE: s-affixed-input-wrapper--… -->
|
|
@@ -1,60 +1,127 @@
|
|
|
1
|
-
|
|
1
|
+
@import url("../tools/selectors.form.css");
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/* Grid */
|
|
4
|
+
|
|
5
|
+
.s-affixed-input-wrapper:where(:not(
|
|
4
6
|
.checkboxinput, .has-type-check
|
|
5
7
|
.radio, .has-type-radio
|
|
6
8
|
.select, .has-type-select
|
|
7
9
|
.checkboxselectmultiple, .has-select
|
|
8
10
|
.textarea, .has-textarea
|
|
9
|
-
) {
|
|
11
|
+
)) {
|
|
10
12
|
display: grid;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* Grid: Cells */
|
|
16
|
+
|
|
17
|
+
.s-affixed-input-wrapper label { grid-area: label; }
|
|
18
|
+
.s-affixed-input-wrapper input { grid-area: input; }
|
|
19
|
+
.s-affixed-input-wrapper .help-text /* for Django CMS */,
|
|
20
|
+
.s-affixed-input-wrapper :--form__help { grid-area: help; }
|
|
21
|
+
.s-affixed-input-wrapper .field-errors /* for Django CMS */,
|
|
22
|
+
.s-affixed-input-wrapper :--form__errors { grid-area: error; }
|
|
23
|
+
|
|
24
|
+
/* To render element atop input */
|
|
25
|
+
.s-affixed-input-wrapper__prepend,
|
|
26
|
+
.s-affixed-input-wrapper__append,
|
|
27
|
+
.s-affixed-input-wrapper__prefix,
|
|
28
|
+
.s-affixed-input-wrapper__suffix {
|
|
29
|
+
position: relative;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* Grid: Prepend & Append */
|
|
33
|
+
|
|
34
|
+
/* To layout prefix and suffix beside input */
|
|
35
|
+
.s-affixed-input-wrapper--prepend,
|
|
36
|
+
.s-affixed-input-wrapper--append {
|
|
37
|
+
grid-template-areas:
|
|
38
|
+
"label label label"
|
|
39
|
+
var(--input-area)
|
|
40
|
+
"help help help"
|
|
41
|
+
"error error error";
|
|
42
|
+
}
|
|
43
|
+
.s-affixed-input-wrapper__prepend { grid-area: prepend; }
|
|
44
|
+
.s-affixed-input-wrapper__append { grid-area: append; }
|
|
45
|
+
.s-affixed-input-wrapper--append { --input-area: "input append _____"; }
|
|
46
|
+
.s-affixed-input-wrapper--prepend { --input-area: "prepend input _____"; }
|
|
47
|
+
|
|
48
|
+
/* To shrink input area to match input width */
|
|
49
|
+
.s-affixed-input-wrapper--prepend:where(:not([class*="--full-width"])) {
|
|
50
|
+
grid-template-columns: auto auto 1fr; /* to stretch empty space right of input */
|
|
51
|
+
}
|
|
52
|
+
.s-affixed-input-wrapper--append:where(:not([class*="--full-width"])) {
|
|
53
|
+
grid-template-columns: auto auto 1fr; /* to stretch empty space right of input */
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* To stretch input to full width */
|
|
57
|
+
.s-affixed-input-wrapper--prepend.s-affixed-input-wrapper--full-width {
|
|
58
|
+
grid-template-columns: auto 1fr auto; /* to shrink empty space right of input */
|
|
59
|
+
}
|
|
60
|
+
.s-affixed-input-wrapper--append.s-affixed-input-wrapper--full-width {
|
|
61
|
+
grid-template-columns: 1fr auto auto; /* to shrink empty space right of input */
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Grid: Prefix & Suffix */
|
|
65
|
+
|
|
66
|
+
/* To layout prefix and suffix within input (and before an empty cell) */
|
|
67
|
+
/* FAQ: Empty cell adjusts, or is adjusted to, the width of input field */
|
|
68
|
+
.s-affixed-input-wrapper--prefix,
|
|
69
|
+
.s-affixed-input-wrapper--suffix {
|
|
13
70
|
grid-template-areas:
|
|
14
71
|
"label label"
|
|
15
|
-
|
|
72
|
+
"input _____"
|
|
16
73
|
"help help"
|
|
17
74
|
"error error";
|
|
18
75
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
.s-affixed-input-wrapper:has(.s-affixed-input-wrapper__suffix) {
|
|
24
|
-
--input-row: "input suffix";
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
@supports not selector(:has(*)) {
|
|
28
|
-
.s-affixed-input-wrapper--prefix {
|
|
29
|
-
--input-row: "prefix input";
|
|
30
|
-
}
|
|
31
|
-
.s-affixed-input-wrapper--suffix {
|
|
32
|
-
--input-row: "input suffix";
|
|
33
|
-
}
|
|
76
|
+
.s-affixed-input-wrapper__prefix,
|
|
77
|
+
.s-affixed-input-wrapper__suffix {
|
|
78
|
+
grid-area: input;
|
|
34
79
|
}
|
|
35
|
-
.s-affixed-input-wrapper label { grid-area: label; }
|
|
36
|
-
.s-affixed-input-wrapper input { grid-area: input; }
|
|
37
|
-
.s-affixed-input-wrapper__prefix { grid-area: prefix; }
|
|
38
|
-
.s-affixed-input-wrapper__suffix { grid-area: suffix; }
|
|
39
|
-
.s-affixed-input-wrapper .help-text,
|
|
40
|
-
.s-affixed-input-wrapper .c-form__help { grid-area: help; }
|
|
41
|
-
.s-affixed-input-wrapper .field-errors,
|
|
42
|
-
.s-affixed-input-wrapper .c-form__errors { grid-area: error; }
|
|
43
80
|
|
|
81
|
+
/* To shrink input area to match input width */
|
|
82
|
+
.s-affixed-input-wrapper--prefix:where(:not([class*="--full-width"])),
|
|
83
|
+
.s-affixed-input-wrapper--suffix:where(:not([class*="--full-width"])) {
|
|
84
|
+
grid-template-columns: auto 1fr; /* to stretch empty space right of input */
|
|
85
|
+
}
|
|
44
86
|
|
|
87
|
+
/* To stretch input to full width */
|
|
88
|
+
.s-affixed-input-wrapper--prefix.s-affixed-input-wrapper--full-width,
|
|
89
|
+
.s-affixed-input-wrapper--suffix.s-affixed-input-wrapper--full-width {
|
|
90
|
+
grid-template-columns: 1fr auto; /* to shrink empty space right of input */
|
|
91
|
+
}
|
|
45
92
|
|
|
46
|
-
/*
|
|
93
|
+
/* To position prefix and suffix */
|
|
94
|
+
/* FAQ: Prefix has `justify-self: start` by default, but to see it is clearer */
|
|
95
|
+
.s-affixed-input-wrapper__prefix { justify-self: start; }
|
|
96
|
+
.s-affixed-input-wrapper__suffix { justify-self: end; }
|
|
47
97
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
/* Prepnd & Append */
|
|
101
|
+
|
|
102
|
+
.s-affixed-input-wrapper__prepend,
|
|
103
|
+
.s-affixed-input-wrapper__append {
|
|
104
|
+
/* To make this element's border visible, not the input */
|
|
105
|
+
position: relative; /* FAQ: auto z-index bump moves element atop field */
|
|
106
|
+
}
|
|
107
|
+
.s-affixed-input-wrapper__prepend {
|
|
108
|
+
margin-right: calc( -1 * var(--global-border-width--normal) );
|
|
109
|
+
}
|
|
110
|
+
.s-affixed-input-wrapper__append {
|
|
111
|
+
margin-left: calc( -1 * var(--global-border-width--normal) );
|
|
52
112
|
}
|
|
53
113
|
|
|
54
114
|
|
|
55
115
|
|
|
56
116
|
/* Prefix & Suffix */
|
|
57
117
|
|
|
118
|
+
.s-affixed-input-wrapper--prefix,
|
|
119
|
+
.s-affixed-input-wrapper--suffix {
|
|
120
|
+
--width: 1em;
|
|
121
|
+
--padding-vert: 5px; /* mimic input */
|
|
122
|
+
--padding-horz: 10px; /* mimic input */
|
|
123
|
+
}
|
|
124
|
+
|
|
58
125
|
.s-affixed-input-wrapper__prefix,
|
|
59
126
|
.s-affixed-input-wrapper__suffix {
|
|
60
127
|
/* To mimic shape of an input */
|
|
@@ -74,19 +141,13 @@
|
|
|
74
141
|
font-family: var(--global-font-family--sans--portal);
|
|
75
142
|
}
|
|
76
143
|
|
|
77
|
-
/* To render <span> atop and (as if) within input */
|
|
78
|
-
.s-affixed-input-wrapper__prefix {
|
|
79
|
-
position: relative;
|
|
80
|
-
top: var(--global-border-width--normal);
|
|
81
|
-
left: var(--global-border-width--normal);
|
|
82
|
-
margin-right: calc(-1 * var(--width) - var(--padding-horz) * 2);
|
|
83
|
-
}
|
|
84
|
-
.s-affixed-input-wrapper__suffix {
|
|
85
|
-
position: relative;
|
|
86
|
-
top: var(--global-border-width--normal);
|
|
87
|
-
right: var(--global-border-width--normal);
|
|
88
|
-
margin-left: calc(-1 * var(--width) - var(--padding-horz) * 2);
|
|
89
|
-
}
|
|
90
144
|
.s-affixed-input-wrapper__prefix + input {
|
|
91
145
|
text-indent: calc(var(--width) + var(--padding-horz));
|
|
92
146
|
}
|
|
147
|
+
|
|
148
|
+
/* To NOT stretch input to match width of wider label */
|
|
149
|
+
/* FAQ: Using `:where()` to reduce specificity */
|
|
150
|
+
.s-affixed-input-wrapper--prefix:where(:not([class*="--full-width"])) input,
|
|
151
|
+
.s-affixed-input-wrapper--suffix:where(:not([class*="--full-width"])) input {
|
|
152
|
+
width: fit-content;
|
|
153
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
context:
|
|
2
|
+
helpTextTag: small
|
|
3
|
+
inputListTag: menu
|
|
4
|
+
selectors:
|
|
5
|
+
errorList: :where(.s-form > ul), :where(.s-form > div > ul)
|
|
6
|
+
wrap: :where(.s-form > div)
|
|
7
|
+
classNames:
|
|
8
|
+
root: s-form
|
|
9
|
+
has_required: has-required
|
|
10
|
+
has_checkbox: has-type-check
|
|
11
|
+
has_spam_filter: has-spam-check
|
|
12
|
+
variants:
|
|
13
|
+
- name: default
|
|
14
|
+
status: wip
|
|
15
|
+
- name: portal
|
|
16
|
+
status: wip
|
|
17
|
+
context:
|
|
18
|
+
shouldLoadPortal: true
|
|
19
|
+
- name: cms
|
|
20
|
+
label: CMS
|
|
21
|
+
status: wip
|
|
22
|
+
context:
|
|
23
|
+
shouldLoadCMS: true
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
To style when mostly raw [Form elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element#table_content) are sufficient.
|
|
2
|
+
|
|
3
|
+
<script>
|
|
4
|
+
/* To open external links in new window */
|
|
5
|
+
Array.from(document.links)
|
|
6
|
+
.filter(link => link.hostname != window.location.hostname)
|
|
7
|
+
.forEach(link => link.target = '_blank');
|
|
8
|
+
</script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{> @form class=classNames selectors=selectors message=message }}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import url("../components/c-form--cms.css");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import url("../components/c-form--portal.css");
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
@custom-selector :--s-form
|
|
2
|
+
.s-form;
|
|
3
|
+
|
|
4
|
+
@custom-selector :--s-form__desc
|
|
5
|
+
:where(.s-form > :is(h1, h2, h3, h4, h5, h6) + p);
|
|
6
|
+
@custom-selector :--s-form__title
|
|
7
|
+
:where(.s-form > :is(h1, h2, h3, h4, h5, h6));
|
|
8
|
+
|
|
9
|
+
@custom-selector :--s-form__errors
|
|
10
|
+
:where(:--s-form__errors--form, :--s-form__errors--field);
|
|
11
|
+
@custom-selector :--s-form__errors_list
|
|
12
|
+
:--s-form__errors;
|
|
13
|
+
@custom-selector :--s-form__errors--form /* submission errors */
|
|
14
|
+
:where(.s-form > ul);
|
|
15
|
+
@custom-selector :--s-form__errors--field /* validation errors */
|
|
16
|
+
:where(.s-form > div > ul);
|
|
17
|
+
|
|
18
|
+
@custom-selector :--s-form__field
|
|
19
|
+
:where(.s-form > div);
|
|
20
|
+
@custom-selector :--s-form__field--has-required
|
|
21
|
+
:where(.s-form > div).has-required;
|
|
22
|
+
@custom-selector :--s-form__field--has-checkbox
|
|
23
|
+
:--s-form__field.has-type-check;
|
|
24
|
+
|
|
25
|
+
@custom-selector :--s-form__menu
|
|
26
|
+
:where(.s-form > div > menu);
|
|
27
|
+
|
|
28
|
+
@custom-selector :--s-form__help
|
|
29
|
+
:where(.s-form > div > small);
|
|
30
|
+
|
|
31
|
+
@custom-selector :--s-form__badge
|
|
32
|
+
:where(.s-form label > span);
|
|
33
|
+
|
|
34
|
+
@custom-selector :--s-form__buttons
|
|
35
|
+
:where(.s-form > footer);
|
|
36
|
+
|
|
37
|
+
@custom-selector :--s-form__button
|
|
38
|
+
:where(.s-form button);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! @tacc/core-styles 2.13.0+ | MIT | github.com/TACC/Core-Styles */.c-message>:first-child,.field-errors li>:first-child,.form-errors>:first-child,[class*=message--]>:first-child{margin-top:0}.c-message>:last-child,.field-errors li>:last-child,.form-errors>:last-child,[class*=message--]>:last-child{margin-bottom:0}.field-errors li,.form-errors,[class*=message--scope-]{padding:var(--pad-vert,0) var(--pad-horz,0)}.c-message--scope-global,.message--scope-global{--pad-vert:15px;--pad-horz:20px;border-width:var(--global-border-width--thick);text-align:center}.c-message--type-info.c-message--scope-section,.c-message--type-info.message--scope-section,.message--type-info.c-message--scope-section,.message--type-info.message--scope-section{background-color:var(--global-color-info--x-light);border-color:var(--global-color-info--normal)}.c-message--type-success.c-message--scope-section,.c-message--type-success.message--scope-section,.message--type-success.c-message--scope-section,.message--type-success.message--scope-section{background-color:var(--global-color-success--x-light);border-color:var(--global-color-success--normal)}.c-message--type-warning.c-message--scope-section,.c-message--type-warning.message--scope-section,.message--type-warning.c-message--scope-section,.message--type-warning.message--scope-section{background-color:var(--global-color-warning--x-light);border-color:var(--global-color-warning--normal)}.c-message--type-error.c-message--scope-section,.c-message--type-error.message--scope-section,.field-errors li.c-message--scope-section,.field-errors li.message--scope-section,.form-errors,.form-errors.c-message--scope-section,.form-errors.message--scope-section,.message--type-error.c-message--scope-section,.message--type-error.message--scope-section{background-color:var(--global-color-danger--x-light);border-color:var(--global-color-danger--normal)}:--c-message--type-tip.c-message--scope-section,:--c-message--type-tip.message--scope-section{background-color:var(--global-color-extra--x-light);border-color:var(--global-color-extra--normal)}.c-message--scope-global,.message--scope-global{background-color:var(--global-color-accent--secondary);border-color:var(--global-color-primary--dark);color:var(--global-color-primary--xx-light)}.c-message--scope-global [class*=button--as-link],.c-message--scope-global a,.message--scope-global [class*=button--as-link],.message--scope-global a,.x-link,.x-link--irregular{color:var(--global-color-accent--normal);text-decoration:none;text-decoration-thickness:var(--global-border-width--normal);text-underline-offset:.2em}.x-link--disabled,.x-link--irregular--disabled{opacity:.5;pointer-events:none}.c-message--scope-global [class*=button--as-link]:hover,.c-message--scope-global a:hover,.message--scope-global [class*=button--as-link]:hover,.message--scope-global a:hover,.x-link--hover,.x-link--irregular--hover{color:var(--global-color-accent--normal);text-decoration-line:underline;text-decoration-style:solid;text-decoration-thickness:var(--global-border-width--normal)}.c-message--scope-global [class*=button--as-link]:active,.c-message--scope-global a:active,.message--scope-global [class*=button--as-link]:active,.message--scope-global a:active,.x-link--active,.x-link--irregular--active{text-decoration-line:underline;text-decoration-style:dotted}.c-message--scope-global [class*=button--as-link],.c-message--scope-global a,.message--scope-global [class*=button--as-link],.message--scope-global a,.x-link--irregular{text-decoration-line:underline}.c-message--scope-global [class*=button--as-link]:hover,.c-message--scope-global a:hover,.message--scope-global [class*=button--as-link]:hover,.message--scope-global a:hover,.x-link--irregular--hover{text-decoration-style:dashed}.c-message--scope-global [class*=button--as-link]:active,.c-message--scope-global a:active,.message--scope-global [class*=button--as-link]:active,.message--scope-global a:active,.x-link--irregular--active{text-decoration-style:dotted}.c-message--scope-global [class*=button--as-link],.c-message--scope-global a,.message--scope-global [class*=button--as-link],.message--scope-global a{color:inherit!important}.c-message--scope-section,.form-errors,.message--scope-section{--pad-vert:20px;--pad-horz:30px;border-style:solid;border-width:var(--global-border-width--normal)}.c-message--scope-section,.form-errors,.message--scope-section{color:var(--global-color-primary--dark)}.c-message--type-info.c-message--scope-inline,.c-message--type-info.message--scope-inline,.message--type-info.c-message--scope-inline,.message--type-info.message--scope-inline{color:var(--global-color-info--x-dark)}.c-message--type-success.c-message--scope-inline,.c-message--type-success.message--scope-inline,.message--type-success.c-message--scope-inline,.message--type-success.message--scope-inline{color:var(--global-color-success--x-dark)}.c-message--type-warning.c-message--scope-inline,.c-message--type-warning.message--scope-inline,.message--type-warning.c-message--scope-inline,.message--type-warning.message--scope-inline{color:var(--global-color-warning--x-dark)}.c-message--type-error.c-message--scope-inline,.c-message--type-error.message--scope-inline,.field-errors li,.field-errors li.c-message--scope-inline,.field-errors li.message--scope-inline,.form-errors.c-message--scope-inline,.form-errors.message--scope-inline,.message--type-error.c-message--scope-inline,.message--type-error.message--scope-inline{color:var(--global-color-danger--x-dark)}:--c-message--type-tip.c-message--scope-inline,:--c-message--type-tip.message--scope-inline{color:var(--global-color-extra--x-dark)}.c-message--type-info:before,.message--type-info:before{background-color:var(--global-color-info--normal)}.c-message--type-success:before,.message--type-success:before{background-color:var(--global-color-success--normal)}.c-message--type-warning:before,.message--type-warning:before{background-color:var(--global-color-warning--normal)}.c-message--type-error:before,.field-errors li:before,.form-errors:before,.message--type-error:before{background-color:var(--global-color-danger--normal)}:--c-message--type-tip:before{background-color:var(--global-color-extra--normal)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! @tacc/core-styles 2.13.0+ | MIT | github.com/TACC/Core-Styles */input,label,select,textarea{font-family:var(--global-font-family--sans--portal)}label{font-size:var(--global-font-size--small);font-weight:var(--medium);line-height:normal;margin-bottom:.75em}li>label:only-child{margin-bottom:unset}:not(input[type=checkbox])+label{display:block}fieldset:not(:last-child){margin-bottom:3.5rem}input,select,textarea{border:var(--global-border--normal)}::-moz-placeholder{color:var(--global-color-primary--dark)}::placeholder{color:var(--global-color-primary--dark)}input,select{box-sizing:content-box;height:1.4em}input[type=date],input[type=time]{font-family:var(--global-font-family--mono)}input[type=search]{outline-offset:revert}input:where([type=time],[type=date],[type=checkbox],[type=radio]){width:-moz-min-content;width:min-content}@media (pointer:coarse){input,select,textarea{padding:12px}}@media (pointer:fine),(pointer:none){input,select,textarea{padding:5px 10px}}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
@import url("../components/c-message.css");
|
|
2
|
-
@import url("../components/c-message--expanded.css");
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
/* Errors */
|
|
7
|
-
|
|
8
|
-
.form-errors {
|
|
9
|
-
@extend :--c-message;
|
|
10
|
-
@extend :--c-message--type;
|
|
11
|
-
@extend :--c-message--type-error;
|
|
12
|
-
@extend :--c-message--scope;
|
|
13
|
-
@extend :--c-message--scope-section;
|
|
14
|
-
@extend :--c-message--type-error:--c-message--scope-section;
|
|
15
|
-
}
|
|
16
|
-
.field-errors li {
|
|
17
|
-
@extend :--c-message;
|
|
18
|
-
@extend :--c-message--type;
|
|
19
|
-
@extend :--c-message--type-error;
|
|
20
|
-
@extend :--c-message--scope;
|
|
21
|
-
@extend :--c-message--scope-inline;
|
|
22
|
-
@extend :--c-message--type-error:--c-message--scope-inline;
|
|
23
|
-
}
|
|
File without changes
|