@kouji-ui/core 0.5.1 → 0.6.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.
@@ -4404,24 +4404,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
4404
4404
  const KJ_VARIANT_PRESET = new InjectionToken('kj.variant.preset', {
4405
4405
  factory: () => ({ values: ['default'], default: 'default' }),
4406
4406
  });
4407
+ /**
4408
+ * Optional reactive fallback consulted by `KjVariant` when its input is not
4409
+ * set, *before* falling back to `KJ_VARIANT_PRESET.default`. Compound
4410
+ * parents (button group, pagination root) bridge their cascaded variant into
4411
+ * this token so children inherit it. Resolution order:
4412
+ *
4413
+ * explicit input > fallback context > preset (config) default
4414
+ *
4415
+ * A `null` provider value (or no provider) means "no fallback".
4416
+ *
4417
+ * @internal
4418
+ */
4419
+ const KJ_VARIANT_FALLBACK = new InjectionToken('kj.variant.fallback');
4407
4420
  /**
4408
4421
  * Internal preset directive composed via `hostDirectives` by every stylistic
4409
4422
  * component to expose a configurable `variant` input that reflects to a
4410
4423
  * `data-variant` host attribute. App code does not import this directly.
4411
4424
  *
4425
+ * The reflected value resolves as: explicit `kjVariant` input, else the
4426
+ * `KJ_VARIANT_FALLBACK` context (when a compound parent provides one), else
4427
+ * `KJ_VARIANT_PRESET.default` (the `provideKj*`-configurable default).
4428
+ *
4412
4429
  * @internal
4413
4430
  */
4414
4431
  class KjVariant {
4415
4432
  preset = inject(KJ_VARIANT_PRESET);
4433
+ fallback = inject(KJ_VARIANT_FALLBACK, { optional: true });
4416
4434
  // Explicit field annotation pins the ng-packagr-emitted .d.ts shape —
4417
4435
  // without it ng-packagr collapses the write type to `string` (dropping the
4418
4436
  // `| undefined` flow-through), which trips the docs extractor and any
4419
4437
  // consumer trying to bind a `string | undefined` source.
4420
- kjVariant = input(this.preset.default, { ...(ngDevMode ? { debugName: "kjVariant" } : /* istanbul ignore next */ {}), transform: (v) => v || this.preset.default });
4438
+ // The input intentionally stays `undefined` when unset (empty string
4439
+ // included) so `resolvedVariant` can tell "not set" apart from an explicit
4440
+ // choice and consult the fallback chain.
4441
+ kjVariant = input(undefined, { ...(ngDevMode ? { debugName: "kjVariant" } : /* istanbul ignore next */ {}), transform: (v) => v || undefined });
4442
+ /**
4443
+ * The variant actually reflected to `data-variant`:
4444
+ * explicit input > fallback context > preset default.
4445
+ */
4446
+ resolvedVariant = computed(() => this.kjVariant() || this.fallback?.() || this.preset.default, /* @ts-ignore */
4447
+ ...(ngDevMode ? [{ debugName: "resolvedVariant" }] : /* istanbul ignore next */ []));
4421
4448
  constructor() {
4422
4449
  if (isDevMode()) {
4423
4450
  effect(() => {
4424
- const v = this.kjVariant();
4451
+ const v = this.resolvedVariant();
4425
4452
  if (!this.preset.values.includes(v)) {
4426
4453
  console.warn(`[kj] unknown variant "${v}". Allowed values: ${this.preset.values.join(', ')}.`);
4427
4454
  }
@@ -4429,14 +4456,14 @@ class KjVariant {
4429
4456
  }
4430
4457
  }
4431
4458
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjVariant, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4432
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjVariant, isStandalone: true, selector: "[kjVariant]", inputs: { kjVariant: { classPropertyName: "kjVariant", publicName: "kjVariant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-variant": "kjVariant()" } }, ngImport: i0 });
4459
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjVariant, isStandalone: true, selector: "[kjVariant]", inputs: { kjVariant: { classPropertyName: "kjVariant", publicName: "kjVariant", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-variant": "resolvedVariant()" } }, ngImport: i0 });
4433
4460
  }
4434
4461
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjVariant, decorators: [{
4435
4462
  type: Directive,
4436
4463
  args: [{
4437
4464
  selector: '[kjVariant]',
4438
4465
  standalone: true,
4439
- host: { '[attr.data-variant]': 'kjVariant()' },
4466
+ host: { '[attr.data-variant]': 'resolvedVariant()' },
4440
4467
  }]
4441
4468
  }], ctorParameters: () => [], propDecorators: { kjVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjVariant", required: false }] }] } });
4442
4469
 
@@ -4451,21 +4478,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
4451
4478
  const KJ_SIZE_PRESET = new InjectionToken('kj.size.preset', {
4452
4479
  factory: () => ({ values: ['md'], default: 'md' }),
4453
4480
  });
4481
+ /**
4482
+ * Optional reactive fallback consulted by `KjSize` when its input is not
4483
+ * set, *before* falling back to `KJ_SIZE_PRESET.default`. Compound parents
4484
+ * (button group, pagination root) bridge their cascaded size into this token
4485
+ * so children inherit it. Resolution order:
4486
+ *
4487
+ * explicit input > fallback context > preset (config) default
4488
+ *
4489
+ * A `null` provider value (or no provider) means "no fallback".
4490
+ *
4491
+ * @internal
4492
+ */
4493
+ const KJ_SIZE_FALLBACK = new InjectionToken('kj.size.fallback');
4454
4494
  /**
4455
4495
  * Internal preset directive composed via `hostDirectives` by every stylistic
4456
4496
  * component to expose a configurable `size` input that reflects to a
4457
4497
  * `data-size` host attribute. App code does not import this directly.
4458
4498
  *
4499
+ * The reflected value resolves as: explicit `kjSize` input, else the
4500
+ * `KJ_SIZE_FALLBACK` context (when a compound parent provides one), else
4501
+ * `KJ_SIZE_PRESET.default` (the `provideKj*`-configurable default).
4502
+ *
4459
4503
  * @internal
4460
4504
  */
4461
4505
  class KjSize {
4462
4506
  preset = inject(KJ_SIZE_PRESET);
4463
- // See `KjVariant.kjVariant` for why the field type is annotated explicitly.
4464
- kjSize = input(this.preset.default, { ...(ngDevMode ? { debugName: "kjSize" } : /* istanbul ignore next */ {}), transform: (v) => v || this.preset.default });
4507
+ fallback = inject(KJ_SIZE_FALLBACK, { optional: true });
4508
+ // See `KjVariant.kjVariant` for why the field type is annotated explicitly
4509
+ // and why unset (empty string included) stays `undefined`.
4510
+ kjSize = input(undefined, { ...(ngDevMode ? { debugName: "kjSize" } : /* istanbul ignore next */ {}), transform: (v) => v || undefined });
4511
+ /**
4512
+ * The size actually reflected to `data-size`:
4513
+ * explicit input > fallback context > preset default.
4514
+ */
4515
+ resolvedSize = computed(() => this.kjSize() || this.fallback?.() || this.preset.default, /* @ts-ignore */
4516
+ ...(ngDevMode ? [{ debugName: "resolvedSize" }] : /* istanbul ignore next */ []));
4465
4517
  constructor() {
4466
4518
  if (isDevMode()) {
4467
4519
  effect(() => {
4468
- const v = this.kjSize();
4520
+ const v = this.resolvedSize();
4469
4521
  if (!this.preset.values.includes(v)) {
4470
4522
  console.warn(`[kj] unknown size "${v}". Allowed values: ${this.preset.values.join(', ')}.`);
4471
4523
  }
@@ -4473,14 +4525,14 @@ class KjSize {
4473
4525
  }
4474
4526
  }
4475
4527
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjSize, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4476
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjSize, isStandalone: true, selector: "[kjSize]", inputs: { kjSize: { classPropertyName: "kjSize", publicName: "kjSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "kjSize()" } }, ngImport: i0 });
4528
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjSize, isStandalone: true, selector: "[kjSize]", inputs: { kjSize: { classPropertyName: "kjSize", publicName: "kjSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "resolvedSize()" } }, ngImport: i0 });
4477
4529
  }
4478
4530
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjSize, decorators: [{
4479
4531
  type: Directive,
4480
4532
  args: [{
4481
4533
  selector: '[kjSize]',
4482
4534
  standalone: true,
4483
- host: { '[attr.data-size]': 'kjSize()' },
4535
+ host: { '[attr.data-size]': 'resolvedSize()' },
4484
4536
  }]
4485
4537
  }], ctorParameters: () => [], propDecorators: { kjSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSize", required: false }] }] } });
4486
4538
 
@@ -4510,6 +4562,9 @@ function bindPresets(configToken) {
4510
4562
  ];
4511
4563
  }
4512
4564
 
4565
+ /** Injection token for `KjButtonGroupContext`. */
4566
+ const KJ_BUTTON_GROUP = new InjectionToken('KjButtonGroup');
4567
+
4513
4568
  /**
4514
4569
  * Default Button presets shipped by kouji-ui. Exported so consumers can spread
4515
4570
  * them when extending: `[...KJ_BUTTON_DEFAULTS.variants, 'brand']`.
@@ -4609,6 +4664,13 @@ function provideKjButton(config) {
4609
4664
  */
4610
4665
  class KjButton {
4611
4666
  el = inject(ElementRef);
4667
+ /**
4668
+ * Enclosing button group context, when the button sits inside a
4669
+ * `[kjButtonGroup]`. Its `disabled` flag is OR-ed into
4670
+ * {@link effectiveDisabled} (per the `KJ_BUTTON_GROUP` contract); its
4671
+ * variant/size cascade through the preset fallback providers above.
4672
+ */
4673
+ group = inject(KJ_BUTTON_GROUP, { optional: true, skipSelf: true });
4612
4674
  /** Disables the button. Reflects `aria-disabled` and `data-disabled`. */
4613
4675
  kjDisabled = input(false, /* @ts-ignore */
4614
4676
  ...(ngDevMode ? [{ debugName: "kjDisabled" }] : /* istanbul ignore next */ []));
@@ -4635,7 +4697,7 @@ class KjButton {
4635
4697
  */
4636
4698
  kjPressed = model(undefined, /* @ts-ignore */
4637
4699
  ...(ngDevMode ? [{ debugName: "kjPressed" }] : /* istanbul ignore next */ []));
4638
- effectiveDisabled = computed(() => this.kjDisabled() || this.kjLoading(), /* @ts-ignore */
4700
+ effectiveDisabled = computed(() => this.kjDisabled() || this.kjLoading() || !!this.group?.disabled(), /* @ts-ignore */
4639
4701
  ...(ngDevMode ? [{ debugName: "effectiveDisabled" }] : /* istanbul ignore next */ []));
4640
4702
  pressedAttr = computed(() => {
4641
4703
  const p = this.kjPressed();
@@ -4661,7 +4723,29 @@ class KjButton {
4661
4723
  });
4662
4724
  }
4663
4725
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjButton, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4664
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjButton, isStandalone: true, selector: "[kjButton]", inputs: { kjDisabled: { classPropertyName: "kjDisabled", publicName: "kjDisabled", isSignal: true, isRequired: false, transformFunction: null }, kjLoading: { classPropertyName: "kjLoading", publicName: "kjLoading", isSignal: true, isRequired: false, transformFunction: null }, kjFullWidth: { classPropertyName: "kjFullWidth", publicName: "kjFullWidth", isSignal: true, isRequired: false, transformFunction: null }, kjPressed: { classPropertyName: "kjPressed", publicName: "kjPressed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { kjPressed: "kjPressedChange" }, host: { properties: { "attr.aria-disabled": "effectiveDisabled() ? \"true\" : null", "attr.data-disabled": "effectiveDisabled() ? \"\" : null", "attr.aria-busy": "kjLoading() ? \"true\" : null", "attr.aria-pressed": "pressedAttr()", "attr.data-full": "kjFullWidth() ? \"true\" : null" } }, providers: [...bindPresets(KJ_BUTTON_CONFIG)], hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
4726
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjButton, isStandalone: true, selector: "[kjButton]", inputs: { kjDisabled: { classPropertyName: "kjDisabled", publicName: "kjDisabled", isSignal: true, isRequired: false, transformFunction: null }, kjLoading: { classPropertyName: "kjLoading", publicName: "kjLoading", isSignal: true, isRequired: false, transformFunction: null }, kjFullWidth: { classPropertyName: "kjFullWidth", publicName: "kjFullWidth", isSignal: true, isRequired: false, transformFunction: null }, kjPressed: { classPropertyName: "kjPressed", publicName: "kjPressed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { kjPressed: "kjPressedChange" }, host: { properties: { "attr.aria-disabled": "effectiveDisabled() ? \"true\" : null", "attr.data-disabled": "effectiveDisabled() ? \"\" : null", "attr.aria-busy": "kjLoading() ? \"true\" : null", "attr.aria-pressed": "pressedAttr()", "attr.data-full": "kjFullWidth() ? \"true\" : null" } }, providers: [
4727
+ ...bindPresets(KJ_BUTTON_CONFIG),
4728
+ // Bridge the enclosing button group's cascaded variant/size (if any) into
4729
+ // the preset fallback chain, so a child that does not set its own
4730
+ // variant/size inherits the group's. Resolution order (in KjVariant /
4731
+ // KjSize): explicit input > group context > provideKjButton default >
4732
+ // library default. `skipSelf` keeps a button that is itself a group host
4733
+ // from reading its own context.
4734
+ {
4735
+ provide: KJ_VARIANT_FALLBACK,
4736
+ useFactory: () => {
4737
+ const group = inject(KJ_BUTTON_GROUP, { optional: true, skipSelf: true });
4738
+ return group ? group.variant : null;
4739
+ },
4740
+ },
4741
+ {
4742
+ provide: KJ_SIZE_FALLBACK,
4743
+ useFactory: () => {
4744
+ const group = inject(KJ_BUTTON_GROUP, { optional: true, skipSelf: true });
4745
+ return group ? group.size : null;
4746
+ },
4747
+ },
4748
+ ], hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
4665
4749
  }
4666
4750
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjButton, decorators: [{
4667
4751
  type: Directive,
@@ -4673,7 +4757,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
4673
4757
  { directive: KjSize, inputs: ['kjSize'] },
4674
4758
  KjFocusRing,
4675
4759
  ],
4676
- providers: [...bindPresets(KJ_BUTTON_CONFIG)],
4760
+ providers: [
4761
+ ...bindPresets(KJ_BUTTON_CONFIG),
4762
+ // Bridge the enclosing button group's cascaded variant/size (if any) into
4763
+ // the preset fallback chain, so a child that does not set its own
4764
+ // variant/size inherits the group's. Resolution order (in KjVariant /
4765
+ // KjSize): explicit input > group context > provideKjButton default >
4766
+ // library default. `skipSelf` keeps a button that is itself a group host
4767
+ // from reading its own context.
4768
+ {
4769
+ provide: KJ_VARIANT_FALLBACK,
4770
+ useFactory: () => {
4771
+ const group = inject(KJ_BUTTON_GROUP, { optional: true, skipSelf: true });
4772
+ return group ? group.variant : null;
4773
+ },
4774
+ },
4775
+ {
4776
+ provide: KJ_SIZE_FALLBACK,
4777
+ useFactory: () => {
4778
+ const group = inject(KJ_BUTTON_GROUP, { optional: true, skipSelf: true });
4779
+ return group ? group.size : null;
4780
+ },
4781
+ },
4782
+ ],
4677
4783
  host: {
4678
4784
  '[attr.aria-disabled]': 'effectiveDisabled() ? "true" : null',
4679
4785
  '[attr.data-disabled]': 'effectiveDisabled() ? "" : null',
@@ -4684,9 +4790,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
4684
4790
  }]
4685
4791
  }], ctorParameters: () => [], propDecorators: { kjDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjDisabled", required: false }] }], kjLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoading", required: false }] }], kjFullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjFullWidth", required: false }] }], kjPressed: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjPressed", required: false }] }, { type: i0.Output, args: ["kjPressedChange"] }] } });
4686
4792
 
4687
- /** Injection token for `KjButtonGroupContext`. */
4688
- const KJ_BUTTON_GROUP = new InjectionToken('KjButtonGroup');
4689
-
4690
4793
  /**
4691
4794
  * Coordinates a visually-joined cluster of `KjButton` children. Owns the
4692
4795
  * group's layout role (`role="group"`), orientation, and the per-group
@@ -18897,6 +19000,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
18897
19000
  }]
18898
19001
  }], ctorParameters: () => [], propDecorators: { kjPanelValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjPanelValue", required: true }] }] } });
18899
19002
 
19003
+ /**
19004
+ * Default Tabs presets shipped by kouji-ui. Exported so consumers can spread
19005
+ * them when extending: `[...KJ_TABS_DEFAULTS.variants, 'underline-top']`.
19006
+ *
19007
+ * Two shapes ship: `default` (an underline strip — tabs sitting flat on a
19008
+ * surface, active one marked by a bar on the strip's edge) and `pills` (a
19009
+ * recessed tray of chips). Both are driven entirely by `--kj-tab-*` custom
19010
+ * properties, so a registered extra variant only needs a CSS rule keyed on
19011
+ * `.kj-tabs[data-variant="…"]` — no component change.
19012
+ */
19013
+ const KJ_TABS_DEFAULTS = {
19014
+ variants: ['default', 'pills'],
19015
+ defaults: { variant: 'default' },
19016
+ };
19017
+ /**
19018
+ * DI token for the active Tabs presets. Default factory yields
19019
+ * `KJ_TABS_DEFAULTS`. Override via `provideKjTabs(…)` at the application scope
19020
+ * (e.g. `bootstrapApplication`'s `providers` or a route config) or at the
19021
+ * component scope (a component's own `providers: […]`).
19022
+ */
19023
+ const KJ_TABS_CONFIG = new InjectionToken('kj.tabs.config', {
19024
+ factory: () => KJ_TABS_DEFAULTS,
19025
+ });
19026
+ /**
19027
+ * Configures the Tabs presets for the enclosing injector. Replaces (does not
19028
+ * merge) `variants`; spread `KJ_TABS_DEFAULTS.variants` to extend.
19029
+ *
19030
+ * Returns a `Provider[]` so it can be spread into either an environment
19031
+ * `providers` (`bootstrapApplication`, route config) or a component-level
19032
+ * `providers` array.
19033
+ *
19034
+ * @example
19035
+ * ```ts
19036
+ * provideKjTabs({
19037
+ * variants: [...KJ_TABS_DEFAULTS.variants, 'document'],
19038
+ * defaults: { variant: 'default' },
19039
+ * })
19040
+ * ```
19041
+ */
19042
+ function provideKjTabs(config) {
19043
+ return [
19044
+ {
19045
+ provide: KJ_TABS_CONFIG,
19046
+ useValue: { ...KJ_TABS_DEFAULTS, ...config },
19047
+ },
19048
+ ];
19049
+ }
19050
+
18900
19051
  /** Injection token for the root accordion directive. */
18901
19052
  const KJ_ACCORDION = new InjectionToken('KjAccordion');
18902
19053
  /** Injection token for an individual accordion item directive. */
@@ -28232,11 +28383,12 @@ class KjPagination {
28232
28383
  * their own. Forwarded to each child's `KjVariant` host directive via
28233
28384
  * the `KJ_PAGINATION` context.
28234
28385
  */
28235
- kjVariant = input(this.config.defaults.variant, /* @ts-ignore */
28236
- ...(ngDevMode ? [{ debugName: "kjVariant" }] : /* istanbul ignore next */ []));
28386
+ // Undefined-tolerant: wrapper components bind `undefined` when the
28387
+ // consumer did not set a value, which must fall back to the configured
28388
+ // default rather than clearing the cascade.
28389
+ kjVariant = input(this.config.defaults.variant, { ...(ngDevMode ? { debugName: "kjVariant" } : /* istanbul ignore next */ {}), transform: (v) => v || this.config.defaults.variant });
28237
28390
  /** Cascaded size for child items / boundary controls. */
28238
- kjSize = input(this.config.defaults.size, /* @ts-ignore */
28239
- ...(ngDevMode ? [{ debugName: "kjSize" }] : /* istanbul ignore next */ []));
28391
+ kjSize = input(this.config.defaults.size, { ...(ngDevMode ? { debugName: "kjSize" } : /* istanbul ignore next */ {}), transform: (v) => v || this.config.defaults.size });
28240
28392
  /**
28241
28393
  * Page-change output. Mirrors `kjPage` writes; emitted whenever the
28242
28394
  * model value settles after a clamp / boundary navigation / item click.
@@ -28477,7 +28629,13 @@ class KjPaginationItem {
28477
28629
  this.pagination.goToPage(this.kjPage());
28478
28630
  }
28479
28631
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28480
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjPaginationItem, isStandalone: true, selector: "[kjPaginationItem]", inputs: { kjPage: { classPropertyName: "kjPage", publicName: "kjPage", isSignal: true, isRequired: true, transformFunction: null }, kjDisabled: { classPropertyName: "kjDisabled", publicName: "kjDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-current": "isCurrent() ? \"page\" : null", "attr.data-current": "isCurrent() ? \"true\" : \"false\"", "attr.aria-disabled": "kjDisabled() ? \"true\" : null", "attr.data-disabled": "kjDisabled() ? \"\" : null", "attr.aria-label": "ariaLabel()" } }, hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28632
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjPaginationItem, isStandalone: true, selector: "[kjPaginationItem]", inputs: { kjPage: { classPropertyName: "kjPage", publicName: "kjPage", isSignal: true, isRequired: true, transformFunction: null }, kjDisabled: { classPropertyName: "kjDisabled", publicName: "kjDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-current": "isCurrent() ? \"page\" : null", "attr.data-current": "isCurrent() ? \"true\" : \"false\"", "attr.aria-disabled": "kjDisabled() ? \"true\" : null", "attr.data-disabled": "kjDisabled() ? \"\" : null", "attr.aria-label": "ariaLabel()" } }, providers: [
28633
+ // Bridge the pagination root's cascaded variant/size into the preset
28634
+ // fallback chain: explicit input > root cascade > provideKjPagination
28635
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
28636
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
28637
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
28638
+ ], hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28481
28639
  }
28482
28640
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationItem, decorators: [{
28483
28641
  type: Directive,
@@ -28489,6 +28647,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
28489
28647
  { directive: KjSize, inputs: ['kjSize'] },
28490
28648
  KjFocusRing,
28491
28649
  ],
28650
+ providers: [
28651
+ // Bridge the pagination root's cascaded variant/size into the preset
28652
+ // fallback chain: explicit input > root cascade > provideKjPagination
28653
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
28654
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
28655
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
28656
+ ],
28492
28657
  host: {
28493
28658
  '[attr.aria-current]': 'isCurrent() ? "page" : null',
28494
28659
  '[attr.data-current]': 'isCurrent() ? "true" : "false"',
@@ -28560,7 +28725,13 @@ class KjPaginationPrevious {
28560
28725
  this.pagination.goToPrevious();
28561
28726
  }
28562
28727
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationPrevious, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28563
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: KjPaginationPrevious, isStandalone: true, selector: "[kjPaginationPrevious]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-label": "config.previousLabel", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "\"0\"", "attr.data-pagination-action": "\"previous\"" } }, hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28728
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: KjPaginationPrevious, isStandalone: true, selector: "[kjPaginationPrevious]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-label": "config.previousLabel", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "\"0\"", "attr.data-pagination-action": "\"previous\"" } }, providers: [
28729
+ // Bridge the pagination root's cascaded variant/size into the preset
28730
+ // fallback chain: explicit input > root cascade > provideKjPagination
28731
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
28732
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
28733
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
28734
+ ], hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28564
28735
  }
28565
28736
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationPrevious, decorators: [{
28566
28737
  type: Directive,
@@ -28572,6 +28743,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
28572
28743
  { directive: KjSize, inputs: ['kjSize'] },
28573
28744
  KjFocusRing,
28574
28745
  ],
28746
+ providers: [
28747
+ // Bridge the pagination root's cascaded variant/size into the preset
28748
+ // fallback chain: explicit input > root cascade > provideKjPagination
28749
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
28750
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
28751
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
28752
+ ],
28575
28753
  host: {
28576
28754
  '[attr.aria-label]': 'config.previousLabel',
28577
28755
  '[attr.aria-disabled]': 'isDisabled() ? "true" : null',
@@ -28639,7 +28817,13 @@ class KjPaginationNext {
28639
28817
  this.pagination.goToNext();
28640
28818
  }
28641
28819
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationNext, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28642
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: KjPaginationNext, isStandalone: true, selector: "[kjPaginationNext]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-label": "config.nextLabel", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "\"0\"", "attr.data-pagination-action": "\"next\"" } }, hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28820
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: KjPaginationNext, isStandalone: true, selector: "[kjPaginationNext]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-label": "config.nextLabel", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "\"0\"", "attr.data-pagination-action": "\"next\"" } }, providers: [
28821
+ // Bridge the pagination root's cascaded variant/size into the preset
28822
+ // fallback chain: explicit input > root cascade > provideKjPagination
28823
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
28824
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
28825
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
28826
+ ], hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28643
28827
  }
28644
28828
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationNext, decorators: [{
28645
28829
  type: Directive,
@@ -28651,6 +28835,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
28651
28835
  { directive: KjSize, inputs: ['kjSize'] },
28652
28836
  KjFocusRing,
28653
28837
  ],
28838
+ providers: [
28839
+ // Bridge the pagination root's cascaded variant/size into the preset
28840
+ // fallback chain: explicit input > root cascade > provideKjPagination
28841
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
28842
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
28843
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
28844
+ ],
28654
28845
  host: {
28655
28846
  '[attr.aria-label]': 'config.nextLabel',
28656
28847
  '[attr.aria-disabled]': 'isDisabled() ? "true" : null',
@@ -28716,7 +28907,13 @@ class KjPaginationFirst {
28716
28907
  this.pagination.goToFirst();
28717
28908
  }
28718
28909
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationFirst, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28719
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: KjPaginationFirst, isStandalone: true, selector: "[kjPaginationFirst]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-label": "config.firstLabel", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "\"0\"", "attr.data-pagination-action": "\"first\"" } }, hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28910
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: KjPaginationFirst, isStandalone: true, selector: "[kjPaginationFirst]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-label": "config.firstLabel", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "\"0\"", "attr.data-pagination-action": "\"first\"" } }, providers: [
28911
+ // Bridge the pagination root's cascaded variant/size into the preset
28912
+ // fallback chain: explicit input > root cascade > provideKjPagination
28913
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
28914
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
28915
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
28916
+ ], hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28720
28917
  }
28721
28918
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationFirst, decorators: [{
28722
28919
  type: Directive,
@@ -28728,6 +28925,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
28728
28925
  { directive: KjSize, inputs: ['kjSize'] },
28729
28926
  KjFocusRing,
28730
28927
  ],
28928
+ providers: [
28929
+ // Bridge the pagination root's cascaded variant/size into the preset
28930
+ // fallback chain: explicit input > root cascade > provideKjPagination
28931
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
28932
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
28933
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
28934
+ ],
28731
28935
  host: {
28732
28936
  '[attr.aria-label]': 'config.firstLabel',
28733
28937
  '[attr.aria-disabled]': 'isDisabled() ? "true" : null',
@@ -28794,7 +28998,13 @@ class KjPaginationLast {
28794
28998
  this.pagination.goToLast();
28795
28999
  }
28796
29000
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationLast, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28797
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: KjPaginationLast, isStandalone: true, selector: "[kjPaginationLast]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-label": "config.lastLabel", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "\"0\"", "attr.data-pagination-action": "\"last\"" } }, hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
29001
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: KjPaginationLast, isStandalone: true, selector: "[kjPaginationLast]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-label": "config.lastLabel", "attr.aria-disabled": "isDisabled() ? \"true\" : null", "attr.data-disabled": "isDisabled() ? \"\" : null", "attr.tabindex": "\"0\"", "attr.data-pagination-action": "\"last\"" } }, providers: [
29002
+ // Bridge the pagination root's cascaded variant/size into the preset
29003
+ // fallback chain: explicit input > root cascade > provideKjPagination
29004
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
29005
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
29006
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
29007
+ ], hostDirectives: [{ directive: KjVariant, inputs: ["kjVariant", "kjVariant"] }, { directive: KjSize, inputs: ["kjSize", "kjSize"] }, { directive: KjFocusRing }], ngImport: i0 });
28798
29008
  }
28799
29009
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjPaginationLast, decorators: [{
28800
29010
  type: Directive,
@@ -28806,6 +29016,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
28806
29016
  { directive: KjSize, inputs: ['kjSize'] },
28807
29017
  KjFocusRing,
28808
29018
  ],
29019
+ providers: [
29020
+ // Bridge the pagination root's cascaded variant/size into the preset
29021
+ // fallback chain: explicit input > root cascade > provideKjPagination
29022
+ // default. See KJ_VARIANT_FALLBACK / KJ_SIZE_FALLBACK.
29023
+ { provide: KJ_VARIANT_FALLBACK, useFactory: () => inject(KJ_PAGINATION).variant },
29024
+ { provide: KJ_SIZE_FALLBACK, useFactory: () => inject(KJ_PAGINATION).size },
29025
+ ],
28809
29026
  host: {
28810
29027
  '[attr.aria-label]': 'config.lastLabel',
28811
29028
  '[attr.aria-disabled]': 'isDisabled() ? "true" : null',
@@ -29799,5 +30016,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
29799
30016
  * Generated bundle index. Do not edit.
29800
30017
  */
29801
30018
 
29802
- export { DRAWER_DATA, DRAWER_DRAG, DRAWER_SIDE, EN_CATALOG, FR_CATALOG, KJ_ACCORDION, KJ_ACCORDION_ITEM, KJ_ALERT, KJ_ALERT_CONFIG, KJ_ALERT_DEFAULTS, KJ_AVATAR, KJ_AVATAR_GROUP, KJ_BREADCRUMB, KJ_BREADCRUMB_CONFIG, KJ_BREADCRUMB_DEFAULTS, KJ_BUTTON_CONFIG, KJ_BUTTON_DEFAULTS, KJ_BUTTON_GROUP, KJ_CALENDAR, KJ_CAROUSEL, KJ_CAROUSEL_INDICATORS, KJ_CAROUSEL_SLIDE, KJ_CASCADE_SELECT, KJ_CHAT, KJ_CHAT_BUBBLE_CONFIG, KJ_CHAT_BUBBLE_DEFAULTS, KJ_CHAT_LOG, KJ_COLOR_PICKER, KJ_CONFIRM_POPUP, KJ_DATE_PICKER, KJ_DATE_RANGE_PRESETS, KJ_DROPDOWN_MENU, KJ_ECHARTS, KJ_FIELD, KJ_FILE_UPLOAD, KJ_FILE_UPLOAD_DEFAULT_MESSAGES, KJ_FILE_UPLOAD_ITEM, KJ_FORM, KJ_FORM_FIELD, KJ_ICON_CSS_PATH, KJ_ICON_ENTRIES, KJ_ICON_LOADER, KJ_ICON_REGISTRY, KJ_ICON_RESOLVER, KJ_INPUT_GROUP, KJ_INPUT_MASK_PRESETS, KJ_INPUT_MASK_TOKENS, KJ_INPUT_OTP, KJ_KBD_SIZE_PRESET, KJ_LINK_CONFIG, KJ_LINK_DEFAULTS, KJ_LIST, KJ_LIST_FOCUS_MODE, KJ_LIST_NAVIGATOR_CONFIG, KJ_LIST_ROW, KJ_LOCALE_CONFIG, KJ_MENUBAR, KJ_MONACO_CONFIG, KJ_MONACO_LANGUAGE_LOADERS, KJ_NUMBER_INPUT, KJ_OVERLAY_BACKDROP_STRATEGY, KJ_OVERLAY_BADGE, KJ_OVERLAY_FOCUS_TRAP_STRATEGY, KJ_OVERLAY_LIVE_ANNOUNCER_STRATEGY, KJ_OVERLAY_MOUNT_STRATEGY, KJ_OVERLAY_PANEL_ROLE, KJ_OVERLAY_POSITION_STRATEGY, KJ_OVERLAY_SCROLL_LOCK_STRATEGY, KJ_OVERLAY_TRIGGER_EVENT_STRATEGY, KJ_PAGINATION, KJ_PAGINATION_CONFIG, KJ_PAGINATION_DEFAULTS, KJ_PASSWORD_INPUT, KJ_PROGRESS_BAR, KJ_PROGRESS_BAR_CONFIG, KJ_PROGRESS_BAR_DEFAULTS, KJ_PROSE_CSS_PATH, KJ_RADIO_GROUP, KJ_RICH_TEXT, KJ_RICH_TEXT_EXTENSIONS, KJ_RICH_TEXT_FEATURES, KJ_RICH_TEXT_NODE, KJ_ROVING_TABINDEX, KJ_RTE_OVERLAY_DATA, KJ_SELECT, KJ_SIZE_PRESET, KJ_SLIDER, KJ_SPEED_DIAL, KJ_SPINNER_CONFIG, KJ_SPINNER_DEFAULTS, KJ_STEP, KJ_STEPPER, KJ_TABLE, KJ_TABLE_STORAGE, KJ_TABS, KJ_TAG, KJ_TAG_CONFIG, KJ_TAG_DEFAULTS, KJ_TAG_LIST, KJ_TEXTAREA_CONFIG, KJ_TEXTAREA_DEFAULTS, KJ_TIME_PICKER, KJ_TOAST_LIST_STRATEGY, KJ_TOAST_SONNER_STRATEGY, KJ_TOAST_STRATEGY, KJ_TRANSLATION_CATALOGS, KJ_TREE_SELECT, KJ_VARIANT_PRESET, KjAccordion, KjAccordionContent, KjAccordionItem, KjAccordionTrigger, KjAlert, KjAlertActions, KjAlertDescription, KjAlertDismiss, KjAlertIcon, KjAlertTitle, KjAriaDescribedBy, KjAriaLabelledBy, KjAvatar, KjAvatarFallback, KjAvatarGroup, KjAvatarImage, KjBackdrop, KjBadge, KjBlockquote, KjBreadcrumb, KjBreadcrumbCurrent, KjBreadcrumbEllipsis, KjBreadcrumbItem, KjBreadcrumbLink, KjBreadcrumbList, KjBreadcrumbSeparator, KjButton, KjButtonGroup, KjCalendar, KjCalendarDay, KjCalendarGrid, KjCalendarHeader, KjCarousel, KjCarouselAutoplay, KjCarouselIndicator, KjCarouselIndicators, KjCarouselNext, KjCarouselPauseToggle, KjCarouselPrevious, KjCarouselSlide, KjCarouselViewport, KjCascadeSelect, KjCascadeSelectOption, KjCascadeSelectPanel, KjCascadeSelectSubPanel, KjCascadeSelectTrigger, KjChart, KjChartTableFallback, KjChat, KjChatAnnouncer, KjChatAvatar, KjChatBubble, KjChatFooter, KjChatHeader, KjChatLog, KjChatStore, KjCheckbox, KjCode, KjColorPicker, KjColorPickerAlphaSlider, KjColorPickerArea, KjColorPickerHueSlider, KjColorPickerInput, KjColorPickerPanel, KjColorPickerTrigger, KjCombobox, KjComboboxInput, KjComboboxListbox, KjComboboxOption, KjCommandEmpty, KjCommandGroup, KjCommandInput, KjCommandItem, KjCommandList, KjCommandPalette, KjCommandPaletteDialog, KjCommandPaletteTrigger, KjCommandSeparator, KjConfirmPopup, KjConfirmPopupAction, KjConfirmPopupCancel, KjConfirmPopupContent, KjConfirmPopupMessage, KjConfirmPopupTrigger, KjDatePicker, KjDatePickerCalendar, KjDatePickerTrigger, KjDateRangePresetOption, KjDateRangePresets, KjDialog$1 as KjDialog, KjDialogRef, KjDialog as KjDialogService, KjDirectionality, KjDisabled, KjDivider, KjDrawer, KjDrawerRef, KjDrawerService, KjDropdownMenu, KjDropdownMenuContent, KjDropdownMenuGroup, KjDropdownMenuItem, KjDropdownMenuLabel, KjDropdownMenuSeparator, KjDropdownMenuTrigger, KjEditor, KjEditorLoader, KjField, KjFieldError, KjFieldGroup, KjFieldHelp, KjFieldLabel, KjFileUpload, KjFileUploadDropzone, KjFileUploadItem, KjFileUploadList, KjFileUploadTrigger, KjFilterableList, KjFocusRing, KjFocusTrap, KjForm, KjFormControl, KjFormError, KjFormErrorSummary, KjFormField, KjFormLabel, KjIconDirective, KjId, KjInput, KjInputGroup, KjInputGroupAddon, KjInputMask, KjInputOtp, KjInputOtpCell, KjKbd, KjLead, KjLink, KjList, KjListGroup, KjListGroupLabel, KjListItem, KjListNavigator, KjListRow, KjListSeparator, KjLiveRegion, KjLocale, KjMenubar, KjMenubarItem, KjMotion, KjMuted, KjNumberInput, KjNumberInputGroup, KjNumberStepper, KjOption, KjOverlayBadge, KjOverlayBadgeContent, KjOverlayBuilder, KjOverlayController, KjOverlayHandle, KjOverlayPanel, KjOverlayStack, KjOverlayTrigger, KjOverlayWrapper, KjPagination, KjPaginationEllipsis, KjPaginationFirst, KjPaginationInfo, KjPaginationItem, KjPaginationLast, KjPaginationNext, KjPaginationPrevious, KjPasswordCapsLockWarning, KjPasswordInput, KjPasswordInputScope, KjPasswordStrength, KjPasswordToggle, KjPopoverArrow, KjPopoverClose, KjPopoverContent, KjPopoverTitle, KjPopoverTrigger, KjProgressBar, KjProgressBarFill, KjRadio, KjRadioGroup, KjReducedMotion, KjRichTextEditor, KjRichTextExtensionDirective, KjRovingTabindex, KjRovingTabindexItemDirective, KjSelect, KjSelectContent, KjSelectTrigger, KjSelectionModel, KjSheet, KjSheetRef, KjSheetService, KjSize, KjSkeleton, KjSkipLink, KjSlider, KjSliderRange, KjSliderThumb, KjSliderTrack, KjSpeedDial, KjSpeedDialAction, KjSpeedDialActions, KjSpeedDialTrigger, KjSpinner, KjStep, KjStepContent, KjStepLabel, KjStepper, KjStepperNext, KjStepperPrevious, KjStepperReset, KjTab, KjTabList, KjTabPanel, KjTable, KjTableCell, KjTableFilterOutlet, KjTableHeader, KjTableKeyboardNav, KjTableRow, KjTabs, KjTag, KjTagList, KjTagRemove, KjTextarea, KjTimePicker, KjTimePickerHours, KjTimePickerMeridiem, KjTimePickerMinutes, KjTimePickerSeconds, KjToast, KjToastClose, KjToastPanel, KjToastRef, KjToastService, KjToastViewport, KjToggle, KjTooltipArrow, KjTooltipContent, KjTooltipGroup, KjTooltipTrigger, KjTranslate, KjTranslateService, KjTreeSelect, KjTreeSelectContent, KjTreeSelectNode, KjTreeSelectToggle, KjTreeSelectTrigger, KjTruncate, KjTypeAhead, KjVariant, KjVisuallyHidden, MaskEngine, SHEET_ARIA_LABEL, SHEET_DATA, SHEET_DETENT, SHEET_DISMISSIBLE, addDays, addMonths, addYears, anchoredTo, assertive, bindPresets, blurredBackdrop, bodyPortal, buildMonthMatrix, coalesceAnnouncement, compareDay, compileMask, corner, createKjDecoratorNode, createKjImageNode, cssClip, defaultDateRangePresets, defaultMaskTokens, defaultPasswordScorer, edgeSheet, endOfMonth, firstDayOfWeek, formatDateLong, formatDateShort, formatMonthYear, getIconMode, htmlOverflow, inContainer, inMemoryAdapter, inPlace, inPlaceSibling, inertBased, injectFilterableList, injectKjFilterParams, injectKjIconResolver, injectListItem, injectRichTextNode, injectRteOverlayData, injectSelectionModel, isInRange, isKjFilterModel, isSameDay, isSameMonth, kjColumn, kjColumnGroup, kjContainsFilter, kjDateFilterFn, kjFileMatchesAccept, kjFuzzyFilter, kjHsvToHsl, kjHsvToRgb, kjMultiFilterFn, kjNumberFilterFn, kjParseHex, kjRgbToHex, kjRgbToHsv, kjSetFilterFn, kjStartsWithFilter, kjSubstringFilter, kjTableResource, kjTextFilterFn, localStorageAdapter, matchSlashCommands, nextCascadeId, nextChatMessageId, nextDropdownMenuLabelId, nextPopoverTitleId, noBackdrop, noScrollLock, noTrap, normalizeLanguage, onClick, onContextMenu, onFocus, onFocusOrInput, onHotkey, onHover, parseDate, parseSlash, pointAt, polite, programmatic, provideECharts, provideIconLoader, provideIconResolver, provideIcons, provideKjAlert, provideKjBreadcrumb, provideKjButton, provideKjChatBubble, provideKjDocumentDirection, provideKjFilterParams, provideKjInputMaskTokens, provideKjLink, provideKjLocale, provideKjPagination, provideKjProgressBar, provideKjRichText, provideKjSpinner, provideKjTableStorage, provideKjTag, provideKjTextarea, provideKjToastListStrategy, provideKjToastSonnerStrategy, provideKjToastStrategy, provideKjTranslations, provideMonaco, provideMonacoLanguages, resolveChartPalette, resolveDateRangePreset, sessionStorageAdapter, silent, solidBackdrop, startOfDay, startOfMonth, stripDiacritics, tabCycle, toDeepSignal, viewportCentered, weekdayLongNames, weekdayShortNames };
30019
+ export { DRAWER_DATA, DRAWER_DRAG, DRAWER_SIDE, EN_CATALOG, FR_CATALOG, KJ_ACCORDION, KJ_ACCORDION_ITEM, KJ_ALERT, KJ_ALERT_CONFIG, KJ_ALERT_DEFAULTS, KJ_AVATAR, KJ_AVATAR_GROUP, KJ_BREADCRUMB, KJ_BREADCRUMB_CONFIG, KJ_BREADCRUMB_DEFAULTS, KJ_BUTTON_CONFIG, KJ_BUTTON_DEFAULTS, KJ_BUTTON_GROUP, KJ_CALENDAR, KJ_CAROUSEL, KJ_CAROUSEL_INDICATORS, KJ_CAROUSEL_SLIDE, KJ_CASCADE_SELECT, KJ_CHAT, KJ_CHAT_BUBBLE_CONFIG, KJ_CHAT_BUBBLE_DEFAULTS, KJ_CHAT_LOG, KJ_COLOR_PICKER, KJ_CONFIRM_POPUP, KJ_DATE_PICKER, KJ_DATE_RANGE_PRESETS, KJ_DROPDOWN_MENU, KJ_ECHARTS, KJ_FIELD, KJ_FILE_UPLOAD, KJ_FILE_UPLOAD_DEFAULT_MESSAGES, KJ_FILE_UPLOAD_ITEM, KJ_FORM, KJ_FORM_FIELD, KJ_ICON_CSS_PATH, KJ_ICON_ENTRIES, KJ_ICON_LOADER, KJ_ICON_REGISTRY, KJ_ICON_RESOLVER, KJ_INPUT_GROUP, KJ_INPUT_MASK_PRESETS, KJ_INPUT_MASK_TOKENS, KJ_INPUT_OTP, KJ_KBD_SIZE_PRESET, KJ_LINK_CONFIG, KJ_LINK_DEFAULTS, KJ_LIST, KJ_LIST_FOCUS_MODE, KJ_LIST_NAVIGATOR_CONFIG, KJ_LIST_ROW, KJ_LOCALE_CONFIG, KJ_MENUBAR, KJ_MONACO_CONFIG, KJ_MONACO_LANGUAGE_LOADERS, KJ_NUMBER_INPUT, KJ_OVERLAY_BACKDROP_STRATEGY, KJ_OVERLAY_BADGE, KJ_OVERLAY_FOCUS_TRAP_STRATEGY, KJ_OVERLAY_LIVE_ANNOUNCER_STRATEGY, KJ_OVERLAY_MOUNT_STRATEGY, KJ_OVERLAY_PANEL_ROLE, KJ_OVERLAY_POSITION_STRATEGY, KJ_OVERLAY_SCROLL_LOCK_STRATEGY, KJ_OVERLAY_TRIGGER_EVENT_STRATEGY, KJ_PAGINATION, KJ_PAGINATION_CONFIG, KJ_PAGINATION_DEFAULTS, KJ_PASSWORD_INPUT, KJ_PROGRESS_BAR, KJ_PROGRESS_BAR_CONFIG, KJ_PROGRESS_BAR_DEFAULTS, KJ_PROSE_CSS_PATH, KJ_RADIO_GROUP, KJ_RICH_TEXT, KJ_RICH_TEXT_EXTENSIONS, KJ_RICH_TEXT_FEATURES, KJ_RICH_TEXT_NODE, KJ_ROVING_TABINDEX, KJ_RTE_OVERLAY_DATA, KJ_SELECT, KJ_SIZE_FALLBACK, KJ_SIZE_PRESET, KJ_SLIDER, KJ_SPEED_DIAL, KJ_SPINNER_CONFIG, KJ_SPINNER_DEFAULTS, KJ_STEP, KJ_STEPPER, KJ_TABLE, KJ_TABLE_STORAGE, KJ_TABS, KJ_TABS_CONFIG, KJ_TABS_DEFAULTS, KJ_TAG, KJ_TAG_CONFIG, KJ_TAG_DEFAULTS, KJ_TAG_LIST, KJ_TEXTAREA_CONFIG, KJ_TEXTAREA_DEFAULTS, KJ_TIME_PICKER, KJ_TOAST_LIST_STRATEGY, KJ_TOAST_SONNER_STRATEGY, KJ_TOAST_STRATEGY, KJ_TRANSLATION_CATALOGS, KJ_TREE_SELECT, KJ_VARIANT_FALLBACK, KJ_VARIANT_PRESET, KjAccordion, KjAccordionContent, KjAccordionItem, KjAccordionTrigger, KjAlert, KjAlertActions, KjAlertDescription, KjAlertDismiss, KjAlertIcon, KjAlertTitle, KjAriaDescribedBy, KjAriaLabelledBy, KjAvatar, KjAvatarFallback, KjAvatarGroup, KjAvatarImage, KjBackdrop, KjBadge, KjBlockquote, KjBreadcrumb, KjBreadcrumbCurrent, KjBreadcrumbEllipsis, KjBreadcrumbItem, KjBreadcrumbLink, KjBreadcrumbList, KjBreadcrumbSeparator, KjButton, KjButtonGroup, KjCalendar, KjCalendarDay, KjCalendarGrid, KjCalendarHeader, KjCarousel, KjCarouselAutoplay, KjCarouselIndicator, KjCarouselIndicators, KjCarouselNext, KjCarouselPauseToggle, KjCarouselPrevious, KjCarouselSlide, KjCarouselViewport, KjCascadeSelect, KjCascadeSelectOption, KjCascadeSelectPanel, KjCascadeSelectSubPanel, KjCascadeSelectTrigger, KjChart, KjChartTableFallback, KjChat, KjChatAnnouncer, KjChatAvatar, KjChatBubble, KjChatFooter, KjChatHeader, KjChatLog, KjChatStore, KjCheckbox, KjCode, KjColorPicker, KjColorPickerAlphaSlider, KjColorPickerArea, KjColorPickerHueSlider, KjColorPickerInput, KjColorPickerPanel, KjColorPickerTrigger, KjCombobox, KjComboboxInput, KjComboboxListbox, KjComboboxOption, KjCommandEmpty, KjCommandGroup, KjCommandInput, KjCommandItem, KjCommandList, KjCommandPalette, KjCommandPaletteDialog, KjCommandPaletteTrigger, KjCommandSeparator, KjConfirmPopup, KjConfirmPopupAction, KjConfirmPopupCancel, KjConfirmPopupContent, KjConfirmPopupMessage, KjConfirmPopupTrigger, KjDatePicker, KjDatePickerCalendar, KjDatePickerTrigger, KjDateRangePresetOption, KjDateRangePresets, KjDialog$1 as KjDialog, KjDialogRef, KjDialog as KjDialogService, KjDirectionality, KjDisabled, KjDivider, KjDrawer, KjDrawerRef, KjDrawerService, KjDropdownMenu, KjDropdownMenuContent, KjDropdownMenuGroup, KjDropdownMenuItem, KjDropdownMenuLabel, KjDropdownMenuSeparator, KjDropdownMenuTrigger, KjEditor, KjEditorLoader, KjField, KjFieldError, KjFieldGroup, KjFieldHelp, KjFieldLabel, KjFileUpload, KjFileUploadDropzone, KjFileUploadItem, KjFileUploadList, KjFileUploadTrigger, KjFilterableList, KjFocusRing, KjFocusTrap, KjForm, KjFormControl, KjFormError, KjFormErrorSummary, KjFormField, KjFormLabel, KjIconDirective, KjId, KjInput, KjInputGroup, KjInputGroupAddon, KjInputMask, KjInputOtp, KjInputOtpCell, KjKbd, KjLead, KjLink, KjList, KjListGroup, KjListGroupLabel, KjListItem, KjListNavigator, KjListRow, KjListSeparator, KjLiveRegion, KjLocale, KjMenubar, KjMenubarItem, KjMotion, KjMuted, KjNumberInput, KjNumberInputGroup, KjNumberStepper, KjOption, KjOverlayBadge, KjOverlayBadgeContent, KjOverlayBuilder, KjOverlayController, KjOverlayHandle, KjOverlayPanel, KjOverlayStack, KjOverlayTrigger, KjOverlayWrapper, KjPagination, KjPaginationEllipsis, KjPaginationFirst, KjPaginationInfo, KjPaginationItem, KjPaginationLast, KjPaginationNext, KjPaginationPrevious, KjPasswordCapsLockWarning, KjPasswordInput, KjPasswordInputScope, KjPasswordStrength, KjPasswordToggle, KjPopoverArrow, KjPopoverClose, KjPopoverContent, KjPopoverTitle, KjPopoverTrigger, KjProgressBar, KjProgressBarFill, KjRadio, KjRadioGroup, KjReducedMotion, KjRichTextEditor, KjRichTextExtensionDirective, KjRovingTabindex, KjRovingTabindexItemDirective, KjSelect, KjSelectContent, KjSelectTrigger, KjSelectionModel, KjSheet, KjSheetRef, KjSheetService, KjSize, KjSkeleton, KjSkipLink, KjSlider, KjSliderRange, KjSliderThumb, KjSliderTrack, KjSpeedDial, KjSpeedDialAction, KjSpeedDialActions, KjSpeedDialTrigger, KjSpinner, KjStep, KjStepContent, KjStepLabel, KjStepper, KjStepperNext, KjStepperPrevious, KjStepperReset, KjTab, KjTabList, KjTabPanel, KjTable, KjTableCell, KjTableFilterOutlet, KjTableHeader, KjTableKeyboardNav, KjTableRow, KjTabs, KjTag, KjTagList, KjTagRemove, KjTextarea, KjTimePicker, KjTimePickerHours, KjTimePickerMeridiem, KjTimePickerMinutes, KjTimePickerSeconds, KjToast, KjToastClose, KjToastPanel, KjToastRef, KjToastService, KjToastViewport, KjToggle, KjTooltipArrow, KjTooltipContent, KjTooltipGroup, KjTooltipTrigger, KjTranslate, KjTranslateService, KjTreeSelect, KjTreeSelectContent, KjTreeSelectNode, KjTreeSelectToggle, KjTreeSelectTrigger, KjTruncate, KjTypeAhead, KjVariant, KjVisuallyHidden, MaskEngine, SHEET_ARIA_LABEL, SHEET_DATA, SHEET_DETENT, SHEET_DISMISSIBLE, addDays, addMonths, addYears, anchoredTo, assertive, bindPresets, blurredBackdrop, bodyPortal, buildMonthMatrix, coalesceAnnouncement, compareDay, compileMask, corner, createKjDecoratorNode, createKjImageNode, cssClip, defaultDateRangePresets, defaultMaskTokens, defaultPasswordScorer, edgeSheet, endOfMonth, firstDayOfWeek, formatDateLong, formatDateShort, formatMonthYear, getIconMode, htmlOverflow, inContainer, inMemoryAdapter, inPlace, inPlaceSibling, inertBased, injectFilterableList, injectKjFilterParams, injectKjIconResolver, injectListItem, injectRichTextNode, injectRteOverlayData, injectSelectionModel, isInRange, isKjFilterModel, isSameDay, isSameMonth, kjColumn, kjColumnGroup, kjContainsFilter, kjDateFilterFn, kjFileMatchesAccept, kjFuzzyFilter, kjHsvToHsl, kjHsvToRgb, kjMultiFilterFn, kjNumberFilterFn, kjParseHex, kjRgbToHex, kjRgbToHsv, kjSetFilterFn, kjStartsWithFilter, kjSubstringFilter, kjTableResource, kjTextFilterFn, localStorageAdapter, matchSlashCommands, nextCascadeId, nextChatMessageId, nextDropdownMenuLabelId, nextPopoverTitleId, noBackdrop, noScrollLock, noTrap, normalizeLanguage, onClick, onContextMenu, onFocus, onFocusOrInput, onHotkey, onHover, parseDate, parseSlash, pointAt, polite, programmatic, provideECharts, provideIconLoader, provideIconResolver, provideIcons, provideKjAlert, provideKjBreadcrumb, provideKjButton, provideKjChatBubble, provideKjDocumentDirection, provideKjFilterParams, provideKjInputMaskTokens, provideKjLink, provideKjLocale, provideKjPagination, provideKjProgressBar, provideKjRichText, provideKjSpinner, provideKjTableStorage, provideKjTabs, provideKjTag, provideKjTextarea, provideKjToastListStrategy, provideKjToastSonnerStrategy, provideKjToastStrategy, provideKjTranslations, provideMonaco, provideMonacoLanguages, resolveChartPalette, resolveDateRangePreset, sessionStorageAdapter, silent, solidBackdrop, startOfDay, startOfMonth, stripDiacritics, tabCycle, toDeepSignal, viewportCentered, weekdayLongNames, weekdayShortNames };
29803
30020
  //# sourceMappingURL=kouji-ui-core.mjs.map