Skip to content

Commit 5b80a8b

Browse files
committed
Added text element.
1 parent abda7fb commit 5b80a8b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+361
-37
lines changed

README.md

+2-1

assets/element/icons.sketch

1.77 KB
Binary file not shown.

assets/element/text.svg

+16

blueprint.json

+9-2
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,19 @@
200200
"[Documentation](/src/lib/tab-group)",
201201
"[Demo](https://weightless.dev/elements/tabs)"
202202
],
203+
[
204+
"Text",
205+
"`wl-text`",
206+
"Group text into paragraphs.",
207+
"[Documentation](/src/lib/text)",
208+
"[Demo](https://weightless.dev/elements/text)"
209+
],
203210
[
204211
"Textarea",
205212
"`wl-textarea`",
206213
"Multiline text fields.",
207-
"[Documentation](/src/lib/textarea)",
208-
"[Demo](https://weightless.dev/elements/textarea)"
214+
"[Documentation](/src/lib/text)",
215+
"[Demo](https://weightless.dev/elements/text)"
209216
],
210217
[
211218
"Textfield",

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@
7373
"readme:slider": "node_modules/.bin/readme generate -c src/lib/slider/blueprint.json",
7474
"readme:tab": "node_modules/.bin/readme generate -c src/lib/tab/blueprint.json",
7575
"readme:tab-group": "node_modules/.bin/readme generate -c src/lib/tab-group/blueprint.json",
76-
"docs": "npm run readme && npm run readme:backdrop && npm run readme:button && npm run readme:banner && npm run readme:card && npm run readme:divider && npm run readme:icon && npm run readme:label && npm run readme:nav && npm run readme:checkbox && npm run readme:dialog && npm run readme:popover && npm run readme:popover-card && npm run readme:progress-bar && npm run readme:progress-spinner && npm run readme:radio && npm run readme:ripple && npm run readme:select && npm run readme:textarea && npm run readme:textfield && npm run readme:title && npm run readme:tooltip && npm run readme:list-item && npm run readme:expansion && npm run readme:snackbar && npm run readme:switch && npm run readme:slider && npm run readme:tab && npm run readme:tab-group"
76+
"readme:text": "node_modules/.bin/readme generate -c src/lib/text/blueprint.json",
77+
"docs": "npm run readme && npm run readme:backdrop && npm run readme:button && npm run readme:banner && npm run readme:card && npm run readme:divider && npm run readme:icon && npm run readme:label && npm run readme:nav && npm run readme:checkbox && npm run readme:dialog && npm run readme:popover && npm run readme:popover-card && npm run readme:progress-bar && npm run readme:progress-spinner && npm run readme:radio && npm run readme:ripple && npm run readme:select && npm run readme:textarea && npm run readme:textfield && npm run readme:title && npm run readme:tooltip && npm run readme:list-item && npm run readme:expansion && npm run readme:snackbar && npm run readme:switch && npm run readme:slider && npm run readme:tab && npm run readme:tab-group && npm run readme:text"
7778
},
7879
"devDependencies": {
7980
"@a11y/skip-navigation": "0.0.7",

rollup.config.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,12 @@ export default [
6363
...(isServe ? [
6464
...defaultServePlugins({
6565
serveConfig: {
66-
port: 1340,
66+
port: 1350,
6767
contentBase: folders.dist
6868
},
6969
livereloadConfig: {
7070
watch: folders.dist,
71-
port: 35730
71+
port: 35731
7272
}
7373
})
7474
] : []),

screenshots/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const ELEMENTS = [
2929
"snackbar",
3030
"switch",
3131
"tabs",
32+
"text",
3233
"textarea",
3334
"textfield",
3435
"title",

screenshots/wl-banner.png

35 Bytes

screenshots/wl-button.png

1.61 KB

screenshots/wl-card.png

828 Bytes

screenshots/wl-checkbox.png

206 Bytes

screenshots/wl-dialog.png

14.6 KB

screenshots/wl-divider.png

125 Bytes

screenshots/wl-expansion.png

1.35 KB

screenshots/wl-icon.png

111 Bytes

screenshots/wl-label.png

69 Bytes

screenshots/wl-list-item.png

257 Bytes

screenshots/wl-nav.png

49 Bytes

screenshots/wl-popover.png

-24 Bytes

screenshots/wl-progress-bar.png

156 Bytes

screenshots/wl-progress-spinner.png

599 Bytes

screenshots/wl-radio.png

208 Bytes

screenshots/wl-ripple.png

266 Bytes

screenshots/wl-select.png

310 Bytes

screenshots/wl-slider.png

102 Bytes

screenshots/wl-snackbar.png

-556 Bytes

screenshots/wl-switch.png

564 Bytes

screenshots/wl-tabs.png

424 Bytes

screenshots/wl-text.png

137 KB

screenshots/wl-textarea.png

345 Bytes

screenshots/wl-textfield.png

134 Bytes

screenshots/wl-title.png

1.84 KB

screenshots/wl-tooltip.png

-231 Bytes

src/demo/elements/navbar/navbar-element.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,11 @@ export class ThemeComponent extends Nav {
9191

9292
private toggleDarkMode () {
9393
this.darkMode = !this.darkMode;
94-
const foreground = this.darkMode ? `hsl(0, 100%, 100%)` : `hsl(0, 0%, 5%)`;
95-
const background = this.darkMode ? `hsl(0, 0%, 5%)` : `hsl(0, 100%, 100%)`;
94+
95+
const light = `hsl(0, 0%, 95%)`;
96+
const dark = `hsl(200, 0%, 5%)`;
97+
const foreground = this.darkMode ? light : dark;
98+
const background = this.darkMode ? dark : light;
9699
const shade = this.darkMode ? greyReversedPalette : greyPalette;
97100
const shadow = this.darkMode ? `hsla(360, 5%, 50%, 0.1)` : `hsla(0, 0%, 0%, 0.2)`;
98101

src/demo/pages/elements/elements-page.scss

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@import "../../../lib/style/base";
22

3-
$elements-page-menu-width: #{size(250)};
3+
$elements-page-menu-width: #{size(260)};
44

55
:host {
66
padding: #{size(25)} #{size(50)} #{size(25)} calc(#{$elements-page-menu-width} + #{size(50)});
@@ -11,6 +11,10 @@ a {
1111
text-decoration: none;
1212
}
1313

14+
#title {
15+
margin: 0;
16+
}
17+
1418
#menu {
1519
width: $elements-page-menu-width;
1620
background: color("shade", 100);

src/demo/pages/elements/elements-page.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { customElement, html, LitElement, property, PropertyValues, query } from
44
import { repeat } from "lit-html/directives/repeat";
55
import "../../../lib/button/button";
66
import "../../../lib/icon/icon";
7+
import "../../../lib/label/label";
8+
import "../../../lib/title/title";
79
import "../../../lib/list-item/list-item";
810
import { cssResult } from "../../../lib/util/css";
911
import { addListener } from "../../../lib/util/event";
@@ -75,7 +77,7 @@ export default class ElementsPage extends LitElement {
7577
${this.currentRoute != null && this.currentRoute.data != null ? html`
7678
<header id="header">
7779
<aside>
78-
<wl-title level="1">${this.currentRoute.data.title}</wl-title>
80+
<wl-title id="title" level="1" nowrap>${this.currentRoute.data.title}</wl-title>
7981
<wl-label>${this.currentRoute.data.desc}</wl-label>
8082
</aside>
8183
<a tabindex="-1" href="${DOCS_URL(this.currentRoute.data.docs || this.currentRoute.path)}" target="_blank" rel="noopener">

src/demo/pages/elements/elements-routes.ts

+9
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,15 @@ export const COMPONENTS_ROUTES: IRoute<IRouteData>[] = [
210210
img: iconPath("tabs")
211211
}
212212
},
213+
{
214+
path: "text",
215+
component: () => import("./elements/text-page"),
216+
data: {
217+
title: "Text",
218+
desc: "Group text into paragraphs.",
219+
img: iconPath("text")
220+
}
221+
},
213222
{
214223
path: "textarea",
215224
component: () => import("./elements/textarea-page"),

src/demo/pages/elements/elements/dialog-page.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { Select } from "../../../../lib/select/select";
88
import "../../../../lib/select/select";
99
import "../../../../lib/textfield/textfield";
1010
import "../../../../lib/title/title";
11+
import "../../../../lib/text/text";
1112
import { cssResult } from "../../../../lib/util/css";
1213
import "../../../elements/code-example/code-example-element";
1314
import "../../../elements/demo/demo-element";
@@ -21,7 +22,7 @@ async function openTemplateDialog (text: string, config: Partial<IDialogBaseProp
2122
backdrop: true,
2223
blockScrolling: true,
2324
container: document.body,
24-
template: html`<p slot="content">${text}</p>`,
25+
template: html`<wl-text slot="content">${text}</wl-text>`,
2526
scrollContainer: getMainScrollContainer(),
2627
...config
2728
});
@@ -90,7 +91,7 @@ export default class DialogPage extends LitElement {
9091
<wl-dialog open>
9192
<wl-title level="3" slot="header">This is a header</wl-title>
9293
<div slot="content">
93-
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span>
94+
<wl-text>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</wl-text>
9495
</div>
9596
<div slot="footer">
9697
<wl-button inverted flat>Cancel</wl-button>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { customElement, html, LitElement } from "lit-element";
2+
import "../../../../lib/text/text";
3+
import "../../../../lib/title/title";
4+
import "../../../elements/code-example/code-example-element";
5+
import "../../../elements/demo/demo-element";
6+
import { sharedStyles } from "../../../style/shared";
7+
8+
@customElement("text-page")
9+
export default class ButtonPage extends LitElement {
10+
11+
static styles = [sharedStyles];
12+
13+
protected render () {
14+
return html`
15+
<demo-element default style="text-align: left;">
16+
<code-example-element>
17+
<wl-text>Bacon ipsum dolor amet pork chop brisket ground round ham sausage pig. Shoulder drumstick jerky andouille kevin boudin doner venison salami tongue biltong prosciutto turkey tri-tip rump. Pork belly alcatra shank, ball tip jerky tail pork flank. Pork spare ribs tongue flank, shoulder sausage pig shank kevin hamburger bresaola meatloaf capicola. Beef ribs kielbasa pig strip steak ham hock. Turkey cow fatback rump meatloaf. Biltong shank boudin chicken ham shankle strip steak.</wl-text>
18+
</code-example-element>
19+
</demo-element>
20+
21+
<wl-title level="3">Large text</wl-title>
22+
<demo-element style="text-align: left;">
23+
<code-example-element>
24+
<wl-text size="large">Pig cow kielbasa pastrami. Drumstick pastrami prosciutto beef ribs cow shank, capicola ham turkey. Ham hock alcatra drumstick rump pork belly. Ham hock strip steak hamburger, cupim picanha frankfurter tail pork pastrami tenderloin swine. Capicola ham frankfurter, chicken beef shoulder ball tip sirloin pork belly ground round prosciutto pork loin t-bone doner. Frankfurter bacon cow jowl shank.</wl-text>
25+
</code-example-element>
26+
</demo-element>
27+
`;
28+
}
29+
}

src/demo/pages/home/home-page.scss

-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
font-size: #{size(60)};
1919
}
2020

21-
.text {
22-
font-size: $font-size-l;
23-
}
24-
2521
.cta-area {
2622
margin: $spacing-l 0 0 0;
2723
}

src/demo/pages/home/home-page.ts

+7-6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { repeat } from "lit-html/directives/repeat";
44
import "../../../lib/button/button";
55
import "../../../lib/icon/icon";
66
import "../../../lib/title/title";
7+
import "../../../lib/text/text";
78
import { cssResult } from "../../../lib/util/css";
89
import { BROWSER_SUPPORT, BULLETS, GITHUB_URL, NPM_URL, PACKAGE_JSON_URL } from "../../constants";
910
import "../../elements/container/container-element";
@@ -82,8 +83,8 @@ export default class HomePage extends LitElement {
8283
protected render () {
8384
return html`
8485
<container-element id="main-container" centered>
85-
<wl-title class="title">Weightless</wl-title>
86-
<span class="text">High quality web components with a small footprint.</span>
86+
<wl-title class="title" nowrap>Weightless</wl-title>
87+
<wl-text class="text" size="large">High quality web components with a small footprint.</wl-text>
8788
<div class="cta-area">
8889
<router-link path="get-started" delegateFocus>
8990
<skip-anchor></skip-anchor>
@@ -107,7 +108,7 @@ export default class HomePage extends LitElement {
107108
<img class="img" src="/assets/icon/${bullet.img}.svg" alt="${bullet.title}" />
108109
<aside>
109110
<wl-title class="title" level="4">${bullet.title}</wl-title>
110-
<span class="text">${bullet.text}</span>
111+
<wl-text class="text">${bullet.text}</wl-text>
111112
</aside>
112113
</div>
113114
`)}
@@ -135,15 +136,15 @@ export default class HomePage extends LitElement {
135136
</svg>
136137
<aside>
137138
<wl-title class="title" level="2">Our Octocat is hungry!</wl-title>
138-
<span>Do you find this library inspiring? Help us feed our Octocat by becoming a stargazer.</span>
139+
<wl-text class="text">Do you find this library inspiring? Help us feed our Octocat by becoming a stargazer.</wl-text>
139140
</aside>
140141
</div>
141142
</container-element>
142143
</a>
143144
144145
<container-element id="browser-support-container">
145-
<wl-title class="text" level="2">Browser Support</wl-title>
146-
<span class="text">Weightless elements are supported on all modern browsers. If you want to support old school browsers you’ll need to load polyfills. Luckily it is super easy if you use <a href="https://polyfill.dev" target="_blank" rel="noopener">polyfill.dev</a> or something similar.</span>
146+
<wl-title class="title" level="2">Browser Support</wl-title>
147+
<wl-text class="text">Weightless elements are supported on all modern browsers. If you want to support old school browsers you’ll need to load polyfills. Luckily it is super easy if you use <a href="https://polyfill.dev" target="_blank" rel="noopener">polyfill.dev</a> or something similar.</wl-text>
147148
<div id="browsers">
148149
${repeat(BROWSER_SUPPORT, support => html`
149150
<div class="browser">

src/lib/label/README.md

+4-1

src/lib/label/label-vars.scss

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
@import "../style/base";
22

33
/* Color */
4-
$label-color: var(--label-color, #{color("shade", $dark-hue)});
4+
$label-color: var(--label-color, #{color("shade")});
5+
6+
/* Font size */
7+
$label-font-size: var(--label-font-size, #{$font-size-m});
8+
9+
/* Font family */
10+
$label-font-family: var(--label-font-family, #{$font-family-serif});
11+
12+
/* Font family */
13+
$label-line-height: var(--label-line-height, #{$line-height-m});
514

615
/* Color of the required astrix */
716
$label-required-color: var(--label-required-color, #{color("error", $default-hue)});

src/lib/label/label.scss

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
@import "label-vars";
33

44
:host {
5+
font-size: $label-font-size;
6+
font-family: $label-font-family;
7+
line-height: $label-line-height;
58
color: $label-color;
69
cursor: default;
710
display: inline-block;
@@ -12,6 +15,7 @@
1215
overflow: hidden;
1316
text-overflow: ellipsis;
1417
max-width: 100%;
18+
line-height: 1.1;
1519
}
1620

1721
:host([required]):after {

src/lib/label/label.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ export interface ILabelProperties {
1919
/**
2020
* Make form elements more accessible.
2121
* @slot - Default content. If the first element is a form element, clicks on the entire label will be re-fired upon that element.
22-
* @cssprop --label-color - Color
22+
* @cssprop --label-font-size - Font size
23+
* @cssprop --label-font-family - Font family
24+
* @cssprop --label-line-height - Line height
25+
* @cssprop --label-color - Color.
2326
* @cssprop --label-required-color - Color of the required astrix
2427
*/
2528
@customElement("wl-label")

src/lib/slider/slider.scss

+1-5
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@
116116

117117
// Required to center the thumb on the track
118118
position: relative;
119-
top: -1px;
120119
}
121120

122121
@mixin slider-thumb-focus-styles() {
@@ -137,9 +136,6 @@
137136
@include slider-thumb-focus-styles()
138137
}
139138

140-
;
141139
#slider:focus::-moz-range-thumb {
142140
@include slider-thumb-focus-styles()
143-
}
144-
145-
;
141+
}

src/lib/style/base/theme.scss

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,6 @@
5757
@return hsl-contrast-fallback($palette, $name, $hue, $alpha);
5858
}
5959

60-
$foreground: #{var(--foreground, hsl(0, 0%, 5%))};
61-
$background: #{var(--background, hsl(0, 100%, 100%))};
60+
$foreground: #{var(--foreground, hsl(200, 4%, 15%))};
61+
$background: #{var(--background, hsl(0, 0%, 95%))};
6262
$shadow: #{var(--shadow, hsla(0, 0%, 0%, 0.15))};

src/lib/style/base/typography.scss

+2
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@ $font-weight-thin: var(--font-weight-thin, 300);
1414
$font-weight-regular: var(--font-weight-regular, 500);
1515
$font-weight-strong: var(--font-weight-strong, 600);
1616
$font-weight-bold: var(--font-weight-bold, 800);
17+
18+
$line-height-m: var(--line-height-m, 1.5em);

0 commit comments

Comments
 (0)