@tacc/core-styles 0.9.0 → 0.10.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 (167) hide show
  1. package/README.md +21 -11
  2. package/dist/branding_logos.css +1 -2
  3. package/dist/components/README.css +1 -1
  4. package/dist/components/bootstrap/bootstrap.modal/docs.css +1 -0
  5. package/dist/components/bootstrap/portal/bootstrap.form/docs.css +1 -0
  6. package/dist/components/bootstrap.container.css +1 -2
  7. package/dist/components/bootstrap.figure.css +1 -2
  8. package/dist/components/bootstrap.form.css +1 -2
  9. package/dist/components/bootstrap.modal.css +1 -2
  10. package/dist/components/bootstrap.pagination.css +1 -2
  11. package/dist/components/c-button/docs.css +1 -0
  12. package/dist/components/c-button.css +1 -2
  13. package/dist/components/c-callout.css +1 -2
  14. package/dist/components/c-card.css +1 -2
  15. package/dist/components/c-data-list.css +1 -2
  16. package/dist/components/c-footer.css +1 -2
  17. package/dist/components/c-image-map.css +1 -2
  18. package/dist/components/c-image-map.skin.css +1 -1
  19. package/dist/components/c-image-map.structure.css +1 -2
  20. package/dist/components/c-message.css +1 -2
  21. package/dist/components/c-nav.css +1 -2
  22. package/dist/components/c-page.css +1 -2
  23. package/dist/components/c-recognition.css +1 -2
  24. package/dist/components/c-see-all-link.css +1 -2
  25. package/dist/components/c-show-more.css +1 -2
  26. package/dist/components/cortal.icon.css +1 -2
  27. package/dist/components/cortal.icon.font.css +1 -2
  28. package/dist/elements/README.css +1 -1
  29. package/dist/elements/bootstrap.css +1 -2
  30. package/dist/elements/form.cms.css +1 -2
  31. package/dist/elements/html-elements.cms.css +1 -2
  32. package/dist/elements/links/docs.css +1 -0
  33. package/dist/elements/links.css +1 -0
  34. package/dist/elements/table/docs.css +1 -0
  35. package/dist/elements/table/table.docs.css +1 -0
  36. package/dist/elements/table copy.css +1 -0
  37. package/dist/elements/table--basic.css +1 -0
  38. package/dist/elements/table--nested.css +1 -0
  39. package/dist/elements/table.css +1 -0
  40. package/dist/elements/tacc-search-bar.css +1 -2
  41. package/dist/fonts/fonts/BentonSans-Bold.otf +0 -0
  42. package/dist/fonts/fonts/BentonSans-Medium.otf +0 -0
  43. package/dist/fonts/fonts/BentonSans-MediumItalic.otf +0 -0
  44. package/dist/fonts/fonts/BentonSans-Regular.otf +0 -0
  45. package/dist/fractal.server.css +1 -0
  46. package/dist/fractal.server.refresh.css +1 -0
  47. package/dist/fractal.server.reload.css +1 -0
  48. package/dist/generics/README.css +1 -1
  49. package/dist/generics/fonts.css +1 -2
  50. package/dist/objects/README.css +1 -1
  51. package/dist/objects/o-fixed-header-table.css +1 -2
  52. package/dist/objects/o-flex-item-table-wrap.css +1 -2
  53. package/dist/objects/o-float-content.css +1 -2
  54. package/dist/objects/o-grid.css +1 -2
  55. package/dist/objects/o-offset-content.css +1 -2
  56. package/dist/objects/o-section.css +1 -2
  57. package/dist/objects/o-site.css +1 -1
  58. package/dist/settings/README.css +1 -1
  59. package/dist/settings/border.css +1 -2
  60. package/dist/settings/color.css +1 -2
  61. package/dist/settings/font.css +1 -2
  62. package/dist/settings/max-width.css +1 -2
  63. package/dist/settings/space.css +1 -2
  64. package/dist/tools/README.css +1 -1
  65. package/dist/tools/media-queries.css +1 -1
  66. package/dist/tools/x-article-link.css +1 -2
  67. package/dist/tools/x-center.css +1 -2
  68. package/dist/tools/x-fake-border.css +1 -2
  69. package/dist/tools/x-grid.css +1 -1
  70. package/dist/tools/x-layout.css +1 -2
  71. package/dist/tools/x-link/docs.css +1 -0
  72. package/dist/tools/x-link.css +1 -0
  73. package/dist/tools/x-mailto-text-replace.css +1 -1
  74. package/dist/tools/x-overlay.css +1 -1
  75. package/dist/tools/x-truncate.css +1 -2
  76. package/dist/trumps/README.css +1 -1
  77. package/dist/trumps/icon.css +1 -2
  78. package/dist/trumps/icon.fonts.css +1 -2
  79. package/dist/trumps/s-affixed-input-wrapper.css +1 -0
  80. package/dist/trumps/s-article-list.css +1 -2
  81. package/dist/trumps/s-article-preview.css +1 -2
  82. package/dist/trumps/s-blockquote.css +1 -2
  83. package/dist/trumps/s-breadcrumbs.css +1 -2
  84. package/dist/trumps/s-cms-nav.css +1 -1
  85. package/dist/trumps/s-document.css +1 -2
  86. package/dist/trumps/s-footer.css +1 -2
  87. package/dist/trumps/s-guide-doc.css +1 -2
  88. package/dist/trumps/s-header.css +1 -2
  89. package/dist/trumps/s-inline-dl.css +1 -2
  90. package/dist/trumps/s-irregular-links.css +1 -0
  91. package/dist/trumps/s-portal-nav.css +1 -2
  92. package/dist/trumps/s-style-guide.css +1 -2
  93. package/dist/trumps/s-system-specs.css +1 -2
  94. package/dist/trumps/tacc-search-bar.css +1 -2
  95. package/dist/trumps/u-empty.css +1 -1
  96. package/dist/trumps/u-hide.css +1 -2
  97. package/dist/trumps/u-mailto-text-replace.css +1 -2
  98. package/dist/trumps/u-nested-text-content.css +1 -2
  99. package/fractal.config.js +1 -0
  100. package/package.json +26 -13
  101. package/src/lib/_imports/README.md +13 -20
  102. package/src/lib/_imports/_partials/bootstrap.css.hbs +1 -0
  103. package/src/lib/_imports/_partials/bootstrap.js.hbs +2 -0
  104. package/src/lib/_imports/_partials/cms.css.hbs +3 -0
  105. package/src/lib/_imports/_partials/css.hbs +27 -0
  106. package/src/lib/_imports/_partials/loremipsum.hbs +18 -0
  107. package/src/lib/_imports/_partials/text-and-button-as-link.hbs +1 -0
  108. package/src/lib/_imports/_partials/text-and-link.hbs +1 -0
  109. package/src/lib/_imports/_preview.bootstrap-cms.hbs +5 -0
  110. package/src/lib/_imports/_preview.bootstrap.hbs +5 -0
  111. package/src/lib/_imports/_preview.cms.hbs +3 -0
  112. package/src/lib/_imports/_preview.hbs +22 -10
  113. package/src/lib/_imports/components/_components.config.yml +2 -1
  114. package/src/lib/_imports/components/bootstrap/bootstrap.container/bootstrap.container.hbs +4 -0
  115. package/src/lib/_imports/components/bootstrap/bootstrap.container/config.yml +3 -0
  116. package/src/lib/_imports/components/bootstrap/bootstrap.container/readme.md +54 -0
  117. package/src/lib/_imports/components/bootstrap/bootstrap.modal/bootstrap.modal.hbs +53 -0
  118. package/src/lib/_imports/components/bootstrap/bootstrap.modal/config.yml +2 -0
  119. package/src/lib/_imports/components/bootstrap/bootstrap.modal/docs.css +12 -0
  120. package/src/lib/_imports/components/bootstrap/bootstrap.modal/readme.md +8 -0
  121. package/src/lib/_imports/components/bootstrap/portal/bootstrap.form/bootstrap.form.hbs +19 -0
  122. package/src/lib/_imports/components/bootstrap/portal/bootstrap.form/config.yml +3 -0
  123. package/src/lib/_imports/components/bootstrap/portal/bootstrap.form/docs.css +5 -0
  124. package/src/lib/_imports/components/bootstrap/portal/bootstrap.form/readme.md +17 -0
  125. package/src/lib/_imports/components/bootstrap.container.css +3 -11
  126. package/src/lib/_imports/components/bootstrap.form.css +0 -7
  127. package/src/lib/_imports/components/bootstrap.modal.css +0 -12
  128. package/src/lib/_imports/components/c-button/c-button.hbs +10 -0
  129. package/src/lib/_imports/components/c-button/{c-button.config.yml → config.yml} +2 -0
  130. package/src/lib/_imports/components/c-button/{c-button_docs.css → docs.css} +2 -0
  131. package/src/lib/_imports/components/c-button.css +14 -5
  132. package/src/lib/_imports/elements/_elements.config.yml +2 -1
  133. package/src/lib/_imports/elements/form.cms.css +50 -0
  134. package/src/lib/_imports/elements/html-elements.cms.css +4 -21
  135. package/src/lib/_imports/elements/links/docs.css +6 -0
  136. package/src/lib/_imports/elements/links/links.hbs +12 -0
  137. package/src/lib/_imports/elements/links/readme.md +8 -0
  138. package/src/lib/_imports/elements/links.css +11 -0
  139. package/src/lib/_imports/fractal.server.refresh.css +0 -0
  140. package/src/lib/_imports/generics/_generics.config.yml +2 -1
  141. package/src/lib/_imports/objects/_objects.config.yml +2 -1
  142. package/src/lib/_imports/tools/_tools.config.yml +2 -0
  143. package/src/lib/_imports/tools/x-link/docs.css +6 -0
  144. package/src/lib/_imports/tools/x-link/readme.md +14 -0
  145. package/src/lib/_imports/tools/x-link/x-link.hbs +3 -0
  146. package/src/lib/_imports/tools/x-link.css +18 -0
  147. package/src/lib/_imports/tools/x-mailto-text-replace.css +6 -4
  148. package/src/lib/_imports/trumps/_trumps.config.yml +3 -1
  149. package/src/lib/_imports/trumps/s-affixed-input-wrapper/config.yml +2 -0
  150. package/src/lib/_imports/trumps/s-affixed-input-wrapper/readme.md +22 -0
  151. package/src/lib/_imports/trumps/s-affixed-input-wrapper/s-affixed-input-wrapper.hbs +32 -0
  152. package/src/lib/_imports/trumps/s-affixed-input-wrapper.css +94 -0
  153. package/src/lib/_imports/trumps/s-irregular-links/config.yml +8 -0
  154. package/src/lib/_imports/trumps/s-irregular-links/readme.md +29 -0
  155. package/src/lib/_imports/trumps/s-irregular-links/s-irregular-links.hbs +10 -0
  156. package/src/lib/_imports/trumps/s-irregular-links.css +19 -0
  157. package/src/lib/_imports/trumps/u-mailto-text-replace/config.yml +4 -0
  158. package/src/lib/_imports/trumps/u-mailto-text-replace/readme.md +15 -0
  159. package/src/lib/_imports/trumps/u-mailto-text-replace.css +1 -1
  160. package/dist/components/c-button/c-button_docs.css +0 -2
  161. package/dist/elements/html-elements.css +0 -2
  162. package/src/lib/_imports/components/_components.preview.hbs +0 -1
  163. package/src/lib/_imports/elements/_elements.preview.hbs +0 -1
  164. package/src/lib/_imports/generics/_generics.preview.hbs +0 -1
  165. package/src/lib/_imports/objects/_objects.preview.hbs +0 -1
  166. package/src/lib/_imports/trumps/_trumps.preview.hbs +0 -1
  167. package/src/lib/_imports/trumps/u-mailto-text-replace/u-mailto-text-replace.config.yml +0 -7
@@ -369,27 +369,10 @@ th {
369
369
  border: var(--global-border--normal);
370
370
  }
371
371
 
372
-
373
-
374
-
375
-
376
- /*
377
- Forms
378
-
379
- Elements that create forms which the user can fill out and submit to the Web site or application.
380
-
381
- ```
382
- <form> <fieldset> <legend> <label> <input> <select> <optgroup> <option> <textarea> <button> <output> <progress> <meter> <datalist>
383
- ```
384
-
385
- Reference:
386
-
387
- - [HTML element reference: Forms | MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element#Forms)
388
-
389
- Styleguide Elements.Forms
390
- */
391
-
392
- /* … */
372
+ caption {
373
+ font-size: var(--global-font-size--small);
374
+ text-align: unset; /* undo Bootstrap _reboot.css */
375
+ }
393
376
 
394
377
 
395
378
 
@@ -0,0 +1,6 @@
1
+ /* This CSS is ONLY for the pattern library. It is NOT part of the pattern. */
2
+
3
+ p {
4
+ margin: 10px;
5
+ max-width: 40ch; /* to wrap text so link is in middle of middle sentence */
6
+ }
@@ -0,0 +1,12 @@
1
+ <link rel="stylesheet" href="{{path '/trumps/s-irregular-links.css'}}" />
2
+
3
+ <dl>
4
+ <dt>Standard</dt>
5
+ <dd>
6
+ {{> @text-and-link }}
7
+ </dd>
8
+ <dt>Irregular</dt>
9
+ <dd class="s-irregular-links">
10
+ {{> @text-and-link }}
11
+ </dd>
12
+ </dl>
@@ -0,0 +1,8 @@
1
+ The [`<a>` anchor element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a).
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,11 @@
1
+ @import url('../tools/x-link.css');
2
+
3
+ a {
4
+ @extend .x-link;
5
+ }
6
+ a:hover {
7
+ @extend .x-link--hover;
8
+ }
9
+ a:active {
10
+ @extend .x-link--active;
11
+ }
File without changes
@@ -1 +1,2 @@
1
- preview: "@generics.preview"
1
+ context:
2
+ subdir: "generics"
@@ -1 +1,2 @@
1
- preview: "@objects.preview"
1
+ context:
2
+ subdir: "objects"
@@ -0,0 +1,2 @@
1
+ context:
2
+ subdir: "tools"
@@ -0,0 +1,6 @@
1
+ /* This CSS is ONLY for the pattern library. It is NOT part of the pattern. */
2
+
3
+ p {
4
+ margin: 10px;
5
+ max-width: 40ch; /* to wrap text so link is in middle of middle sentence */
6
+ }
@@ -0,0 +1,14 @@
1
+ UI states of [`<a>` anchor element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a) as mixins.
2
+
3
+ | Mixin | Description
4
+ | - | -
5
+ | `.x-link` | default state
6
+ | `.x-link--hover` | `:hover` state
7
+ | `.x-link--active` | `:active` (click) state
8
+
9
+ <script>
10
+ /* To open external links in new window */
11
+ Array.from(document.links)
12
+ .filter(link => link.hostname != window.location.hostname)
13
+ .forEach(link => link.target = '_blank');
14
+ </script>
@@ -0,0 +1,3 @@
1
+ <link rel="stylesheet" href="{{path '/elements/links.css'}}" />
2
+
3
+ {{> @links }}
@@ -0,0 +1,18 @@
1
+ @import url('../settings/color.css');
2
+ @import url('../settings/border.css');
3
+
4
+ .x-link {
5
+ color: var(--global-color-link-on-light--normal);
6
+
7
+ text-decoration: none;
8
+ text-underline-offset: 0.2em;
9
+ text-decoration-thickness: var(--global-border-width--normal);
10
+ }
11
+ .x-link--hover {
12
+ text-decoration-line: underline;
13
+ text-decoration-style: solid;
14
+ }
15
+ .x-link--active {
16
+ text-decoration-line: underline;
17
+ text-decoration-style: dotted;
18
+ }
@@ -6,13 +6,15 @@ Replace mailto link rendered text with virtual text from data-attributes
6
6
  Styleguide Tools.ExtendsAndMixins.MailtoTextReplace
7
7
  */
8
8
 
9
+ /* To replace actual link text with generated link text */
9
10
  %x-mailto-text-replace {
10
- visibility: hidden;
11
- font-size: 0;
11
+ /* FAQ: Using `display: none` would hide pseudo element text */
12
+ visibility: hidden; /* to hide actual link text */
13
+ font-size: 0; /* to remove space of hidden text */
12
14
  }
13
15
  %x-mailto-text-replace::before {
14
16
  display: inline;
15
17
  content: attr(data-user) "@" attr(data-domain);
16
- font-size: initial;
17
- visibility: visible;
18
+ font-size: initial; /* to restore font size */
19
+ visibility: visible; /* to restore visibility */
18
20
  }
@@ -1 +1,3 @@
1
- preview: "@trumps.preview"
1
+ label: Trumps (Utilities & Scopes)
2
+ context:
3
+ subdir: "trumps"
@@ -0,0 +1,2 @@
1
+ # The form elements used rely on Bootstrap and CMS
2
+ preview: '@preview.bootstrap-cms'
@@ -0,0 +1,22 @@
1
+ To affix a symbol before or after a field.
2
+
3
+ _This is an isolated feature from [Bootstrap Input Group](https://getbootstrap.com/docs/4.0/components/input-group/#basic-example)._
4
+
5
+ **Use Cases**
6
+
7
+ - [APCD](https://apcd-qa.tacc.utexas.edu/register/request-to-submit) "Total Claims Value"
8
+
9
+ **Known Bugs**
10
+
11
+ 1. Using `s-affixed-input-wrapper__suffix` shrinks field width.
12
+ 2. A `s-affixed-input-wrapper__suffix` overlaps with browser controls e.g.
13
+ - `<input type="number">` arrows
14
+ - `<input type="date">` calendar
15
+ - `<input type="time">` clock
16
+
17
+ <script>
18
+ /* To open external links in new window */
19
+ Array.from(document.links)
20
+ .filter(link => link.hostname != window.location.hostname)
21
+ .forEach(link => link.target = '_blank');
22
+ </script>
@@ -0,0 +1,32 @@
1
+ <link rel="stylesheet" href="{{path '/elements/form.cms.css'}}" />
2
+
3
+ <dl>
4
+ <dt>Prefix</dt>
5
+ <dd class="s-affixed-input-wrapper s-affixed-input-wrapper--prefix">
6
+ <label for="field-dollars">How many dollars to you have?</label>
7
+
8
+ <span class="s-affixed-input-wrapper__prefix">$</span>
9
+ <input
10
+ type="number"
11
+ name="dollars"
12
+ id="field-dollars"
13
+ inputmode="numeric"
14
+ step="0.01"
15
+ min="0.01"
16
+ />
17
+ </dd>
18
+ <dt>Suffix</dt>
19
+ <dd class="s-affixed-input-wrapper s-affixed-input-wrapper--suffix">
20
+ <label for="field-usd">How many US Dollars to you have?</label>
21
+
22
+ <input
23
+ type="number"
24
+ name="usd"
25
+ id="field-usd"
26
+ inputmode="numeric"
27
+ step="0.01"
28
+ min="0.01"
29
+ />
30
+ <span class="s-affixed-input-wrapper__suffix">$</span>
31
+ </dd>
32
+ </dl>
@@ -0,0 +1,94 @@
1
+ @import url("../settings/border.css");
2
+
3
+
4
+
5
+ /* Layout */
6
+
7
+ .s-affixed-input-wrapper:not(
8
+ .checkboxinput,
9
+ .radio,
10
+ .select,
11
+ .checkboxselectmultiple,
12
+ .textarea
13
+ ) {
14
+ display: grid;
15
+ align-items: start;
16
+ grid-template-columns: auto 1fr;
17
+ grid-template-areas:
18
+ "label label"
19
+ var(--input-row, "input input")
20
+ "help help"
21
+ "error error";
22
+ }
23
+ @supports selector(:has(*)) {
24
+ .s-affixed-input-wrapper:has(.s-affixed-input-wrapper__prefix) {
25
+ --input-row: "prefix input";
26
+ }
27
+ .s-affixed-input-wrapper:has(.s-affixed-input-wrapper__suffix) {
28
+ --input-row: "input suffix";
29
+ }
30
+ }
31
+ @supports not selector(:has(*)) {
32
+ .s-affixed-input-wrapper--prefix {
33
+ --input-row: "prefix input";
34
+ }
35
+ .s-affixed-input-wrapper--suffix {
36
+ --input-row: "input suffix";
37
+ }
38
+ }
39
+ .s-affixed-input-wrapper label { grid-area: label; }
40
+ .s-affixed-input-wrapper input { grid-area: input; }
41
+ .s-affixed-input-wrapper__prefix { grid-area: prefix; }
42
+ .s-affixed-input-wrapper__suffix { grid-area: suffix; }
43
+ .s-affixed-input-wrapper .help-text { grid-area: help; }
44
+ .s-affixed-input-wrapper .field-errors { grid-area: error; }
45
+
46
+
47
+
48
+ /* Variables */
49
+
50
+ .s-affixed-input-wrapper {
51
+ --width: 1em;
52
+ --padding-vert: 5px; /* mimic input */
53
+ --padding-horz: 10px; /* mimic input */
54
+ }
55
+
56
+
57
+
58
+ /* Prefix & Suffix */
59
+
60
+ .s-affixed-input-wrapper__prefix,
61
+ .s-affixed-input-wrapper__suffix {
62
+ /* To mimic shape of an input */
63
+ display: inline-block;
64
+ padding: var(--padding-vert) var(--padding-horz);
65
+
66
+ /* To have consistent size */
67
+ width: var(--width);
68
+ text-align: center;
69
+ box-sizing: content-box;
70
+
71
+ /* To limit interaction */
72
+ user-select: none;
73
+ pointer-events: none;
74
+
75
+ /* To mimic input font */
76
+ font-family: var(--global-font-family--sans--portal);
77
+ }
78
+
79
+ /* To render <span> atop and (as if) within input */
80
+ .s-affixed-input-wrapper__prefix {
81
+ position: relative;
82
+ top: var(--global-border-width--normal);
83
+ left: var(--global-border-width--normal);
84
+ margin-right: calc(-1 * var(--width) - var(--padding-horz) * 2);
85
+ }
86
+ .s-affixed-input-wrapper__suffix {
87
+ position: relative;
88
+ top: var(--global-border-width--normal);
89
+ right: var(--global-border-width--normal);
90
+ margin-left: calc(-1 * var(--width) - var(--padding-horz) * 2);
91
+ }
92
+ .s-affixed-input-wrapper__prefix + input {
93
+ text-indent: calc(var(--width) + var(--padding-horz));
94
+ }
@@ -0,0 +1,8 @@
1
+ context:
2
+ supportStyles:
3
+ - /elements/links.css
4
+ - /elements/links/docs.css
5
+ - /components/c-button.css
6
+ label: Links (Irregular)
7
+ variants:
8
+ - name: default
@@ -0,0 +1,29 @@
1
+ This allows us to satisfy clients who strongly prefer [standard CMS links]¹ are underlined.
2
+
3
+ > **⚠️ Warning**
4
+ >
5
+ > Do **not** add to `<body>` tag, otherwise header may adversely inherit styles.
6
+
7
+ **Instructions**
8
+
9
+ 1. Add `s-irregular-links` class to an ancestor element.
10
+
11
+ **Examples**
12
+
13
+ ```
14
+ <main class="s-irregular-links">
15
+ ... <a href="...">Click me</a> ...
16
+ </main>
17
+ ```
18
+
19
+ ```
20
+ <section class="some-unique-content s-irregular-links">
21
+ ... <a href="...">Click me</a> ...
22
+ </section>
23
+ ```
24
+
25
+ ---
26
+
27
+ <small>¹ The [standard CMS links] do meet “WCAG 2.0 Level AA” link contrast.</small>
28
+
29
+ [standard CMS links]: /components/detail/links.cms
@@ -0,0 +1,10 @@
1
+ <dl>
2
+ <dt>Links</dt>
3
+ <dd class="s-irregular-links">
4
+ {{> @text-and-link }}
5
+ </dd>
6
+ <dt>Buttons as Links</dt>
7
+ <dd class="s-irregular-links">
8
+ {{> @text-and-button-as-link }}
9
+ </dd>
10
+ </dl>
@@ -0,0 +1,19 @@
1
+ .s-irregular-links a {
2
+ text-decoration-line: underline;
3
+ }
4
+ .s-irregular-links a:hover {
5
+ text-decoration-style: dashed;
6
+ }
7
+ .s-irregular-links a:active {
8
+ text-decoration-style: dotted;
9
+ }
10
+
11
+ .s-irregular-links .c-button--as-link {
12
+ text-decoration-line: underline;
13
+ }
14
+ .s-irregular-links .c-button--as-link:hover {
15
+ text-decoration-style: dashed;
16
+ }
17
+ .s-irregular-links .c-button--as-link:active {
18
+ text-decoration-style: dotted;
19
+ }
@@ -0,0 +1,4 @@
1
+ label: Mailto Link Text Replacement
2
+ context:
3
+ supportStyles:
4
+ - /elements/links.css
@@ -0,0 +1,15 @@
1
+ To render an accurate e-mail that is unlikely to read by read by a robot thus recieve spam.
2
+
3
+ Replaces the display text of an `<a href="mailto:…" data-user="bob" data-domain="">` link with the e-mail address constructed from the `data-user` and `data-domain` attributes.
4
+
5
+ > **☞ Remember**
6
+ >
7
+ > The default display text should be an _**in**accurate_ e-mail address.
8
+
9
+ > **⚠️ Important**
10
+ >
11
+ > To make sure link is discernable if CSS does not load, make it obvious to users what part of an e-mail is inaccurate, e.g. `__REMOVE_THIS__`.
12
+
13
+ **Known Bugs**
14
+
15
+ 1. The underline (on hover) is not offset from generated text (because the font-size of actual text is zero).
@@ -1,4 +1,4 @@
1
- /* Create utility class from `x-mailto-text-replace` */
1
+ /* A utility class of `x-mailto-text-replace` */
2
2
 
3
3
  @import url("../tools/x-mailto-text-replace.css");
4
4
 
@@ -1,2 +0,0 @@
1
- /*! @tacc/core-styles 0.9.0+ | MIT | github.com/TACC/Core-Styles */
2
- dd>*{margin-right:.5em;vertical-align:middle}.c-button>i{font-style:normal}
@@ -1,2 +0,0 @@
1
- /*! @tacc/core-styles 0.8.6+ | MIT | github.com/TACC/Core-Styles */
2
- html{font-size:62.5%}body,html{height:100%}body{min-width:290px;color:var(--global-color-primary--x-dark);font-family:var(--global-font-family);font-size:var(--global-font-size--medium);line-height:1.4}body>main{margin-bottom:var(--global-space--section-gap)}body>main+footer{position:-webkit-sticky;position:sticky;top:100vh}h1,h2,h3,h4,h5,h6{color:var(--global-color-primary--xx-dark)}h1,h2,h4,h5,h6{font-weight:var(--bold)}h1{margin-top:27px;margin-bottom:27px}h2{margin-top:30px;margin-bottom:var(--global-space--normal)}h1+h2,h1+hr{margin-top:-12px}h1{font-size:var(--global-font-size--xxx-large)}h2{font-size:var(--global-font-size--x-large)}h3,h4,h5,h6{margin-top:var(--global-space--normal);margin-bottom:var(--global-space--normal)}h3{font-size:var(--global-font-size--x-large)}h4{font-size:var(--global-font-size--large)}h5{text-transform:uppercase}h5,h6{font-size:var(--global-font-size--medium)}p{margin-bottom:2rem}dl dl,ol,ul{padding-left:var(--global-space--list-indent)}ol ol,ol ul,ul ol,ul ul{margin:revert}dt{margin-bottom:.5rem;font-weight:400}li{line-height:1.6}hr{margin-top:var(--global-space--hr-buffer-above);border-top:1px solid var(--global-color-primary--light);margin-bottom:var(--global-space--hr-buffer-below)}a,a:hover{color:var(--global-color-link-on-light--normal)}a:focus{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}code,kbd,pre,samp,var{font-family:var(--global-font-family--mono)}code kbd{display:inline-block;padding:.1rem .2rem;margin-left:.2rem;margin-right:.2rem;font-size:inherit}code,pre>samp{color:unset}:not(pre)>code{display:inline-block;padding:var(--global-space--xx-small) var(--global-space--x-small)}pre>code,pre>samp{display:inline-block;padding:var(--global-space--x-small) var(--global-space--small)}pre[style]>code,pre[style]>samp{min-width:100%}pre samp{opacity:.75;text-decoration:none}pre code u{opacity:.5;text-decoration:none}table,td,th{border:var(--global-border--normal)}details{margin-top:0;margin-bottom:1rem}
@@ -1 +0,0 @@
1
- {{> @preview subdir="components" }}
@@ -1 +0,0 @@
1
- {{> @preview subdir="elements" }}
@@ -1 +0,0 @@
1
- {{> @preview subdir="generics" }}
@@ -1 +0,0 @@
1
- {{> @preview subdir="objects" }}
@@ -1 +0,0 @@
1
- {{> @preview subdir="trumps" }}
@@ -1,7 +0,0 @@
1
- label: Mailto Link Text Replacement
2
- notes: |-
3
- Replaces the display text of an `<a href="mailto:…" data-user="bob" data-domain="">` link with the e-mail address constructed from the `data-user` and `data-domain` attributes.
4
-
5
- This can be used to render an accurate e-mail that will not be recognized by a generic web scraper. The default display text should be an inaccurate e-mail address.
6
-
7
- _To make sure link is accessible if CSS does not load, make it obvious to humans what part of an e-mail is inaccurate, e.g. `__REMOVE_THIS__`._