@mk-kit/mcp 0.57.0 → 0.58.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.
package/data/api.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "@mk-kit/ui",
3
- "version": "0.57.0",
3
+ "version": "0.58.0",
4
4
  "site": "https://mk-kit.dev",
5
5
  "entries": [
6
6
  {
@@ -85,6 +85,39 @@
85
85
  "queries": [],
86
86
  "docs": "/core-services"
87
87
  },
88
+ {
89
+ "name": "MkAccentService",
90
+ "description": "Runtime accent — the user picks one of `MK_ACCENTS` and every kit\ncontrol recolours: the service writes the `--mk-primary` family\n(`primary`, `-hover`, `-active`, `-subtle`, `-subtle-hover`,\n`-subtle-text`), `--mk-focus-ring`, `--mk-selected-bg` / `-text` and three\naccent tokens of its own — `--mk-accent`, `--mk-accent-ink`,\n`--mk-accent-glow` — onto `<html>`, and mirrors the key as\n`data-mk-accent`. Hover / active are a touch darker in light and a touch\nlighter in dark (it follows `MkThemeService`). The choice persists\nin `localStorage` (`mk-kit-accent`); nothing is written until `set()` is\ncalled, so an app that never picks keeps the preset's own primary.\n\n```ts\nreadonly accent = inject(MkAccentService);\naccent.set('coral'); // every button, ring and chip turns coral\naccent.key(); // 'coral'\nmkAccentSwatch(accent.key()); // for the picker\n```",
91
+ "file": "projects/mk-kit/core/theme/accent.service.ts",
92
+ "kind": "service",
93
+ "providedIn": "root",
94
+ "methods": [
95
+ {
96
+ "name": "set",
97
+ "signature": "(key: MkAccentKey): void",
98
+ "description": "Pick an accent; persisted."
99
+ },
100
+ {
101
+ "name": "reset",
102
+ "signature": "(): void",
103
+ "description": "Back to the preset's own primary; the stored choice is cleared."
104
+ }
105
+ ],
106
+ "properties": [
107
+ {
108
+ "name": "key",
109
+ "type": "Signal<MkAccentKey | null>",
110
+ "description": "The chosen accent, or `null` while the preset's own primary is in use.",
111
+ "readonly": true
112
+ },
113
+ {
114
+ "name": "accent",
115
+ "type": "Signal<MkAccent>",
116
+ "description": "The chosen accent's definition (indigo when none is chosen).",
117
+ "readonly": true
118
+ }
119
+ ]
120
+ },
88
121
  {
89
122
  "name": "MkBreakpointService",
90
123
  "description": "Reactive viewport breakpoints, one `matchMedia` listener per step.\n\n```ts\nprivate readonly bp = inject(MkBreakpointService);\nreadonly compact = this.bp.down('md'); // Signal<boolean>\nreadonly columns = computed(() => this.bp.resolve({ xs: 1, md: 2, xl: 4 }));\n```\n\nOn the server (no `window`) everything reports `xs`.",
@@ -373,6 +406,15 @@
373
406
  }
374
407
  ]
375
408
  },
409
+ {
410
+ "name": "mkAccentSwatch",
411
+ "description": "The swatch a picker shows for an accent (bumblebee is the black / yellow split).",
412
+ "file": "projects/mk-kit/core/theme/accent.service.ts",
413
+ "kind": "function",
414
+ "signatures": [
415
+ "(key: MkAccentKey): string"
416
+ ]
417
+ },
376
418
  {
377
419
  "name": "mkBodyLevelAncestor",
378
420
  "description": "The direct child of `document.body` an overlay-root descendant lives under,\ncrossing shadow boundaries on the way up — `null` when the node is not under\n`body` at all. The overlay service uses it to keep the overlay's own host\nout of the elements it makes `inert` behind a modal.",
@@ -427,6 +469,15 @@
427
469
  "(root: HTMLElement): HTMLElement[]"
428
470
  ]
429
471
  },
472
+ {
473
+ "name": "mkHexAlpha",
474
+ "description": "`#rrggbb` → `rgba(r,g,b,a)`.",
475
+ "file": "projects/mk-kit/core/theme/accent.service.ts",
476
+ "kind": "function",
477
+ "signatures": [
478
+ "(hex: string, alpha: number): string"
479
+ ]
480
+ },
430
481
  {
431
482
  "name": "mkHighlight",
432
483
  "description": "Highlight `src` for `language`, falling back to escaped plain text.",
@@ -627,6 +678,20 @@
627
678
  "kind": "token",
628
679
  "type": "InjectionToken<MkOverlayRootFn>"
629
680
  },
681
+ {
682
+ "name": "MK_ACCENT_ORDER",
683
+ "description": "Picker order.",
684
+ "file": "projects/mk-kit/core/theme/accent.service.ts",
685
+ "kind": "const",
686
+ "type": "readonly MkAccentKey[]"
687
+ },
688
+ {
689
+ "name": "MK_ACCENTS",
690
+ "description": "High-saturation, distinct, energising accents — the set the `momentum` preset was designed around.",
691
+ "file": "projects/mk-kit/core/theme/accent.service.ts",
692
+ "kind": "const",
693
+ "type": "Record<MkAccentKey, MkAccent>"
694
+ },
630
695
  {
631
696
  "name": "MK_DEFAULT_BREAKPOINTS",
632
697
  "description": "The default scale (same numbers as Tailwind, so mental models transfer).",
@@ -676,6 +741,29 @@
676
741
  "kind": "const",
677
742
  "type": "ReadonlySet<MkQueryOperator>"
678
743
  },
744
+ {
745
+ "name": "MkAccent",
746
+ "description": "`fill` = bars, rings and buttons · `ink` = small accent text on a light ground.",
747
+ "file": "projects/mk-kit/core/theme/accent.service.ts",
748
+ "kind": "interface",
749
+ "members": [
750
+ {
751
+ "name": "fill",
752
+ "type": "string",
753
+ "description": ""
754
+ },
755
+ {
756
+ "name": "ink",
757
+ "type": "string",
758
+ "description": ""
759
+ },
760
+ {
761
+ "name": "name",
762
+ "type": "string",
763
+ "description": ""
764
+ }
765
+ ]
766
+ },
679
767
  {
680
768
  "name": "MkAnchoredPosition",
681
769
  "description": "Resolved coordinates (viewport-relative, for `position: fixed`).",
@@ -3306,6 +3394,13 @@
3306
3394
  }
3307
3395
  ]
3308
3396
  },
3397
+ {
3398
+ "name": "MkAccentKey",
3399
+ "description": "One of the eight kit accents (the Momentum palette).",
3400
+ "file": "projects/mk-kit/core/theme/accent.service.ts",
3401
+ "kind": "type",
3402
+ "definition": "'indigo' | 'blue' | 'teal' | 'violet' | 'coral' | 'lime' | 'pink' | 'bumblebee'"
3403
+ },
3309
3404
  {
3310
3405
  "name": "MkAriaLivePoliteness",
3311
3406
  "description": "",
@@ -1,4 +1,4 @@
1
- # @mk-kit/ui 0.57.0 — full API reference
1
+ # @mk-kit/ui 0.58.0 — full API reference
2
2
 
3
3
  Generated from the library sources. Browsable version: https://mk-kit.dev/api · JSON: https://mk-kit.dev/api.json · Guides: https://mk-kit.dev/llms.txt
4
4
 
@@ -12,7 +12,7 @@ Every component and directive below is standalone — import the class from its
12
12
 
13
13
  ## @mk-kit/ui/core
14
14
 
15
- 80 exports. `import { … } from '@mk-kit/ui/core';`
15
+ 87 exports. `import { … } from '@mk-kit/ui/core';`
16
16
 
17
17
  ### MkAnchoredPanel (directive)
18
18
 
@@ -66,6 +66,42 @@ Methods:
66
66
  | --- | --- |
67
67
  | `position(track?: boolean): void` | Recompute and apply the panel position. Safe to call at any time. With `track` (scroll-driven), the panel follows the anchor unclamped and dismisses once the anchor leaves the viewport (matching the CDK's reposition-with-auto-close scroll behaviour). |
68
68
 
69
+ ### MkAccentService (service)
70
+
71
+ Import: `import { MkAccentService } from '@mk-kit/ui/core';`
72
+
73
+ Runtime accent — the user picks one of `MK_ACCENTS` and every kit
74
+ control recolours: the service writes the `--mk-primary` family
75
+ (`primary`, `-hover`, `-active`, `-subtle`, `-subtle-hover`,
76
+ `-subtle-text`), `--mk-focus-ring`, `--mk-selected-bg` / `-text` and three
77
+ accent tokens of its own — `--mk-accent`, `--mk-accent-ink`,
78
+ `--mk-accent-glow` — onto `<html>`, and mirrors the key as
79
+ `data-mk-accent`. Hover / active are a touch darker in light and a touch
80
+ lighter in dark (it follows `MkThemeService`). The choice persists
81
+ in `localStorage` (`mk-kit-accent`); nothing is written until `set()` is
82
+ called, so an app that never picks keeps the preset's own primary.
83
+
84
+ ```ts
85
+ readonly accent = inject(MkAccentService);
86
+ accent.set('coral'); // every button, ring and chip turns coral
87
+ accent.key(); // 'coral'
88
+ mkAccentSwatch(accent.key()); // for the picker
89
+ ```
90
+
91
+ Methods:
92
+
93
+ | Signature | Description |
94
+ | --- | --- |
95
+ | `set(key: MkAccentKey): void` | Pick an accent; persisted. |
96
+ | `reset(): void` | Back to the preset's own primary; the stored choice is cleared. |
97
+
98
+ Properties:
99
+
100
+ | Name | Type | Description |
101
+ | --- | --- | --- |
102
+ | `key` | `Signal<MkAccentKey \| null>` | The chosen accent, or `null` while the preset's own primary is in use. |
103
+ | `accent` | `Signal<MkAccent>` | The chosen accent's definition (indigo when none is chosen). |
104
+
69
105
  ### MkBreakpointService (service)
70
106
 
71
107
  Docs: https://mk-kit.dev/core-services
@@ -250,6 +286,16 @@ Properties:
250
286
  | `afterClosed` | `Promise<TResult \| undefined>` | Resolves with the close result when the overlay is dismissed. |
251
287
  | `closed$` | `Observable<TResult \| undefined>` | Emits the close result once, then completes. Subscribing after the overlay has already closed replays the result immediately, so a late subscriber never hangs. |
252
288
 
289
+ ### mkAccentSwatch (function)
290
+
291
+ Import: `import { mkAccentSwatch } from '@mk-kit/ui/core';`
292
+
293
+ The swatch a picker shows for an accent (bumblebee is the black / yellow split).
294
+
295
+ ```ts
296
+ function mkAccentSwatch(key: MkAccentKey): string
297
+ ```
298
+
253
299
  ### mkBodyLevelAncestor (function)
254
300
 
255
301
  Import: `import { mkBodyLevelAncestor } from '@mk-kit/ui/core';`
@@ -324,6 +370,16 @@ Returns the tabbable elements inside `root`, in DOM order.
324
370
  function mkGetFocusable(root: HTMLElement): HTMLElement[]
325
371
  ```
326
372
 
373
+ ### mkHexAlpha (function)
374
+
375
+ Import: `import { mkHexAlpha } from '@mk-kit/ui/core';`
376
+
377
+ `#rrggbb` → `rgba(r,g,b,a)`.
378
+
379
+ ```ts
380
+ function mkHexAlpha(hex: string, alpha: number): string
381
+ ```
382
+
327
383
  ### mkHighlight (function)
328
384
 
329
385
  Import: `import { mkHighlight } from '@mk-kit/ui/core';`
@@ -618,6 +674,26 @@ elements stay isolated from the host page's stylesheet:
618
674
  const MK_OVERLAY_ROOT: InjectionToken<MkOverlayRootFn>;
619
675
  ```
620
676
 
677
+ ### MK_ACCENT_ORDER (const)
678
+
679
+ Import: `import { MK_ACCENT_ORDER } from '@mk-kit/ui/core';`
680
+
681
+ Picker order.
682
+
683
+ ```ts
684
+ const MK_ACCENT_ORDER: readonly MkAccentKey[];
685
+ ```
686
+
687
+ ### MK_ACCENTS (const)
688
+
689
+ Import: `import { MK_ACCENTS } from '@mk-kit/ui/core';`
690
+
691
+ High-saturation, distinct, energising accents — the set the `momentum` preset was designed around.
692
+
693
+ ```ts
694
+ const MK_ACCENTS: Record<MkAccentKey, MkAccent>;
695
+ ```
696
+
621
697
  ### MK_DEFAULT_BREAKPOINTS (const)
622
698
 
623
699
  Import: `import { MK_DEFAULT_BREAKPOINTS } from '@mk-kit/ui/core';`
@@ -688,6 +764,20 @@ Operators that take no value.
688
764
  const MK_QUERY_UNARY: ReadonlySet<MkQueryOperator>;
689
765
  ```
690
766
 
767
+ ### MkAccent (interface)
768
+
769
+ Import: `import { MkAccent } from '@mk-kit/ui/core';`
770
+
771
+ `fill` = bars, rings and buttons · `ink` = small accent text on a light ground.
772
+
773
+ Members:
774
+
775
+ | Name | Type | Description |
776
+ | --- | --- | --- |
777
+ | `fill` | `string` | |
778
+ | `ink` | `string` | |
779
+ | `name` | `string` | |
780
+
691
781
  ### MkAnchoredPosition (interface)
692
782
 
693
783
  Import: `import { MkAnchoredPosition } from '@mk-kit/ui/core';`
@@ -1356,6 +1446,16 @@ Members:
1356
1446
  | `register` | `(fn: () => void): void` | Store the callback Angular hands to `registerOnValidatorChange`. |
1357
1447
  | `notify` | `(): void` | Ask the bound control to re-run `validate()` now. |
1358
1448
 
1449
+ ### MkAccentKey (type)
1450
+
1451
+ Import: `import { MkAccentKey } from '@mk-kit/ui/core';`
1452
+
1453
+ One of the eight kit accents (the Momentum palette).
1454
+
1455
+ ```ts
1456
+ type MkAccentKey = 'indigo' | 'blue' | 'teal' | 'violet' | 'coral' | 'lime' | 'pink' | 'bumblebee';
1457
+ ```
1458
+
1359
1459
  ### MkAriaLivePoliteness (type)
1360
1460
 
1361
1461
  Import: `import { MkAriaLivePoliteness } from '@mk-kit/ui/core';`
package/data/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # mk-kit
2
2
 
3
- > Themable, accessible Angular 22 component library for admin dashboards and UIs. Signals-based, WCAG 2.1 AA, controlled entirely through CSS variables with light/dark out of the box. — `@mk-kit/ui` 0.57.0. 177 components, 45 directives, 20 services and 155 helper functions across 37 tree-shakeable entry points. MIT licensed, zero runtime dependencies beyond Angular. Standalone components, signals, OnPush, zoneless-ready, SSR-safe, RTL and i18n via `provideMkI18n`.
3
+ > Themable, accessible Angular 22 component library for admin dashboards and UIs. Signals-based, WCAG 2.1 AA, controlled entirely through CSS variables with light/dark out of the box. — `@mk-kit/ui` 0.58.0. 177 components, 45 directives, 21 services and 157 helper functions across 37 tree-shakeable entry points. MIT licensed, zero runtime dependencies beyond Angular. Standalone components, signals, OnPush, zoneless-ready, SSR-safe, RTL and i18n via `provideMkI18n`.
4
4
 
5
5
  Install with `ng add @mk-kit/ui` (or `npm i @mk-kit/ui` + import `@mk-kit/ui/styles/mk-kit.css`). Import from the group entry points (`@mk-kit/ui/forms`, `@mk-kit/ui/table`, …) so each lazy chunk only carries what it uses; the root `@mk-kit/ui` entry re-exports everything. Every component is standalone: add the class to a component's `imports`. Theme with `--mk-*` CSS custom properties; `MkThemeService` switches light/dark/system and density.
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mk-kit/mcp",
3
- "version": "0.57.0",
3
+ "version": "0.58.0",
4
4
  "description": "MCP server for @mk-kit/ui — lets AI coding assistants look up every component, directive, service and helper of the mk-kit Angular library (inputs, outputs, methods, import paths, docs links).",
5
5
  "license": "MIT",
6
6
  "type": "module",