@kouji-ui/components 0.2.0 → 0.3.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.
@@ -3770,7 +3770,7 @@ class KjDatetimePickerComponent {
3770
3770
  </label>
3771
3771
  </div>
3772
3772
  </div>
3773
- `, isInline: true, styles: [".kj-datetime-picker{display:inline-flex;align-items:center;gap:var(--kj-space-xs);position:relative}.kj-datetime-picker__input{--kj-datetime-picker-input-height: 2.25rem;appearance:none;border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-field);padding:0 var(--kj-space-md);height:var(--kj-datetime-picker-input-height);font:inherit;background:var(--kj-bg-field);color:var(--kj-fg-default);min-width:16ch}.kj-datetime-picker[data-size=xs] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 1.75rem;font-size:.75rem;padding-inline:var(--kj-space-sm);min-width:0}.kj-datetime-picker[data-size=sm] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 2rem;font-size:.8125rem}.kj-datetime-picker[data-size=lg] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 2.75rem;font-size:1rem}.kj-datetime-picker__input:focus{outline:2px solid var(--kj-border-focus);outline-offset:2px;border-color:var(--kj-border-focus)}.kj-datetime-picker__input[disabled]{opacity:.55;cursor:not-allowed}.kj-datetime-picker__panel{box-sizing:border-box;z-index:50;display:inline-block;background:var(--kj-bg-elevated);color:var(--kj-fg-default);border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-box);box-shadow:var(--kj-shadow-md);padding:var(--kj-space-sm)}.kj-datetime-picker__panel .kj-calendar{padding:0}.kj-datetime-picker__panel[hidden]{display:none}.kj-datetime-picker__time{display:flex;align-items:center;justify-content:space-between;gap:var(--kj-space-sm);margin-top:var(--kj-space-sm);padding:var(--kj-space-sm) var(--kj-space-xs) 0;border-top:var(--kj-border) solid var(--kj-border-muted);font-size:.8125rem;color:var(--kj-fg-muted)}.kj-datetime-picker__time-input{appearance:none;border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-field);background:var(--kj-bg-field);color:var(--kj-fg-default);font:inherit;font-size:.8125rem;padding:2px var(--kj-space-sm)}.kj-datetime-picker__time-input:focus{outline:2px solid var(--kj-border-focus);outline-offset:1px}\n"], dependencies: [{ kind: "directive", type: KjDatePicker, selector: "[kjDatePicker]", inputs: ["kjValue", "kjMin", "kjMax", "kjDisabledDates", "kjLocale", "kjFirstDayOfWeek", "kjReadonly", "kjOpen"], outputs: ["kjValueChange", "kjOpenChange"], exportAs: ["kjDatePicker"] }, { kind: "directive", type: KjDatePickerTrigger, selector: "input[kjDatePickerTrigger]", inputs: ["kjDisplayFormat"], exportAs: ["kjDatePickerTrigger"] }, { kind: "directive", type: KjDatePickerCalendar, selector: "[kjDatePickerCalendar]", inputs: ["kjSide", "kjAlign", "kjOffset"], exportAs: ["kjDatePickerCalendar"] }, { kind: "component", type: KjCalendarComponent, selector: "kj-calendar", inputs: ["kjValue", "kjMin", "kjMax", "kjDisabledDates", "kjLocale", "kjFirstDayOfWeek", "kjAriaLabel", "kjDisabled"], outputs: ["kjValueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3773
+ `, isInline: true, styles: [".kj-datetime-picker{display:inline-flex;align-items:center;gap:var(--kj-space-xs);position:relative}.kj-datetime-picker__input{--kj-datetime-picker-input-height: 2.25rem;appearance:none;border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-field);padding:0 var(--kj-space-md);height:var(--kj-datetime-picker-input-height);font:inherit;background:var(--kj-bg-field);color:var(--kj-fg-default);width:19ch;min-width:0}.kj-datetime-picker[data-size=xs] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 1.75rem;font-size:.75rem;padding-inline:var(--kj-space-sm);min-width:0}.kj-datetime-picker[data-size=sm] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 2rem;font-size:.8125rem}.kj-datetime-picker[data-size=lg] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 2.75rem;font-size:1rem}.kj-datetime-picker__input:focus{outline:2px solid var(--kj-border-focus);outline-offset:2px;border-color:var(--kj-border-focus)}.kj-datetime-picker__input[disabled]{opacity:.55;cursor:not-allowed}.kj-datetime-picker__panel{box-sizing:border-box;z-index:50;display:inline-block;background:var(--kj-bg-elevated);color:var(--kj-fg-default);border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-box);box-shadow:var(--kj-shadow-md);padding:var(--kj-space-sm)}.kj-datetime-picker__panel .kj-calendar{padding:0}.kj-datetime-picker__panel[hidden]{display:none}.kj-datetime-picker__time{display:flex;align-items:center;justify-content:space-between;gap:var(--kj-space-sm);margin-top:var(--kj-space-sm);padding:var(--kj-space-sm) var(--kj-space-xs) 0;border-top:var(--kj-border) solid var(--kj-border-muted);font-size:.8125rem;color:var(--kj-fg-muted)}.kj-datetime-picker__time-input{appearance:none;border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-field);background:var(--kj-bg-field);color:var(--kj-fg-default);font:inherit;font-size:.8125rem;padding:2px var(--kj-space-sm)}.kj-datetime-picker__time-input:focus{outline:2px solid var(--kj-border-focus);outline-offset:1px}\n"], dependencies: [{ kind: "directive", type: KjDatePicker, selector: "[kjDatePicker]", inputs: ["kjValue", "kjMin", "kjMax", "kjDisabledDates", "kjLocale", "kjFirstDayOfWeek", "kjReadonly", "kjOpen"], outputs: ["kjValueChange", "kjOpenChange"], exportAs: ["kjDatePicker"] }, { kind: "directive", type: KjDatePickerTrigger, selector: "input[kjDatePickerTrigger]", inputs: ["kjDisplayFormat"], exportAs: ["kjDatePickerTrigger"] }, { kind: "directive", type: KjDatePickerCalendar, selector: "[kjDatePickerCalendar]", inputs: ["kjSide", "kjAlign", "kjOffset"], exportAs: ["kjDatePickerCalendar"] }, { kind: "component", type: KjCalendarComponent, selector: "kj-calendar", inputs: ["kjValue", "kjMin", "kjMax", "kjDisabledDates", "kjLocale", "kjFirstDayOfWeek", "kjAriaLabel", "kjDisabled"], outputs: ["kjValueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3774
3774
  }
3775
3775
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjDatetimePickerComponent, decorators: [{
3776
3776
  type: Component,
@@ -3818,7 +3818,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
3818
3818
  </label>
3819
3819
  </div>
3820
3820
  </div>
3821
- `, encapsulation: ViewEncapsulation.None, host: { class: 'kj-datetime-picker-host', style: 'display: contents;' }, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kj-datetime-picker{display:inline-flex;align-items:center;gap:var(--kj-space-xs);position:relative}.kj-datetime-picker__input{--kj-datetime-picker-input-height: 2.25rem;appearance:none;border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-field);padding:0 var(--kj-space-md);height:var(--kj-datetime-picker-input-height);font:inherit;background:var(--kj-bg-field);color:var(--kj-fg-default);min-width:16ch}.kj-datetime-picker[data-size=xs] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 1.75rem;font-size:.75rem;padding-inline:var(--kj-space-sm);min-width:0}.kj-datetime-picker[data-size=sm] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 2rem;font-size:.8125rem}.kj-datetime-picker[data-size=lg] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 2.75rem;font-size:1rem}.kj-datetime-picker__input:focus{outline:2px solid var(--kj-border-focus);outline-offset:2px;border-color:var(--kj-border-focus)}.kj-datetime-picker__input[disabled]{opacity:.55;cursor:not-allowed}.kj-datetime-picker__panel{box-sizing:border-box;z-index:50;display:inline-block;background:var(--kj-bg-elevated);color:var(--kj-fg-default);border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-box);box-shadow:var(--kj-shadow-md);padding:var(--kj-space-sm)}.kj-datetime-picker__panel .kj-calendar{padding:0}.kj-datetime-picker__panel[hidden]{display:none}.kj-datetime-picker__time{display:flex;align-items:center;justify-content:space-between;gap:var(--kj-space-sm);margin-top:var(--kj-space-sm);padding:var(--kj-space-sm) var(--kj-space-xs) 0;border-top:var(--kj-border) solid var(--kj-border-muted);font-size:.8125rem;color:var(--kj-fg-muted)}.kj-datetime-picker__time-input{appearance:none;border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-field);background:var(--kj-bg-field);color:var(--kj-fg-default);font:inherit;font-size:.8125rem;padding:2px var(--kj-space-sm)}.kj-datetime-picker__time-input:focus{outline:2px solid var(--kj-border-focus);outline-offset:1px}\n"] }]
3821
+ `, encapsulation: ViewEncapsulation.None, host: { class: 'kj-datetime-picker-host', style: 'display: contents;' }, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kj-datetime-picker{display:inline-flex;align-items:center;gap:var(--kj-space-xs);position:relative}.kj-datetime-picker__input{--kj-datetime-picker-input-height: 2.25rem;appearance:none;border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-field);padding:0 var(--kj-space-md);height:var(--kj-datetime-picker-input-height);font:inherit;background:var(--kj-bg-field);color:var(--kj-fg-default);width:19ch;min-width:0}.kj-datetime-picker[data-size=xs] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 1.75rem;font-size:.75rem;padding-inline:var(--kj-space-sm);min-width:0}.kj-datetime-picker[data-size=sm] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 2rem;font-size:.8125rem}.kj-datetime-picker[data-size=lg] .kj-datetime-picker__input{--kj-datetime-picker-input-height: 2.75rem;font-size:1rem}.kj-datetime-picker__input:focus{outline:2px solid var(--kj-border-focus);outline-offset:2px;border-color:var(--kj-border-focus)}.kj-datetime-picker__input[disabled]{opacity:.55;cursor:not-allowed}.kj-datetime-picker__panel{box-sizing:border-box;z-index:50;display:inline-block;background:var(--kj-bg-elevated);color:var(--kj-fg-default);border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-box);box-shadow:var(--kj-shadow-md);padding:var(--kj-space-sm)}.kj-datetime-picker__panel .kj-calendar{padding:0}.kj-datetime-picker__panel[hidden]{display:none}.kj-datetime-picker__time{display:flex;align-items:center;justify-content:space-between;gap:var(--kj-space-sm);margin-top:var(--kj-space-sm);padding:var(--kj-space-sm) var(--kj-space-xs) 0;border-top:var(--kj-border) solid var(--kj-border-muted);font-size:.8125rem;color:var(--kj-fg-muted)}.kj-datetime-picker__time-input{appearance:none;border:var(--kj-border) solid var(--kj-border-default);border-radius:var(--kj-radius-field);background:var(--kj-bg-field);color:var(--kj-fg-default);font:inherit;font-size:.8125rem;padding:2px var(--kj-space-sm)}.kj-datetime-picker__time-input:focus{outline:2px solid var(--kj-border-focus);outline-offset:1px}\n"] }]
3822
3822
  }], propDecorators: { kjValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjValue", required: false }] }, { type: i0.Output, args: ["kjValueChange"] }], kjOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjOpen", required: false }] }, { type: i0.Output, args: ["kjOpenChange"] }], kjMin: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjMin", required: false }] }], kjMax: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjMax", required: false }] }], kjLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLocale", required: false }] }], kjFirstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjFirstDayOfWeek", required: false }] }], kjPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjPlaceholder", required: false }] }], kjTimeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjTimeLabel", required: false }] }], kjDefaultHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjDefaultHour", required: false }] }], kjReadonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjReadonly", required: false }] }], kjDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjDisabled", required: false }] }], kjSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSize", required: false }] }] } });
3823
3823
 
3824
3824
  /**
@@ -12216,6 +12216,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
12216
12216
  }]
12217
12217
  }], ctorParameters: () => [], propDecorators: { kjCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjCount", required: true }] }], kjEstimateSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEstimateSize", required: false }] }], kjOverscan: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjOverscan", required: false }] }] } });
12218
12218
 
12219
+ /**
12220
+ * Registers a custom cell template for one column of a `<kj-table>`.
12221
+ *
12222
+ * Declare inside the table's content with the column id, and use the template
12223
+ * context to render arbitrary markup (badges, buttons, avatars…) instead of
12224
+ * the default `getValue()` text:
12225
+ *
12226
+ * ```html
12227
+ * <kj-table [kjData]="rows()" [kjColumns]="cols">
12228
+ * <ng-template kjCellTemplate="role" let-row let-value="value">
12229
+ * <kj-badge [bg]="roleBg(row.role)">{{ value }}</kj-badge>
12230
+ * </ng-template>
12231
+ * </kj-table>
12232
+ * ```
12233
+ *
12234
+ * Context: `$implicit` / `row` — the row data; `value` — `cell.getValue()`;
12235
+ * `cell` — the TanStack cell instance.
12236
+ *
12237
+ * Editing, grouping, and aggregation cells keep their built-in rendering;
12238
+ * the template applies to plain data cells only.
12239
+ *
12240
+ * @doc-category Library/Data display
12241
+ * @doc
12242
+ * @doc-name table
12243
+ */
12244
+ class KjCellTemplateDirective {
12245
+ /** Column id this template renders. */
12246
+ kjCellTemplate = input.required(/* @ts-ignore */
12247
+ ...(ngDevMode ? [{ debugName: "kjCellTemplate" }] : /* istanbul ignore next */ []));
12248
+ /** @internal */
12249
+ template = inject(TemplateRef);
12250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjCellTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12251
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: KjCellTemplateDirective, isStandalone: true, selector: "ng-template[kjCellTemplate]", inputs: { kjCellTemplate: { classPropertyName: "kjCellTemplate", publicName: "kjCellTemplate", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
12252
+ }
12253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjCellTemplateDirective, decorators: [{
12254
+ type: Directive,
12255
+ args: [{ selector: 'ng-template[kjCellTemplate]', standalone: true }]
12256
+ }], propDecorators: { kjCellTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjCellTemplate", required: true }] }] } });
12257
+
12219
12258
  /**
12220
12259
  * Inline text cell editor for `<kj-table>`. Renders the styled
12221
12260
  * `<kj-input>` component (which wraps the headless `kjInput` directive and
@@ -13737,6 +13776,17 @@ class KjTableComponent {
13737
13776
  /** Template for master-detail row expansion. Receives `$implicit = row`. */
13738
13777
  kjRowExpansionTpl = contentChild('kjRowExpansion', /* @ts-ignore */
13739
13778
  ...(ngDevMode ? [{ debugName: "kjRowExpansionTpl" }] : /* istanbul ignore next */ []));
13779
+ /** Custom cell templates declared as `ng-template[kjCellTemplate]` content. */
13780
+ cellTemplates = contentChildren(KjCellTemplateDirective, /* @ts-ignore */
13781
+ ...(ngDevMode ? [{ debugName: "cellTemplates" }] : /* istanbul ignore next */ []));
13782
+ /** Resolve the registered template for a cell's column, if any. */
13783
+ cellTpl(cell) {
13784
+ for (const t of this.cellTemplates()) {
13785
+ if (t.kjCellTemplate() === cell.column.id)
13786
+ return t.template;
13787
+ }
13788
+ return null;
13789
+ }
13740
13790
  // ── Outputs ─────────────────────────────────────────────────────────────
13741
13791
  cellEdit = output();
13742
13792
  stateChange = output();
@@ -14150,7 +14200,7 @@ class KjTableComponent {
14150
14200
  this.editingCell.set(null);
14151
14201
  }
14152
14202
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: KjTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14153
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: KjTableComponent, isStandalone: true, selector: "kj-table", inputs: { kjResource: { classPropertyName: "kjResource", publicName: "kjResource", isSignal: true, isRequired: false, transformFunction: null }, kjDensity: { classPropertyName: "kjDensity", publicName: "kjDensity", isSignal: true, isRequired: false, transformFunction: null }, kjVariant: { classPropertyName: "kjVariant", publicName: "kjVariant", isSignal: true, isRequired: false, transformFunction: null }, kjLoading: { classPropertyName: "kjLoading", publicName: "kjLoading", isSignal: true, isRequired: false, transformFunction: null }, kjSelection: { classPropertyName: "kjSelection", publicName: "kjSelection", isSignal: true, isRequired: false, transformFunction: null }, kjSelectionMode: { classPropertyName: "kjSelectionMode", publicName: "kjSelectionMode", isSignal: true, isRequired: false, transformFunction: null }, kjShowSelectionColumn: { classPropertyName: "kjShowSelectionColumn", publicName: "kjShowSelectionColumn", isSignal: true, isRequired: false, transformFunction: null }, kjStorageKey: { classPropertyName: "kjStorageKey", publicName: "kjStorageKey", isSignal: true, isRequired: false, transformFunction: null }, kjStorageAdapter: { classPropertyName: "kjStorageAdapter", publicName: "kjStorageAdapter", isSignal: true, isRequired: false, transformFunction: null }, kjVirtual: { classPropertyName: "kjVirtual", publicName: "kjVirtual", isSignal: true, isRequired: false, transformFunction: null }, kjEstimatedRowSize: { classPropertyName: "kjEstimatedRowSize", publicName: "kjEstimatedRowSize", isSignal: true, isRequired: false, transformFunction: null }, kjEnableFilters: { classPropertyName: "kjEnableFilters", publicName: "kjEnableFilters", isSignal: true, isRequired: false, transformFunction: null }, kjEnableResize: { classPropertyName: "kjEnableResize", publicName: "kjEnableResize", isSignal: true, isRequired: false, transformFunction: null }, kjEnableRowPinning: { classPropertyName: "kjEnableRowPinning", publicName: "kjEnableRowPinning", isSignal: true, isRequired: false, transformFunction: null }, kjEditOnDoubleClick: { classPropertyName: "kjEditOnDoubleClick", publicName: "kjEditOnDoubleClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { kjSelection: "kjSelectionChange", cellEdit: "cellEdit", stateChange: "stateChange", rowClick: "rowClick", rowDoubleClick: "rowDoubleClick" }, host: { properties: { "attr.data-density": "t.state.density()", "attr.data-variant": "kjVariant()", "attr.data-loading": "isLoading() ? \"\" : null", "attr.data-error": "hasError() ? \"\" : null" } }, queries: [{ propertyName: "kjRowExpansionTpl", first: true, predicate: ["kjRowExpansion"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.KjTable, inputs: ["kjTable", "kjColumns", "kjTableData", "kjData", "kjGetRowId", "kjGetRowId"] }], ngImport: i0, template: `
14203
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: KjTableComponent, isStandalone: true, selector: "kj-table", inputs: { kjResource: { classPropertyName: "kjResource", publicName: "kjResource", isSignal: true, isRequired: false, transformFunction: null }, kjDensity: { classPropertyName: "kjDensity", publicName: "kjDensity", isSignal: true, isRequired: false, transformFunction: null }, kjVariant: { classPropertyName: "kjVariant", publicName: "kjVariant", isSignal: true, isRequired: false, transformFunction: null }, kjLoading: { classPropertyName: "kjLoading", publicName: "kjLoading", isSignal: true, isRequired: false, transformFunction: null }, kjSelection: { classPropertyName: "kjSelection", publicName: "kjSelection", isSignal: true, isRequired: false, transformFunction: null }, kjSelectionMode: { classPropertyName: "kjSelectionMode", publicName: "kjSelectionMode", isSignal: true, isRequired: false, transformFunction: null }, kjShowSelectionColumn: { classPropertyName: "kjShowSelectionColumn", publicName: "kjShowSelectionColumn", isSignal: true, isRequired: false, transformFunction: null }, kjStorageKey: { classPropertyName: "kjStorageKey", publicName: "kjStorageKey", isSignal: true, isRequired: false, transformFunction: null }, kjStorageAdapter: { classPropertyName: "kjStorageAdapter", publicName: "kjStorageAdapter", isSignal: true, isRequired: false, transformFunction: null }, kjVirtual: { classPropertyName: "kjVirtual", publicName: "kjVirtual", isSignal: true, isRequired: false, transformFunction: null }, kjEstimatedRowSize: { classPropertyName: "kjEstimatedRowSize", publicName: "kjEstimatedRowSize", isSignal: true, isRequired: false, transformFunction: null }, kjEnableFilters: { classPropertyName: "kjEnableFilters", publicName: "kjEnableFilters", isSignal: true, isRequired: false, transformFunction: null }, kjEnableResize: { classPropertyName: "kjEnableResize", publicName: "kjEnableResize", isSignal: true, isRequired: false, transformFunction: null }, kjEnableRowPinning: { classPropertyName: "kjEnableRowPinning", publicName: "kjEnableRowPinning", isSignal: true, isRequired: false, transformFunction: null }, kjEditOnDoubleClick: { classPropertyName: "kjEditOnDoubleClick", publicName: "kjEditOnDoubleClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { kjSelection: "kjSelectionChange", cellEdit: "cellEdit", stateChange: "stateChange", rowClick: "rowClick", rowDoubleClick: "rowDoubleClick" }, host: { properties: { "attr.data-density": "t.state.density()", "attr.data-variant": "kjVariant()", "attr.data-loading": "isLoading() ? \"\" : null", "attr.data-error": "hasError() ? \"\" : null" } }, queries: [{ propertyName: "kjRowExpansionTpl", first: true, predicate: ["kjRowExpansion"], descendants: true, isSignal: true }, { propertyName: "cellTemplates", predicate: KjCellTemplateDirective, isSignal: true }], hostDirectives: [{ directive: i1.KjTable, inputs: ["kjTable", "kjColumns", "kjTableData", "kjData", "kjGetRowId", "kjGetRowId"] }], ngImport: i0, template: `
14154
14204
  <div class="kj-table-wrapper">
14155
14205
  <!-- Toolbar projection: matches either an explicit [kjToolbar] marker
14156
14206
  OR the styled <kj-table-toolbar> element directly, so users don't
@@ -14268,7 +14318,11 @@ class KjTableComponent {
14268
14318
  (editCancel)="onEditorCancel()"
14269
14319
  ></span>
14270
14320
  } @else {
14271
- {{ c.getValue() }}
14321
+ @if (cellTpl(c); as tpl) {
14322
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ $implicit: r.original, row: r.original, value: c.getValue(), cell: c }" />
14323
+ } @else {
14324
+ {{ c.getValue() }}
14325
+ }
14272
14326
  }
14273
14327
  </td>
14274
14328
  }
@@ -14324,7 +14378,11 @@ class KjTableComponent {
14324
14378
  (editCancel)="onEditorCancel()"
14325
14379
  ></span>
14326
14380
  } @else {
14327
- {{ c.getValue() }}
14381
+ @if (cellTpl(c); as tpl) {
14382
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ $implicit: r.original, row: r.original, value: c.getValue(), cell: c }" />
14383
+ } @else {
14384
+ {{ c.getValue() }}
14385
+ }
14328
14386
  }
14329
14387
  </td>
14330
14388
  }
@@ -14396,7 +14454,11 @@ class KjTableComponent {
14396
14454
  {{ c.renderValue() }}
14397
14455
  } @else if (c.getIsPlaceholder?.()) {
14398
14456
  } @else {
14399
- {{ c.getValue() }}
14457
+ @if (cellTpl(c); as tpl) {
14458
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ $implicit: r.original, row: r.original, value: c.getValue(), cell: c }" />
14459
+ } @else {
14460
+ {{ c.getValue() }}
14461
+ }
14400
14462
  }
14401
14463
  </td>
14402
14464
  }
@@ -14433,7 +14495,13 @@ class KjTableComponent {
14433
14495
  </td>
14434
14496
  }
14435
14497
  @for (c of r.getVisibleCells(); track c.id) {
14436
- <td kjTableCell [kjCell]="c" tabindex="-1">{{ c.getValue() }}</td>
14498
+ <td kjTableCell [kjCell]="c" tabindex="-1">
14499
+ @if (cellTpl(c); as tpl) {
14500
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ $implicit: r.original, row: r.original, value: c.getValue(), cell: c }" />
14501
+ } @else {
14502
+ {{ c.getValue() }}
14503
+ }
14504
+ </td>
14437
14505
  }
14438
14506
  </tr>
14439
14507
  }
@@ -14614,7 +14682,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
14614
14682
  (editCancel)="onEditorCancel()"
14615
14683
  ></span>
14616
14684
  } @else {
14617
- {{ c.getValue() }}
14685
+ @if (cellTpl(c); as tpl) {
14686
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ $implicit: r.original, row: r.original, value: c.getValue(), cell: c }" />
14687
+ } @else {
14688
+ {{ c.getValue() }}
14689
+ }
14618
14690
  }
14619
14691
  </td>
14620
14692
  }
@@ -14670,7 +14742,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
14670
14742
  (editCancel)="onEditorCancel()"
14671
14743
  ></span>
14672
14744
  } @else {
14673
- {{ c.getValue() }}
14745
+ @if (cellTpl(c); as tpl) {
14746
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ $implicit: r.original, row: r.original, value: c.getValue(), cell: c }" />
14747
+ } @else {
14748
+ {{ c.getValue() }}
14749
+ }
14674
14750
  }
14675
14751
  </td>
14676
14752
  }
@@ -14742,7 +14818,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
14742
14818
  {{ c.renderValue() }}
14743
14819
  } @else if (c.getIsPlaceholder?.()) {
14744
14820
  } @else {
14745
- {{ c.getValue() }}
14821
+ @if (cellTpl(c); as tpl) {
14822
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ $implicit: r.original, row: r.original, value: c.getValue(), cell: c }" />
14823
+ } @else {
14824
+ {{ c.getValue() }}
14825
+ }
14746
14826
  }
14747
14827
  </td>
14748
14828
  }
@@ -14779,7 +14859,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
14779
14859
  </td>
14780
14860
  }
14781
14861
  @for (c of r.getVisibleCells(); track c.id) {
14782
- <td kjTableCell [kjCell]="c" tabindex="-1">{{ c.getValue() }}</td>
14862
+ <td kjTableCell [kjCell]="c" tabindex="-1">
14863
+ @if (cellTpl(c); as tpl) {
14864
+ <ng-container [ngTemplateOutlet]="tpl" [ngTemplateOutletContext]="{ $implicit: r.original, row: r.original, value: c.getValue(), cell: c }" />
14865
+ } @else {
14866
+ {{ c.getValue() }}
14867
+ }
14868
+ </td>
14783
14869
  }
14784
14870
  </tr>
14785
14871
  }
@@ -14814,7 +14900,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
14814
14900
  <ng-content />
14815
14901
  </div>
14816
14902
  `, encapsulation: ViewEncapsulation.Emulated, styles: [":host{display:flex;flex-direction:column;min-height:0;min-width:0;font-family:var(--kj-font-sans);font-size:var(--kj-text-sm);--kj-table-row-height: 2.25rem}:host([data-density=\"compact\"]){--kj-table-row-height: 1.75rem}:host([data-density=\"comfortable\"]){--kj-table-row-height: 2.75rem}.kj-table-wrapper{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;position:relative}.kj-table-body{position:relative;overflow:auto;display:block;flex:1 1 auto;min-height:0;min-width:0}.kj-table-body>table{min-width:100%}:host th,:host td{height:var(--kj-table-row-height)}:host table{width:100%;border-collapse:collapse;background:var(--kj-bg-surface);color:var(--kj-fg-default)}:host th,:host td{text-align:left;padding:var(--kj-base-space-sm) var(--kj-base-space-md);border-bottom:1px solid var(--kj-border-default);position:relative}:host th{font-weight:600;background:var(--kj-bg-elevated)}:host th[aria-sort]{-webkit-user-select:none;user-select:none}.kj-table-sort-indicator{display:inline-flex;align-items:center;margin-inline-start:var(--kj-base-space-xs, .25rem);color:var(--kj-fg-subtle, var(--kj-fg-muted));transition:color var(--kj-transition);vertical-align:middle}:host th[data-sort=asc] .kj-table-sort-indicator,:host th[data-sort=desc] .kj-table-sort-indicator{color:var(--kj-fg-primary)}:host th[aria-sort]:hover .kj-table-sort-indicator,:host th[aria-sort]:focus-visible .kj-table-sort-indicator{color:var(--kj-fg-default)}:host([data-density=\"compact\"]) th,:host([data-density=\"compact\"]) td{padding:var(--kj-base-space-xs) var(--kj-base-space-sm)}:host([data-density=\"comfortable\"]) th,:host([data-density=\"comfortable\"]) td{padding:var(--kj-base-space-md) var(--kj-base-space-lg)}:host([data-variant=\"striped\"]) tbody tr:nth-child(2n) td{background:var(--kj-bg-elevated)}:host([data-variant=\"clean\"]) th,:host([data-variant=\"clean\"]) td{border-bottom-color:transparent}:host td:focus-visible,:host th:focus-visible{outline:2px solid var(--kj-border-focus);outline-offset:-2px}:host td.kj-table-cell--editing{position:relative}:host td .kj-table-cell-ghost{visibility:hidden;white-space:pre;display:inline-block;pointer-events:none}:host td.kj-table-cell--editing ::ng-deep kj-text-editor,:host td.kj-table-cell--editing ::ng-deep kj-number-editor,:host td.kj-table-cell--editing ::ng-deep kj-select-editor,:host td.kj-table-cell--editing ::ng-deep kj-date-editor,:host td.kj-table-cell--editing ::ng-deep kj-boolean-editor{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;padding:inherit!important;background:var(--kj-bg-surface);z-index:1}:host td.kj-table-cell--editing ::ng-deep kj-input,:host td.kj-table-cell--editing ::ng-deep kj-number-input,:host td.kj-table-cell--editing ::ng-deep kj-select{display:flex!important;width:100%!important;min-width:0!important;box-sizing:border-box}:host td.kj-table-cell--editing ::ng-deep input,:host td.kj-table-cell--editing ::ng-deep .kj-select-trigger{width:100%!important;min-width:0!important;box-sizing:border-box}:host td .kj-table-editor-anchor{display:none}:host tr[data-selected] td{background:color-mix(in oklab,var(--kj-bg-primary, var(--kj-bg-accent, currentColor)) 12%,var(--kj-bg-surface))}:host tr[data-selected] td:first-child{box-shadow:inset 3px 0 0 0 var(--kj-bg-primary, var(--kj-fg-primary))}:host td[data-pin=left],:host th[data-pin=left]{position:sticky;left:0;z-index:1;background:var(--kj-bg-surface)}:host td[data-pin=right],:host th[data-pin=right]{position:sticky;right:0;z-index:1;background:var(--kj-bg-surface)}:host td[data-pin=left]:not(:has(+td[data-pin=left])),:host th[data-pin=left]:not(:has(+th[data-pin=left])){border-right:1px solid var(--kj-border-strong, var(--kj-border-default));box-shadow:4px 0 6px -4px #00000040}:host tr>:not([data-pin=right])+td[data-pin=right],:host tr>:not([data-pin=right])+th[data-pin=right]{border-left:1px solid var(--kj-border-strong, var(--kj-border-default));box-shadow:-4px 0 6px -4px #00000040}:host([data-variant=\"striped\"]) tbody tr:nth-child(2n) td[data-pin]{background:var(--kj-bg-elevated)}.kj-table-resize-handle{position:absolute;top:25%;right:0;width:6px;height:50%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:transparent;border-right:2px solid var(--kj-border-strong, var(--kj-border-default));transition:border-color var(--kj-transition),background var(--kj-transition),width var(--kj-transition)}.kj-table-resize-handle:hover,.kj-table-resize-handle:focus-visible{border-right-color:var(--kj-border-focus);background:color-mix(in srgb,var(--kj-border-focus) 20%,transparent);width:8px;outline:none}:host th[data-resizing] .kj-table-resize-handle{top:0;height:9999px;width:0;background:transparent;border-right:2px solid var(--kj-border-focus, var(--kj-bg-primary));transform:translate(var(--kj-resize-delta, 0px));pointer-events:none;z-index:3;transition:none}:host th.kj-table-select-cell,:host td.kj-table-select-cell{width:2.5rem;padding-inline:var(--kj-base-space-sm);text-align:center;vertical-align:middle}.kj-table-select-cell kj-checkbox{display:inline-flex;align-items:center;justify-content:center}.kj-table-filter-row>th{font-weight:400;background:var(--kj-bg-surface);border-top:1px solid var(--kj-border-muted, var(--kj-border-default))}.kj-table-filter-cell{padding-top:var(--kj-base-space-xs);padding-bottom:var(--kj-base-space-xs);vertical-align:middle}.kj-table-filter-cell .kj-table-filter-anchor+*,.kj-table-filter-cell kj-input,.kj-table-filter-cell kj-number-input,.kj-table-filter-cell kj-date-picker,.kj-table-filter-cell kj-select{width:100%}.kj-table-filter-anchor{display:block;width:100%}:host .kj-table-editor-anchor .kj-input,:host .kj-table-editor-anchor .kj-select{--kj-input-height: 1.75rem;--kj-input-font-size: var(--kj-text-xs);--kj-input-padding-x: var(--kj-base-space-sm);--kj-input-padding-y: 0;--kj-input-radius: var(--kj-radius-selector)}.kj-table-empty,.kj-table-error,.kj-table-loading{display:flex;align-items:center;justify-content:center;padding:var(--kj-base-space-lg);color:var(--kj-fg-muted)}.kj-table-loading{position:absolute;inset:0;background:color-mix(in srgb,var(--kj-bg-surface) 70%,transparent);pointer-events:none}.kj-table-loading[data-has-rows]{inset:0 0 auto;height:2px;background:var(--kj-bg-primary);padding:0;animation:kj-table-loading-pulse 1.4s ease-in-out infinite}.kj-table-loading[data-has-rows] .kj-table-loading-fallback,.kj-table-loading[data-has-rows] ::ng-deep [kjLoading]{display:none}@keyframes kj-table-loading-pulse{0%,to{opacity:.55}50%{opacity:1}}.kj-table-error{color:var(--kj-fg-error, var(--kj-fg-default))}.kj-table-loading-fallback{font-size:var(--kj-text-sm)}.kj-table-expansion-row>td{background:var(--kj-bg-elevated)}.kj-table-tbody-pinned[data-pin=top]>tr>td{background:var(--kj-bg-elevated);border-bottom:2px solid var(--kj-border-primary, var(--kj-border-strong, var(--kj-border-default)));box-shadow:0 4px 6px -4px #00000040;position:sticky;top:0;z-index:2}.kj-table-tbody-pinned[data-pin=bottom]>tr>td{background:var(--kj-bg-elevated);border-top:2px solid var(--kj-border-primary, var(--kj-border-strong, var(--kj-border-default)));box-shadow:0 -4px 6px -4px #00000040;position:sticky;bottom:0;z-index:2}.kj-table-group-toggle{display:inline-flex;align-items:center;gap:var(--kj-base-space-xs, .25rem);background:transparent;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.kj-table-group-toggle__chevron{display:inline-block;width:.75rem;font-family:var(--kj-font-mono);color:var(--kj-fg-muted);transition:transform var(--kj-transition)}.kj-table-group-toggle[aria-expanded=true] .kj-table-group-toggle__chevron{transform:rotate(90deg)}.kj-table-group-toggle__count{margin-inline-start:var(--kj-base-space-xs, .25rem);font-size:.75em;color:var(--kj-fg-muted);font-variant-numeric:tabular-nums}:host tbody tr[data-row-grouped] td{background:var(--kj-bg-elevated);font-weight:600}\n"] }]
14817
- }], ctorParameters: () => [], propDecorators: { kjResource: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjResource", required: false }] }], kjDensity: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjDensity", required: false }] }], kjVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjVariant", required: false }] }], kjLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoading", required: false }] }], kjSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSelection", required: false }] }, { type: i0.Output, args: ["kjSelectionChange"] }], kjSelectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSelectionMode", required: false }] }], kjShowSelectionColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjShowSelectionColumn", required: false }] }], kjStorageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjStorageKey", required: false }] }], kjStorageAdapter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjStorageAdapter", required: false }] }], kjVirtual: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjVirtual", required: false }] }], kjEstimatedRowSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEstimatedRowSize", required: false }] }], kjEnableFilters: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEnableFilters", required: false }] }], kjEnableResize: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEnableResize", required: false }] }], kjEnableRowPinning: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEnableRowPinning", required: false }] }], kjEditOnDoubleClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEditOnDoubleClick", required: false }] }], kjRowExpansionTpl: [{ type: i0.ContentChild, args: ['kjRowExpansion', { isSignal: true }] }], cellEdit: [{ type: i0.Output, args: ["cellEdit"] }], stateChange: [{ type: i0.Output, args: ["stateChange"] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], rowDoubleClick: [{ type: i0.Output, args: ["rowDoubleClick"] }] } });
14903
+ }], ctorParameters: () => [], propDecorators: { kjResource: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjResource", required: false }] }], kjDensity: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjDensity", required: false }] }], kjVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjVariant", required: false }] }], kjLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjLoading", required: false }] }], kjSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSelection", required: false }] }, { type: i0.Output, args: ["kjSelectionChange"] }], kjSelectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjSelectionMode", required: false }] }], kjShowSelectionColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjShowSelectionColumn", required: false }] }], kjStorageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjStorageKey", required: false }] }], kjStorageAdapter: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjStorageAdapter", required: false }] }], kjVirtual: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjVirtual", required: false }] }], kjEstimatedRowSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEstimatedRowSize", required: false }] }], kjEnableFilters: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEnableFilters", required: false }] }], kjEnableResize: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEnableResize", required: false }] }], kjEnableRowPinning: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEnableRowPinning", required: false }] }], kjEditOnDoubleClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "kjEditOnDoubleClick", required: false }] }], kjRowExpansionTpl: [{ type: i0.ContentChild, args: ['kjRowExpansion', { isSignal: true }] }], cellTemplates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KjCellTemplateDirective), { isSignal: true }] }], cellEdit: [{ type: i0.Output, args: ["cellEdit"] }], stateChange: [{ type: i0.Output, args: ["stateChange"] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], rowDoubleClick: [{ type: i0.Output, args: ["rowDoubleClick"] }] } });
14818
14904
  // ── helpers ───────────────────────────────────────────────────────────────
14819
14905
  function cellMeta(col) {
14820
14906
  return col.columnDef.meta?.kj;
@@ -17896,5 +17982,5 @@ const KJ_COMPONENTS_VERSION = '0.0.1';
17896
17982
  * Generated bundle index. Do not edit.
17897
17983
  */
17898
17984
 
17899
- export { KJ_COMPONENTS_VERSION, KJ_EDITOR_CONTRACT, KJ_FILTER_CONTEXT, KjAccordionComponent, KjAccordionContentComponent, KjAccordionItemComponent, KjAccordionTriggerComponent, KjAlertActionsComponent, KjAlertComponent, KjAlertDescriptionComponent, KjAlertDismissComponent, KjAlertIconComponent, KjAlertTitleComponent, KjAvatarComponent, KjAvatarGroupComponent, KjBadgeComponent, KjBooleanEditor, KjBreadcrumbComponent, KjBreadcrumbCurrentComponent, KjBreadcrumbEllipsisComponent, KjBreadcrumbItemComponent, KjBreadcrumbLinkComponent, KjBreadcrumbListComponent, KjBreadcrumbSeparatorComponent, KjBulkAction, KjButtonComponent, KjButtonGroupComponent, KjCalendarComponent, KjCardComponent, KjCardContentComponent, KjCardCoverComponent, KjCardFooterComponent, KjCardHeaderComponent, KjCardSubtitleComponent, KjCardTitleComponent, KjCarouselAutoplayComponent, KjCarouselComponent, KjCarouselIndicatorsComponent, KjCarouselNextComponent, KjCarouselPauseComponent, KjCarouselPreviousComponent, KjCarouselSlideComponent, KjCarouselViewportComponent, KjCascadeOptionComponent, KjCascadeSelectComponent, KjCascadeSubPanelComponent, KjCellEditorOutlet, KjChatAvatarComponent, KjChatBubbleComponent, KjChatComponent, KjChatFooterComponent, KjChatHeaderComponent, KjChatLogComponent, KjCheckboxComponent, KjColorPickerComponent, KjComboboxComponent, KjComboboxEmptyComponent, KjComboboxLoadingComponent, KjComboboxOptionComponent, KjCommandEmptyComponent, KjCommandGroupComponent, KjCommandInputComponent, KjCommandItemComponent, KjCommandPaletteComponent, KjCommandPaletteFooter, KjCommandPaletteItemTemplate, KjCommandSeparatorComponent, KjConfirmPopupActionComponent, KjConfirmPopupActionsComponent, KjConfirmPopupCancelComponent, KjConfirmPopupComponent, KjConfirmPopupContentComponent, KjConfirmPopupMessageComponent, KjConfirmPopupTriggerComponent, KjDateEditor, KjDateFilter, KjDatePickerComponent, KjDatetimePickerComponent, KjDialogComponent, KjDividerComponent, KjDrawerComponent, KjDropdownMenuComponent, KjEmptyStateActionsComponent, KjEmptyStateComponent, KjEmptyStateDescriptionComponent, KjEmptyStateIconComponent, KjEmptyStateTitleComponent, KjFieldComponent, KjFieldErrorComponent, KjFieldGroupComponent, KjFieldHelpComponent, KjFieldLabelComponent, KjFileUploadComponent, KjFilterCellOutlet, KjFormActionsComponent, KjFormComponent, KjFormSummaryComponent, KjIconGalleryExample, KjIconUsageExample, KjInputComponent, KjInputGroupAddonComponent, KjInputGroupComponent, KjInputMaskComponent, KjInputMaskCreditCardExample, KjInputMaskCustomTokensExample, KjInputMaskDateExample, KjInputMaskExample, KjInputMaskUsageExample, KjInputMaskValidationExample, KjInputOtpComponent, KjKbdComponent, KjLinkComponent, KjListComponent, KjListItemComponent, KjMenubarComponent, KjMenubarItemComponent, KjNumberEditor, KjNumberFilter, KjNumberInputComponent, KjOptionComponent, KjOverlayBadgeComponent, KjOverlayBadgeContentComponent, KjPaginationComponent, KjPaginationDefaultComponent, KjPaginationEllipsisComponent, KjPaginationFirstComponent, KjPaginationInfoComponent, KjPaginationItemComponent, KjPaginationLastComponent, KjPaginationNextComponent, KjPaginationPreviousComponent, KjPasswordInputComponent, KjPopoverComponent, KjProgressBarComponent, KjRadioComponent, KjRadioGroupComponent, KjSelectComponent, KjSelectEditor, KjSelectFilter, KjSkeletonComponent, KjSliderComponent, KjSpeedDialActionComponent, KjSpeedDialActionsComponent, KjSpeedDialComponent, KjSpeedDialTriggerComponent, KjSpinnerComponent, KjStepComponent, KjStepContentComponent, KjStepLabelComponent, KjStepperComponent, KjStepperNextComponent, KjStepperPreviousComponent, KjStepperResetComponent, KjTabComponent, KjTabListComponent, KjTabPanelComponent, KjTableComponent, KjTablePaginationComponent, KjTableSidePanelComponent, KjTableSidePanelContent, KjTableStatusBarComponent, KjTableToolbarComponent, KjTableVirtual, KjTabsComponent, KjTagComponent, KjTagListComponent, KjTagRemoveComponent, KjTextEditor, KjTextFilter, KjTextareaComponent, KjTimePickerComponent, KjToastCloseComponent, KjToastComponent, KjToastViewportComponent, KjToastWrapperComponent, KjToggleComponent, KjTooltipComponent, KjTreeSelectComponent, KjTreeSelectNodeComponent, LUCIDE_ICON_NAMES, copyToClipboard, downloadString, exportCsv, exportJson, provideLucideIcons, toTsv };
17985
+ export { KJ_COMPONENTS_VERSION, KJ_EDITOR_CONTRACT, KJ_FILTER_CONTEXT, KjAccordionComponent, KjAccordionContentComponent, KjAccordionItemComponent, KjAccordionTriggerComponent, KjAlertActionsComponent, KjAlertComponent, KjAlertDescriptionComponent, KjAlertDismissComponent, KjAlertIconComponent, KjAlertTitleComponent, KjAvatarComponent, KjAvatarGroupComponent, KjBadgeComponent, KjBooleanEditor, KjBreadcrumbComponent, KjBreadcrumbCurrentComponent, KjBreadcrumbEllipsisComponent, KjBreadcrumbItemComponent, KjBreadcrumbLinkComponent, KjBreadcrumbListComponent, KjBreadcrumbSeparatorComponent, KjBulkAction, KjButtonComponent, KjButtonGroupComponent, KjCalendarComponent, KjCardComponent, KjCardContentComponent, KjCardCoverComponent, KjCardFooterComponent, KjCardHeaderComponent, KjCardSubtitleComponent, KjCardTitleComponent, KjCarouselAutoplayComponent, KjCarouselComponent, KjCarouselIndicatorsComponent, KjCarouselNextComponent, KjCarouselPauseComponent, KjCarouselPreviousComponent, KjCarouselSlideComponent, KjCarouselViewportComponent, KjCascadeOptionComponent, KjCascadeSelectComponent, KjCascadeSubPanelComponent, KjCellEditorOutlet, KjCellTemplateDirective, KjChatAvatarComponent, KjChatBubbleComponent, KjChatComponent, KjChatFooterComponent, KjChatHeaderComponent, KjChatLogComponent, KjCheckboxComponent, KjColorPickerComponent, KjComboboxComponent, KjComboboxEmptyComponent, KjComboboxLoadingComponent, KjComboboxOptionComponent, KjCommandEmptyComponent, KjCommandGroupComponent, KjCommandInputComponent, KjCommandItemComponent, KjCommandPaletteComponent, KjCommandPaletteFooter, KjCommandPaletteItemTemplate, KjCommandSeparatorComponent, KjConfirmPopupActionComponent, KjConfirmPopupActionsComponent, KjConfirmPopupCancelComponent, KjConfirmPopupComponent, KjConfirmPopupContentComponent, KjConfirmPopupMessageComponent, KjConfirmPopupTriggerComponent, KjDateEditor, KjDateFilter, KjDatePickerComponent, KjDatetimePickerComponent, KjDialogComponent, KjDividerComponent, KjDrawerComponent, KjDropdownMenuComponent, KjEmptyStateActionsComponent, KjEmptyStateComponent, KjEmptyStateDescriptionComponent, KjEmptyStateIconComponent, KjEmptyStateTitleComponent, KjFieldComponent, KjFieldErrorComponent, KjFieldGroupComponent, KjFieldHelpComponent, KjFieldLabelComponent, KjFileUploadComponent, KjFilterCellOutlet, KjFormActionsComponent, KjFormComponent, KjFormSummaryComponent, KjIconGalleryExample, KjIconUsageExample, KjInputComponent, KjInputGroupAddonComponent, KjInputGroupComponent, KjInputMaskComponent, KjInputMaskCreditCardExample, KjInputMaskCustomTokensExample, KjInputMaskDateExample, KjInputMaskExample, KjInputMaskUsageExample, KjInputMaskValidationExample, KjInputOtpComponent, KjKbdComponent, KjLinkComponent, KjListComponent, KjListItemComponent, KjMenubarComponent, KjMenubarItemComponent, KjNumberEditor, KjNumberFilter, KjNumberInputComponent, KjOptionComponent, KjOverlayBadgeComponent, KjOverlayBadgeContentComponent, KjPaginationComponent, KjPaginationDefaultComponent, KjPaginationEllipsisComponent, KjPaginationFirstComponent, KjPaginationInfoComponent, KjPaginationItemComponent, KjPaginationLastComponent, KjPaginationNextComponent, KjPaginationPreviousComponent, KjPasswordInputComponent, KjPopoverComponent, KjProgressBarComponent, KjRadioComponent, KjRadioGroupComponent, KjSelectComponent, KjSelectEditor, KjSelectFilter, KjSkeletonComponent, KjSliderComponent, KjSpeedDialActionComponent, KjSpeedDialActionsComponent, KjSpeedDialComponent, KjSpeedDialTriggerComponent, KjSpinnerComponent, KjStepComponent, KjStepContentComponent, KjStepLabelComponent, KjStepperComponent, KjStepperNextComponent, KjStepperPreviousComponent, KjStepperResetComponent, KjTabComponent, KjTabListComponent, KjTabPanelComponent, KjTableComponent, KjTablePaginationComponent, KjTableSidePanelComponent, KjTableSidePanelContent, KjTableStatusBarComponent, KjTableToolbarComponent, KjTableVirtual, KjTabsComponent, KjTagComponent, KjTagListComponent, KjTagRemoveComponent, KjTextEditor, KjTextFilter, KjTextareaComponent, KjTimePickerComponent, KjToastCloseComponent, KjToastComponent, KjToastViewportComponent, KjToastWrapperComponent, KjToggleComponent, KjTooltipComponent, KjTreeSelectComponent, KjTreeSelectNodeComponent, LUCIDE_ICON_NAMES, copyToClipboard, downloadString, exportCsv, exportJson, provideLucideIcons, toTsv };
17900
17986
  //# sourceMappingURL=kouji-ui-components.mjs.map