@times-design-system/components-wordpress 1.2.2-alpha.0 → 1.2.2-alpha.10

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 (72) hide show
  1. package/BLOCK_CREATION_CHECKLIST.md +132 -19
  2. package/README.md +10 -4
  3. package/SCSS_VARIABLES_REFERENCE.md +316 -0
  4. package/STYLING_SYNC_GUIDE.md +306 -0
  5. package/TRANSFORMATION_GUIDE.md +286 -13
  6. package/dist/blocks/ad-container/block.json +1 -0
  7. package/dist/blocks/ad-container/render.php +27 -0
  8. package/dist/blocks/ad-container/style.css +23 -20
  9. package/dist/blocks/button/block.json +1 -0
  10. package/dist/blocks/button/render.php +71 -0
  11. package/dist/blocks/button/style-resolved.css +153 -0
  12. package/dist/blocks/button/style.css +138 -18
  13. package/dist/blocks/chip/block.json +1 -0
  14. package/dist/blocks/chip/render.php +40 -0
  15. package/dist/blocks/chip/style.css +68 -29
  16. package/dist/blocks/divider/block.json +1 -0
  17. package/dist/blocks/divider/render.php +31 -0
  18. package/dist/blocks/divider/style.css +25 -13
  19. package/dist/blocks/flag/block.json +1 -0
  20. package/dist/blocks/flag/render.php +34 -0
  21. package/dist/blocks/flag/style.css +39 -30
  22. package/dist/blocks/icon-button/block.json +1 -0
  23. package/dist/blocks/icon-button/render.php +46 -0
  24. package/dist/blocks/icon-button/style.css +21 -22
  25. package/dist/blocks/input/block.json +1 -0
  26. package/dist/blocks/input/render.php +39 -0
  27. package/dist/blocks/input/style.css +40 -17
  28. package/dist/blocks/link/block.json +1 -0
  29. package/dist/blocks/link/render.php +44 -0
  30. package/dist/blocks/link/style.css +87 -34
  31. package/dist/blocks/text/block.json +1 -0
  32. package/dist/blocks/text/render.php +26 -0
  33. package/dist/blocks/text/style.css +5 -18
  34. package/dist/blocks/toast/block.json +1 -0
  35. package/dist/blocks/toast/render.php +37 -0
  36. package/dist/blocks/toast/style.css +50 -34
  37. package/dist/index.cjs +20 -0
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.js +20 -0
  40. package/dist/index.js.map +1 -1
  41. package/package.json +3 -3
  42. package/src/blocks/ad-container/block.json +1 -0
  43. package/src/blocks/ad-container/render.php +27 -0
  44. package/src/blocks/ad-container/style.css +23 -20
  45. package/src/blocks/button/block.json +1 -0
  46. package/src/blocks/button/render.php +71 -0
  47. package/src/blocks/button/style-resolved.css +153 -0
  48. package/src/blocks/button/style.css +138 -18
  49. package/src/blocks/chip/block.json +1 -0
  50. package/src/blocks/chip/render.php +40 -0
  51. package/src/blocks/chip/style.css +68 -29
  52. package/src/blocks/divider/block.json +1 -0
  53. package/src/blocks/divider/render.php +31 -0
  54. package/src/blocks/divider/style.css +25 -13
  55. package/src/blocks/flag/block.json +1 -0
  56. package/src/blocks/flag/render.php +34 -0
  57. package/src/blocks/flag/style.css +39 -30
  58. package/src/blocks/icon-button/block.json +1 -0
  59. package/src/blocks/icon-button/render.php +46 -0
  60. package/src/blocks/icon-button/style.css +21 -22
  61. package/src/blocks/input/block.json +1 -0
  62. package/src/blocks/input/render.php +39 -0
  63. package/src/blocks/input/style.css +40 -17
  64. package/src/blocks/link/block.json +1 -0
  65. package/src/blocks/link/render.php +44 -0
  66. package/src/blocks/link/style.css +87 -34
  67. package/src/blocks/text/block.json +1 -0
  68. package/src/blocks/text/render.php +26 -0
  69. package/src/blocks/text/style.css +5 -18
  70. package/src/blocks/toast/block.json +1 -0
  71. package/src/blocks/toast/render.php +37 -0
  72. package/src/blocks/toast/style.css +50 -34
@@ -1,20 +1,7 @@
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
- }
1
+ /* Text Block Frontend Styles */
2
+ /* Using resolved design token values for self-contained styling */
3
+ /* Text component is typography-based, minimal CSS needed */
11
4
 
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);
5
+ .tds-text {
6
+ /* Base typography handled by design tokens and parent context */
20
7
  }
@@ -12,6 +12,7 @@
12
12
  "margin": true
13
13
  }
14
14
  },
15
+ "render": "file:./render.php",
15
16
  "attributes": {
16
17
  "label": {
17
18
  "type": "string",
@@ -0,0 +1,37 @@
1
+ <?php
2
+ /**
3
+ * Toast Block Render Callback
4
+ *
5
+ * Renders the Toast notification block on the frontend.
6
+ *
7
+ * @package TimesDesignSystem\ComponentsWordPress
8
+ * @var array $attributes Block attributes
9
+ * @var string $content Block content
10
+ * @var WP_Block $block Block instance
11
+ */
12
+
13
+ $label = isset($attributes['label']) ? wp_kses_post($attributes['label']) : '';
14
+ $intent = isset($attributes['intent']) ? sanitize_text_field($attributes['intent']) : '';
15
+ $link = isset($attributes['link']) ? esc_url($attributes['link']) : '';
16
+ $link_label = isset($attributes['linkLabel']) ? sanitize_text_field($attributes['linkLabel']) : '';
17
+ $timeout = isset($attributes['timeout']) ? intval($attributes['timeout']) : 0;
18
+
19
+ $classes = ['tds-toast'];
20
+ $classes[] = 'tds-toast--intent-' . $intent;
21
+
22
+ $wrapper_attrs = get_block_wrapper_attributes(['class' => implode(' ', $classes)]);
23
+ ?>
24
+
25
+ <div
26
+ <?php echo wp_kses_post($wrapper_attrs); ?>
27
+ role="status"
28
+ aria-live="polite"
29
+ <?php echo $timeout ? 'data-timeout="' . esc_attr($timeout) . '"' : ''; ?>
30
+ >
31
+ <div class="tds-toast__content">
32
+ <div class="tds-toast__label"><?php echo wp_kses_post($label); ?></div>
33
+ </div>
34
+ <?php if ($link && $link_label) : ?>
35
+ <a href="<?php echo esc_attr($link); ?>" class="tds-toast__link"><?php echo wp_kses_post($link_label); ?></a>
36
+ <?php endif; ?>
37
+ </div>
@@ -1,51 +1,67 @@
1
- /* Toast Block Styles */
1
+ /* Toast Block Frontend Styles */
2
+ /* Using resolved design token values for self-contained styling */
3
+
2
4
  .tds-toast {
3
- display: flex;
5
+ --tds-toast-fill: #22724f;
6
+ --tds-toast-text: #ffffff;
7
+ --tds-toast-link: #ffffff;
8
+
9
+ display: inline-flex;
4
10
  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);
11
+ gap: 12px;
12
+ width: 373px;
13
+ min-height: 48px;
14
+ padding: 12px 16px;
15
+ border-radius: 4px;
16
+ background: var(--tds-toast-fill);
17
+ color: var(--tds-toast-text);
18
+ box-shadow: 0 16px 24px 0 rgb(0 0 0 / 8%);
19
+ box-sizing: border-box;
13
20
  }
14
21
 
15
- .tds-toast--intent-success {
16
- background-color: var(--color-fill-positive);
17
- color: var(--color-text-on-positive);
22
+ .tds-toast__content {
23
+ flex: 1 1 auto;
24
+ min-width: 0;
18
25
  }
19
26
 
20
- .tds-toast--intent-warning {
21
- background-color: var(--color-fill-warning);
22
- color: var(--color-text-on-warning);
27
+ .tds-toast__label {
28
+ font-family: Roboto;
29
+ font-size: 1.6rem;
30
+ line-height: 1.5;
31
+ font-weight: 400;
23
32
  }
24
33
 
25
- .tds-toast--intent-error {
26
- background-color: var(--color-fill-negative);
27
- color: var(--color-text-on-negative);
34
+ .tds-toast__link {
35
+ flex: 0 0 auto;
36
+ font-family: Roboto;
37
+ font-size: 1.6rem;
38
+ line-height: 1.5;
39
+ font-weight: 700;
40
+ text-decoration: underline;
41
+ color: var(--tds-toast-link);
42
+ cursor: pointer;
28
43
  }
29
44
 
30
- .tds-toast__content {
31
- flex: 1;
45
+ .tds-toast--intent-success {
46
+ --tds-toast-fill: #22724f;
47
+ --tds-toast-text: #ffffff;
48
+ --tds-toast-link: #ffffff;
32
49
  }
33
50
 
34
- .tds-toast__label {
35
- margin: 0;
51
+ .tds-toast--intent-info {
52
+ --tds-toast-fill: #0a3472;
53
+ --tds-toast-text: #ffffff;
54
+ --tds-toast-link: #ffffff;
36
55
  }
37
56
 
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;
57
+ .tds-toast--intent-warning {
58
+ --tds-toast-fill: #e49307;
59
+ --tds-toast-text: #000000;
60
+ --tds-toast-link: #000000;
47
61
  }
48
62
 
49
- .tds-toast__link:hover {
50
- background-color: rgba(255, 255, 255, 0.2);
63
+ .tds-toast--intent-error {
64
+ --tds-toast-fill: #cb0705;
65
+ --tds-toast-text: #ffffff;
66
+ --tds-toast-link: #ffffff;
51
67
  }
package/dist/index.cjs CHANGED
@@ -374,6 +374,7 @@ var supports$9 = {
374
374
  customClassName: true
375
375
  };
376
376
  var textdomain = "times-design-system";
377
+ var render$9 = "file:./render.php";
377
378
  var attributes$9 = {
378
379
  label: {
379
380
  type: "string",
@@ -481,6 +482,7 @@ var metadata$9 = {
481
482
  icon: icon$9,
482
483
  supports: supports$9,
483
484
  textdomain: textdomain,
485
+ render: render$9,
484
486
  attributes: attributes$9,
485
487
  editorScript: editorScript,
486
488
  editorStyle: editorStyle,
@@ -509,6 +511,7 @@ var supports$8 = {
509
511
  "full"
510
512
  ]
511
513
  };
514
+ var render$8 = "file:./render.php";
512
515
  var attributes$8 = {
513
516
  isDashed: {
514
517
  type: "boolean",
@@ -534,6 +537,7 @@ var metadata$8 = {
534
537
  description: description$8,
535
538
  icon: icon$8,
536
539
  supports: supports$8,
540
+ render: render$8,
537
541
  attributes: attributes$8,
538
542
  example: example$8
539
543
  };
@@ -620,6 +624,7 @@ var supports$7 = {
620
624
  padding: false
621
625
  }
622
626
  };
627
+ var render$7 = "file:./render.php";
623
628
  var attributes$7 = {
624
629
  as: {
625
630
  type: "string",
@@ -654,6 +659,7 @@ var metadata$7 = {
654
659
  description: description$7,
655
660
  icon: icon$7,
656
661
  supports: supports$7,
662
+ render: render$7,
657
663
  attributes: attributes$7,
658
664
  example: example$7
659
665
  };
@@ -761,6 +767,7 @@ var supports$6 = {
761
767
  margin: true
762
768
  }
763
769
  };
770
+ var render$6 = "file:./render.php";
764
771
  var attributes$6 = {
765
772
  label: {
766
773
  type: "string",
@@ -810,6 +817,7 @@ var metadata$6 = {
810
817
  description: description$6,
811
818
  icon: icon$6,
812
819
  supports: supports$6,
820
+ render: render$6,
813
821
  attributes: attributes$6,
814
822
  example: example$6
815
823
  };
@@ -957,6 +965,7 @@ var supports$5 = {
957
965
  margin: true
958
966
  }
959
967
  };
968
+ var render$5 = "file:./render.php";
960
969
  var attributes$5 = {
961
970
  iconName: {
962
971
  type: "string",
@@ -1000,6 +1009,7 @@ var metadata$5 = {
1000
1009
  description: description$5,
1001
1010
  icon: icon$5,
1002
1011
  supports: supports$5,
1012
+ render: render$5,
1003
1013
  attributes: attributes$5,
1004
1014
  example: example$5
1005
1015
  };
@@ -1139,6 +1149,7 @@ var supports$4 = {
1139
1149
  margin: true
1140
1150
  }
1141
1151
  };
1152
+ var render$4 = "file:./render.php";
1142
1153
  var attributes$4 = {
1143
1154
  content: {
1144
1155
  type: "string",
@@ -1204,6 +1215,7 @@ var metadata$4 = {
1204
1215
  description: description$4,
1205
1216
  icon: icon$4,
1206
1217
  supports: supports$4,
1218
+ render: render$4,
1207
1219
  attributes: attributes$4,
1208
1220
  example: example$4
1209
1221
  };
@@ -1400,6 +1412,7 @@ var supports$3 = {
1400
1412
  margin: true
1401
1413
  }
1402
1414
  };
1415
+ var render$3 = "file:./render.php";
1403
1416
  var attributes$3 = {
1404
1417
  label: {
1405
1418
  type: "string",
@@ -1452,6 +1465,7 @@ var metadata$3 = {
1452
1465
  description: description$3,
1453
1466
  icon: icon$3,
1454
1467
  supports: supports$3,
1468
+ render: render$3,
1455
1469
  attributes: attributes$3,
1456
1470
  example: example$3
1457
1471
  };
@@ -1616,6 +1630,7 @@ var supports$2 = {
1616
1630
  margin: true
1617
1631
  }
1618
1632
  };
1633
+ var render$2 = "file:./render.php";
1619
1634
  var attributes$2 = {
1620
1635
  label: {
1621
1636
  type: "string",
@@ -1655,6 +1670,7 @@ var metadata$2 = {
1655
1670
  description: description$2,
1656
1671
  icon: icon$2,
1657
1672
  supports: supports$2,
1673
+ render: render$2,
1658
1674
  attributes: attributes$2,
1659
1675
  example: example$2
1660
1676
  };
@@ -1796,6 +1812,7 @@ var supports$1 = {
1796
1812
  margin: true
1797
1813
  }
1798
1814
  };
1815
+ var render$1 = "file:./render.php";
1799
1816
  var attributes$1 = {
1800
1817
  href: {
1801
1818
  type: "string",
@@ -1885,6 +1902,7 @@ var metadata$1 = {
1885
1902
  description: description$1,
1886
1903
  icon: icon$1,
1887
1904
  supports: supports$1,
1905
+ render: render$1,
1888
1906
  attributes: attributes$1,
1889
1907
  example: example$1
1890
1908
  };
@@ -2145,6 +2163,7 @@ var supports = {
2145
2163
  padding: true
2146
2164
  }
2147
2165
  };
2166
+ var render = "file:./render.php";
2148
2167
  var attributes = {
2149
2168
  type: {
2150
2169
  type: "string",
@@ -2170,6 +2189,7 @@ var metadata = {
2170
2189
  description: description,
2171
2190
  icon: icon,
2172
2191
  supports: supports,
2192
+ render: render,
2173
2193
  attributes: attributes,
2174
2194
  example: example
2175
2195
  };