@times-design-system/components-wordpress 0.1.1-alpha.831 → 0.7.2-alpha.2
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/BLOCK_CREATION_CHECKLIST.md +160 -0
- package/BUILD.md +411 -0
- package/CHANGELOG.md +30 -0
- package/LICENSE +29 -0
- package/README.md +972 -5
- package/TRANSFORMATION_GUIDE.md +635 -0
- package/block.json +10 -0
- package/dist/block.json +10 -0
- package/dist/blocks/ad-container/block.json +28 -0
- package/dist/blocks/ad-container/edit.js +42 -0
- package/dist/blocks/ad-container/index.js +10 -0
- package/dist/blocks/ad-container/save.js +16 -0
- package/dist/blocks/ad-container/style-editor.css +4 -0
- package/dist/blocks/ad-container/style.css +27 -0
- package/dist/blocks/button/block.json +89 -0
- package/dist/blocks/button/edit.js +187 -0
- package/dist/blocks/button/index.js +11 -0
- package/dist/blocks/button/save.js +52 -0
- package/dist/blocks/button/style-editor.css +15 -0
- package/dist/blocks/button/style.css +37 -0
- package/dist/blocks/chip/block.json +57 -0
- package/dist/blocks/chip/edit.js +113 -0
- package/dist/blocks/chip/index.js +10 -0
- package/dist/blocks/chip/save.js +36 -0
- package/dist/blocks/chip/style-editor.css +5 -0
- package/dist/blocks/chip/style.css +48 -0
- package/dist/blocks/divider/block.json +31 -0
- package/dist/blocks/divider/edit.js +42 -0
- package/dist/blocks/divider/index.js +10 -0
- package/dist/blocks/divider/save.js +18 -0
- package/dist/blocks/divider/style-editor.css +4 -0
- package/dist/blocks/divider/style.css +25 -0
- package/dist/blocks/flag/block.json +48 -0
- package/dist/blocks/flag/edit.js +82 -0
- package/dist/blocks/flag/index.js +10 -0
- package/dist/blocks/flag/save.js +25 -0
- package/dist/blocks/flag/style-editor.css +5 -0
- package/dist/blocks/flag/style.css +45 -0
- package/dist/blocks/icon-button/block.json +43 -0
- package/dist/blocks/icon-button/edit.js +82 -0
- package/dist/blocks/icon-button/index.js +10 -0
- package/dist/blocks/icon-button/save.js +29 -0
- package/dist/blocks/icon-button/style-editor.css +5 -0
- package/dist/blocks/icon-button/style.css +32 -0
- package/dist/blocks/input/block.json +47 -0
- package/dist/blocks/input/edit.js +78 -0
- package/dist/blocks/input/index.js +10 -0
- package/dist/blocks/input/save.js +27 -0
- package/dist/blocks/input/style-editor.css +8 -0
- package/dist/blocks/input/style.css +30 -0
- package/dist/blocks/link/block.json +71 -0
- package/dist/blocks/link/edit.js +151 -0
- package/dist/blocks/link/index.js +10 -0
- package/dist/blocks/link/save.js +46 -0
- package/dist/blocks/link/style-editor.css +5 -0
- package/dist/blocks/link/style.css +66 -0
- package/dist/blocks/text/block.json +32 -0
- package/dist/blocks/text/edit.js +56 -0
- package/dist/blocks/text/index.js +10 -0
- package/dist/blocks/text/save.js +18 -0
- package/dist/blocks/text/style-editor.css +4 -0
- package/dist/blocks/text/style.css +20 -0
- package/dist/blocks/toast/block.json +39 -0
- package/dist/blocks/toast/edit.js +85 -0
- package/dist/blocks/toast/index.js +10 -0
- package/dist/blocks/toast/save.js +29 -0
- package/dist/blocks/toast/style-editor.css +4 -0
- package/dist/blocks/toast/style.css +51 -0
- package/dist/index.cjs +2232 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +2 -0
- package/dist/index.css.map +1 -0
- package/dist/index.js +2196 -255
- package/dist/index.js.map +1 -1
- package/dist/plugin.php +79 -0
- package/dist/utils/classBuilder.js +53 -0
- package/package.json +39 -7
- package/plugin.php +79 -0
- package/rollup.config.js +39 -22
- package/scripts/build-plugin.cjs +121 -0
- package/scripts/create-block.sh +141 -0
- package/src/blocks/ad-container/block.json +28 -0
- package/src/blocks/ad-container/edit.js +42 -0
- package/src/blocks/ad-container/index.js +10 -0
- package/src/blocks/ad-container/save.js +16 -0
- package/src/blocks/ad-container/style-editor.css +4 -0
- package/src/blocks/ad-container/style.css +27 -0
- package/src/blocks/button/block.json +89 -0
- package/src/blocks/button/edit.js +187 -0
- package/src/blocks/button/index.js +11 -0
- package/src/blocks/button/save.js +52 -0
- package/src/blocks/button/style-editor.css +15 -0
- package/src/blocks/button/style.css +37 -0
- package/src/blocks/chip/block.json +57 -0
- package/src/blocks/chip/edit.js +113 -0
- package/src/blocks/chip/index.js +10 -0
- package/src/blocks/chip/save.js +36 -0
- package/src/blocks/chip/style-editor.css +5 -0
- package/src/blocks/chip/style.css +48 -0
- package/src/blocks/divider/block.json +31 -0
- package/src/blocks/divider/edit.js +42 -0
- package/src/blocks/divider/index.js +10 -0
- package/src/blocks/divider/save.js +18 -0
- package/src/blocks/divider/style-editor.css +4 -0
- package/src/blocks/divider/style.css +25 -0
- package/src/blocks/flag/block.json +48 -0
- package/src/blocks/flag/edit.js +82 -0
- package/src/blocks/flag/index.js +10 -0
- package/src/blocks/flag/save.js +25 -0
- package/src/blocks/flag/style-editor.css +5 -0
- package/src/blocks/flag/style.css +45 -0
- package/src/blocks/icon-button/block.json +43 -0
- package/src/blocks/icon-button/edit.js +82 -0
- package/src/blocks/icon-button/index.js +10 -0
- package/src/blocks/icon-button/save.js +29 -0
- package/src/blocks/icon-button/style-editor.css +5 -0
- package/src/blocks/icon-button/style.css +32 -0
- package/src/blocks/input/block.json +47 -0
- package/src/blocks/input/edit.js +78 -0
- package/src/blocks/input/index.js +10 -0
- package/src/blocks/input/save.js +27 -0
- package/src/blocks/input/style-editor.css +8 -0
- package/src/blocks/input/style.css +30 -0
- package/src/blocks/link/block.json +71 -0
- package/src/blocks/link/edit.js +151 -0
- package/src/blocks/link/index.js +10 -0
- package/src/blocks/link/save.js +46 -0
- package/src/blocks/link/style-editor.css +5 -0
- package/src/blocks/link/style.css +66 -0
- package/src/blocks/text/block.json +32 -0
- package/src/blocks/text/edit.js +56 -0
- package/src/blocks/text/index.js +10 -0
- package/src/blocks/text/save.js +18 -0
- package/src/blocks/text/style-editor.css +4 -0
- package/src/blocks/text/style.css +20 -0
- package/src/blocks/toast/block.json +39 -0
- package/src/blocks/toast/edit.js +85 -0
- package/src/blocks/toast/index.js +10 -0
- package/src/blocks/toast/save.js +29 -0
- package/src/blocks/toast/style-editor.css +4 -0
- package/src/blocks/toast/style.css +51 -0
- package/src/index.js +15 -12
- package/src/utils/classBuilder.js +53 -0
- package/tsconfig.json +4 -4
- package/__tests__/wordpress.test.js +0 -0
- package/dist/AdContainer/AdContainer.d.ts +0 -9
- package/dist/Article/ArticleMetaContainer/ArticleMetaContainer.d.ts +0 -8
- package/dist/Article/UpNextArticles/UpNextArticles.d.ts +0 -13
- package/dist/Button/Button.d.ts +0 -15
- package/dist/CommentsDisabled/CommentsDisabled.d.ts +0 -10
- package/dist/CommentsDisabled/CommentsDisabled.stories.d.ts +0 -44
- package/dist/CommentsDisabled/index.d.ts +0 -2
- package/dist/Divider/Divider.d.ts +0 -15
- package/dist/Input/Input.d.ts +0 -25
- package/dist/Link/Link.d.ts +0 -18
- package/dist/Text/Text.d.ts +0 -14
- package/dist/index.cjs.js +0 -299
- package/dist/index.cjs.js.map +0 -1
- package/dist/styles.css +0 -151
- package/dist/typographyStyles.css +0 -30
- package/dist/utils/cn.d.ts +0 -1
- package/dist/utils/hooks.d.ts +0 -8
- package/src/AdContainer/AdContainer.tsx +0 -31
- package/src/AdContainer/styles.css +0 -58
- package/src/Article/ArticleMetaContainer/ArticleMetaContainer.tsx +0 -14
- package/src/Article/ArticleMetaContainer/styles.css +0 -151
- package/src/Article/UpNextArticles/UpNextArticles.tsx +0 -69
- package/src/Article/UpNextArticles/styles.css +0 -151
- package/src/Button/Button.tsx +0 -36
- package/src/Button/styles.css +0 -30
- package/src/CommentsDisabled/CommentsDisabled.stories.tsx +0 -178
- package/src/CommentsDisabled/CommentsDisabled.tsx +0 -63
- package/src/CommentsDisabled/IMPLEMENTATION_SUMMARY.md +0 -305
- package/src/CommentsDisabled/README.md +0 -284
- package/src/CommentsDisabled/TOKEN_MAPPING.md +0 -269
- package/src/CommentsDisabled/index.ts +0 -2
- package/src/CommentsDisabled/styles.css +0 -82
- package/src/Divider/Divider.tsx +0 -41
- package/src/Divider/styles.css +0 -80
- package/src/Input/Input.tsx +0 -62
- package/src/Input/styles.css +0 -69
- package/src/Link/Link.tsx +0 -49
- package/src/Link/styles.css +0 -111
- package/src/Text/Text.tsx +0 -38
- package/src/Text/styles.css +0 -30
- package/src/Text/typographyStyles.css +0 -30
- package/src/utils/cn.js +0 -3
- package/src/utils/cn.tsx +0 -3
- package/src/utils/hooks.ts +0 -34
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* Text Block Styles */
|
|
2
|
+
.tds-text {
|
|
3
|
+
margin: 0;
|
|
4
|
+
padding: 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.tds-text--body-standard {
|
|
8
|
+
font: var(--typography-body-standard);
|
|
9
|
+
color: var(--color-text-primary);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.tds-text--body-small {
|
|
13
|
+
font: var(--typography-body-small);
|
|
14
|
+
color: var(--color-text-secondary);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.tds-text--headline {
|
|
18
|
+
font: var(--typography-headline);
|
|
19
|
+
color: var(--color-text-primary);
|
|
20
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schemas.wp.org/trunk/block.json",
|
|
3
|
+
"apiVersion": 3,
|
|
4
|
+
"name": "times/toast",
|
|
5
|
+
"title": "Toast",
|
|
6
|
+
"category": "common",
|
|
7
|
+
"description": "Notification toast component",
|
|
8
|
+
"icon": "bell",
|
|
9
|
+
"supports": {
|
|
10
|
+
"html": false,
|
|
11
|
+
"spacing": {
|
|
12
|
+
"margin": true
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"attributes": {
|
|
16
|
+
"label": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"default": ""
|
|
19
|
+
},
|
|
20
|
+
"intent": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"default": "info",
|
|
23
|
+
"enum": ["info", "success", "warning", "error"]
|
|
24
|
+
},
|
|
25
|
+
"link": {
|
|
26
|
+
"type": "boolean",
|
|
27
|
+
"default": false
|
|
28
|
+
},
|
|
29
|
+
"linkLabel": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"default": ""
|
|
32
|
+
},
|
|
33
|
+
"timeout": {
|
|
34
|
+
"type": "number",
|
|
35
|
+
"default": 5000
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"example": {}
|
|
39
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useBlockProps,
|
|
3
|
+
RichText,
|
|
4
|
+
InspectorControls
|
|
5
|
+
} from '@wordpress/block-editor';
|
|
6
|
+
import {
|
|
7
|
+
PanelBody,
|
|
8
|
+
SelectControl,
|
|
9
|
+
TextControl,
|
|
10
|
+
ToggleControl,
|
|
11
|
+
NumberControl
|
|
12
|
+
} from '@wordpress/components';
|
|
13
|
+
|
|
14
|
+
const edit = ({ attributes, setAttributes }) => {
|
|
15
|
+
const { label, intent, link, linkLabel, timeout } = attributes;
|
|
16
|
+
const blockProps = useBlockProps();
|
|
17
|
+
|
|
18
|
+
const buildClass = () => {
|
|
19
|
+
const classes = ['tds-toast'];
|
|
20
|
+
classes.push(`tds-toast--intent-${intent}`);
|
|
21
|
+
return classes.join(' ');
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<>
|
|
26
|
+
<InspectorControls>
|
|
27
|
+
<PanelBody title="Toast Settings">
|
|
28
|
+
<TextControl
|
|
29
|
+
label="Label"
|
|
30
|
+
value={label}
|
|
31
|
+
onChange={(val) => setAttributes({ label: val })}
|
|
32
|
+
/>
|
|
33
|
+
<SelectControl
|
|
34
|
+
label="Intent"
|
|
35
|
+
value={intent}
|
|
36
|
+
options={[
|
|
37
|
+
{ label: 'Info', value: 'info' },
|
|
38
|
+
{ label: 'Success', value: 'success' },
|
|
39
|
+
{ label: 'Warning', value: 'warning' },
|
|
40
|
+
{ label: 'Error', value: 'error' }
|
|
41
|
+
]}
|
|
42
|
+
onChange={(val) => setAttributes({ intent: val })}
|
|
43
|
+
/>
|
|
44
|
+
<ToggleControl
|
|
45
|
+
label="Show Link"
|
|
46
|
+
checked={link}
|
|
47
|
+
onChange={(val) => setAttributes({ link: val })}
|
|
48
|
+
/>
|
|
49
|
+
{link && (
|
|
50
|
+
<TextControl
|
|
51
|
+
label="Link Label"
|
|
52
|
+
value={linkLabel}
|
|
53
|
+
onChange={(val) => setAttributes({ linkLabel: val })}
|
|
54
|
+
/>
|
|
55
|
+
)}
|
|
56
|
+
<NumberControl
|
|
57
|
+
label="Timeout (ms)"
|
|
58
|
+
value={timeout}
|
|
59
|
+
onChange={(val) => setAttributes({ timeout: val || 0 })}
|
|
60
|
+
min={0}
|
|
61
|
+
step={1000}
|
|
62
|
+
/>
|
|
63
|
+
</PanelBody>
|
|
64
|
+
</InspectorControls>
|
|
65
|
+
<div
|
|
66
|
+
{...blockProps}
|
|
67
|
+
className={buildClass()}
|
|
68
|
+
role="status"
|
|
69
|
+
aria-live="polite"
|
|
70
|
+
>
|
|
71
|
+
<div className="tds-toast__content">
|
|
72
|
+
<RichText
|
|
73
|
+
value={label}
|
|
74
|
+
onChange={(val) => setAttributes({ label: val })}
|
|
75
|
+
placeholder="Toast message"
|
|
76
|
+
className="tds-toast__label"
|
|
77
|
+
/>
|
|
78
|
+
</div>
|
|
79
|
+
{link && <button className="tds-toast__link">{linkLabel}</button>}
|
|
80
|
+
</div>
|
|
81
|
+
</>
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export default edit;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useBlockProps, RichText } from '@wordpress/block-editor';
|
|
2
|
+
|
|
3
|
+
const save = ({ attributes }) => {
|
|
4
|
+
const { label, intent, link, linkLabel, timeout } = attributes;
|
|
5
|
+
const blockProps = useBlockProps.save();
|
|
6
|
+
|
|
7
|
+
const buildClass = () => {
|
|
8
|
+
const classes = ['tds-toast'];
|
|
9
|
+
classes.push(`tds-toast--intent-${intent}`);
|
|
10
|
+
return classes.join(' ');
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<div
|
|
15
|
+
{...blockProps}
|
|
16
|
+
className={buildClass()}
|
|
17
|
+
role="status"
|
|
18
|
+
aria-live="polite"
|
|
19
|
+
data-timeout={timeout}
|
|
20
|
+
>
|
|
21
|
+
<div className="tds-toast__content">
|
|
22
|
+
<RichText.Content value={label} className="tds-toast__label" />
|
|
23
|
+
</div>
|
|
24
|
+
{link && <button className="tds-toast__link">{linkLabel}</button>}
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default save;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* Toast Block Styles */
|
|
2
|
+
.tds-toast {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
gap: var(--spacing-m);
|
|
7
|
+
padding: var(--spacing-m);
|
|
8
|
+
border-radius: var(--border-radius-s);
|
|
9
|
+
background-color: var(--color-fill-secondary);
|
|
10
|
+
color: var(--color-text-primary);
|
|
11
|
+
font: var(--typography-body-standard);
|
|
12
|
+
margin-bottom: var(--spacing-m);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.tds-toast--intent-success {
|
|
16
|
+
background-color: var(--color-fill-positive);
|
|
17
|
+
color: var(--color-text-on-positive);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.tds-toast--intent-warning {
|
|
21
|
+
background-color: var(--color-fill-warning);
|
|
22
|
+
color: var(--color-text-on-warning);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.tds-toast--intent-error {
|
|
26
|
+
background-color: var(--color-fill-negative);
|
|
27
|
+
color: var(--color-text-on-negative);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.tds-toast__content {
|
|
31
|
+
flex: 1;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.tds-toast__label {
|
|
35
|
+
margin: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.tds-toast__link {
|
|
39
|
+
padding: var(--spacing-xs) var(--spacing-s);
|
|
40
|
+
border: none;
|
|
41
|
+
border-radius: var(--border-radius-xs);
|
|
42
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
43
|
+
color: inherit;
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
transition: all 0.2s ease-in-out;
|
|
46
|
+
white-space: nowrap;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.tds-toast__link:hover {
|
|
50
|
+
background-color: rgba(255, 255, 255, 0.2);
|
|
51
|
+
}
|