@kouji-ui/components 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kouji-ui/components",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Opinionated styled Angular components built on @kouji-ui/core directives. Themed at runtime via @kouji-ui/themes.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -485,6 +485,10 @@ declare class KjAvatarGroupComponent {
485
485
  * --kj-badge-dot-size — Diameter of the leading dot (when `dot` is set).
486
486
  * --kj-badge-dot-color — Fill of the leading dot. Defaults to currentColor.
487
487
  *
488
+ * Custom colours: the `bg` / `fg` / `dotColor` inputs set these variables as
489
+ * inline styles on the badge span, so they win over any variant or theme rule.
490
+ * Use for data-driven colour maps (status pills, role badges).
491
+ *
488
492
  * @doc-category Library/Data display
489
493
  * @doc
490
494
  * @doc-name badge
@@ -495,8 +499,14 @@ declare class KjBadgeComponent {
495
499
  readonly variant: _angular_core.InputSignal<KjBadgeVariant>;
496
500
  readonly size: _angular_core.InputSignal<"md" | "xs" | "sm" | "lg">;
497
501
  readonly dot: _angular_core.InputSignalWithTransform<boolean, unknown>;
502
+ /** Custom background — any CSS color/var(). Wins over the variant (inline style). Empty = variant colours. */
503
+ readonly bg: _angular_core.InputSignal<string>;
504
+ /** Custom foreground — any CSS color/var(). Wins over the variant (inline style). */
505
+ readonly fg: _angular_core.InputSignal<string>;
506
+ /** Custom dot colour (with `dot`). Defaults to currentColor via the theme. */
507
+ readonly dotColor: _angular_core.InputSignal<string>;
498
508
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjBadgeComponent, never>;
499
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjBadgeComponent, "kj-badge", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
509
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjBadgeComponent, "kj-badge", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; "bg": { "alias": "bg"; "required": false; "isSignal": true; }; "fg": { "alias": "fg"; "required": false; "isSignal": true; }; "dotColor": { "alias": "dotColor"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
500
510
  }
501
511
 
502
512
  /**
@@ -2067,6 +2077,71 @@ declare class KjDatePickerComponent {
2067
2077
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjDatePickerComponent, "kj-date-picker", never, { "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjOpen": { "alias": "kjOpen"; "required": false; "isSignal": true; }; "kjMin": { "alias": "kjMin"; "required": false; "isSignal": true; }; "kjMax": { "alias": "kjMax"; "required": false; "isSignal": true; }; "kjDisabledDates": { "alias": "kjDisabledDates"; "required": false; "isSignal": true; }; "kjLocale": { "alias": "kjLocale"; "required": false; "isSignal": true; }; "kjFirstDayOfWeek": { "alias": "kjFirstDayOfWeek"; "required": false; "isSignal": true; }; "kjPlaceholder": { "alias": "kjPlaceholder"; "required": false; "isSignal": true; }; "kjReadonly": { "alias": "kjReadonly"; "required": false; "isSignal": true; }; "kjDisabled": { "alias": "kjDisabled"; "required": false; "isSignal": true; }; "kjSize": { "alias": "kjSize"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjOpen": "kjOpenChange"; }, never, never, true, never>;
2068
2078
  }
2069
2079
 
2080
+ /** Format a Date as a locale short date + HH:mm time. */
2081
+ declare function formatDateTime(d: Date, locale: string): string;
2082
+ /**
2083
+ * Themed datetime picker — the date-picker's calendar popover plus a time
2084
+ * field in the panel. Value is a single native `Date` carrying both parts.
2085
+ *
2086
+ * Unlike `kj-date-picker`, selecting a calendar day keeps the panel open so
2087
+ * the time can be adjusted; the day merge preserves the current time-of-day
2088
+ * (defaults to 09:00 for a fresh value). Close with Escape or by clicking
2089
+ * outside.
2090
+ *
2091
+ * @doc-example Default
2092
+ * Pick a meeting date and time — a single `Date` two-way binding.
2093
+ * @doc-file datetime-picker.example.ts
2094
+ *
2095
+ * @doc-keyboard
2096
+ * Enter|ArrowDown — Opens the calendar popover from the trigger
2097
+ * Escape — Closes the popover and returns focus to the trigger
2098
+ *
2099
+ * @doc-css-var
2100
+ * --kj-datetime-picker-input-height — Height of the trigger input. Sizes override.
2101
+ *
2102
+ * @doc-related date-picker,calendar,time-picker
2103
+ *
2104
+ * @doc-category Library/Data input
2105
+ * @doc
2106
+ * @doc-name datetime-picker
2107
+ * @doc-description Themed date + time picker sharing one native Date value; calendar popover with a time field.
2108
+ * @doc-is-main
2109
+ */
2110
+ declare class KjDatetimePickerComponent {
2111
+ /** Selected date + time. Two-way bindable — `[(kjValue)]`. `null` clears. */
2112
+ readonly kjValue: _angular_core.ModelSignal<Date | null>;
2113
+ /** Two-way bindable open state for the popover. */
2114
+ readonly kjOpen: _angular_core.ModelSignal<boolean>;
2115
+ /** Earliest selectable date (inclusive). */
2116
+ readonly kjMin: _angular_core.InputSignal<Date | null>;
2117
+ /** Latest selectable date (inclusive). */
2118
+ readonly kjMax: _angular_core.InputSignal<Date | null>;
2119
+ /** BCP-47 locale tag. Defaults to Angular's `LOCALE_ID`. */
2120
+ readonly kjLocale: _angular_core.InputSignal<string>;
2121
+ /** First day of the week override (0=Sun … 6=Sat). */
2122
+ readonly kjFirstDayOfWeek: _angular_core.InputSignal<number | null>;
2123
+ /** Placeholder text for the trigger input. */
2124
+ readonly kjPlaceholder: _angular_core.InputSignal<string>;
2125
+ /** Label for the time row inside the panel. */
2126
+ readonly kjTimeLabel: _angular_core.InputSignal<string>;
2127
+ /** Hour used when a day is picked on a previously-empty value. */
2128
+ readonly kjDefaultHour: _angular_core.InputSignal<number>;
2129
+ readonly kjReadonly: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
2130
+ readonly kjDisabled: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
2131
+ /** Size preset for the trigger input. */
2132
+ readonly kjSize: _angular_core.InputSignal<"md" | "xs" | "sm" | "lg">;
2133
+ /** Trigger display: locale short date + HH:mm. */
2134
+ readonly displayFormat: typeof formatDateTime;
2135
+ readonly timeText: _angular_core.Signal<string>;
2136
+ /** Merge the picked day into the value, preserving time-of-day. Keeps the
2137
+ * panel open so the time can be adjusted next. */
2138
+ onCalendarSelect(day: Date | null): void;
2139
+ /** Merge an "HH:mm" time into the value, preserving the date part. */
2140
+ onTimeInput(event: Event): void;
2141
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KjDatetimePickerComponent, never>;
2142
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjDatetimePickerComponent, "kj-datetime-picker", never, { "kjValue": { "alias": "kjValue"; "required": false; "isSignal": true; }; "kjOpen": { "alias": "kjOpen"; "required": false; "isSignal": true; }; "kjMin": { "alias": "kjMin"; "required": false; "isSignal": true; }; "kjMax": { "alias": "kjMax"; "required": false; "isSignal": true; }; "kjLocale": { "alias": "kjLocale"; "required": false; "isSignal": true; }; "kjFirstDayOfWeek": { "alias": "kjFirstDayOfWeek"; "required": false; "isSignal": true; }; "kjPlaceholder": { "alias": "kjPlaceholder"; "required": false; "isSignal": true; }; "kjTimeLabel": { "alias": "kjTimeLabel"; "required": false; "isSignal": true; }; "kjDefaultHour": { "alias": "kjDefaultHour"; "required": false; "isSignal": true; }; "kjReadonly": { "alias": "kjReadonly"; "required": false; "isSignal": true; }; "kjDisabled": { "alias": "kjDisabled"; "required": false; "isSignal": true; }; "kjSize": { "alias": "kjSize"; "required": false; "isSignal": true; }; }, { "kjValue": "kjValueChange"; "kjOpen": "kjOpenChange"; }, never, never, true, never>;
2143
+ }
2144
+
2070
2145
  /**
2071
2146
  * Service-launched modal dialog. Inject `KjDialogService` and call `open()`
2072
2147
  * with a template; mount `[kjDialog]` once near your trigger to host the
@@ -2960,7 +3035,7 @@ declare class KjIconUsageExample {
2960
3035
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<KjIconUsageExample, "kj-icon-usage-example", never, {}, {}, never, never, true, never>;
2961
3036
  }
2962
3037
 
2963
- type KjInputType = 'text' | 'email' | 'password' | 'number' | 'search' | 'tel' | 'url' | 'color';
3038
+ type KjInputType = 'text' | 'email' | 'password' | 'number' | 'search' | 'tel' | 'url' | 'color' | 'date' | 'time' | 'datetime-local';
2964
3039
  /** Visual variants — `default` uses the field surface; `sunken` drops to
2965
3040
  * body bg so the input pops against a card/surface parent. */
2966
3041
  type KjInputVariant = 'default' | 'sunken';
@@ -4180,7 +4255,7 @@ declare class KjNumberInputComponent {
4180
4255
  readonly kjCurrency: _angular_core.InputSignal<string>;
4181
4256
  readonly kjCurrencyDisplay: _angular_core.InputSignal<"symbol" | "name" | "code" | "narrowSymbol">;
4182
4257
  readonly kjUnit: _angular_core.InputSignal<string>;
4183
- readonly kjUnitDisplay: _angular_core.InputSignal<"short" | "long" | "narrow">;
4258
+ readonly kjUnitDisplay: _angular_core.InputSignal<"long" | "short" | "narrow">;
4184
4259
  readonly kjUseGrouping: _angular_core.InputSignalWithTransform<boolean, unknown>;
4185
4260
  readonly kjMinimumFractionDigits: _angular_core.InputSignal<number>;
4186
4261
  readonly kjMaximumFractionDigits: _angular_core.InputSignal<number>;
@@ -8032,5 +8107,5 @@ declare class KjTreeSelectComponent {
8032
8107
 
8033
8108
  declare const KJ_COMPONENTS_VERSION = "0.0.1";
8034
8109
 
8035
- 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, 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 };
8110
+ 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 };
8036
8111
  export type { ExportOptions, KjCellEditEvent, KjChatBubbleSize, KjChatBubbleVariant, KjDateRange, KjEditorContract, KjEmptyStateLevel, KjEmptyStateLive, KjEmptyStateVariant, KjFilterContext, KjInputSize, KjInputType, KjInputVariant, KjNumberRange, KjRowClickEvent, KjSelectEditorOption, KjSelectFilterOption, KjSpeedDialPosition, KjTableDensity, KjTableExportFormat };