@rgrmdesign/rgrm-ds-elements 0.2.1 → 0.4.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 +8 -5
- package/dist/{chunk-LPYKX4DJ.js → chunk-L3CUOEDZ.js} +21 -9
- package/dist/chunk-L3CUOEDZ.js.map +1 -0
- package/dist/fonts.d.ts +2 -0
- package/dist/fonts.js +3 -0
- package/dist/fonts.js.map +1 -0
- package/dist/heading/index.d.ts +1 -1
- package/dist/heading/index.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +9 -5
- package/dist/chunk-LPYKX4DJ.js.map +0 -1
package/README.md
CHANGED
|
@@ -18,6 +18,7 @@ Import everything (registers all elements):
|
|
|
18
18
|
|
|
19
19
|
```js
|
|
20
20
|
import '@rgrmdesign/rgrm-ds-tokens';
|
|
21
|
+
import '@rgrmdesign/rgrm-ds-elements/fonts';
|
|
21
22
|
import '@rgrmdesign/rgrm-ds-elements';
|
|
22
23
|
```
|
|
23
24
|
|
|
@@ -25,12 +26,13 @@ Or register a single component via its sub-path export:
|
|
|
25
26
|
|
|
26
27
|
```js
|
|
27
28
|
import '@rgrmdesign/rgrm-ds-tokens';
|
|
29
|
+
import '@rgrmdesign/rgrm-ds-elements/fonts';
|
|
28
30
|
import '@rgrmdesign/rgrm-ds-elements/heading';
|
|
29
31
|
import '@rgrmdesign/rgrm-ds-elements/paragraph';
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
```html
|
|
33
|
-
<rgrm-heading level="display">Hero title.</rgrm-heading>
|
|
35
|
+
<rgrm-heading level="1" appearance="display">Hero title.</rgrm-heading>
|
|
34
36
|
<rgrm-heading level="1">Page title.</rgrm-heading>
|
|
35
37
|
<rgrm-heading level="2">Section title.</rgrm-heading>
|
|
36
38
|
|
|
@@ -41,12 +43,13 @@ import '@rgrmdesign/rgrm-ds-elements/paragraph';
|
|
|
41
43
|
|
|
42
44
|
## Heading (`<rgrm-heading>`)
|
|
43
45
|
|
|
44
|
-
| Attribute
|
|
45
|
-
|
|
|
46
|
-
| `level`
|
|
46
|
+
| Attribute | Values | Description |
|
|
47
|
+
| ------------ | ---------------------- | -------------------------------------------------------- |
|
|
48
|
+
| `level` | `1` … `6` | Semantic heading level; sets inner `<h1>`–`<h6>` (def. 2). |
|
|
49
|
+
| `appearance` | `1` … `6` \| `display` | Visual scale; defaults to `level` when omitted. |
|
|
47
50
|
|
|
48
51
|
Also exported: `RgrmHeadingElement` (class), `RGRM_HEADING_TAG`
|
|
49
|
-
(`'rgrm-heading'`), and `headingClassNames(
|
|
52
|
+
(`'rgrm-heading'`), and `headingClassNames(appearance, className?)`.
|
|
50
53
|
|
|
51
54
|
## Paragraph (`<rgrm-paragraph>`)
|
|
52
55
|
|
|
@@ -1,32 +1,44 @@
|
|
|
1
1
|
// src/heading/index.ts
|
|
2
2
|
import "@rgrmdesign/rgrm-ds-css/heading";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
headingClassNames as headingClassNames2
|
|
5
|
+
} from "@rgrmdesign/rgrm-ds-core/heading";
|
|
4
6
|
|
|
5
7
|
// src/heading/heading-element.ts
|
|
6
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
headingClassNames
|
|
10
|
+
} from "@rgrmdesign/rgrm-ds-core/heading";
|
|
7
11
|
var RGRM_HEADING_TAG = "rgrm-heading";
|
|
8
12
|
var DEFAULT_LEVEL = 2;
|
|
9
13
|
function parseLevelAttribute(value) {
|
|
14
|
+
const level = Number(value);
|
|
15
|
+
return Number.isInteger(level) && level >= 1 && level <= 6 ? level : DEFAULT_LEVEL;
|
|
16
|
+
}
|
|
17
|
+
function parseAppearanceAttribute(value) {
|
|
18
|
+
if (value === null) {
|
|
19
|
+
return void 0;
|
|
20
|
+
}
|
|
10
21
|
if (value === "display") {
|
|
11
22
|
return "display";
|
|
12
23
|
}
|
|
13
|
-
const
|
|
14
|
-
return Number.isInteger(
|
|
24
|
+
const appearance = Number(value);
|
|
25
|
+
return Number.isInteger(appearance) && appearance >= 1 && appearance <= 6 ? appearance : void 0;
|
|
15
26
|
}
|
|
16
27
|
var RgrmHeadingElement = class extends HTMLElement {
|
|
17
|
-
static observedAttributes = ["level"];
|
|
28
|
+
static observedAttributes = ["level", "appearance"];
|
|
18
29
|
#inner = document.createElement("h2");
|
|
19
30
|
connectedCallback() {
|
|
20
31
|
this.#render();
|
|
21
32
|
}
|
|
22
33
|
attributeChangedCallback(name) {
|
|
23
|
-
if (name === "level") {
|
|
34
|
+
if (name === "level" || name === "appearance") {
|
|
24
35
|
this.#render();
|
|
25
36
|
}
|
|
26
37
|
}
|
|
27
38
|
#render() {
|
|
28
39
|
const level = parseLevelAttribute(this.getAttribute("level"));
|
|
29
|
-
const
|
|
40
|
+
const appearance = parseAppearanceAttribute(this.getAttribute("appearance")) ?? level;
|
|
41
|
+
const tagName = `h${level}`;
|
|
30
42
|
if (this.#inner.localName !== tagName) {
|
|
31
43
|
const next = document.createElement(tagName);
|
|
32
44
|
while (this.#inner.firstChild) {
|
|
@@ -38,7 +50,7 @@ var RgrmHeadingElement = class extends HTMLElement {
|
|
|
38
50
|
this.#inner = next;
|
|
39
51
|
}
|
|
40
52
|
this.#mountInner();
|
|
41
|
-
this.#inner.className = headingClassNames(
|
|
53
|
+
this.#inner.className = headingClassNames(appearance);
|
|
42
54
|
}
|
|
43
55
|
#mountInner() {
|
|
44
56
|
if (this.#inner.parentNode === this) {
|
|
@@ -61,4 +73,4 @@ export {
|
|
|
61
73
|
RgrmHeadingElement,
|
|
62
74
|
headingClassNames2 as headingClassNames
|
|
63
75
|
};
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-L3CUOEDZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/heading/index.ts","../src/heading/heading-element.ts"],"sourcesContent":["import '@rgrmdesign/rgrm-ds-css/heading';\n\nexport {\n headingClassNames,\n type HeadingAppearance,\n type HeadingLevel,\n} from '@rgrmdesign/rgrm-ds-core/heading';\nexport { RGRM_HEADING_TAG, RgrmHeadingElement } from './heading-element.js';\n\nimport { RGRM_HEADING_TAG, RgrmHeadingElement } from './heading-element.js';\n\nif (!customElements.get(RGRM_HEADING_TAG)) {\n customElements.define(RGRM_HEADING_TAG, RgrmHeadingElement);\n}\n","import {\n headingClassNames,\n type HeadingAppearance,\n type HeadingLevel,\n} from '@rgrmdesign/rgrm-ds-core/heading';\n\nexport const RGRM_HEADING_TAG = 'rgrm-heading';\n\nconst DEFAULT_LEVEL: HeadingLevel = 2;\n\nfunction parseLevelAttribute(value: string | null): HeadingLevel {\n const level = Number(value);\n return Number.isInteger(level) && level >= 1 && level <= 6\n ? (level as HeadingLevel)\n : DEFAULT_LEVEL;\n}\n\nfunction parseAppearanceAttribute(value: string | null): HeadingAppearance | undefined {\n if (value === null) {\n return undefined;\n }\n if (value === 'display') {\n return 'display';\n }\n const appearance = Number(value);\n return Number.isInteger(appearance) && appearance >= 1 && appearance <= 6\n ? (appearance as HeadingAppearance)\n : undefined;\n}\n\nexport class RgrmHeadingElement extends HTMLElement {\n static readonly observedAttributes = ['level', 'appearance'];\n\n #inner: HTMLHeadingElement = document.createElement('h2');\n\n connectedCallback(): void {\n this.#render();\n }\n\n attributeChangedCallback(name: string): void {\n if (name === 'level' || name === 'appearance') {\n this.#render();\n }\n }\n\n #render(): void {\n const level = parseLevelAttribute(this.getAttribute('level'));\n const appearance = parseAppearanceAttribute(this.getAttribute('appearance')) ?? level;\n const tagName = `h${level}`;\n\n if (this.#inner.localName !== tagName) {\n const next = document.createElement(tagName) as HTMLHeadingElement;\n while (this.#inner.firstChild) {\n next.appendChild(this.#inner.firstChild);\n }\n if (this.#inner.parentNode === this) {\n this.replaceChild(next, this.#inner);\n }\n this.#inner = next;\n }\n\n this.#mountInner();\n this.#inner.className = headingClassNames(appearance);\n }\n\n #mountInner(): void {\n if (this.#inner.parentNode === this) {\n return;\n }\n\n while (this.firstChild) {\n this.#inner.appendChild(this.firstChild);\n }\n\n this.appendChild(this.#inner);\n }\n}\n"],"mappings":";AAAA,OAAO;AAEP;AAAA,EACE,qBAAAA;AAAA,OAGK;;;ACNP;AAAA,EACE;AAAA,OAGK;AAEA,IAAM,mBAAmB;AAEhC,IAAM,gBAA8B;AAEpC,SAAS,oBAAoB,OAAoC;AAC/D,QAAM,QAAQ,OAAO,KAAK;AAC1B,SAAO,OAAO,UAAU,KAAK,KAAK,SAAS,KAAK,SAAS,IACpD,QACD;AACN;AAEA,SAAS,yBAAyB,OAAqD;AACrF,MAAI,UAAU,MAAM;AAClB,WAAO;AAAA,EACT;AACA,MAAI,UAAU,WAAW;AACvB,WAAO;AAAA,EACT;AACA,QAAM,aAAa,OAAO,KAAK;AAC/B,SAAO,OAAO,UAAU,UAAU,KAAK,cAAc,KAAK,cAAc,IACnE,aACD;AACN;AAEO,IAAM,qBAAN,cAAiC,YAAY;AAAA,EAClD,OAAgB,qBAAqB,CAAC,SAAS,YAAY;AAAA,EAE3D,SAA6B,SAAS,cAAc,IAAI;AAAA,EAExD,oBAA0B;AACxB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,yBAAyB,MAAoB;AAC3C,QAAI,SAAS,WAAW,SAAS,cAAc;AAC7C,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAgB;AACd,UAAM,QAAQ,oBAAoB,KAAK,aAAa,OAAO,CAAC;AAC5D,UAAM,aAAa,yBAAyB,KAAK,aAAa,YAAY,CAAC,KAAK;AAChF,UAAM,UAAU,IAAI,KAAK;AAEzB,QAAI,KAAK,OAAO,cAAc,SAAS;AACrC,YAAM,OAAO,SAAS,cAAc,OAAO;AAC3C,aAAO,KAAK,OAAO,YAAY;AAC7B,aAAK,YAAY,KAAK,OAAO,UAAU;AAAA,MACzC;AACA,UAAI,KAAK,OAAO,eAAe,MAAM;AACnC,aAAK,aAAa,MAAM,KAAK,MAAM;AAAA,MACrC;AACA,WAAK,SAAS;AAAA,IAChB;AAEA,SAAK,YAAY;AACjB,SAAK,OAAO,YAAY,kBAAkB,UAAU;AAAA,EACtD;AAAA,EAEA,cAAoB;AAClB,QAAI,KAAK,OAAO,eAAe,MAAM;AACnC;AAAA,IACF;AAEA,WAAO,KAAK,YAAY;AACtB,WAAK,OAAO,YAAY,KAAK,UAAU;AAAA,IACzC;AAEA,SAAK,YAAY,KAAK,MAAM;AAAA,EAC9B;AACF;;;ADjEA,IAAI,CAAC,eAAe,IAAI,gBAAgB,GAAG;AACzC,iBAAe,OAAO,kBAAkB,kBAAkB;AAC5D;","names":["headingClassNames"]}
|
package/dist/fonts.d.ts
ADDED
package/dist/fonts.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/fonts.ts"],"sourcesContent":["import '@rgrmdesign/rgrm-ds-css/fonts';\n"],"mappings":";AAAA,OAAO;","names":[]}
|
package/dist/heading/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { HeadingLevel, headingClassNames } from '@rgrmdesign/rgrm-ds-core/heading';
|
|
1
|
+
export { HeadingAppearance, HeadingLevel, headingClassNames } from '@rgrmdesign/rgrm-ds-core/heading';
|
|
2
2
|
|
|
3
3
|
declare const RGRM_HEADING_TAG = "rgrm-heading";
|
|
4
4
|
declare class RgrmHeadingElement extends HTMLElement {
|
package/dist/heading/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { ButtonVariant, buttonClassNames } from '@rgrmdesign/rgrm-ds-core/button';
|
|
2
2
|
export { RGRM_BUTTON_TAG, RgrmButtonElement } from './button/index.js';
|
|
3
|
-
export { HeadingLevel, headingClassNames } from '@rgrmdesign/rgrm-ds-core/heading';
|
|
3
|
+
export { HeadingAppearance, HeadingLevel, headingClassNames } from '@rgrmdesign/rgrm-ds-core/heading';
|
|
4
4
|
export { RGRM_HEADING_TAG, RgrmHeadingElement } from './heading/index.js';
|
|
5
5
|
export { ParagraphSize, paragraphClassNames } from '@rgrmdesign/rgrm-ds-core/paragraph';
|
|
6
6
|
export { RGRM_PARAGRAPH_TAG, RgrmParagraphElement } from './paragraph/index.js';
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rgrmdesign/rgrm-ds-elements",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Web Components for the RGRM design system. Styles come from @rgrmdesign/rgrm-ds-css.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
"./section": {
|
|
30
30
|
"types": "./dist/section/index.d.ts",
|
|
31
31
|
"import": "./dist/section/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./fonts": {
|
|
34
|
+
"import": "./dist/fonts.js"
|
|
32
35
|
}
|
|
33
36
|
},
|
|
34
37
|
"files": [
|
|
@@ -36,6 +39,7 @@
|
|
|
36
39
|
],
|
|
37
40
|
"sideEffects": [
|
|
38
41
|
"@rgrmdesign/rgrm-ds-css",
|
|
42
|
+
"./dist/fonts.js",
|
|
39
43
|
"./dist/index.js",
|
|
40
44
|
"./dist/button/index.js",
|
|
41
45
|
"./dist/heading/index.js",
|
|
@@ -43,14 +47,14 @@
|
|
|
43
47
|
"./dist/section/index.js"
|
|
44
48
|
],
|
|
45
49
|
"dependencies": {
|
|
46
|
-
"@rgrmdesign/rgrm-ds-core": "0.
|
|
47
|
-
"@rgrmdesign/rgrm-ds-css": "0.
|
|
50
|
+
"@rgrmdesign/rgrm-ds-core": "0.3.0",
|
|
51
|
+
"@rgrmdesign/rgrm-ds-css": "0.4.0"
|
|
48
52
|
},
|
|
49
53
|
"peerDependencies": {
|
|
50
|
-
"@rgrmdesign/rgrm-ds-tokens": ">=0.
|
|
54
|
+
"@rgrmdesign/rgrm-ds-tokens": ">=0.8.0"
|
|
51
55
|
},
|
|
52
56
|
"devDependencies": {
|
|
53
|
-
"@rgrmdesign/rgrm-ds-tokens": "^0.
|
|
57
|
+
"@rgrmdesign/rgrm-ds-tokens": "^0.8.0",
|
|
54
58
|
"rimraf": "^6.0.1",
|
|
55
59
|
"tsup": "^8.5.1",
|
|
56
60
|
"typescript": "^5.9.3"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/heading/index.ts","../src/heading/heading-element.ts"],"sourcesContent":["import '@rgrmdesign/rgrm-ds-css/heading';\n\nexport { headingClassNames, type HeadingLevel } from '@rgrmdesign/rgrm-ds-core/heading';\nexport { RGRM_HEADING_TAG, RgrmHeadingElement } from './heading-element.js';\n\nimport { RGRM_HEADING_TAG, RgrmHeadingElement } from './heading-element.js';\n\nif (!customElements.get(RGRM_HEADING_TAG)) {\n customElements.define(RGRM_HEADING_TAG, RgrmHeadingElement);\n}\n","import { headingClassNames, type HeadingLevel } from '@rgrmdesign/rgrm-ds-core/heading';\n\nexport const RGRM_HEADING_TAG = 'rgrm-heading';\n\nconst DEFAULT_LEVEL: HeadingLevel = 2;\n\nfunction parseLevelAttribute(value: string | null): HeadingLevel {\n if (value === 'display') {\n return 'display';\n }\n const level = Number(value);\n return Number.isInteger(level) && level >= 1 && level <= 6\n ? (level as HeadingLevel)\n : DEFAULT_LEVEL;\n}\n\nexport class RgrmHeadingElement extends HTMLElement {\n static readonly observedAttributes = ['level'];\n\n #inner: HTMLHeadingElement = document.createElement('h2');\n\n connectedCallback(): void {\n this.#render();\n }\n\n attributeChangedCallback(name: string): void {\n if (name === 'level') {\n this.#render();\n }\n }\n\n #render(): void {\n const level = parseLevelAttribute(this.getAttribute('level'));\n const tagName = level === 'display' ? 'h1' : `h${level}`;\n\n if (this.#inner.localName !== tagName) {\n const next = document.createElement(tagName) as HTMLHeadingElement;\n while (this.#inner.firstChild) {\n next.appendChild(this.#inner.firstChild);\n }\n if (this.#inner.parentNode === this) {\n this.replaceChild(next, this.#inner);\n }\n this.#inner = next;\n }\n\n this.#mountInner();\n this.#inner.className = headingClassNames(level);\n }\n\n #mountInner(): void {\n if (this.#inner.parentNode === this) {\n return;\n }\n\n while (this.firstChild) {\n this.#inner.appendChild(this.firstChild);\n }\n\n this.appendChild(this.#inner);\n }\n}\n"],"mappings":";AAAA,OAAO;AAEP,SAAS,qBAAAA,0BAA4C;;;ACFrD,SAAS,yBAA4C;AAE9C,IAAM,mBAAmB;AAEhC,IAAM,gBAA8B;AAEpC,SAAS,oBAAoB,OAAoC;AAC/D,MAAI,UAAU,WAAW;AACvB,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,OAAO,KAAK;AAC1B,SAAO,OAAO,UAAU,KAAK,KAAK,SAAS,KAAK,SAAS,IACpD,QACD;AACN;AAEO,IAAM,qBAAN,cAAiC,YAAY;AAAA,EAClD,OAAgB,qBAAqB,CAAC,OAAO;AAAA,EAE7C,SAA6B,SAAS,cAAc,IAAI;AAAA,EAExD,oBAA0B;AACxB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,yBAAyB,MAAoB;AAC3C,QAAI,SAAS,SAAS;AACpB,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AAAA,EAEA,UAAgB;AACd,UAAM,QAAQ,oBAAoB,KAAK,aAAa,OAAO,CAAC;AAC5D,UAAM,UAAU,UAAU,YAAY,OAAO,IAAI,KAAK;AAEtD,QAAI,KAAK,OAAO,cAAc,SAAS;AACrC,YAAM,OAAO,SAAS,cAAc,OAAO;AAC3C,aAAO,KAAK,OAAO,YAAY;AAC7B,aAAK,YAAY,KAAK,OAAO,UAAU;AAAA,MACzC;AACA,UAAI,KAAK,OAAO,eAAe,MAAM;AACnC,aAAK,aAAa,MAAM,KAAK,MAAM;AAAA,MACrC;AACA,WAAK,SAAS;AAAA,IAChB;AAEA,SAAK,YAAY;AACjB,SAAK,OAAO,YAAY,kBAAkB,KAAK;AAAA,EACjD;AAAA,EAEA,cAAoB;AAClB,QAAI,KAAK,OAAO,eAAe,MAAM;AACnC;AAAA,IACF;AAEA,WAAO,KAAK,YAAY;AACtB,WAAK,OAAO,YAAY,KAAK,UAAU;AAAA,IACzC;AAEA,SAAK,YAAY,KAAK,MAAM;AAAA,EAC9B;AACF;;;ADtDA,IAAI,CAAC,eAAe,IAAI,gBAAgB,GAAG;AACzC,iBAAe,OAAO,kBAAkB,kBAAkB;AAC5D;","names":["headingClassNames"]}
|