igniteui-theming 25.1.0 → 25.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/index.d.ts +75 -0
  2. package/dist/index.js +12 -0
  3. package/dist/json/components/bootstrap.json +1 -0
  4. package/dist/json/components/fluent.json +1 -0
  5. package/dist/json/components/indigo.json +1 -0
  6. package/dist/json/components/material.json +1 -0
  7. package/{json → dist/json}/components/themes.json +31 -1
  8. package/dist/mcp/generators/css.d.ts +7 -4
  9. package/dist/mcp/generators/css.js +129 -104
  10. package/dist/mcp/generators/sass.js +227 -254
  11. package/dist/mcp/index.js +259 -323
  12. package/dist/mcp/knowledge/color-usage.js +524 -502
  13. package/dist/mcp/knowledge/colors.js +61 -50
  14. package/dist/mcp/knowledge/component-metadata.js +697 -598
  15. package/dist/mcp/knowledge/component-themes.js +70 -57
  16. package/dist/mcp/knowledge/custom-palettes.js +4 -9
  17. package/dist/mcp/knowledge/docs/colors/guidance.js +4 -0
  18. package/dist/mcp/knowledge/docs/colors/usage.js +4 -0
  19. package/dist/mcp/knowledge/docs/layout/functions/border-radius.js +4 -0
  20. package/dist/mcp/knowledge/docs/layout/functions/pad.js +4 -0
  21. package/dist/mcp/knowledge/docs/layout/functions/sizable.js +4 -0
  22. package/dist/mcp/knowledge/docs/layout/mixins/sizable.js +4 -0
  23. package/dist/mcp/knowledge/docs/layout/mixins/sizing.js +4 -0
  24. package/dist/mcp/knowledge/docs/layout/mixins/spacing.js +4 -0
  25. package/dist/mcp/knowledge/docs/layout/overview.js +4 -0
  26. package/dist/mcp/knowledge/docs/setup/platform.js +4 -0
  27. package/dist/mcp/knowledge/elevations.d.ts +1 -1
  28. package/dist/mcp/knowledge/elevations.js +26 -12
  29. package/dist/mcp/knowledge/index.js +23 -87
  30. package/dist/mcp/knowledge/layout-docs.d.ts +1 -1
  31. package/dist/mcp/knowledge/multipliers.js +5 -0
  32. package/dist/mcp/knowledge/palettes.js +29 -17
  33. package/dist/mcp/knowledge/platforms/angular.js +98 -120
  34. package/dist/mcp/knowledge/platforms/blazor.js +39 -34
  35. package/dist/mcp/knowledge/platforms/common.js +83 -68
  36. package/dist/mcp/knowledge/platforms/index.js +265 -242
  37. package/dist/mcp/knowledge/platforms/react.js +43 -35
  38. package/dist/mcp/knowledge/platforms/webcomponents.js +266 -292
  39. package/dist/mcp/knowledge/sass-api.js +1 -0
  40. package/dist/mcp/knowledge/typography.js +13 -5
  41. package/dist/mcp/resources/index.js +1 -0
  42. package/dist/mcp/resources/presets.js +409 -508
  43. package/dist/mcp/theming/dist/json/colors/meta/multipliers.js +50 -0
  44. package/dist/mcp/theming/dist/json/colors/presets/palettes.js +85 -0
  45. package/dist/mcp/theming/dist/json/components/themes.js +5792 -0
  46. package/dist/mcp/theming/dist/json/elevations/indigo.js +29 -0
  47. package/dist/mcp/theming/dist/json/elevations/material.js +3 -0
  48. package/dist/mcp/theming/dist/json/typography/presets/typescales.js +621 -0
  49. package/dist/mcp/tools/descriptions.js +98 -154
  50. package/dist/mcp/tools/handlers/color.js +58 -56
  51. package/dist/mcp/tools/handlers/component-theme.js +163 -225
  52. package/dist/mcp/tools/handlers/component-tokens.js +159 -219
  53. package/dist/mcp/tools/handlers/custom-palette.js +138 -179
  54. package/dist/mcp/tools/handlers/elevations.js +27 -28
  55. package/dist/mcp/tools/handlers/index.js +11 -0
  56. package/dist/mcp/tools/handlers/layout.js +125 -176
  57. package/dist/mcp/tools/handlers/palette.js +105 -120
  58. package/dist/mcp/tools/handlers/platform.js +289 -311
  59. package/dist/mcp/tools/handlers/resource.js +22 -31
  60. package/dist/mcp/tools/handlers/theme.js +86 -103
  61. package/dist/mcp/tools/handlers/typography.js +29 -30
  62. package/dist/mcp/tools/index.js +13 -0
  63. package/dist/mcp/tools/schemas.js +239 -218
  64. package/dist/mcp/utils/color.js +277 -239
  65. package/dist/mcp/utils/preprocessing.js +57 -30
  66. package/dist/mcp/utils/result.js +43 -45
  67. package/dist/mcp/utils/sass.js +271 -191
  68. package/dist/mcp/utils/theming-resolve.d.ts +19 -0
  69. package/dist/mcp/utils/theming-resolve.js +57 -0
  70. package/dist/mcp/utils/types.js +96 -53
  71. package/dist/mcp/validators/custom-palette.js +218 -243
  72. package/dist/mcp/validators/index.js +3 -0
  73. package/dist/mcp/validators/palette.js +231 -229
  74. package/dist/tailwind/utilities/bootstrap.css +1 -0
  75. package/dist/tailwind/utilities/fluent.css +1 -0
  76. package/dist/tailwind/utilities/indigo.css +1 -0
  77. package/dist/tailwind/utilities/material.css +1 -0
  78. package/package.json +45 -64
  79. package/sass/json/README.md +12 -7
  80. package/sass/themes/_mixins.scss +1 -0
  81. package/sass/themes/components/button-group/_button-group-theme.scss +42 -0
  82. package/sass/themes/components/grid/_grid-theme.scss +1 -1
  83. package/sass/themes/schemas/components/dark/_button-group.scss +173 -50
  84. package/sass/themes/schemas/components/dark/_grid.scss +0 -16
  85. package/sass/themes/schemas/components/light/_button-group.scss +221 -99
  86. package/sass/themes/schemas/components/light/_grid.scss +14 -20
  87. package/LICENSE +0 -21
  88. package/README.md +0 -391
  89. package/dist/mcp/json/colors/presets/palettes.json.js +0 -13
  90. package/dist/mcp/json/components/themes.json.js +0 -143
  91. package/dist/mcp/json/elevations/indigo.json.js +0 -8
  92. package/dist/mcp/json/elevations/material.json.js +0 -8
  93. package/dist/mcp/json/typography/presets/typescales.json.js +0 -17
  94. package/dist/mcp/knowledge/docs/colors/guidance.md.js +0 -4
  95. package/dist/mcp/knowledge/docs/colors/usage.md.js +0 -4
  96. package/dist/mcp/knowledge/docs/layout/functions/border-radius.md.js +0 -4
  97. package/dist/mcp/knowledge/docs/layout/functions/pad.md.js +0 -4
  98. package/dist/mcp/knowledge/docs/layout/functions/sizable.md.js +0 -4
  99. package/dist/mcp/knowledge/docs/layout/mixins/sizable.md.js +0 -4
  100. package/dist/mcp/knowledge/docs/layout/mixins/sizing.md.js +0 -4
  101. package/dist/mcp/knowledge/docs/layout/mixins/spacing.md.js +0 -4
  102. package/dist/mcp/knowledge/docs/layout/overview.md.js +0 -4
  103. package/dist/mcp/knowledge/docs/setup/platform.md.js +0 -4
  104. package/dist/mcp/vite-env.d.ts +0 -18
  105. package/index.js +0 -5
  106. package/json/components/bootstrap.json +0 -1
  107. package/json/components/fluent.json +0 -1
  108. package/json/components/indigo.json +0 -1
  109. package/json/components/material.json +0 -1
  110. package/tailwind/utilities/bootstrap.css +0 -1
  111. package/tailwind/utilities/fluent.css +0 -1
  112. package/tailwind/utilities/indigo.css +0 -1
  113. package/tailwind/utilities/material.css +0 -1
  114. /package/{json → dist/json}/colors/meta/multipliers.json +0 -0
  115. /package/{json → dist/json}/colors/meta/palette.json +0 -0
  116. /package/{json → dist/json}/colors/presets/palettes.json +0 -0
  117. /package/{json → dist/json}/elevations/indigo.json +0 -0
  118. /package/{json → dist/json}/elevations/material.json +0 -0
  119. /package/{json → dist/json}/typography/presets/typescales.json +0 -0
  120. /package/{tailwind → dist/tailwind}/themes/base.css +0 -0
  121. /package/{tailwind → dist/tailwind}/themes/dark/bootstrap.css +0 -0
  122. /package/{tailwind → dist/tailwind}/themes/dark/fluent.css +0 -0
  123. /package/{tailwind → dist/tailwind}/themes/dark/indigo.css +0 -0
  124. /package/{tailwind → dist/tailwind}/themes/dark/material.css +0 -0
  125. /package/{tailwind → dist/tailwind}/themes/light/bootstrap.css +0 -0
  126. /package/{tailwind → dist/tailwind}/themes/light/fluent.css +0 -0
  127. /package/{tailwind → dist/tailwind}/themes/light/indigo.css +0 -0
  128. /package/{tailwind → dist/tailwind}/themes/light/material.css +0 -0
@@ -1,517 +1,418 @@
1
- import { OPACITY_USAGE, COLOR_SEMANTIC_ROLES, STATE_PATTERNS, THEME_PATTERNS } from "../knowledge/color-usage.js";
1
+ import usage_default from "../knowledge/docs/colors/usage.js";
2
+ import { COLOR_SEMANTIC_ROLES, OPACITY_USAGE, STATE_PATTERNS, THEME_PATTERNS } from "../knowledge/color-usage.js";
3
+ import guidance_default from "../knowledge/docs/colors/guidance.js";
2
4
  import { COLOR_RULES_SUMMARY, COLOR_VARIANT_RULES } from "../knowledge/colors.js";
3
5
  import { ELEVATION_PRESETS } from "../knowledge/elevations.js";
4
- import BORDER_RADIUS_FUNCTION_DOC from "../knowledge/docs/layout/functions/border-radius.md.js";
5
- import PAD_FUNCTION_DOC from "../knowledge/docs/layout/functions/pad.md.js";
6
- import SIZABLE_FUNCTION_DOC from "../knowledge/docs/layout/functions/sizable.md.js";
7
- import SIZABLE_MIXIN_DOC from "../knowledge/docs/layout/mixins/sizable.md.js";
8
- import SIZING_MIXIN_DOC from "../knowledge/docs/layout/mixins/sizing.md.js";
9
- import SPACING_MIXIN_DOC from "../knowledge/docs/layout/mixins/spacing.md.js";
10
- import LAYOUT_OVERVIEW_DOC from "../knowledge/docs/layout/overview.md.js";
11
- import { PALETTE_PRESETS, LIGHT_PALETTE_PRESETS, DARK_PALETTE_PRESETS } from "../knowledge/palettes.js";
12
- import PLATFORM_SETUP_MARKDOWN from "../knowledge/docs/setup/platform.md.js";
13
- import { ANGULAR_USAGE_EXAMPLES, ANGULAR_PLATFORM } from "../knowledge/platforms/angular.js";
14
- import { BLAZOR_USAGE_EXAMPLES, BLAZOR_PLATFORM } from "../knowledge/platforms/blazor.js";
15
- import { ELEVATIONS, TYPE_SCALES, TYPEFACES, SCHEMAS } from "../knowledge/platforms/common.js";
6
+ import border_radius_default from "../knowledge/docs/layout/functions/border-radius.js";
7
+ import pad_default from "../knowledge/docs/layout/functions/pad.js";
8
+ import sizable_default from "../knowledge/docs/layout/functions/sizable.js";
9
+ import sizable_default$1 from "../knowledge/docs/layout/mixins/sizable.js";
10
+ import sizing_default from "../knowledge/docs/layout/mixins/sizing.js";
11
+ import spacing_default from "../knowledge/docs/layout/mixins/spacing.js";
12
+ import overview_default from "../knowledge/docs/layout/overview.js";
13
+ import { DARK_PALETTE_PRESETS, LIGHT_PALETTE_PRESETS, PALETTE_PRESETS } from "../knowledge/palettes.js";
14
+ import platform_default from "../knowledge/docs/setup/platform.js";
15
+ import { ELEVATIONS, SCHEMAS, TYPEFACES, TYPE_SCALES } from "../knowledge/platforms/common.js";
16
+ import { BLAZOR_PLATFORM, BLAZOR_USAGE_EXAMPLES } from "../knowledge/platforms/blazor.js";
17
+ import { REACT_PLATFORM, REACT_USAGE_EXAMPLES } from "../knowledge/platforms/react.js";
18
+ import { WEBCOMPONENTS_PLATFORM, WEBCOMPONENTS_RUNTIME_CONFIG, WEBCOMPONENTS_USAGE_EXAMPLES } from "../knowledge/platforms/webcomponents.js";
16
19
  import { PLATFORM_METADATA } from "../knowledge/platforms/index.js";
17
- import { REACT_USAGE_EXAMPLES, REACT_PLATFORM } from "../knowledge/platforms/react.js";
18
- import { WEBCOMPONENTS_RUNTIME_CONFIG, WEBCOMPONENTS_USAGE_EXAMPLES, WEBCOMPONENTS_PLATFORM } from "../knowledge/platforms/webcomponents.js";
19
20
  import { TYPOGRAPHY_PRESETS } from "../knowledge/typography.js";
20
- import COLOR_GUIDANCE_MARKDOWN from "../knowledge/docs/colors/guidance.md.js";
21
- import COLOR_USAGE_MARKDOWN from "../knowledge/docs/colors/usage.md.js";
22
- const RESOURCE_SCHEME = "theming";
23
- const RESOURCE_URIS = {
24
- // Platform resources
25
- PLATFORMS: `${RESOURCE_SCHEME}://platforms`,
26
- PLATFORM_ANGULAR: `${RESOURCE_SCHEME}://platforms/angular`,
27
- PLATFORM_WEBCOMPONENTS: `${RESOURCE_SCHEME}://platforms/webcomponents`,
28
- PLATFORM_REACT: `${RESOURCE_SCHEME}://platforms/react`,
29
- PLATFORM_BLAZOR: `${RESOURCE_SCHEME}://platforms/blazor`,
30
- PLATFORM_GENERIC: `${RESOURCE_SCHEME}://platforms/generic`,
31
- // Preset resources
32
- PALETTES: `${RESOURCE_SCHEME}://presets/palettes`,
33
- PALETTES_LIGHT: `${RESOURCE_SCHEME}://presets/palettes/light`,
34
- PALETTES_DARK: `${RESOURCE_SCHEME}://presets/palettes/dark`,
35
- TYPOGRAPHY: `${RESOURCE_SCHEME}://presets/typography`,
36
- ELEVATIONS: `${RESOURCE_SCHEME}://presets/elevations`,
37
- // Platform setup guidance
38
- GUIDANCE_PLATFORM_SETUP: `${RESOURCE_SCHEME}://guidance/platform-setup`,
39
- // Color guidance resources (organized under colors/ parent)
40
- GUIDANCE_COLORS: `${RESOURCE_SCHEME}://guidance/colors`,
41
- GUIDANCE_COLORS_RULES: `${RESOURCE_SCHEME}://guidance/colors/rules`,
42
- GUIDANCE_COLORS_USAGE: `${RESOURCE_SCHEME}://guidance/colors/usage`,
43
- GUIDANCE_COLORS_ROLES: `${RESOURCE_SCHEME}://guidance/colors/roles`,
44
- GUIDANCE_COLORS_STATES: `${RESOURCE_SCHEME}://guidance/colors/states`,
45
- GUIDANCE_COLORS_THEMES: `${RESOURCE_SCHEME}://guidance/colors/themes`,
46
- // Layout documentation resources
47
- DOCS_LAYOUT_OVERVIEW: `${RESOURCE_SCHEME}://docs/spacing-and-sizing`,
48
- DOCS_FUNCTION_PAD: `${RESOURCE_SCHEME}://docs/functions/pad`,
49
- DOCS_FUNCTION_SIZABLE: `${RESOURCE_SCHEME}://docs/functions/sizable`,
50
- DOCS_FUNCTION_BORDER_RADIUS: `${RESOURCE_SCHEME}://docs/functions/border-radius`,
51
- DOCS_MIXIN_SPACING: `${RESOURCE_SCHEME}://docs/mixins/spacing`,
52
- DOCS_MIXIN_SIZING: `${RESOURCE_SCHEME}://docs/mixins/sizing`,
53
- DOCS_MIXIN_SIZABLE: `${RESOURCE_SCHEME}://docs/mixins/sizable`
21
+ import { ANGULAR_PLATFORM, ANGULAR_USAGE_EXAMPLES } from "../knowledge/platforms/angular.js";
22
+ //#region src/resources/presets.ts
23
+ /**
24
+ * Resource handlers for preset data.
25
+ * Provides access to palette, typography, elevation presets, and platform information.
26
+ */
27
+ /**
28
+ * Resource URI scheme.
29
+ */
30
+ var RESOURCE_SCHEME = "theming";
31
+ /**
32
+ * Available resource URIs.
33
+ */
34
+ var RESOURCE_URIS = {
35
+ PLATFORMS: `${RESOURCE_SCHEME}://platforms`,
36
+ PLATFORM_ANGULAR: `${RESOURCE_SCHEME}://platforms/angular`,
37
+ PLATFORM_WEBCOMPONENTS: `${RESOURCE_SCHEME}://platforms/webcomponents`,
38
+ PLATFORM_REACT: `${RESOURCE_SCHEME}://platforms/react`,
39
+ PLATFORM_BLAZOR: `${RESOURCE_SCHEME}://platforms/blazor`,
40
+ PLATFORM_GENERIC: `${RESOURCE_SCHEME}://platforms/generic`,
41
+ PALETTES: `${RESOURCE_SCHEME}://presets/palettes`,
42
+ PALETTES_LIGHT: `${RESOURCE_SCHEME}://presets/palettes/light`,
43
+ PALETTES_DARK: `${RESOURCE_SCHEME}://presets/palettes/dark`,
44
+ TYPOGRAPHY: `${RESOURCE_SCHEME}://presets/typography`,
45
+ ELEVATIONS: `${RESOURCE_SCHEME}://presets/elevations`,
46
+ GUIDANCE_PLATFORM_SETUP: `${RESOURCE_SCHEME}://guidance/platform-setup`,
47
+ GUIDANCE_COLORS: `${RESOURCE_SCHEME}://guidance/colors`,
48
+ GUIDANCE_COLORS_RULES: `${RESOURCE_SCHEME}://guidance/colors/rules`,
49
+ GUIDANCE_COLORS_USAGE: `${RESOURCE_SCHEME}://guidance/colors/usage`,
50
+ GUIDANCE_COLORS_ROLES: `${RESOURCE_SCHEME}://guidance/colors/roles`,
51
+ GUIDANCE_COLORS_STATES: `${RESOURCE_SCHEME}://guidance/colors/states`,
52
+ GUIDANCE_COLORS_THEMES: `${RESOURCE_SCHEME}://guidance/colors/themes`,
53
+ DOCS_LAYOUT_OVERVIEW: `${RESOURCE_SCHEME}://docs/spacing-and-sizing`,
54
+ DOCS_FUNCTION_PAD: `${RESOURCE_SCHEME}://docs/functions/pad`,
55
+ DOCS_FUNCTION_SIZABLE: `${RESOURCE_SCHEME}://docs/functions/sizable`,
56
+ DOCS_FUNCTION_BORDER_RADIUS: `${RESOURCE_SCHEME}://docs/functions/border-radius`,
57
+ DOCS_MIXIN_SPACING: `${RESOURCE_SCHEME}://docs/mixins/spacing`,
58
+ DOCS_MIXIN_SIZING: `${RESOURCE_SCHEME}://docs/mixins/sizing`,
59
+ DOCS_MIXIN_SIZABLE: `${RESOURCE_SCHEME}://docs/mixins/sizable`
54
60
  };
55
- const RESOURCE_DEFINITIONS = [
56
- // Platform resources
57
- {
58
- uri: RESOURCE_URIS.PLATFORMS,
59
- name: "Supported Platforms",
60
- description: "List of supported target platforms with their configurations",
61
- mimeType: "application/json"
62
- },
63
- {
64
- uri: RESOURCE_URIS.PLATFORM_ANGULAR,
65
- name: "Angular Platform Config",
66
- description: "Ignite UI for Angular platform configuration, schemas, palettes, and usage examples",
67
- mimeType: "application/json"
68
- },
69
- {
70
- uri: RESOURCE_URIS.PLATFORM_WEBCOMPONENTS,
71
- name: "Web Components Platform Config",
72
- description: "Ignite UI for Web Components platform configuration, presets, and usage examples",
73
- mimeType: "application/json"
74
- },
75
- {
76
- uri: RESOURCE_URIS.PLATFORM_REACT,
77
- name: "React Platform Config",
78
- description: "Ignite UI for React platform configuration, schemas, palettes, and usage examples",
79
- mimeType: "application/json"
80
- },
81
- {
82
- uri: RESOURCE_URIS.PLATFORM_BLAZOR,
83
- name: "Blazor Platform Config",
84
- description: "Ignite UI for Blazor platform configuration, schemas, palettes, and usage examples",
85
- mimeType: "application/json"
86
- },
87
- {
88
- uri: RESOURCE_URIS.PLATFORM_GENERIC,
89
- name: "Generic Platform Config",
90
- description: "Platform-agnostic theming configuration using igniteui-theming standalone, with presets for schemas, palettes, typography, and elevations",
91
- mimeType: "application/json"
92
- },
93
- // Preset resources
94
- {
95
- uri: RESOURCE_URIS.PALETTES,
96
- name: "Color Palettes - All Presets",
97
- description: "All predefined color palette configurations (light and dark variants for each design system)",
98
- mimeType: "application/json"
99
- },
100
- {
101
- uri: RESOURCE_URIS.PALETTES_LIGHT,
102
- name: "Color Palettes - Light",
103
- description: "Light mode color palette configurations",
104
- mimeType: "application/json"
105
- },
106
- {
107
- uri: RESOURCE_URIS.PALETTES_DARK,
108
- name: "Color Palettes - Dark",
109
- description: "Dark mode color palette configurations",
110
- mimeType: "application/json"
111
- },
112
- {
113
- uri: RESOURCE_URIS.TYPOGRAPHY,
114
- name: "Typography Presets",
115
- description: "Typography presets for all design systems (Material, Bootstrap, Fluent, Indigo)",
116
- mimeType: "application/json"
117
- },
118
- {
119
- uri: RESOURCE_URIS.ELEVATIONS,
120
- name: "Elevation Presets",
121
- description: "Elevation/shadow presets (Material and Indigo)",
122
- mimeType: "application/json"
123
- },
124
- // Platform setup guidance
125
- {
126
- uri: RESOURCE_URIS.GUIDANCE_PLATFORM_SETUP,
127
- name: "Platform Setup Guide",
128
- description: "Instruction guide for platform detection, Sass configuration, dependency handling, and the recommended theming workflow. Read this before generating theme code.",
129
- mimeType: "text/markdown"
130
- },
131
- // Color guidance resources (organized under colors/ parent)
132
- {
133
- uri: RESOURCE_URIS.GUIDANCE_COLORS,
134
- name: "Color Guidance Overview",
135
- description: "Overview of all color guidance resources. Lists available sub-resources for theme rules, shade reference, semantic roles, interaction states, and design system patterns.",
136
- mimeType: "application/json"
137
- },
138
- {
139
- uri: RESOURCE_URIS.GUIDANCE_COLORS_RULES,
140
- name: "Color Rules - Light and Dark Themes",
141
- description: "Guidelines for choosing surface and gray colors based on theme variant (light/dark). Explains luminance requirements and contrast considerations.",
142
- mimeType: "text/markdown"
143
- },
144
- {
145
- uri: RESOURCE_URIS.GUIDANCE_COLORS_USAGE,
146
- name: "Color Shade Reference",
147
- description: "Comprehensive guide explaining which shades (50-900) to use for different purposes across Ignite UI components. Includes shade-level guidance for all color families.",
148
- mimeType: "text/markdown"
149
- },
150
- {
151
- uri: RESOURCE_URIS.GUIDANCE_COLORS_ROLES,
152
- name: "Color Semantic Roles",
153
- description: "Structured data defining the semantic meaning of each color family (primary, secondary, gray, surface, error, success, warn, info). Includes component mappings and opacity usage.",
154
- mimeType: "application/json"
155
- },
156
- {
157
- uri: RESOURCE_URIS.GUIDANCE_COLORS_STATES,
158
- name: "Color Interaction States",
159
- description: "Patterns showing how colors change across interaction states (idle, hover, focus, active, disabled) for common UI elements like buttons, list items, and inputs.",
160
- mimeType: "application/json"
161
- },
162
- {
163
- uri: RESOURCE_URIS.GUIDANCE_COLORS_THEMES,
164
- name: "Color Design System Patterns",
165
- description: "Color usage characteristics specific to Material, Fluent, Bootstrap, and Indigo design systems.",
166
- mimeType: "application/json"
167
- },
168
- // Layout documentation resources
169
- {
170
- uri: RESOURCE_URIS.DOCS_LAYOUT_OVERVIEW,
171
- name: "Spacing and Sizing Overview",
172
- description: "Overview of size, spacing, and roundness variables with examples for CSS and Sass.",
173
- mimeType: "text/markdown"
174
- },
175
- {
176
- uri: RESOURCE_URIS.DOCS_FUNCTION_PAD,
177
- name: "Pad Spacing Function",
178
- description: "Documentation for the pad() spacing function and its usage.",
179
- mimeType: "text/markdown"
180
- },
181
- {
182
- uri: RESOURCE_URIS.DOCS_FUNCTION_SIZABLE,
183
- name: "Sizable Value Function",
184
- description: "Documentation for the sizable() function and size-based values.",
185
- mimeType: "text/markdown"
186
- },
187
- {
188
- uri: RESOURCE_URIS.DOCS_FUNCTION_BORDER_RADIUS,
189
- name: "Border Radius Function",
190
- description: "Documentation for the border-radius() function and roundness scaling.",
191
- mimeType: "text/markdown"
192
- },
193
- {
194
- uri: RESOURCE_URIS.DOCS_MIXIN_SPACING,
195
- name: "Spacing Mixin",
196
- description: "Documentation for the spacing() mixin and spacing variables.",
197
- mimeType: "text/markdown"
198
- },
199
- {
200
- uri: RESOURCE_URIS.DOCS_MIXIN_SIZING,
201
- name: "Sizing Mixin",
202
- description: "Documentation for the sizing() mixin and size custom properties.",
203
- mimeType: "text/markdown"
204
- },
205
- {
206
- uri: RESOURCE_URIS.DOCS_MIXIN_SIZABLE,
207
- name: "Sizable Mixin",
208
- description: "Documentation for the sizable() mixin and size flags.",
209
- mimeType: "text/markdown"
210
- }
61
+ /**
62
+ * Resource definitions for MCP server.
63
+ */
64
+ var RESOURCE_DEFINITIONS = [
65
+ {
66
+ uri: RESOURCE_URIS.PLATFORMS,
67
+ name: "Supported Platforms",
68
+ description: "List of supported target platforms with their configurations",
69
+ mimeType: "application/json"
70
+ },
71
+ {
72
+ uri: RESOURCE_URIS.PLATFORM_ANGULAR,
73
+ name: "Angular Platform Config",
74
+ description: "Ignite UI for Angular platform configuration, schemas, palettes, and usage examples",
75
+ mimeType: "application/json"
76
+ },
77
+ {
78
+ uri: RESOURCE_URIS.PLATFORM_WEBCOMPONENTS,
79
+ name: "Web Components Platform Config",
80
+ description: "Ignite UI for Web Components platform configuration, presets, and usage examples",
81
+ mimeType: "application/json"
82
+ },
83
+ {
84
+ uri: RESOURCE_URIS.PLATFORM_REACT,
85
+ name: "React Platform Config",
86
+ description: "Ignite UI for React platform configuration, schemas, palettes, and usage examples",
87
+ mimeType: "application/json"
88
+ },
89
+ {
90
+ uri: RESOURCE_URIS.PLATFORM_BLAZOR,
91
+ name: "Blazor Platform Config",
92
+ description: "Ignite UI for Blazor platform configuration, schemas, palettes, and usage examples",
93
+ mimeType: "application/json"
94
+ },
95
+ {
96
+ uri: RESOURCE_URIS.PLATFORM_GENERIC,
97
+ name: "Generic Platform Config",
98
+ description: "Platform-agnostic theming configuration using igniteui-theming standalone, with presets for schemas, palettes, typography, and elevations",
99
+ mimeType: "application/json"
100
+ },
101
+ {
102
+ uri: RESOURCE_URIS.PALETTES,
103
+ name: "Color Palettes - All Presets",
104
+ description: "All predefined color palette configurations (light and dark variants for each design system)",
105
+ mimeType: "application/json"
106
+ },
107
+ {
108
+ uri: RESOURCE_URIS.PALETTES_LIGHT,
109
+ name: "Color Palettes - Light",
110
+ description: "Light mode color palette configurations",
111
+ mimeType: "application/json"
112
+ },
113
+ {
114
+ uri: RESOURCE_URIS.PALETTES_DARK,
115
+ name: "Color Palettes - Dark",
116
+ description: "Dark mode color palette configurations",
117
+ mimeType: "application/json"
118
+ },
119
+ {
120
+ uri: RESOURCE_URIS.TYPOGRAPHY,
121
+ name: "Typography Presets",
122
+ description: "Typography presets for all design systems (Material, Bootstrap, Fluent, Indigo)",
123
+ mimeType: "application/json"
124
+ },
125
+ {
126
+ uri: RESOURCE_URIS.ELEVATIONS,
127
+ name: "Elevation Presets",
128
+ description: "Elevation/shadow presets (Material and Indigo)",
129
+ mimeType: "application/json"
130
+ },
131
+ {
132
+ uri: RESOURCE_URIS.GUIDANCE_PLATFORM_SETUP,
133
+ name: "Platform Setup Guide",
134
+ description: "Instruction guide for platform detection, Sass configuration, dependency handling, and the recommended theming workflow. Read this before generating theme code.",
135
+ mimeType: "text/markdown"
136
+ },
137
+ {
138
+ uri: RESOURCE_URIS.GUIDANCE_COLORS,
139
+ name: "Color Guidance Overview",
140
+ description: "Overview of all color guidance resources. Lists available sub-resources for theme rules, shade reference, semantic roles, interaction states, and design system patterns.",
141
+ mimeType: "application/json"
142
+ },
143
+ {
144
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_RULES,
145
+ name: "Color Rules - Light and Dark Themes",
146
+ description: "Guidelines for choosing surface and gray colors based on theme variant (light/dark). Explains luminance requirements and contrast considerations.",
147
+ mimeType: "text/markdown"
148
+ },
149
+ {
150
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_USAGE,
151
+ name: "Color Shade Reference",
152
+ description: "Comprehensive guide explaining which shades (50-900) to use for different purposes across Ignite UI components. Includes shade-level guidance for all color families.",
153
+ mimeType: "text/markdown"
154
+ },
155
+ {
156
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_ROLES,
157
+ name: "Color Semantic Roles",
158
+ description: "Structured data defining the semantic meaning of each color family (primary, secondary, gray, surface, error, success, warn, info). Includes component mappings and opacity usage.",
159
+ mimeType: "application/json"
160
+ },
161
+ {
162
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_STATES,
163
+ name: "Color Interaction States",
164
+ description: "Patterns showing how colors change across interaction states (idle, hover, focus, active, disabled) for common UI elements like buttons, list items, and inputs.",
165
+ mimeType: "application/json"
166
+ },
167
+ {
168
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_THEMES,
169
+ name: "Color Design System Patterns",
170
+ description: "Color usage characteristics specific to Material, Fluent, Bootstrap, and Indigo design systems.",
171
+ mimeType: "application/json"
172
+ },
173
+ {
174
+ uri: RESOURCE_URIS.DOCS_LAYOUT_OVERVIEW,
175
+ name: "Spacing and Sizing Overview",
176
+ description: "Overview of size, spacing, and roundness variables with examples for CSS and Sass.",
177
+ mimeType: "text/markdown"
178
+ },
179
+ {
180
+ uri: RESOURCE_URIS.DOCS_FUNCTION_PAD,
181
+ name: "Pad Spacing Function",
182
+ description: "Documentation for the pad() spacing function and its usage.",
183
+ mimeType: "text/markdown"
184
+ },
185
+ {
186
+ uri: RESOURCE_URIS.DOCS_FUNCTION_SIZABLE,
187
+ name: "Sizable Value Function",
188
+ description: "Documentation for the sizable() function and size-based values.",
189
+ mimeType: "text/markdown"
190
+ },
191
+ {
192
+ uri: RESOURCE_URIS.DOCS_FUNCTION_BORDER_RADIUS,
193
+ name: "Border Radius Function",
194
+ description: "Documentation for the border-radius() function and roundness scaling.",
195
+ mimeType: "text/markdown"
196
+ },
197
+ {
198
+ uri: RESOURCE_URIS.DOCS_MIXIN_SPACING,
199
+ name: "Spacing Mixin",
200
+ description: "Documentation for the spacing() mixin and spacing variables.",
201
+ mimeType: "text/markdown"
202
+ },
203
+ {
204
+ uri: RESOURCE_URIS.DOCS_MIXIN_SIZING,
205
+ name: "Sizing Mixin",
206
+ description: "Documentation for the sizing() mixin and size custom properties.",
207
+ mimeType: "text/markdown"
208
+ },
209
+ {
210
+ uri: RESOURCE_URIS.DOCS_MIXIN_SIZABLE,
211
+ name: "Sizable Mixin",
212
+ description: "Documentation for the sizable() mixin and size flags.",
213
+ mimeType: "text/markdown"
214
+ }
211
215
  ];
212
- const RESOURCE_HANDLERS = /* @__PURE__ */ new Map([
213
- // Platform resources
214
- [
215
- RESOURCE_URIS.PLATFORMS,
216
- () => ({
217
- content: JSON.stringify(
218
- {
219
- platforms: ["angular", "webcomponents", "react", "blazor", "generic"],
220
- metadata: PLATFORM_METADATA
221
- },
222
- null,
223
- 2
224
- ),
225
- mimeType: "application/json"
226
- })
227
- ],
228
- [
229
- RESOURCE_URIS.PLATFORM_ANGULAR,
230
- () => ({
231
- content: JSON.stringify(
232
- {
233
- platform: ANGULAR_PLATFORM,
234
- schemas: SCHEMAS,
235
- palettes: PALETTE_PRESETS,
236
- typefaces: TYPEFACES,
237
- typeScales: TYPE_SCALES,
238
- elevations: ELEVATIONS,
239
- usageExamples: ANGULAR_USAGE_EXAMPLES
240
- },
241
- null,
242
- 2
243
- ),
244
- mimeType: "application/json"
245
- })
246
- ],
247
- [
248
- RESOURCE_URIS.PLATFORM_WEBCOMPONENTS,
249
- () => ({
250
- content: JSON.stringify(
251
- {
252
- platform: WEBCOMPONENTS_PLATFORM,
253
- schemas: SCHEMAS,
254
- palettes: PALETTE_PRESETS,
255
- typefaces: TYPEFACES,
256
- typography: TYPOGRAPHY_PRESETS,
257
- elevations: ELEVATION_PRESETS,
258
- usageExamples: WEBCOMPONENTS_USAGE_EXAMPLES,
259
- runtimeConfig: WEBCOMPONENTS_RUNTIME_CONFIG
260
- },
261
- null,
262
- 2
263
- ),
264
- mimeType: "application/json"
265
- })
266
- ],
267
- [
268
- RESOURCE_URIS.PLATFORM_REACT,
269
- () => ({
270
- content: JSON.stringify(
271
- {
272
- platform: REACT_PLATFORM,
273
- schemas: SCHEMAS,
274
- palettes: PALETTE_PRESETS,
275
- typefaces: TYPEFACES,
276
- typography: TYPOGRAPHY_PRESETS,
277
- elevations: ELEVATION_PRESETS,
278
- usageExamples: REACT_USAGE_EXAMPLES
279
- },
280
- null,
281
- 2
282
- ),
283
- mimeType: "application/json"
284
- })
285
- ],
286
- [
287
- RESOURCE_URIS.PLATFORM_BLAZOR,
288
- () => ({
289
- content: JSON.stringify(
290
- {
291
- platform: BLAZOR_PLATFORM,
292
- schemas: SCHEMAS,
293
- palettes: PALETTE_PRESETS,
294
- typefaces: TYPEFACES,
295
- typography: TYPOGRAPHY_PRESETS,
296
- elevations: ELEVATION_PRESETS,
297
- usageExamples: BLAZOR_USAGE_EXAMPLES
298
- },
299
- null,
300
- 2
301
- ),
302
- mimeType: "application/json"
303
- })
304
- ],
305
- [
306
- RESOURCE_URIS.PLATFORM_GENERIC,
307
- () => ({
308
- content: JSON.stringify(
309
- {
310
- platform: PLATFORM_METADATA.generic,
311
- schemas: SCHEMAS,
312
- palettes: PALETTE_PRESETS,
313
- typefaces: TYPEFACES,
314
- typography: TYPOGRAPHY_PRESETS,
315
- elevations: ELEVATION_PRESETS
316
- },
317
- null,
318
- 2
319
- ),
320
- mimeType: "application/json"
321
- })
322
- ],
323
- // Preset resources
324
- [
325
- RESOURCE_URIS.PALETTES,
326
- () => ({
327
- content: JSON.stringify(PALETTE_PRESETS, null, 2),
328
- mimeType: "application/json"
329
- })
330
- ],
331
- [
332
- RESOURCE_URIS.PALETTES_LIGHT,
333
- () => ({
334
- content: JSON.stringify(LIGHT_PALETTE_PRESETS, null, 2),
335
- mimeType: "application/json"
336
- })
337
- ],
338
- [
339
- RESOURCE_URIS.PALETTES_DARK,
340
- () => ({
341
- content: JSON.stringify(DARK_PALETTE_PRESETS, null, 2),
342
- mimeType: "application/json"
343
- })
344
- ],
345
- [
346
- RESOURCE_URIS.TYPOGRAPHY,
347
- () => ({
348
- content: JSON.stringify(TYPOGRAPHY_PRESETS, null, 2),
349
- mimeType: "application/json"
350
- })
351
- ],
352
- [
353
- RESOURCE_URIS.ELEVATIONS,
354
- () => ({
355
- content: JSON.stringify(ELEVATION_PRESETS, null, 2),
356
- mimeType: "application/json"
357
- })
358
- ],
359
- // Platform setup guidance
360
- [
361
- RESOURCE_URIS.GUIDANCE_PLATFORM_SETUP,
362
- () => ({
363
- content: PLATFORM_SETUP_MARKDOWN,
364
- mimeType: "text/markdown"
365
- })
366
- ],
367
- // Color guidance resources
368
- [
369
- RESOURCE_URIS.GUIDANCE_COLORS,
370
- () => ({
371
- content: JSON.stringify(
372
- {
373
- description: "Color guidance resources for Ignite UI Theming",
374
- resources: [
375
- {
376
- uri: RESOURCE_URIS.GUIDANCE_COLORS_RULES,
377
- name: "Color Rules - Light and Dark Themes",
378
- description: "Guidelines for surface/gray colors based on theme variant",
379
- mimeType: "text/markdown"
380
- },
381
- {
382
- uri: RESOURCE_URIS.GUIDANCE_COLORS_USAGE,
383
- name: "Color Shade Reference",
384
- description: "Which shades (50-900) to use for different purposes",
385
- mimeType: "text/markdown"
386
- },
387
- {
388
- uri: RESOURCE_URIS.GUIDANCE_COLORS_ROLES,
389
- name: "Color Semantic Roles",
390
- description: "Semantic meaning of each color family",
391
- mimeType: "application/json"
392
- },
393
- {
394
- uri: RESOURCE_URIS.GUIDANCE_COLORS_STATES,
395
- name: "Color Interaction States",
396
- description: "Color changes across hover/focus/active/disabled",
397
- mimeType: "application/json"
398
- },
399
- {
400
- uri: RESOURCE_URIS.GUIDANCE_COLORS_THEMES,
401
- name: "Color Design System Patterns",
402
- description: "Material/Fluent/Bootstrap/Indigo characteristics",
403
- mimeType: "application/json"
404
- }
405
- ]
406
- },
407
- null,
408
- 2
409
- ),
410
- mimeType: "application/json"
411
- })
412
- ],
413
- [
414
- RESOURCE_URIS.GUIDANCE_COLORS_RULES,
415
- () => ({
416
- content: COLOR_GUIDANCE_MARKDOWN,
417
- mimeType: "text/markdown"
418
- })
419
- ],
420
- [
421
- RESOURCE_URIS.GUIDANCE_COLORS_USAGE,
422
- () => ({
423
- content: COLOR_USAGE_MARKDOWN,
424
- mimeType: "text/markdown"
425
- })
426
- ],
427
- [
428
- RESOURCE_URIS.GUIDANCE_COLORS_ROLES,
429
- () => ({
430
- content: JSON.stringify(
431
- {
432
- semanticRoles: COLOR_SEMANTIC_ROLES,
433
- variantRules: COLOR_VARIANT_RULES,
434
- rulesSummary: COLOR_RULES_SUMMARY,
435
- opacityUsage: OPACITY_USAGE
436
- },
437
- null,
438
- 2
439
- ),
440
- mimeType: "application/json"
441
- })
442
- ],
443
- [
444
- RESOURCE_URIS.GUIDANCE_COLORS_STATES,
445
- () => ({
446
- content: JSON.stringify(STATE_PATTERNS, null, 2),
447
- mimeType: "application/json"
448
- })
449
- ],
450
- [
451
- RESOURCE_URIS.GUIDANCE_COLORS_THEMES,
452
- () => ({
453
- content: JSON.stringify(THEME_PATTERNS, null, 2),
454
- mimeType: "application/json"
455
- })
456
- ],
457
- // Layout documentation resources
458
- [
459
- RESOURCE_URIS.DOCS_LAYOUT_OVERVIEW,
460
- () => ({
461
- content: LAYOUT_OVERVIEW_DOC,
462
- mimeType: "text/markdown"
463
- })
464
- ],
465
- [
466
- RESOURCE_URIS.DOCS_FUNCTION_PAD,
467
- () => ({
468
- content: PAD_FUNCTION_DOC,
469
- mimeType: "text/markdown"
470
- })
471
- ],
472
- [
473
- RESOURCE_URIS.DOCS_FUNCTION_SIZABLE,
474
- () => ({
475
- content: SIZABLE_FUNCTION_DOC,
476
- mimeType: "text/markdown"
477
- })
478
- ],
479
- [
480
- RESOURCE_URIS.DOCS_FUNCTION_BORDER_RADIUS,
481
- () => ({
482
- content: BORDER_RADIUS_FUNCTION_DOC,
483
- mimeType: "text/markdown"
484
- })
485
- ],
486
- [
487
- RESOURCE_URIS.DOCS_MIXIN_SPACING,
488
- () => ({
489
- content: SPACING_MIXIN_DOC,
490
- mimeType: "text/markdown"
491
- })
492
- ],
493
- [
494
- RESOURCE_URIS.DOCS_MIXIN_SIZING,
495
- () => ({
496
- content: SIZING_MIXIN_DOC,
497
- mimeType: "text/markdown"
498
- })
499
- ],
500
- [
501
- RESOURCE_URIS.DOCS_MIXIN_SIZABLE,
502
- () => ({
503
- content: SIZABLE_MIXIN_DOC,
504
- mimeType: "text/markdown"
505
- })
506
- ]
216
+ /**
217
+ * Map of URI to content handler function.
218
+ * Lazily evaluates content to avoid unnecessary JSON serialization.
219
+ */
220
+ var RESOURCE_HANDLERS = new Map([
221
+ [RESOURCE_URIS.PLATFORMS, () => ({
222
+ content: JSON.stringify({
223
+ platforms: [
224
+ "angular",
225
+ "webcomponents",
226
+ "react",
227
+ "blazor",
228
+ "generic"
229
+ ],
230
+ metadata: PLATFORM_METADATA
231
+ }, null, 2),
232
+ mimeType: "application/json"
233
+ })],
234
+ [RESOURCE_URIS.PLATFORM_ANGULAR, () => ({
235
+ content: JSON.stringify({
236
+ platform: ANGULAR_PLATFORM,
237
+ schemas: SCHEMAS,
238
+ palettes: PALETTE_PRESETS,
239
+ typefaces: TYPEFACES,
240
+ typeScales: TYPE_SCALES,
241
+ elevations: ELEVATIONS,
242
+ usageExamples: ANGULAR_USAGE_EXAMPLES
243
+ }, null, 2),
244
+ mimeType: "application/json"
245
+ })],
246
+ [RESOURCE_URIS.PLATFORM_WEBCOMPONENTS, () => ({
247
+ content: JSON.stringify({
248
+ platform: WEBCOMPONENTS_PLATFORM,
249
+ schemas: SCHEMAS,
250
+ palettes: PALETTE_PRESETS,
251
+ typefaces: TYPEFACES,
252
+ typography: TYPOGRAPHY_PRESETS,
253
+ elevations: ELEVATION_PRESETS,
254
+ usageExamples: WEBCOMPONENTS_USAGE_EXAMPLES,
255
+ runtimeConfig: WEBCOMPONENTS_RUNTIME_CONFIG
256
+ }, null, 2),
257
+ mimeType: "application/json"
258
+ })],
259
+ [RESOURCE_URIS.PLATFORM_REACT, () => ({
260
+ content: JSON.stringify({
261
+ platform: REACT_PLATFORM,
262
+ schemas: SCHEMAS,
263
+ palettes: PALETTE_PRESETS,
264
+ typefaces: TYPEFACES,
265
+ typography: TYPOGRAPHY_PRESETS,
266
+ elevations: ELEVATION_PRESETS,
267
+ usageExamples: REACT_USAGE_EXAMPLES
268
+ }, null, 2),
269
+ mimeType: "application/json"
270
+ })],
271
+ [RESOURCE_URIS.PLATFORM_BLAZOR, () => ({
272
+ content: JSON.stringify({
273
+ platform: BLAZOR_PLATFORM,
274
+ schemas: SCHEMAS,
275
+ palettes: PALETTE_PRESETS,
276
+ typefaces: TYPEFACES,
277
+ typography: TYPOGRAPHY_PRESETS,
278
+ elevations: ELEVATION_PRESETS,
279
+ usageExamples: BLAZOR_USAGE_EXAMPLES
280
+ }, null, 2),
281
+ mimeType: "application/json"
282
+ })],
283
+ [RESOURCE_URIS.PLATFORM_GENERIC, () => ({
284
+ content: JSON.stringify({
285
+ platform: PLATFORM_METADATA.generic,
286
+ schemas: SCHEMAS,
287
+ palettes: PALETTE_PRESETS,
288
+ typefaces: TYPEFACES,
289
+ typography: TYPOGRAPHY_PRESETS,
290
+ elevations: ELEVATION_PRESETS
291
+ }, null, 2),
292
+ mimeType: "application/json"
293
+ })],
294
+ [RESOURCE_URIS.PALETTES, () => ({
295
+ content: JSON.stringify(PALETTE_PRESETS, null, 2),
296
+ mimeType: "application/json"
297
+ })],
298
+ [RESOURCE_URIS.PALETTES_LIGHT, () => ({
299
+ content: JSON.stringify(LIGHT_PALETTE_PRESETS, null, 2),
300
+ mimeType: "application/json"
301
+ })],
302
+ [RESOURCE_URIS.PALETTES_DARK, () => ({
303
+ content: JSON.stringify(DARK_PALETTE_PRESETS, null, 2),
304
+ mimeType: "application/json"
305
+ })],
306
+ [RESOURCE_URIS.TYPOGRAPHY, () => ({
307
+ content: JSON.stringify(TYPOGRAPHY_PRESETS, null, 2),
308
+ mimeType: "application/json"
309
+ })],
310
+ [RESOURCE_URIS.ELEVATIONS, () => ({
311
+ content: JSON.stringify(ELEVATION_PRESETS, null, 2),
312
+ mimeType: "application/json"
313
+ })],
314
+ [RESOURCE_URIS.GUIDANCE_PLATFORM_SETUP, () => ({
315
+ content: platform_default,
316
+ mimeType: "text/markdown"
317
+ })],
318
+ [RESOURCE_URIS.GUIDANCE_COLORS, () => ({
319
+ content: JSON.stringify({
320
+ description: "Color guidance resources for Ignite UI Theming",
321
+ resources: [
322
+ {
323
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_RULES,
324
+ name: "Color Rules - Light and Dark Themes",
325
+ description: "Guidelines for surface/gray colors based on theme variant",
326
+ mimeType: "text/markdown"
327
+ },
328
+ {
329
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_USAGE,
330
+ name: "Color Shade Reference",
331
+ description: "Which shades (50-900) to use for different purposes",
332
+ mimeType: "text/markdown"
333
+ },
334
+ {
335
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_ROLES,
336
+ name: "Color Semantic Roles",
337
+ description: "Semantic meaning of each color family",
338
+ mimeType: "application/json"
339
+ },
340
+ {
341
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_STATES,
342
+ name: "Color Interaction States",
343
+ description: "Color changes across hover/focus/active/disabled",
344
+ mimeType: "application/json"
345
+ },
346
+ {
347
+ uri: RESOURCE_URIS.GUIDANCE_COLORS_THEMES,
348
+ name: "Color Design System Patterns",
349
+ description: "Material/Fluent/Bootstrap/Indigo characteristics",
350
+ mimeType: "application/json"
351
+ }
352
+ ]
353
+ }, null, 2),
354
+ mimeType: "application/json"
355
+ })],
356
+ [RESOURCE_URIS.GUIDANCE_COLORS_RULES, () => ({
357
+ content: guidance_default,
358
+ mimeType: "text/markdown"
359
+ })],
360
+ [RESOURCE_URIS.GUIDANCE_COLORS_USAGE, () => ({
361
+ content: usage_default,
362
+ mimeType: "text/markdown"
363
+ })],
364
+ [RESOURCE_URIS.GUIDANCE_COLORS_ROLES, () => ({
365
+ content: JSON.stringify({
366
+ semanticRoles: COLOR_SEMANTIC_ROLES,
367
+ variantRules: COLOR_VARIANT_RULES,
368
+ rulesSummary: COLOR_RULES_SUMMARY,
369
+ opacityUsage: OPACITY_USAGE
370
+ }, null, 2),
371
+ mimeType: "application/json"
372
+ })],
373
+ [RESOURCE_URIS.GUIDANCE_COLORS_STATES, () => ({
374
+ content: JSON.stringify(STATE_PATTERNS, null, 2),
375
+ mimeType: "application/json"
376
+ })],
377
+ [RESOURCE_URIS.GUIDANCE_COLORS_THEMES, () => ({
378
+ content: JSON.stringify(THEME_PATTERNS, null, 2),
379
+ mimeType: "application/json"
380
+ })],
381
+ [RESOURCE_URIS.DOCS_LAYOUT_OVERVIEW, () => ({
382
+ content: overview_default,
383
+ mimeType: "text/markdown"
384
+ })],
385
+ [RESOURCE_URIS.DOCS_FUNCTION_PAD, () => ({
386
+ content: pad_default,
387
+ mimeType: "text/markdown"
388
+ })],
389
+ [RESOURCE_URIS.DOCS_FUNCTION_SIZABLE, () => ({
390
+ content: sizable_default,
391
+ mimeType: "text/markdown"
392
+ })],
393
+ [RESOURCE_URIS.DOCS_FUNCTION_BORDER_RADIUS, () => ({
394
+ content: border_radius_default,
395
+ mimeType: "text/markdown"
396
+ })],
397
+ [RESOURCE_URIS.DOCS_MIXIN_SPACING, () => ({
398
+ content: spacing_default,
399
+ mimeType: "text/markdown"
400
+ })],
401
+ [RESOURCE_URIS.DOCS_MIXIN_SIZING, () => ({
402
+ content: sizing_default,
403
+ mimeType: "text/markdown"
404
+ })],
405
+ [RESOURCE_URIS.DOCS_MIXIN_SIZABLE, () => ({
406
+ content: sizable_default$1,
407
+ mimeType: "text/markdown"
408
+ })]
507
409
  ]);
410
+ /**
411
+ * Get resource content by URI.
412
+ */
508
413
  function getResourceContent(uri) {
509
- const handler = RESOURCE_HANDLERS.get(uri);
510
- return handler ? handler() : null;
414
+ const handler = RESOURCE_HANDLERS.get(uri);
415
+ return handler ? handler() : null;
511
416
  }
512
- export {
513
- RESOURCE_DEFINITIONS,
514
- RESOURCE_SCHEME,
515
- RESOURCE_URIS,
516
- getResourceContent
517
- };
417
+ //#endregion
418
+ export { RESOURCE_DEFINITIONS, RESOURCE_SCHEME, RESOURCE_URIS, getResourceContent };