@angular/material 18.1.0-next.1 → 18.1.0-next.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.
Files changed (304) hide show
  1. package/_index.scss +1 -1
  2. package/autocomplete/index.d.ts +1 -1
  3. package/badge/index.d.ts +4 -1
  4. package/bottom-sheet/index.d.ts +1 -1
  5. package/checkbox/index.d.ts +10 -2
  6. package/chips/index.d.ts +5 -1
  7. package/core/index.d.ts +1 -1
  8. package/core/m2/_typography.scss +1 -1
  9. package/core/theming/_config-validation.scss +3 -2
  10. package/core/theming/_definition.scss +4 -2
  11. package/core/theming/_palettes.scss +2 -0
  12. package/core/tokens/_m3-tokens.scss +168 -152
  13. package/core/tokens/m3/mat/_divider.scss +1 -1
  14. package/core/tokens/m3/mat/_expansion.scss +1 -1
  15. package/core/tokens/m3/mat/_stepper.scss +1 -1
  16. package/core/tokens/m3/mat/_table.scss +1 -1
  17. package/datepicker/index.d.ts +10 -2
  18. package/dialog/index.d.ts +0 -1
  19. package/dialog/testing/index.d.ts +1 -0
  20. package/esm2022/autocomplete/autocomplete-origin.mjs +4 -4
  21. package/esm2022/autocomplete/autocomplete-trigger.mjs +11 -10
  22. package/esm2022/autocomplete/autocomplete.mjs +4 -4
  23. package/esm2022/autocomplete/module.mjs +5 -5
  24. package/esm2022/badge/badge-module.mjs +5 -5
  25. package/esm2022/badge/badge.mjs +11 -8
  26. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +4 -4
  27. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +5 -5
  28. package/esm2022/bottom-sheet/bottom-sheet.mjs +4 -4
  29. package/esm2022/button/button-base.mjs +7 -7
  30. package/esm2022/button/button.mjs +7 -7
  31. package/esm2022/button/fab.mjs +13 -13
  32. package/esm2022/button/icon-button.mjs +7 -7
  33. package/esm2022/button/module.mjs +5 -5
  34. package/esm2022/button-toggle/button-toggle-module.mjs +5 -5
  35. package/esm2022/button-toggle/button-toggle.mjs +7 -7
  36. package/esm2022/card/card.mjs +43 -43
  37. package/esm2022/card/module.mjs +5 -5
  38. package/esm2022/checkbox/checkbox-config.mjs +1 -1
  39. package/esm2022/checkbox/checkbox-required-validator.mjs +4 -4
  40. package/esm2022/checkbox/checkbox.mjs +6 -13
  41. package/esm2022/checkbox/module.mjs +9 -9
  42. package/esm2022/chips/chip-action.mjs +4 -4
  43. package/esm2022/chips/chip-edit-input.mjs +4 -4
  44. package/esm2022/chips/chip-grid.mjs +4 -4
  45. package/esm2022/chips/chip-icons.mjs +10 -10
  46. package/esm2022/chips/chip-input.mjs +4 -4
  47. package/esm2022/chips/chip-listbox.mjs +4 -4
  48. package/esm2022/chips/chip-option.mjs +4 -4
  49. package/esm2022/chips/chip-row.mjs +4 -4
  50. package/esm2022/chips/chip-set.mjs +4 -4
  51. package/esm2022/chips/chip.mjs +9 -9
  52. package/esm2022/chips/module.mjs +5 -5
  53. package/esm2022/core/common-behaviors/common-module.mjs +5 -5
  54. package/esm2022/core/datetime/index.mjs +9 -9
  55. package/esm2022/core/datetime/native-date-adapter.mjs +4 -4
  56. package/esm2022/core/error/error-options.mjs +7 -7
  57. package/esm2022/core/internal-form-field/internal-form-field.mjs +4 -4
  58. package/esm2022/core/line/line.mjs +8 -8
  59. package/esm2022/core/option/index.mjs +5 -5
  60. package/esm2022/core/option/optgroup.mjs +4 -4
  61. package/esm2022/core/option/option.mjs +4 -4
  62. package/esm2022/core/private/ripple-loader.mjs +4 -4
  63. package/esm2022/core/ripple/index.mjs +5 -5
  64. package/esm2022/core/ripple/ripple.mjs +4 -4
  65. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  66. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  67. package/esm2022/core/version.mjs +1 -1
  68. package/esm2022/datepicker/calendar-body.mjs +4 -4
  69. package/esm2022/datepicker/calendar.mjs +7 -7
  70. package/esm2022/datepicker/date-range-input-parts.mjs +10 -10
  71. package/esm2022/datepicker/date-range-input.mjs +4 -4
  72. package/esm2022/datepicker/date-range-picker.mjs +4 -4
  73. package/esm2022/datepicker/date-range-selection-strategy.mjs +4 -4
  74. package/esm2022/datepicker/date-selection-model.mjs +10 -10
  75. package/esm2022/datepicker/datepicker-actions.mjs +10 -10
  76. package/esm2022/datepicker/datepicker-base.mjs +20 -23
  77. package/esm2022/datepicker/datepicker-input-base.mjs +4 -4
  78. package/esm2022/datepicker/datepicker-input.mjs +4 -4
  79. package/esm2022/datepicker/datepicker-intl.mjs +4 -4
  80. package/esm2022/datepicker/datepicker-module.mjs +5 -5
  81. package/esm2022/datepicker/datepicker-toggle.mjs +7 -7
  82. package/esm2022/datepicker/datepicker.mjs +4 -4
  83. package/esm2022/datepicker/month-view.mjs +4 -4
  84. package/esm2022/datepicker/multi-year-view.mjs +4 -4
  85. package/esm2022/datepicker/year-view.mjs +4 -4
  86. package/esm2022/dialog/dialog-container.mjs +4 -9
  87. package/esm2022/dialog/dialog-content-directives.mjs +16 -16
  88. package/esm2022/dialog/dialog.mjs +4 -4
  89. package/esm2022/dialog/module.mjs +5 -5
  90. package/esm2022/dialog/testing/dialog-opener.mjs +4 -3
  91. package/esm2022/divider/divider-module.mjs +5 -5
  92. package/esm2022/divider/divider.mjs +4 -4
  93. package/esm2022/expansion/accordion.mjs +4 -4
  94. package/esm2022/expansion/expansion-module.mjs +5 -5
  95. package/esm2022/expansion/expansion-panel-content.mjs +4 -4
  96. package/esm2022/expansion/expansion-panel-header.mjs +10 -10
  97. package/esm2022/expansion/expansion-panel.mjs +7 -7
  98. package/esm2022/form-field/directives/error.mjs +4 -4
  99. package/esm2022/form-field/directives/floating-label.mjs +4 -4
  100. package/esm2022/form-field/directives/hint.mjs +4 -4
  101. package/esm2022/form-field/directives/label.mjs +4 -4
  102. package/esm2022/form-field/directives/line-ripple.mjs +4 -4
  103. package/esm2022/form-field/directives/notched-outline.mjs +4 -4
  104. package/esm2022/form-field/directives/prefix.mjs +4 -4
  105. package/esm2022/form-field/directives/suffix.mjs +4 -4
  106. package/esm2022/form-field/form-field-control.mjs +4 -4
  107. package/esm2022/form-field/form-field.mjs +4 -4
  108. package/esm2022/form-field/module.mjs +5 -5
  109. package/esm2022/grid-list/grid-list-module.mjs +5 -5
  110. package/esm2022/grid-list/grid-list.mjs +4 -4
  111. package/esm2022/grid-list/grid-tile.mjs +16 -16
  112. package/esm2022/icon/icon-module.mjs +5 -5
  113. package/esm2022/icon/icon-registry.mjs +4 -4
  114. package/esm2022/icon/icon.mjs +4 -4
  115. package/esm2022/icon/testing/fake-icon-registry.mjs +8 -8
  116. package/esm2022/input/input.mjs +4 -4
  117. package/esm2022/input/module.mjs +5 -5
  118. package/esm2022/list/action-list.mjs +4 -4
  119. package/esm2022/list/list-base.mjs +7 -7
  120. package/esm2022/list/list-item-sections.mjs +19 -19
  121. package/esm2022/list/list-module.mjs +5 -5
  122. package/esm2022/list/list-option.mjs +4 -4
  123. package/esm2022/list/list.mjs +7 -7
  124. package/esm2022/list/nav-list.mjs +4 -4
  125. package/esm2022/list/selection-list.mjs +4 -4
  126. package/esm2022/list/subheader.mjs +4 -4
  127. package/esm2022/menu/menu-content.mjs +4 -4
  128. package/esm2022/menu/menu-item.mjs +4 -4
  129. package/esm2022/menu/menu-trigger.mjs +4 -4
  130. package/esm2022/menu/menu.mjs +4 -4
  131. package/esm2022/menu/module.mjs +5 -5
  132. package/esm2022/paginator/module.mjs +5 -5
  133. package/esm2022/paginator/paginator-intl.mjs +4 -4
  134. package/esm2022/paginator/paginator.mjs +4 -4
  135. package/esm2022/progress-bar/module.mjs +5 -5
  136. package/esm2022/progress-bar/progress-bar.mjs +4 -4
  137. package/esm2022/progress-spinner/module.mjs +5 -5
  138. package/esm2022/progress-spinner/progress-spinner.mjs +4 -4
  139. package/esm2022/radio/module.mjs +5 -5
  140. package/esm2022/radio/radio.mjs +8 -7
  141. package/esm2022/select/module.mjs +5 -5
  142. package/esm2022/select/select.mjs +7 -7
  143. package/esm2022/sidenav/drawer.mjs +10 -10
  144. package/esm2022/sidenav/sidenav-module.mjs +5 -5
  145. package/esm2022/sidenav/sidenav.mjs +10 -10
  146. package/esm2022/slide-toggle/module.mjs +9 -9
  147. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  148. package/esm2022/slide-toggle/slide-toggle.mjs +4 -4
  149. package/esm2022/slider/module.mjs +5 -5
  150. package/esm2022/slider/slider-input.mjs +7 -7
  151. package/esm2022/slider/slider-interface.mjs +2 -2
  152. package/esm2022/slider/slider-thumb.mjs +4 -4
  153. package/esm2022/slider/slider.mjs +4 -4
  154. package/esm2022/snack-bar/module.mjs +5 -5
  155. package/esm2022/snack-bar/simple-snack-bar.mjs +4 -4
  156. package/esm2022/snack-bar/snack-bar-container.mjs +4 -4
  157. package/esm2022/snack-bar/snack-bar-content.mjs +10 -10
  158. package/esm2022/snack-bar/snack-bar.mjs +4 -4
  159. package/esm2022/sort/sort-header-intl.mjs +4 -4
  160. package/esm2022/sort/sort-header.mjs +4 -4
  161. package/esm2022/sort/sort-module.mjs +5 -5
  162. package/esm2022/sort/sort.mjs +4 -4
  163. package/esm2022/stepper/step-content.mjs +4 -4
  164. package/esm2022/stepper/step-header.mjs +4 -4
  165. package/esm2022/stepper/step-label.mjs +4 -4
  166. package/esm2022/stepper/stepper-button.mjs +7 -7
  167. package/esm2022/stepper/stepper-icon.mjs +4 -4
  168. package/esm2022/stepper/stepper-intl.mjs +4 -4
  169. package/esm2022/stepper/stepper-module.mjs +5 -5
  170. package/esm2022/stepper/stepper.mjs +7 -7
  171. package/esm2022/table/cell.mjs +22 -22
  172. package/esm2022/table/module.mjs +5 -5
  173. package/esm2022/table/row.mjs +22 -22
  174. package/esm2022/table/table.mjs +7 -7
  175. package/esm2022/table/text-column.mjs +4 -4
  176. package/esm2022/tabs/ink-bar.mjs +4 -4
  177. package/esm2022/tabs/module.mjs +5 -5
  178. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  179. package/esm2022/tabs/tab-body.mjs +7 -7
  180. package/esm2022/tabs/tab-content.mjs +4 -4
  181. package/esm2022/tabs/tab-group.mjs +4 -4
  182. package/esm2022/tabs/tab-header.mjs +4 -4
  183. package/esm2022/tabs/tab-label-wrapper.mjs +4 -4
  184. package/esm2022/tabs/tab-label.mjs +4 -4
  185. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +10 -10
  186. package/esm2022/tabs/tab.mjs +4 -4
  187. package/esm2022/toolbar/toolbar-module.mjs +5 -5
  188. package/esm2022/toolbar/toolbar.mjs +7 -7
  189. package/esm2022/tooltip/module.mjs +5 -5
  190. package/esm2022/tooltip/tooltip.mjs +7 -7
  191. package/esm2022/tree/node.mjs +10 -10
  192. package/esm2022/tree/outlet.mjs +4 -4
  193. package/esm2022/tree/padding.mjs +4 -4
  194. package/esm2022/tree/toggle.mjs +4 -4
  195. package/esm2022/tree/tree-module.mjs +5 -5
  196. package/esm2022/tree/tree.mjs +4 -4
  197. package/fesm2022/autocomplete.mjs +14 -13
  198. package/fesm2022/autocomplete.mjs.map +1 -1
  199. package/fesm2022/badge.mjs +14 -11
  200. package/fesm2022/badge.mjs.map +1 -1
  201. package/fesm2022/bottom-sheet.mjs +10 -10
  202. package/fesm2022/bottom-sheet.mjs.map +1 -1
  203. package/fesm2022/button-toggle.mjs +10 -10
  204. package/fesm2022/button-toggle.mjs.map +1 -1
  205. package/fesm2022/button.mjs +34 -34
  206. package/fesm2022/button.mjs.map +1 -1
  207. package/fesm2022/card.mjs +46 -46
  208. package/fesm2022/card.mjs.map +1 -1
  209. package/fesm2022/checkbox.mjs +14 -14
  210. package/fesm2022/checkbox.mjs.map +1 -1
  211. package/fesm2022/chips.mjs +44 -44
  212. package/fesm2022/chips.mjs.map +1 -1
  213. package/fesm2022/core.mjs +59 -59
  214. package/fesm2022/core.mjs.map +1 -1
  215. package/fesm2022/datepicker.mjs +87 -83
  216. package/fesm2022/datepicker.mjs.map +1 -1
  217. package/fesm2022/dialog/testing.mjs +3 -2
  218. package/fesm2022/dialog/testing.mjs.map +1 -1
  219. package/fesm2022/dialog.mjs +25 -30
  220. package/fesm2022/dialog.mjs.map +1 -1
  221. package/fesm2022/divider.mjs +7 -7
  222. package/fesm2022/divider.mjs.map +1 -1
  223. package/fesm2022/expansion.mjs +25 -25
  224. package/fesm2022/expansion.mjs.map +1 -1
  225. package/fesm2022/form-field.mjs +34 -34
  226. package/fesm2022/form-field.mjs.map +1 -1
  227. package/fesm2022/grid-list.mjs +22 -22
  228. package/fesm2022/grid-list.mjs.map +1 -1
  229. package/fesm2022/icon/testing.mjs +7 -7
  230. package/fesm2022/icon/testing.mjs.map +1 -1
  231. package/fesm2022/icon.mjs +10 -10
  232. package/fesm2022/icon.mjs.map +1 -1
  233. package/fesm2022/input.mjs +7 -7
  234. package/fesm2022/input.mjs.map +1 -1
  235. package/fesm2022/list.mjs +49 -49
  236. package/fesm2022/list.mjs.map +1 -1
  237. package/fesm2022/menu.mjs +16 -16
  238. package/fesm2022/menu.mjs.map +1 -1
  239. package/fesm2022/paginator.mjs +10 -10
  240. package/fesm2022/paginator.mjs.map +1 -1
  241. package/fesm2022/progress-bar.mjs +7 -7
  242. package/fesm2022/progress-bar.mjs.map +1 -1
  243. package/fesm2022/progress-spinner.mjs +7 -7
  244. package/fesm2022/progress-spinner.mjs.map +1 -1
  245. package/fesm2022/radio.mjs +11 -10
  246. package/fesm2022/radio.mjs.map +1 -1
  247. package/fesm2022/select.mjs +10 -10
  248. package/fesm2022/select.mjs.map +1 -1
  249. package/fesm2022/sidenav.mjs +22 -22
  250. package/fesm2022/sidenav.mjs.map +1 -1
  251. package/fesm2022/slide-toggle.mjs +14 -14
  252. package/fesm2022/slide-toggle.mjs.map +1 -1
  253. package/fesm2022/slider.mjs +17 -17
  254. package/fesm2022/slider.mjs.map +1 -1
  255. package/fesm2022/snack-bar.mjs +22 -22
  256. package/fesm2022/snack-bar.mjs.map +1 -1
  257. package/fesm2022/sort.mjs +13 -13
  258. package/fesm2022/sort.mjs.map +1 -1
  259. package/fesm2022/stepper.mjs +31 -31
  260. package/fesm2022/stepper.mjs.map +1 -1
  261. package/fesm2022/table.mjs +55 -55
  262. package/fesm2022/table.mjs.map +1 -1
  263. package/fesm2022/tabs.mjs +43 -43
  264. package/fesm2022/tabs.mjs.map +1 -1
  265. package/fesm2022/toolbar.mjs +10 -10
  266. package/fesm2022/toolbar.mjs.map +1 -1
  267. package/fesm2022/tooltip.mjs +10 -10
  268. package/fesm2022/tooltip.mjs.map +1 -1
  269. package/fesm2022/tree.mjs +25 -25
  270. package/fesm2022/tree.mjs.map +1 -1
  271. package/package.json +2 -2
  272. package/prebuilt-themes/azure-blue.css +1 -1
  273. package/prebuilt-themes/cyan-orange.css +1 -1
  274. package/prebuilt-themes/magenta-violet.css +1 -1
  275. package/prebuilt-themes/rose-red.css +1 -1
  276. package/schematics/ng-add/fonts/material-fonts.js +2 -3
  277. package/schematics/ng-add/fonts/material-fonts.mjs +2 -3
  278. package/schematics/ng-add/index.js +3 -3
  279. package/schematics/ng-add/index.mjs +3 -3
  280. package/schematics/ng-add/package-config.js +3 -4
  281. package/schematics/ng-add/package-config.mjs +3 -4
  282. package/schematics/ng-add/setup-project.js +2 -2
  283. package/schematics/ng-add/setup-project.mjs +2 -2
  284. package/schematics/ng-add/theming/create-custom-theme.js +2 -3
  285. package/schematics/ng-add/theming/create-custom-theme.mjs +2 -3
  286. package/schematics/ng-add/theming/theming.js +3 -4
  287. package/schematics/ng-add/theming/theming.mjs +3 -4
  288. package/schematics/ng-generate/address-form/index.js +2 -2
  289. package/schematics/ng-generate/address-form/index.mjs +2 -2
  290. package/schematics/ng-generate/dashboard/index.js +2 -2
  291. package/schematics/ng-generate/dashboard/index.mjs +2 -2
  292. package/schematics/ng-generate/m3-theme/index_bundled.js +81 -2
  293. package/schematics/ng-generate/m3-theme/index_bundled.js.map +3 -3
  294. package/schematics/ng-generate/navigation/index.js +2 -2
  295. package/schematics/ng-generate/navigation/index.mjs +2 -2
  296. package/schematics/ng-generate/table/index.js +2 -2
  297. package/schematics/ng-generate/table/index.mjs +2 -2
  298. package/schematics/ng-generate/tree/index.js +2 -2
  299. package/schematics/ng-generate/tree/index.mjs +2 -2
  300. package/schematics/ng-update/index_bundled.js +160 -24
  301. package/schematics/ng-update/index_bundled.js.map +2 -2
  302. package/slider/index.d.ts +1 -1
  303. package/sort/index.d.ts +1 -1
  304. package/tree/index.d.ts +2 -2
@@ -2515,7 +2515,19 @@ function customColor(source, color) {
2515
2515
 
2516
2516
  // bazel-out/k8-fastbuild/bin/src/material/schematics/ng-generate/m3-theme/index.mjs
2517
2517
  var HUE_TONES = [0, 10, 20, 25, 30, 35, 40, 50, 60, 70, 80, 90, 95, 98, 99, 100];
2518
- var NEUTRAL_HUE_TONES = HUE_TONES.concat([4, 6, 12, 17, 22, 24, 87, 92, 94, 96]);
2518
+ var NEUTRAL_HUES = /* @__PURE__ */ new Map([
2519
+ [4, { prev: 0, next: 10 }],
2520
+ [6, { prev: 0, next: 10 }],
2521
+ [12, { prev: 10, next: 20 }],
2522
+ [17, { prev: 10, next: 20 }],
2523
+ [22, { prev: 20, next: 25 }],
2524
+ [24, { prev: 20, next: 25 }],
2525
+ [87, { prev: 80, next: 90 }],
2526
+ [92, { prev: 90, next: 95 }],
2527
+ [94, { prev: 90, next: 95 }],
2528
+ [96, { prev: 95, next: 98 }]
2529
+ ]);
2530
+ var NEUTRAL_HUE_TONES = [...HUE_TONES, ...NEUTRAL_HUES.keys()];
2519
2531
  function getMaterialTonalPalettes(color) {
2520
2532
  try {
2521
2533
  let argbColor = argbFromHex(color);
@@ -2567,7 +2579,7 @@ function generateSCSSTheme(colorPalettes, themeTypes, colorComment, useSystemVar
2567
2579
  "@use '@angular/material' as mat;",
2568
2580
  "",
2569
2581
  "// Note: " + colorComment,
2570
- "$_palettes: " + getColorPalettesSCSS(colorPalettes),
2582
+ "$_palettes: " + getColorPalettesSCSS(patchMissingHues(colorPalettes)),
2571
2583
  "",
2572
2584
  "$_rest: (",
2573
2585
  " secondary: map.get($_palettes, secondary),",
@@ -2623,6 +2635,73 @@ function m3_theme_default(options) {
2623
2635
  createThemeFile(themeScss, tree, options.directory);
2624
2636
  });
2625
2637
  }
2638
+ function patchMissingHues(palettes) {
2639
+ const neutral = palettes.get("neutral");
2640
+ if (!neutral) {
2641
+ return palettes;
2642
+ }
2643
+ let newNeutral = null;
2644
+ for (const [hue, { prev, next }] of NEUTRAL_HUES) {
2645
+ if (!neutral.has(hue) && neutral.has(prev) && neutral.has(next)) {
2646
+ const weight = (next - hue) / (next - prev);
2647
+ const result = mixColors(neutral.get(prev), neutral.get(next), weight);
2648
+ if (result !== null) {
2649
+ newNeutral != null ? newNeutral : newNeutral = new Map(neutral.entries());
2650
+ newNeutral.set(hue, result);
2651
+ }
2652
+ }
2653
+ }
2654
+ if (!newNeutral) {
2655
+ return palettes;
2656
+ }
2657
+ const newPalettes = /* @__PURE__ */ new Map();
2658
+ for (const [key, value] of palettes) {
2659
+ if (key === "neutral") {
2660
+ const sortedNeutral = Array.from(newNeutral.keys()).sort((a, b) => a - b).reduce((newHues, key2) => {
2661
+ newHues.set(key2, newNeutral.get(key2));
2662
+ return newHues;
2663
+ }, /* @__PURE__ */ new Map());
2664
+ newPalettes.set(key, sortedNeutral);
2665
+ } else {
2666
+ newPalettes.set(key, value);
2667
+ }
2668
+ }
2669
+ return newPalettes;
2670
+ }
2671
+ function mixColors(c1, c2, weight) {
2672
+ const normalizedWeight = weight * 2 - 1;
2673
+ const weight1 = (normalizedWeight + 1) / 2;
2674
+ const weight2 = 1 - weight1;
2675
+ const color1 = parseHexColor(c1);
2676
+ const color2 = parseHexColor(c2);
2677
+ if (color1 === null || color2 === null) {
2678
+ return null;
2679
+ }
2680
+ const red = Math.round(color1.red * weight1 + color2.red * weight2);
2681
+ const green = Math.round(color1.green * weight1 + color2.green * weight2);
2682
+ const blue = Math.round(color1.blue * weight1 + color2.blue * weight2);
2683
+ const intToHex = (value) => value.toString(16).padStart(2, "0");
2684
+ return `#${intToHex(red)}${intToHex(green)}${intToHex(blue)}`;
2685
+ }
2686
+ function parseHexColor(value) {
2687
+ if (!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value)) {
2688
+ return null;
2689
+ }
2690
+ const hexToInt = (value2) => parseInt(value2, 16);
2691
+ let red;
2692
+ let green;
2693
+ let blue;
2694
+ if (value.length === 4) {
2695
+ red = hexToInt(value[1] + value[1]);
2696
+ green = hexToInt(value[2] + value[2]);
2697
+ blue = hexToInt(value[3] + value[3]);
2698
+ } else {
2699
+ red = hexToInt(value.slice(1, 3));
2700
+ green = hexToInt(value.slice(3, 5));
2701
+ blue = hexToInt(value.slice(5, 7));
2702
+ }
2703
+ return { red, green, blue };
2704
+ }
2626
2705
  // Annotate the CommonJS export names for ESM import in node:
2627
2706
  0 && (module.exports = {
2628
2707
  generateSCSSTheme