@dialpad/dialtone-css 8.80.0-next.2 → 8.80.0-next.3

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 (187) hide show
  1. package/lib/build/js/dialtone_migrate_link_rendering/button-nav-test-examples.vue +92 -0
  2. package/lib/build/js/dialtone_migrate_link_rendering/button-nav.test.mjs +272 -0
  3. package/lib/build/js/dialtone_migrate_link_rendering/helpers.mjs +25 -0
  4. package/lib/build/js/dialtone_migrate_link_rendering/index.mjs +1041 -0
  5. package/lib/build/js/dialtone_migrate_link_rendering/link-nav-test-examples.vue +97 -0
  6. package/lib/build/js/dialtone_migrate_link_rendering/link-nav.test.mjs +194 -0
  7. package/lib/build/js/dialtone_migrate_link_rendering/underline-test-examples.vue +57 -0
  8. package/lib/build/js/dialtone_migrate_link_rendering/underline.test.mjs +161 -0
  9. package/lib/build/js/dialtone_migrate_props/index.mjs +794 -0
  10. package/lib/build/js/dialtone_migrate_props/test.mjs +959 -0
  11. package/lib/build/js/dialtone_migration_helper/configs/base-to-semantic.mjs +8 -8
  12. package/lib/build/js/dialtone_migration_helper/configs/size-to-layout.mjs +10 -0
  13. package/lib/build/js/dialtone_migration_helper/configs/success-to-positive.mjs +73 -0
  14. package/lib/build/js/dialtone_migration_helper/configs/utility-class-to-token-stops.mjs +92 -12
  15. package/lib/build/js/dialtone_migration_helper/tests/base-to-semantic-test-examples.vue +10 -10
  16. package/lib/build/js/dialtone_migration_helper/tests/base-to-semantic.test.mjs +8 -8
  17. package/lib/build/js/dialtone_migration_helper/tests/size-to-layout-test-examples.vue +16 -0
  18. package/lib/build/js/dialtone_migration_helper/tests/size-to-layout.test.mjs +87 -0
  19. package/lib/build/js/dialtone_migration_helper/tests/success-to-positive-test-examples.vue +166 -0
  20. package/lib/build/js/dialtone_migration_helper/tests/success-to-positive.test.mjs +287 -0
  21. package/lib/build/js/dialtone_migration_helper/tests/utility-class-to-token-stops-radius-examples.vue +66 -0
  22. package/lib/build/js/dialtone_migration_helper/tests/utility-class-to-token-stops.test.mjs +170 -0
  23. package/lib/build/less/components/badge.less +1 -1
  24. package/lib/build/less/components/banner.less +1 -1
  25. package/lib/build/less/components/box.less +9 -22
  26. package/lib/build/less/components/description-list.less +4 -0
  27. package/lib/build/less/components/forms.less +4 -2
  28. package/lib/build/less/components/input.less +2 -2
  29. package/lib/build/less/components/link.less +18 -4
  30. package/lib/build/less/components/modal.less +1 -1
  31. package/lib/build/less/components/notice.less +3 -3
  32. package/lib/build/less/components/progress_circle.less +10 -2
  33. package/lib/build/less/components/prose.less +512 -0
  34. package/lib/build/less/components/rich-text-editor.less +7 -0
  35. package/lib/build/less/components/selects.less +1 -1
  36. package/lib/build/less/components/text.less +2 -0
  37. package/lib/build/less/components/toast.less +1 -1
  38. package/lib/build/less/dialtone.less +1 -0
  39. package/lib/build/less/recipes/leftbar_row.less +2 -2
  40. package/lib/build/less/recipes/settings_menu_button.less +1 -1
  41. package/lib/build/less/recipes/top_banner_info.less +1 -1
  42. package/lib/build/less/utilities/backgrounds.less +12 -0
  43. package/lib/build/less/utilities/borders.less +56 -89
  44. package/lib/build/less/utilities/colors.less +8 -0
  45. package/lib/build/less/utilities/effects.less +1 -0
  46. package/lib/build/less/utilities/flex.less +145 -18
  47. package/lib/build/less/utilities/grid.less +40 -152
  48. package/lib/build/less/utilities/layout.less +19 -7
  49. package/lib/build/less/utilities/sizing.less +148 -143
  50. package/lib/build/less/variables/visual-styles.less +2 -1
  51. package/lib/dist/dialtone-default-theme.css +2826 -1811
  52. package/lib/dist/dialtone-default-theme.min.css +1 -1
  53. package/lib/dist/dialtone-docs.json +1 -1
  54. package/lib/dist/dialtone.css +2733 -1760
  55. package/lib/dist/dialtone.min.css +1 -1
  56. package/lib/dist/js/dialtone_migrate_link_rendering/button-nav-test-examples.vue +92 -0
  57. package/lib/dist/js/dialtone_migrate_link_rendering/button-nav.test.mjs +272 -0
  58. package/lib/dist/js/dialtone_migrate_link_rendering/helpers.mjs +25 -0
  59. package/lib/dist/js/dialtone_migrate_link_rendering/index.mjs +1041 -0
  60. package/lib/dist/js/dialtone_migrate_link_rendering/link-nav-test-examples.vue +97 -0
  61. package/lib/dist/js/dialtone_migrate_link_rendering/link-nav.test.mjs +194 -0
  62. package/lib/dist/js/dialtone_migrate_link_rendering/underline-test-examples.vue +57 -0
  63. package/lib/dist/js/dialtone_migrate_link_rendering/underline.test.mjs +161 -0
  64. package/lib/dist/js/dialtone_migrate_props/index.mjs +794 -0
  65. package/lib/dist/js/dialtone_migrate_props/test.mjs +959 -0
  66. package/lib/dist/js/dialtone_migration_helper/configs/base-to-semantic.mjs +8 -8
  67. package/lib/dist/js/dialtone_migration_helper/configs/size-to-layout.mjs +10 -0
  68. package/lib/dist/js/dialtone_migration_helper/configs/success-to-positive.mjs +73 -0
  69. package/lib/dist/js/dialtone_migration_helper/configs/utility-class-to-token-stops.mjs +92 -12
  70. package/lib/dist/js/dialtone_migration_helper/tests/base-to-semantic-test-examples.vue +10 -10
  71. package/lib/dist/js/dialtone_migration_helper/tests/base-to-semantic.test.mjs +8 -8
  72. package/lib/dist/js/dialtone_migration_helper/tests/size-to-layout-test-examples.vue +16 -0
  73. package/lib/dist/js/dialtone_migration_helper/tests/size-to-layout.test.mjs +87 -0
  74. package/lib/dist/js/dialtone_migration_helper/tests/success-to-positive-test-examples.vue +166 -0
  75. package/lib/dist/js/dialtone_migration_helper/tests/success-to-positive.test.mjs +287 -0
  76. package/lib/dist/js/dialtone_migration_helper/tests/utility-class-to-token-stops-radius-examples.vue +66 -0
  77. package/lib/dist/js/dialtone_migration_helper/tests/utility-class-to-token-stops.test.mjs +170 -0
  78. package/lib/dist/tokens/tokens-101-dark.css +81 -45
  79. package/lib/dist/tokens/tokens-101-light.css +75 -39
  80. package/lib/dist/tokens/tokens-102-dark.css +81 -45
  81. package/lib/dist/tokens/tokens-102-light.css +75 -39
  82. package/lib/dist/tokens/tokens-103-dark.css +81 -45
  83. package/lib/dist/tokens/tokens-103-light.css +75 -39
  84. package/lib/dist/tokens/tokens-104-dark.css +81 -45
  85. package/lib/dist/tokens/tokens-104-light.css +75 -39
  86. package/lib/dist/tokens/tokens-105-dark.css +81 -45
  87. package/lib/dist/tokens/tokens-105-light.css +75 -39
  88. package/lib/dist/tokens/tokens-106-dark.css +81 -45
  89. package/lib/dist/tokens/tokens-106-light.css +75 -39
  90. package/lib/dist/tokens/tokens-107-dark.css +81 -45
  91. package/lib/dist/tokens/tokens-107-light.css +75 -39
  92. package/lib/dist/tokens/tokens-108-dark.css +81 -45
  93. package/lib/dist/tokens/tokens-108-light.css +75 -39
  94. package/lib/dist/tokens/tokens-109-dark.css +81 -45
  95. package/lib/dist/tokens/tokens-109-light.css +75 -39
  96. package/lib/dist/tokens/tokens-110-dark.css +81 -45
  97. package/lib/dist/tokens/tokens-110-light.css +75 -39
  98. package/lib/dist/tokens/tokens-111-dark.css +81 -45
  99. package/lib/dist/tokens/tokens-111-light.css +75 -39
  100. package/lib/dist/tokens/tokens-112-dark.css +81 -45
  101. package/lib/dist/tokens/tokens-112-light.css +75 -39
  102. package/lib/dist/tokens/tokens-113-dark.css +81 -45
  103. package/lib/dist/tokens/tokens-113-light.css +75 -39
  104. package/lib/dist/tokens/tokens-114-dark.css +81 -45
  105. package/lib/dist/tokens/tokens-114-light.css +75 -39
  106. package/lib/dist/tokens/tokens-115-dark.css +81 -45
  107. package/lib/dist/tokens/tokens-115-light.css +75 -39
  108. package/lib/dist/tokens/tokens-116-dark.css +81 -45
  109. package/lib/dist/tokens/tokens-116-light.css +75 -39
  110. package/lib/dist/tokens/tokens-117-dark.css +81 -45
  111. package/lib/dist/tokens/tokens-117-light.css +75 -39
  112. package/lib/dist/tokens/tokens-118-dark.css +81 -45
  113. package/lib/dist/tokens/tokens-118-light.css +75 -39
  114. package/lib/dist/tokens/tokens-119-dark.css +81 -45
  115. package/lib/dist/tokens/tokens-119-light.css +75 -39
  116. package/lib/dist/tokens/tokens-120-dark.css +81 -45
  117. package/lib/dist/tokens/tokens-120-light.css +75 -39
  118. package/lib/dist/tokens/tokens-121-dark.css +81 -45
  119. package/lib/dist/tokens/tokens-121-light.css +75 -39
  120. package/lib/dist/tokens/tokens-122-dark.css +81 -45
  121. package/lib/dist/tokens/tokens-122-light.css +75 -39
  122. package/lib/dist/tokens/tokens-123-dark.css +81 -45
  123. package/lib/dist/tokens/tokens-123-light.css +75 -39
  124. package/lib/dist/tokens/tokens-124-dark.css +81 -45
  125. package/lib/dist/tokens/tokens-124-light.css +75 -39
  126. package/lib/dist/tokens/tokens-125-dark.css +81 -45
  127. package/lib/dist/tokens/tokens-125-light.css +75 -39
  128. package/lib/dist/tokens/tokens-126-dark.css +81 -45
  129. package/lib/dist/tokens/tokens-126-light.css +75 -39
  130. package/lib/dist/tokens/tokens-127-dark.css +81 -45
  131. package/lib/dist/tokens/tokens-127-light.css +75 -39
  132. package/lib/dist/tokens/tokens-128-dark.css +81 -45
  133. package/lib/dist/tokens/tokens-128-light.css +75 -39
  134. package/lib/dist/tokens/tokens-129-dark.css +81 -45
  135. package/lib/dist/tokens/tokens-129-light.css +75 -39
  136. package/lib/dist/tokens/tokens-130-dark.css +81 -45
  137. package/lib/dist/tokens/tokens-130-light.css +75 -39
  138. package/lib/dist/tokens/tokens-131-dark.css +81 -45
  139. package/lib/dist/tokens/tokens-131-light.css +75 -39
  140. package/lib/dist/tokens/tokens-132-dark.css +81 -45
  141. package/lib/dist/tokens/tokens-132-light.css +75 -39
  142. package/lib/dist/tokens/tokens-133-dark.css +81 -45
  143. package/lib/dist/tokens/tokens-133-light.css +75 -39
  144. package/lib/dist/tokens/tokens-134-dark.css +81 -45
  145. package/lib/dist/tokens/tokens-134-light.css +75 -39
  146. package/lib/dist/tokens/tokens-135-dark.css +81 -45
  147. package/lib/dist/tokens/tokens-135-light.css +75 -39
  148. package/lib/dist/tokens/tokens-136-dark.css +81 -45
  149. package/lib/dist/tokens/tokens-136-light.css +75 -39
  150. package/lib/dist/tokens/tokens-137-dark.css +81 -45
  151. package/lib/dist/tokens/tokens-137-light.css +75 -39
  152. package/lib/dist/tokens/tokens-aegean-dark.css +81 -45
  153. package/lib/dist/tokens/tokens-aegean-light.css +75 -39
  154. package/lib/dist/tokens/tokens-base-dark.css +18 -12
  155. package/lib/dist/tokens/tokens-base-light.css +18 -12
  156. package/lib/dist/tokens/tokens-botany-dark.css +81 -45
  157. package/lib/dist/tokens/tokens-botany-light.css +75 -39
  158. package/lib/dist/tokens/tokens-buttercream-dark.css +81 -45
  159. package/lib/dist/tokens/tokens-buttercream-light.css +75 -39
  160. package/lib/dist/tokens/tokens-ceruleo-dark.css +81 -45
  161. package/lib/dist/tokens/tokens-ceruleo-light.css +75 -39
  162. package/lib/dist/tokens/tokens-debug-base.css +6 -0
  163. package/lib/dist/tokens/tokens-debug-dp.css +39 -3
  164. package/lib/dist/tokens/tokens-dp-dark.css +81 -45
  165. package/lib/dist/tokens/tokens-dp-light.css +75 -39
  166. package/lib/dist/tokens/tokens-expressive-dark.css +81 -45
  167. package/lib/dist/tokens/tokens-expressive-light.css +75 -39
  168. package/lib/dist/tokens/tokens-expressive-sm-dark.css +81 -45
  169. package/lib/dist/tokens/tokens-expressive-sm-light.css +75 -39
  170. package/lib/dist/tokens/tokens-high-desert-dark.css +81 -45
  171. package/lib/dist/tokens/tokens-high-desert-light.css +75 -39
  172. package/lib/dist/tokens/tokens-melon-dark.css +81 -45
  173. package/lib/dist/tokens/tokens-melon-light.css +75 -39
  174. package/lib/dist/tokens/tokens-plum-dark.css +81 -45
  175. package/lib/dist/tokens/tokens-plum-light.css +75 -39
  176. package/lib/dist/tokens/tokens-prota-deuter-dark.css +79 -43
  177. package/lib/dist/tokens/tokens-prota-deuter-light.css +74 -38
  178. package/lib/dist/tokens/tokens-sunflower-dark.css +81 -45
  179. package/lib/dist/tokens/tokens-sunflower-light.css +75 -39
  180. package/lib/dist/tokens/tokens-tmo-dark.css +81 -45
  181. package/lib/dist/tokens/tokens-tmo-light.css +75 -39
  182. package/lib/dist/tokens/tokens-trita-dark.css +81 -45
  183. package/lib/dist/tokens/tokens-trita-light.css +75 -39
  184. package/lib/dist/tokens/tokens-verdant-haze-dark.css +81 -45
  185. package/lib/dist/tokens/tokens-verdant-haze-light.css +75 -39
  186. package/lib/dist/tokens-docs.json +1 -1
  187. package/package.json +4 -4
@@ -17,18 +17,39 @@
17
17
  // - VERTICAL DIVIDERS
18
18
  // - HORIZONTAL DIVIDERS
19
19
  //
20
+ // @@ @PROPERTY REGISTRATIONS
21
+ // ----------------------------------------------------------------------------
22
+ // Register opacity custom properties as non-inheriting so `--bco` / `--dco`
23
+ // set on an ancestor do not bleed into descendants using `.d-bc-*` / `.d-divide-*`.
24
+ // With universal syntax and no initial-value, `var(--bco, alpha)` still falls
25
+ // back to the source color's alpha channel when no opacity utility is applied.
26
+ @property --bco { syntax: "*"; inherits: false; }
27
+
28
+ @property --dco { syntax: "*"; inherits: false; }
29
+
20
30
  // ============================================================================
21
31
  // $ BORDERS
22
32
  // ============================================================================
23
33
  // $$ DIRECTION
24
34
  // ----------------------------------------------------------------------------
25
35
  @layer dialtone.utilities {
36
+ // Order within this section: all-sides shorthand -> H/V -> single-side -> resets.
37
+ // Single-side classes must follow H/V so .d-bt wins when combined with .d-by, etc.
38
+ // Reset classes (.d-ba-none / .d-ba-unset) stay last as intentional escape hatches.
26
39
  .d-ba {
27
40
  border-color: var(--dt-color-border-default) !important;
28
41
  border-style: solid !important;
29
42
  border-width: var(--dt-size-border-100) !important;
30
43
  }
31
44
 
45
+ .d-bx {
46
+ border-inline: var(--dt-size-border-100) solid var(--dt-color-border-default) !important;
47
+ }
48
+
49
+ .d-by {
50
+ border-block: var(--dt-size-border-100) solid var(--dt-color-border-default) !important;
51
+ }
52
+
32
53
  .d-bt {
33
54
  border-block-start: var(--dt-size-border-100) solid var(--dt-color-border-default) !important;
34
55
  }
@@ -45,94 +66,29 @@
45
66
  border-inline-start: var(--dt-size-border-100) solid var(--dt-color-border-default) !important;
46
67
  }
47
68
 
48
- .d-bx { .d-br(); .d-bl(); }
49
-
50
- .d-by { .d-bt(); .d-bb(); }
51
69
  .d-ba-none { border: none !important; }
52
70
  .d-ba-unset { border: unset !important; }
53
71
 
54
- // ============================================================================
55
- // $ BORDER RADIUS
56
- // ============================================================================
57
- // $$ ALL
58
- // ----------------------------------------------------------------------------
59
- .d-bar-circle { border-radius: var(--dt-size-radius-circle) !important; }
60
- .d-bar-pill { border-radius: var(--dt-size-radius-pill) !important; }
61
- .d-bar-unset { border-radius: unset !important; }
62
-
63
- // $$ TOP
64
- // ----------------------------------------------------------------------------
65
- .d-btr-circle {
66
- border-start-start-radius: var(--dt-size-radius-circle) !important;
67
- border-start-end-radius: var(--dt-size-radius-circle) !important;
68
- }
69
-
70
- .d-btr-pill {
71
- border-start-start-radius: var(--dt-size-radius-pill) !important;
72
- border-start-end-radius: var(--dt-size-radius-pill) !important;
73
- }
74
-
75
- // $$ RIGHT
76
- // ----------------------------------------------------------------------------
77
- .d-brr-circle {
78
- border-start-end-radius: var(--dt-size-radius-circle) !important;
79
- border-end-end-radius: var(--dt-size-radius-circle) !important;
80
- }
81
-
82
- .d-brr-pill {
83
- border-start-end-radius: var(--dt-size-radius-pill) !important;
84
- border-end-end-radius: var(--dt-size-radius-pill) !important;
85
- }
86
-
87
- // $$ BOTTOM
88
- // ----------------------------------------------------------------------------
89
- .d-bbr-circle {
90
- border-end-end-radius: var(--dt-size-radius-circle) !important;
91
- border-end-start-radius: var(--dt-size-radius-circle) !important;
92
- }
93
-
94
- .d-bbr-pill {
95
- border-end-end-radius: var(--dt-size-radius-pill) !important;
96
- border-end-start-radius: var(--dt-size-radius-pill) !important;
97
- }
98
-
99
- // $$ RIGHT
100
- // ----------------------------------------------------------------------------
101
- .d-blr-circle {
102
- border-start-start-radius: var(--dt-size-radius-circle) !important;
103
- border-end-start-radius: var(--dt-size-radius-circle) !important;
104
- }
105
-
106
- .d-blr-pill {
107
- border-start-start-radius: var(--dt-size-radius-pill) !important;
108
- border-end-start-radius: var(--dt-size-radius-pill) !important;
109
- }
110
-
111
-
112
- // $$ STYLE
113
- // ----------------------------------------------------------------------------
114
- .d-bas-dashed { border-style: dashed !important; }
115
- .d-bts-dashed { border-block-start-style: dashed !important; }
116
- .d-brs-dashed { border-inline-end-style: dashed !important; }
117
- .d-bbs-dashed { border-block-end-style: dashed !important; }
118
- .d-bls-dashed { border-inline-start-style: dashed !important; }
119
-
120
- .d-bas-dotted { border-style: dotted !important; }
121
- .d-bts-dotted { border-block-start-style: dotted !important; }
122
- .d-brs-dotted { border-inline-end-style: dotted !important; }
123
- .d-bbs-dotted { border-block-end-style: dotted !important; }
124
- .d-bls-dotted { border-inline-start-style: dotted !important; }
125
-
126
- .d-bas-unset { border-style: unset !important; }
127
-
128
-
129
- // $$ WIDTH
72
+ // $ BORDER WIDTH
130
73
  // ----------------------------------------------------------------------------
74
+ // Order: all-sides -> H/V -> single-side, so single-side classes win on cascade ties.
131
75
  .d-baw0 { border-width: var(--dt-size-border-0) !important; }
132
76
  .d-baw1 { border-width: var(--dt-size-border-100) !important; }
133
77
  .d-baw2 { border-width: var(--dt-size-border-200) !important; }
134
78
  .d-baw4 { border-width: var(--dt-size-border-300) !important; }
135
79
 
80
+ // -- X Border width
81
+ .d-bxw0 { border-inline-width: var(--dt-size-border-0) !important; }
82
+ .d-bxw1 { border-inline-width: var(--dt-size-border-100) !important; }
83
+ .d-bxw2 { border-inline-width: var(--dt-size-border-200) !important; }
84
+ .d-bxw4 { border-inline-width: var(--dt-size-border-300) !important; }
85
+
86
+ // -- Y Border width
87
+ .d-byw0 { border-block-width: var(--dt-size-border-0) !important; }
88
+ .d-byw1 { border-block-width: var(--dt-size-border-100) !important; }
89
+ .d-byw2 { border-block-width: var(--dt-size-border-200) !important; }
90
+ .d-byw4 { border-block-width: var(--dt-size-border-300) !important; }
91
+
136
92
  // -- Top Border width
137
93
  .d-btw0 { border-block-start-width: var(--dt-size-border-0) !important; }
138
94
  .d-btw1 { border-block-start-width: var(--dt-size-border-100) !important; }
@@ -157,17 +113,28 @@
157
113
  .d-blw2 { border-inline-start-width: var(--dt-size-border-200) !important; }
158
114
  .d-blw4 { border-inline-start-width: var(--dt-size-border-300) !important; }
159
115
 
160
- // -- X Border width
161
- .d-bxw0 { .d-brw0(); .d-blw0(); }
162
- .d-bxw1 { .d-brw1(); .d-blw1(); }
163
- .d-bxw2 { .d-brw2(); .d-blw2(); }
164
- .d-bxw4 { .d-brw4(); .d-blw4(); }
165
116
 
166
- // -- Y Border width
167
- .d-byw0 { .d-btw0(); .d-bbw0(); }
168
- .d-byw1 { .d-btw1(); .d-bbw1(); }
169
- .d-byw2 { .d-btw2(); .d-bbw2(); }
170
- .d-byw4 { .d-btw4(); .d-bbw4(); }
117
+ // ============================================================================
118
+ // $ BORDER RADIUS
119
+ // ============================================================================
120
+ // Radius utilities are emitted by borderUtilities() in postcss/dialtone-generators.cjs.
121
+
122
+
123
+ // $$ STYLE
124
+ // ----------------------------------------------------------------------------
125
+ .d-bas-dashed { border-style: dashed !important; }
126
+ .d-bts-dashed { border-block-start-style: dashed !important; }
127
+ .d-brs-dashed { border-inline-end-style: dashed !important; }
128
+ .d-bbs-dashed { border-block-end-style: dashed !important; }
129
+ .d-bls-dashed { border-inline-start-style: dashed !important; }
130
+
131
+ .d-bas-dotted { border-style: dotted !important; }
132
+ .d-bts-dotted { border-block-start-style: dotted !important; }
133
+ .d-brs-dotted { border-inline-end-style: dotted !important; }
134
+ .d-bbs-dotted { border-block-end-style: dotted !important; }
135
+ .d-bls-dotted { border-inline-start-style: dotted !important; }
136
+
137
+ .d-bas-unset { border-style: unset !important; }
171
138
 
172
139
 
173
140
  // ============================================================================
@@ -14,6 +14,14 @@
14
14
  // TODO: Remove `*-transparent` classes in favor of `*-neutral-transparent` classes.
15
15
  // Both are existing and that's not ok, a migration will be needed on product.
16
16
  //
17
+ // @@ @PROPERTY REGISTRATIONS
18
+ // ----------------------------------------------------------------------------
19
+ // Register opacity custom properties as non-inheriting so `--fco` set on an
20
+ // ancestor does not bleed into descendants using `.d-fc-*`. With universal
21
+ // syntax and no initial-value, `var(--fco, alpha)` still falls back to the
22
+ // source color's alpha channel when no opacity utility is applied.
23
+ @property --fco { syntax: "*"; inherits: false; }
24
+
17
25
  // $$ TEXT COLORS
18
26
  // ----------------------------------------------------------------------------
19
27
  @layer dialtone.utilities {
@@ -190,6 +190,7 @@
190
190
 
191
191
  // -- TRANSITION TIMING
192
192
  .d-ttf { transition-timing-function: var(--ttf-ease) !important; }
193
+ .d-ttf-in { transition-timing-function: var(--ttf-in) !important; }
193
194
  .d-ttf-in-out { transition-timing-function: var(--ttf-in-out) !important; }
194
195
  .d-ttf-out { transition-timing-function: var(--ttf-out) !important; }
195
196
  .d-ttf-out-quint { transition-timing-function: var(--ttf-out-quint) !important; }
@@ -23,6 +23,71 @@
23
23
  // has more than one line.
24
24
  // ----------------------------------------------------------------------------
25
25
  @layer dialtone.utilities {
26
+ // $$ PLACE CONTENT
27
+ // Shorthand for align-content + justify-content. Must precede both
28
+ // `.d-ac-*` (below) and `.d-jc-*` (further down this file) so single-axis
29
+ // classes win.
30
+ // ----------------------------------------------------------------------------
31
+ .d-plc-center { place-content: center !important; }
32
+ .d-plc-center-end { place-content: center end !important; }
33
+ .d-plc-center-start { place-content: center start !important; }
34
+ .d-plc-center-stretch { place-content: center stretch !important; }
35
+ .d-plc-center-space-around { place-content: center space-around !important; }
36
+ .d-plc-center-space-evenly { place-content: center space-evenly !important; }
37
+ .d-plc-center-space-between { place-content: center space-between !important; }
38
+
39
+ .d-plc-end { place-content: end !important; }
40
+ .d-plc-end-start { place-content: end start !important; }
41
+ .d-plc-end-stretch { place-content: end stretch !important; }
42
+ .d-plc-end-center { place-content: end center !important; }
43
+ .d-plc-end-space-around { place-content: end space-around !important; }
44
+ .d-plc-end-space-evenly { place-content: end space-evenly !important; }
45
+ .d-plc-end-space-between { place-content: end space-between !important; }
46
+
47
+ .d-plc-start { place-content: start !important; }
48
+ .d-plc-start-end { place-content: start end !important; }
49
+ .d-plc-start-center { place-content: start center !important; }
50
+ .d-plc-start-stretch { place-content: start stretch !important; }
51
+ .d-plc-start-space-around { place-content: start space-around !important; }
52
+ .d-plc-start-space-evenly { place-content: start space-evenly !important; }
53
+ .d-plc-start-space-between { place-content: start space-between !important; }
54
+
55
+ .d-plc-stretch { place-content: stretch !important; }
56
+ .d-plc-stretch-end { place-content: stretch end !important; }
57
+ .d-plc-stretch-start { place-content: stretch start !important; }
58
+ .d-plc-stretch-center { place-content: stretch center !important; }
59
+ .d-plc-stretch-space-evenly { place-content: stretch space-evenly !important; }
60
+ .d-plc-stretch-space-around { place-content: stretch space-around !important; }
61
+ .d-plc-stretch-space-between { place-content: stretch space-between !important; }
62
+
63
+ .d-plc-space-around { place-content: space-around !important; }
64
+ .d-plc-space-around-end { place-content: space-around end !important; }
65
+ .d-plc-space-around-start { place-content: space-around start !important; }
66
+ .d-plc-space-around-center { place-content: space-around center !important; }
67
+ .d-plc-space-around-space-evenly { place-content: space-around space-evenly !important; }
68
+ .d-plc-space-around-space-between { place-content: space-around space-between !important; }
69
+
70
+ .d-plc-space-evenly { place-content: space-evenly !important; }
71
+ .d-plc-space-evenly-end { place-content: space-evenly end !important; }
72
+ .d-plc-space-evenly-start { place-content: space-evenly start !important; }
73
+ .d-plc-space-evenly-center { place-content: space-evenly center !important; }
74
+ .d-plc-space-evenly-space-around { place-content: space-evenly space-around !important; }
75
+ .d-plc-space-evenly-space-between { place-content: space-evenly space-between !important; }
76
+
77
+ .d-plc-space-between { place-content: space-between !important; }
78
+ .d-plc-space-between-end { place-content: space-between end !important; }
79
+ .d-plc-space-between-start { place-content: space-between start !important; }
80
+ .d-plc-space-between-center { place-content: space-between center !important; }
81
+ .d-plc-space-between-space-around { place-content: space-between space-around !important; }
82
+ .d-plc-space-between-space-evenly { place-content: space-between space-evenly !important; }
83
+
84
+ .d-plc-normal { place-content: normal !important; }
85
+ .d-plc-legacy { place-content: legacy !important; }
86
+ .d-plc-auto { place-content: auto !important; }
87
+ .d-plc-unset { place-content: unset !important; }
88
+
89
+ // $$ ALIGN CONTENT
90
+ // ----------------------------------------------------------------------------
26
91
  .d-ac-center { align-content: center !important; }
27
92
  .d-ac-flex-end, .d-ac-end { align-content: flex-end !important; }
28
93
  .d-ac-flex-start, .d-ac-start { align-content: flex-start !important; }
@@ -41,6 +106,37 @@
41
106
  // the parent's cross axis. Think of it the cross-axis for
42
107
  // justify-content.
43
108
  // ----------------------------------------------------------------------------
109
+ // $$ PLACE ITEMS
110
+ // Shorthand for align-items + justify-items. Must precede `.d-ai-*` (below)
111
+ // and `.d-ji-*` (grid.less, imported after this file) so single-axis wins.
112
+ // ----------------------------------------------------------------------------
113
+ .d-pli-center { place-items: center !important; }
114
+ .d-pli-center-end { place-items: center end !important; }
115
+ .d-pli-center-start { place-items: center start !important; }
116
+ .d-pli-center-stretch { place-items: center stretch !important; }
117
+
118
+ .d-pli-end { place-items: end !important; }
119
+ .d-pli-end-start { place-items: end start !important; }
120
+ .d-pli-end-stretch { place-items: end stretch !important; }
121
+ .d-pli-end-center { place-items: end center !important; }
122
+
123
+ .d-pli-start { place-items: start !important; }
124
+ .d-pli-start-end { place-items: start end !important; }
125
+ .d-pli-start-center { place-items: start center !important; }
126
+ .d-pli-start-stretch { place-items: start stretch !important; }
127
+
128
+ .d-pli-stretch { place-items: stretch !important; }
129
+ .d-pli-stretch-end { place-items: stretch end !important; }
130
+ .d-pli-stretch-start { place-items: stretch start !important; }
131
+ .d-pli-stretch-center { place-items: stretch center !important; }
132
+
133
+ .d-pli-normal { place-items: normal !important; }
134
+ .d-pli-legacy { place-items: legacy !important; }
135
+ .d-pli-auto { place-items: auto !important; }
136
+ .d-pli-unset { place-items: unset !important; }
137
+
138
+ // $$ ALIGN ITEMS
139
+ // ----------------------------------------------------------------------------
44
140
  .d-ai-center { align-items: center !important; }
45
141
  .d-ai-flex-end, .d-ai-end { align-items: flex-end !important; }
46
142
  .d-ai-flex-start, .d-ai-start { align-items: flex-start !important; }
@@ -55,6 +151,37 @@
55
151
  // Allows child containers to re-align themselves regardless
56
152
  // of the parent's main axis direction.
57
153
  // ----------------------------------------------------------------------------
154
+ // $$ PLACE SELF
155
+ // Shorthand for align-self + justify-self. Must precede `.d-as-*` (below)
156
+ // and `.d-js-*` (grid.less, imported after this file) so single-axis wins.
157
+ // ----------------------------------------------------------------------------
158
+ .d-pls-center { place-self: center !important; }
159
+ .d-pls-center-end { place-self: center end !important; }
160
+ .d-pls-center-start { place-self: center start !important; }
161
+ .d-pls-center-stretch { place-self: center stretch !important; }
162
+
163
+ .d-pls-end { place-self: end !important; }
164
+ .d-pls-end-start { place-self: end start !important; }
165
+ .d-pls-end-stretch { place-self: end stretch !important; }
166
+ .d-pls-end-center { place-self: end center !important; }
167
+
168
+ .d-pls-start { place-self: start !important; }
169
+ .d-pls-start-end { place-self: start end !important; }
170
+ .d-pls-start-center { place-self: start center !important; }
171
+ .d-pls-start-stretch { place-self: start stretch !important; }
172
+
173
+ .d-pls-stretch { place-self: stretch !important; }
174
+ .d-pls-stretch-end { place-self: stretch end !important; }
175
+ .d-pls-stretch-start { place-self: stretch start !important; }
176
+ .d-pls-stretch-center { place-self: stretch center !important; }
177
+
178
+ .d-pls-normal { place-self: normal !important; }
179
+ .d-pls-legacy { place-self: legacy !important; }
180
+ .d-pls-auto { place-self: auto !important; }
181
+ .d-pls-unset { place-self: unset !important; }
182
+
183
+ // $$ ALIGN SELF
184
+ // ----------------------------------------------------------------------------
58
185
  .d-as-center { align-self: center !important; }
59
186
  .d-as-flex-end, .d-as-end { align-self: flex-end !important; }
60
187
  .d-as-flex-start, .d-as-start { align-self: flex-start !important; }
@@ -89,6 +216,24 @@
89
216
  // ============================================================================
90
217
  // $ DIRECTION, WRAP, & FLOW
91
218
  // ----------------------------------------------------------------------------
219
+ // $$ FLEX FLOW
220
+ // Shorthand for flex-direction + flex-wrap. Emitted before the single-
221
+ // property blocks so `.d-fd-*` / `.d-fw-*` win on cascade ties.
222
+ // ----------------------------------------------------------------------------
223
+ .d-ff-row-wrap { flex-flow: row wrap !important; }
224
+ .d-ff-row-wrap-reverse { flex-flow: row wrap-reverse !important; }
225
+ .d-ff-row-nowrap { flex-flow: row nowrap !important; }
226
+ .d-ff-row-reverse-wrap { flex-flow: row-reverse wrap !important; }
227
+ .d-ff-row-reverse-wrap-reverse { flex-flow: row-reverse wrap-reverse !important; }
228
+ .d-ff-row-reverse-nowrap { flex-flow: row-reverse nowrap !important; }
229
+ .d-ff-column-wrap { flex-flow: column wrap !important; }
230
+ .d-ff-column-wrap-reverse { flex-flow: column wrap-reverse !important; }
231
+ .d-ff-column-nowrap { flex-flow: column nowrap !important; }
232
+ .d-ff-column-reverse-wrap { flex-flow: column-reverse wrap !important; }
233
+ .d-ff-column-reverse-wrap-reverse { flex-flow: column-reverse wrap-reverse !important; }
234
+ .d-ff-column-reverse-nowrap { flex-flow: column-reverse nowrap !important; }
235
+ .d-f-flow-unset { flex-flow: unset !important; }
236
+
92
237
  // $$ FLEX DIRECTION
93
238
  // This determines the content flow direction within the parent container.
94
239
  // Default value is row.
@@ -108,24 +253,6 @@
108
253
  .d-fw-nowrap { flex-wrap: nowrap !important; }
109
254
  .d-fw-unset { flex-wrap: unset !important; }
110
255
 
111
- // $$ FLEX FLOW
112
- // This is another shorthand property for flex-direction and flex-wrap.
113
- // Default value is 'row nowrap'.
114
- // ----------------------------------------------------------------------------
115
- .d-ff-row-wrap { flex-flow: row wrap !important; }
116
- .d-ff-row-wrap-reverse { flex-flow: row wrap-reverse !important; }
117
- .d-ff-row-nowrap { flex-flow: row nowrap !important; }
118
- .d-ff-row-reverse-wrap { flex-flow: row-reverse wrap !important; }
119
- .d-ff-row-reverse-wrap-reverse { flex-flow: row-reverse wrap-reverse !important; }
120
- .d-ff-row-reverse-nowrap { flex-flow: row-reverse nowrap !important; }
121
- .d-ff-column-wrap { flex-flow: column wrap !important; }
122
- .d-ff-column-wrap-reverse { flex-flow: column wrap-reverse !important; }
123
- .d-ff-column-nowrap { flex-flow: column nowrap !important; }
124
- .d-ff-column-reverse-wrap { flex-flow: column-reverse wrap !important; }
125
- .d-ff-column-reverse-wrap-reverse { flex-flow: column-reverse wrap-reverse !important; }
126
- .d-ff-column-reverse-nowrap { flex-flow: column-reverse nowrap !important; }
127
- .d-f-flow-unset { flex-flow: unset !important; }
128
-
129
256
 
130
257
  // ============================================================================
131
258
  // $ FLEX, GROW, & SHRINK
@@ -7,31 +7,59 @@
7
7
  // visit https://dialtone.dialpad.com/utilities/grid
8
8
  //
9
9
  // TABLE OF CONTENTS
10
- // • GRID VARIABLES
11
- // • COLUMNS
10
+ // • GRID AREAS (grid-area shorthand — precedes column/row shorthand)
11
+ // • COLUMNS (grid-column shorthand, then grid-column-start / -end)
12
+ // • ROWS (grid-row shorthand, then grid-row-start / -end)
12
13
  // • GAP
13
14
  // • JUSTIFY ITEMS
14
15
  // • JUSTIFY SELF
15
16
  // • LAYOUTS
16
- // - AREAS
17
- // PLACE CONTENT
18
- // PLACE ITEMS
19
- // PLACE SELF
20
- // ROWS
17
+ //
18
+ // Ordering rule: shorthand / multi-axis classes precede their single-axis
19
+ // counterparts so single-axis classes win on cascade ties. `place-items`,
20
+ // `place-content`, and `place-self` shorthands live in `flex.less` because
21
+ // their longhand partners (`align-*`) also live there.
21
22
  //
22
23
  // ============================================================================
23
- // $ COLUMNS
24
+ // $ GRID AREAS
25
+ // ============================================================================
26
+ // `grid-area` is shorthand for grid-row-start / grid-column-start /
27
+ // grid-row-end / grid-column-end. Placed first so .d-gc-*/.d-gr-* singles win.
24
28
  // ----------------------------------------------------------------------------
25
29
  @layer dialtone.utilities {
30
+ .d-ga-sidebar { grid-area: sidebar !important; }
31
+ .d-ga-content { grid-area: content !important; }
32
+ .d-ga-header { grid-area: header !important; }
33
+
34
+
35
+ // ============================================================================
36
+ // $ COLUMNS
37
+ // ----------------------------------------------------------------------------
38
+ // `.d-gc-*` (grid-column shorthand) first; `.d-gcs-*` / `.d-gce-*` after.
26
39
  .d-gc-full { grid-column: 1 ~' / ' -1 !important; }
40
+ .d-gc-auto { grid-column: auto !important; }
41
+ .d-gc-unset { grid-column: unset !important; }
27
42
 
28
43
  .d-gcs-auto { grid-column-start: auto !important; }
29
44
  .d-gce-auto { grid-column-end: auto !important; }
30
- .d-gc-auto { grid-column: auto !important; }
31
45
 
32
46
  .d-gcs-unset { grid-column-start: unset !important; }
33
47
  .d-gce-unset { grid-column-end: unset !important; }
34
- .d-gc-unset { grid-column: unset !important; }
48
+
49
+
50
+ // ============================================================================
51
+ // $ ROWS
52
+ // ----------------------------------------------------------------------------
53
+ // `.d-gr-*` (grid-row shorthand) first; `.d-grs-*` / `.d-gre-*` after.
54
+ .d-gr-full { grid-row: 1 ~' / ' -1 !important; }
55
+ .d-gr-auto { grid-row: auto !important; }
56
+ .d-gr-unset { grid-row: unset !important; }
57
+
58
+ .d-grs-auto { grid-row-start: auto !important; }
59
+ .d-gre-auto { grid-row-end: auto !important; }
60
+
61
+ .d-grs-unset { grid-row-start: unset !important; }
62
+ .d-gre-unset { grid-row-end: unset !important; }
35
63
 
36
64
 
37
65
  // ============================================================================
@@ -41,9 +69,10 @@
41
69
  // each defined spacing unit.
42
70
  // TODO: Deprecated classes, remove on our next migration. https://dialpad.atlassian.net/browse/DLT-1763
43
71
  // ----------------------------------------------------------------------------
72
+ // `.d-gg-unset` (gap shorthand) first; `.d-gcg-unset` / `.d-grg-unset` after.
73
+ .d-gg-unset { gap: unset !important; }
44
74
  .d-gcg-unset { column-gap: unset !important; }
45
75
  .d-grg-unset { row-gap: unset !important; }
46
- .d-gg-unset { gap: unset !important; }
47
76
 
48
77
 
49
78
  // ============================================================================
@@ -103,145 +132,4 @@
103
132
  'content';
104
133
  grid-template-rows: [header-start] var(--header-height) [header-end content-start] var(--content-height) [content-end];
105
134
  }
106
-
107
- // $ GRID AREAS
108
- // ----------------------------------------------------------------------------
109
- .d-ga-sidebar { grid-area: sidebar !important; }
110
- .d-ga-content { grid-area: content !important; }
111
- .d-ga-header { grid-area: header !important; }
112
-
113
-
114
- // ============================================================================
115
- // $ PLACE CONTENT
116
- // Aligns grid items along the block and inline directions at once
117
- // ----------------------------------------------------------------------------
118
- .d-plc-center { place-content: center !important; }
119
- .d-plc-center-end { place-content: center end !important; }
120
- .d-plc-center-start { place-content: center start !important; }
121
- .d-plc-center-stretch { place-content: center stretch !important; }
122
- .d-plc-center-space-around { place-content: center space-around !important; }
123
- .d-plc-center-space-evenly { place-content: center space-evenly !important; }
124
- .d-plc-center-space-between { place-content: center space-between !important; }
125
-
126
- .d-plc-end { place-content: end !important; }
127
- .d-plc-end-start { place-content: end start !important; }
128
- .d-plc-end-stretch { place-content: end stretch !important; }
129
- .d-plc-end-center { place-content: end center !important; }
130
- .d-plc-end-space-around { place-content: end space-around !important; }
131
- .d-plc-end-space-evenly { place-content: end space-evenly !important; }
132
- .d-plc-end-space-between { place-content: end space-between !important; }
133
-
134
- .d-plc-start { place-content: start !important; }
135
- .d-plc-start-end { place-content: start end !important; }
136
- .d-plc-start-center { place-content: start center !important; }
137
- .d-plc-start-stretch { place-content: start stretch !important; }
138
- .d-plc-start-space-around { place-content: start space-around !important; }
139
- .d-plc-start-space-evenly { place-content: start space-evenly !important; }
140
- .d-plc-start-space-between { place-content: start space-between !important; }
141
-
142
- .d-plc-stretch { place-content: stretch !important; }
143
- .d-plc-stretch-end { place-content: stretch end !important; }
144
- .d-plc-stretch-start { place-content: stretch start !important; }
145
- .d-plc-stretch-center { place-content: stretch center !important; }
146
- .d-plc-stretch-space-evenly { place-content: stretch space-evenly !important; }
147
- .d-plc-stretch-space-around { place-content: stretch space-around !important; }
148
- .d-plc-stretch-space-between { place-content: stretch space-between !important; }
149
-
150
- .d-plc-space-around { place-content: space-around !important; }
151
- .d-plc-space-around-end { place-content: space-around end !important; }
152
- .d-plc-space-around-start { place-content: space-around start !important; }
153
- .d-plc-space-around-center { place-content: space-around center !important; }
154
- .d-plc-space-around-space-evenly { place-content: space-around space-evenly !important; }
155
- .d-plc-space-around-space-between { place-content: space-around space-between !important; }
156
-
157
- .d-plc-space-evenly { place-content: space-evenly !important; }
158
- .d-plc-space-evenly-end { place-content: space-evenly end !important; }
159
- .d-plc-space-evenly-start { place-content: space-evenly start !important; }
160
- .d-plc-space-evenly-center { place-content: space-evenly center !important; }
161
- .d-plc-space-evenly-space-around { place-content: space-evenly space-around !important; }
162
- .d-plc-space-evenly-space-between { place-content: space-evenly space-between !important; }
163
-
164
- .d-plc-space-between { place-content: space-between !important; }
165
- .d-plc-space-between-end { place-content: space-between end !important; }
166
- .d-plc-space-between-start { place-content: space-between start !important; }
167
- .d-plc-space-between-center { place-content: space-between center !important; }
168
- .d-plc-space-between-space-around { place-content: space-between space-around !important; }
169
- .d-plc-space-between-space-evenly { place-content: space-between space-evenly !important; }
170
-
171
- .d-plc-normal { place-content: normal !important; }
172
- .d-plc-legacy { place-content: legacy !important; }
173
- .d-plc-auto { place-content: auto !important; }
174
- .d-plc-unset { place-content: unset !important; }
175
-
176
-
177
- // ============================================================================
178
- // $ PLACE ITEMS
179
- // ----------------------------------------------------------------------------
180
- .d-pli-center { place-items: center !important; }
181
- .d-pli-center-end { place-items: center end !important; }
182
- .d-pli-center-start { place-items: center start !important; }
183
- .d-pli-center-stretch { place-items: center stretch !important; }
184
-
185
- .d-pli-end { place-items: end !important; }
186
- .d-pli-end-start { place-items: end start !important; }
187
- .d-pli-end-stretch { place-items: end stretch !important; }
188
- .d-pli-end-center { place-items: end center !important; }
189
-
190
- .d-pli-start { place-items: start !important; }
191
- .d-pli-start-end { place-items: start end !important; }
192
- .d-pli-start-center { place-items: start center !important; }
193
- .d-pli-start-stretch { place-items: start stretch !important; }
194
-
195
- .d-pli-stretch { place-items: stretch !important; }
196
- .d-pli-stretch-end { place-items: stretch end !important; }
197
- .d-pli-stretch-start { place-items: stretch start !important; }
198
- .d-pli-stretch-center { place-items: stretch center !important; }
199
-
200
- .d-pli-normal { place-items: normal !important; }
201
- .d-pli-legacy { place-items: legacy !important; }
202
- .d-pli-auto { place-items: auto !important; }
203
- .d-pli-unset { place-items: unset !important; }
204
-
205
-
206
- // ============================================================================
207
- // $ PLACE SELF
208
- // ----------------------------------------------------------------------------
209
- .d-pls-center { place-self: center !important; }
210
- .d-pls-center-end { place-self: center end !important; }
211
- .d-pls-center-start { place-self: center start !important; }
212
- .d-pls-center-stretch { place-self: center stretch !important; }
213
-
214
- .d-pls-end { place-self: end !important; }
215
- .d-pls-end-start { place-self: end start !important; }
216
- .d-pls-end-stretch { place-self: end stretch !important; }
217
- .d-pls-end-center { place-self: end center !important; }
218
-
219
- .d-pls-start { place-self: start !important; }
220
- .d-pls-start-end { place-self: start end !important; }
221
- .d-pls-start-center { place-self: start center !important; }
222
- .d-pls-start-stretch { place-self: start stretch !important; }
223
-
224
- .d-pls-stretch { place-self: stretch !important; }
225
- .d-pls-stretch-end { place-self: stretch end !important; }
226
- .d-pls-stretch-start { place-self: stretch start !important; }
227
- .d-pls-stretch-center { place-self: stretch center !important; }
228
-
229
- .d-pls-normal { place-self: normal !important; }
230
- .d-pls-legacy { place-self: legacy !important; }
231
- .d-pls-auto { place-self: auto !important; }
232
- .d-pls-unset { place-self: unset !important; }
233
-
234
-
235
- // ============================================================================
236
- // $ ROWS
237
- // ----------------------------------------------------------------------------
238
- .d-gr-full { grid-row: 1 ~' / ' -1 !important; }
239
-
240
- .d-grs-auto { grid-row-start: auto !important; }
241
- .d-gre-auto { grid-row-end: auto !important; }
242
- .d-gr-auto { grid-row: auto !important; }
243
-
244
- .d-grs-unset { grid-row-start: unset !important; }
245
- .d-gre-unset { grid-row-end: unset !important; }
246
- .d-gr-unset { grid-row: unset !important; }
247
135
  }