@dataworkz/crystal 0.1.0-beta.5 → 0.1.0-beta.6
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/CHANGELOG.md +13 -0
- package/fesm2022/dataworkz-crystal.mjs +240 -5
- package/fesm2022/dataworkz-crystal.mjs.map +1 -1
- package/index.d.ts +119 -8
- package/package.json +2 -1
- package/styles/components/form.css +8 -2
package/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, EnvironmentProviders, OnDestroy, TemplateRef, OnInit } from '@angular/core';
|
|
3
3
|
import { StorageIconSet, DwPrimeIcon } from '@dataworkz/crystal/icons';
|
|
4
4
|
export { DW_ICON_NAMES, DW_ICON_PREFIX, DwIconName, DwPrimeIcon, IconName, dwIconName, icon } from '@dataworkz/crystal/icons';
|
|
5
|
-
import { ValidationErrors, AbstractControl, NgModel,
|
|
5
|
+
import { ValidationErrors, NgControl, AbstractControl, NgModel, ControlValueAccessor } from '@angular/forms';
|
|
6
6
|
import { MenuItem, SortMeta, SortEvent } from 'primeng/api';
|
|
7
7
|
import { UrlTree } from '@angular/router';
|
|
8
8
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
@@ -449,7 +449,7 @@ declare class DwAvatarComponent {
|
|
|
449
449
|
readonly name: _angular_core.InputSignal<string | null>;
|
|
450
450
|
readonly initials: _angular_core.InputSignal<DwInitialsStrategy>;
|
|
451
451
|
readonly src: _angular_core.InputSignal<string | null>;
|
|
452
|
-
readonly size: _angular_core.InputSignal<"sm" | "md" | "
|
|
452
|
+
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xs">;
|
|
453
453
|
/** Colour of the tile; neutral grey by default. */
|
|
454
454
|
readonly tint: _angular_core.InputSignal<DwAvatarTint>;
|
|
455
455
|
readonly presence: _angular_core.InputSignal<boolean | null>;
|
|
@@ -487,7 +487,7 @@ declare class DwEntityIconComponent {
|
|
|
487
487
|
readonly src: _angular_core.InputSignal<string | null>;
|
|
488
488
|
readonly fallback: _angular_core.InputSignal<string | undefined>;
|
|
489
489
|
readonly storageSet: _angular_core.InputSignal<StorageIconSet>;
|
|
490
|
-
readonly size: _angular_core.InputSignal<"sm" | "md" | "
|
|
490
|
+
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xs" | "xl">;
|
|
491
491
|
readonly framed: _angular_core.InputSignal<boolean>;
|
|
492
492
|
readonly tint: _angular_core.InputSignal<DwEntityTint>;
|
|
493
493
|
readonly alt: _angular_core.InputSignal<string>;
|
|
@@ -540,7 +540,7 @@ declare function provideCrystalIconResolvers(resolvers: DwIconResolvers): Enviro
|
|
|
540
540
|
* ```
|
|
541
541
|
*/
|
|
542
542
|
declare class DwSpinnerComponent {
|
|
543
|
-
readonly size: _angular_core.InputSignal<"sm" | "md" | "
|
|
543
|
+
readonly size: _angular_core.InputSignal<"sm" | "md" | "lg" | "xs">;
|
|
544
544
|
readonly mode: _angular_core.InputSignal<"inline" | "block" | "overlay" | "fullscreen">;
|
|
545
545
|
readonly label: _angular_core.InputSignal<string>;
|
|
546
546
|
readonly hostClasses: _angular_core.Signal<string>;
|
|
@@ -638,7 +638,7 @@ declare class DwEmptyStateComponent {
|
|
|
638
638
|
readonly imageWidth: _angular_core.InputSignal<string>;
|
|
639
639
|
readonly title: _angular_core.InputSignal<string>;
|
|
640
640
|
readonly text: _angular_core.InputSignal<string>;
|
|
641
|
-
readonly tone: _angular_core.InputSignal<"
|
|
641
|
+
readonly tone: _angular_core.InputSignal<"error" | "default">;
|
|
642
642
|
readonly size: _angular_core.InputSignal<"default" | "inline" | "compact">;
|
|
643
643
|
readonly hostClasses: _angular_core.Signal<string>;
|
|
644
644
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DwEmptyStateComponent, never>;
|
|
@@ -963,7 +963,7 @@ declare class DwFieldComponent {
|
|
|
963
963
|
readonly help: _angular_core.InputSignal<string>;
|
|
964
964
|
readonly layout: _angular_core.InputSignal<"inline" | "stacked">;
|
|
965
965
|
readonly labelWidth: _angular_core.InputSignal<string>;
|
|
966
|
-
readonly control: _angular_core.InputSignal<AbstractControl<any, any, any> | NgModel |
|
|
966
|
+
readonly control: _angular_core.InputSignal<NgControl | AbstractControl<any, any, any> | NgModel | null>;
|
|
967
967
|
/** Per-field message overrides by validator key. */
|
|
968
968
|
readonly errors: _angular_core.InputSignal<Record<string, string> | null>;
|
|
969
969
|
/** Manual error message (template-driven forms or server errors). */
|
|
@@ -2455,6 +2455,8 @@ declare abstract class DwFormControl<T> implements ControlValueAccessor, OnInit
|
|
|
2455
2455
|
* `prepare` runs just before each write, for inputs the control reads while writing (a radio's own value).
|
|
2456
2456
|
* Only this control's value and what `prepare` reads are tracked: PrimeNG's own signals, which `writeValue` reads and
|
|
2457
2457
|
* sets, are not, or a write that changes one would run the effect again, without end.
|
|
2458
|
+
* The user's own change is not written back (as with ngModel): the control has it already, and some redraw on a
|
|
2459
|
+
* write (a date picker turns its calendar to the written date's month).
|
|
2458
2460
|
*/
|
|
2459
2461
|
protected drive<C extends DwPrimeValueAccessor<T>>(prime: () => C | undefined, prepare?: (control: C) => void): void;
|
|
2460
2462
|
/** The control lost focus. */
|
|
@@ -2764,6 +2766,115 @@ declare class DwNumberInputComponent extends DwFormControl<number> {
|
|
|
2764
2766
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DwNumberInputComponent, "dw-number-input", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "minFractionDigits": { "alias": "minFractionDigits"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "required": false; "isSignal": true; }; "useGrouping": { "alias": "useGrouping"; "required": false; "isSignal": true; }; "showButtons": { "alias": "showButtons"; "required": false; "isSignal": true; }; "buttonLayout": { "alias": "buttonLayout"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fluid": { "alias": "fluid"; "required": false; "isSignal": true; }; }, { "focused": "focused"; "blurred": "blurred"; }, never, never, true, never>;
|
|
2765
2767
|
}
|
|
2766
2768
|
|
|
2769
|
+
/** What a date picker holds: one date, or a list of them for `selectionMode="range"` (start, end) and `"multiple"`. */
|
|
2770
|
+
type DwDateValue = Date | (Date | null)[];
|
|
2771
|
+
/**
|
|
2772
|
+
* Crystal's date (and time) picker, PrimeNG's DatePicker underneath, which the app never imports. A text field that
|
|
2773
|
+
* opens a calendar appended to `<body>`, or the calendar alone with `inline`. It picks one date, a range or several
|
|
2774
|
+
* dates, optionally with a time. Works with ngModel and reactive forms, inside `dw-field`, or on its own with
|
|
2775
|
+
* `[(value)]`.
|
|
2776
|
+
*
|
|
2777
|
+
* `dateFormat` uses PrimeNG's tokens: `yy` is the four-digit year, `mm` / `M` the month as a number / short name and
|
|
2778
|
+
* `dd` the day, so `"yy-mm-dd"` shows 2026-03-14 and `"M dd, yy"` shows Mar 14, 2026.
|
|
2779
|
+
*
|
|
2780
|
+
* ```html
|
|
2781
|
+
* <dw-date-picker dateFormat="yy-mm-dd" [maxDate]="today" placeholder="Start date" formControlName="start" />
|
|
2782
|
+
* <dw-date-picker [showTime]="true" [showSeconds]="true" [showIcon]="true" [(ngModel)]="runAt" (changed)="save()" />
|
|
2783
|
+
* <dw-date-picker [inline]="true" selectionMode="range" [numberOfMonths]="2" [compact]="true" [(value)]="range" />
|
|
2784
|
+
* ```
|
|
2785
|
+
*/
|
|
2786
|
+
declare class DwDatePickerComponent<T extends DwDateValue = Date> extends DwFormControl<T> {
|
|
2787
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
2788
|
+
/** How the field shows the date, in PrimeNG's tokens (see above); PrimeNG's locale format (`mm/dd/yy`) when omitted. */
|
|
2789
|
+
readonly dateFormat: _angular_core.InputSignal<string | undefined>;
|
|
2790
|
+
/** Picks a time as well as a date. */
|
|
2791
|
+
readonly showTime: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2792
|
+
readonly showSeconds: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2793
|
+
readonly hourFormat: _angular_core.InputSignal<"12" | "24">;
|
|
2794
|
+
/** The earliest and latest dates that can be picked. */
|
|
2795
|
+
readonly minDate: _angular_core.InputSignal<Date | null | undefined>;
|
|
2796
|
+
readonly maxDate: _angular_core.InputSignal<Date | null | undefined>;
|
|
2797
|
+
/** One date, a start and an end (`range`), or any number of dates (`multiple`). */
|
|
2798
|
+
readonly selectionMode: _angular_core.InputSignal<"single" | "range" | "multiple">;
|
|
2799
|
+
/** Shows the calendar itself, always open, instead of a field. */
|
|
2800
|
+
readonly inline: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2801
|
+
readonly numberOfMonths: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2802
|
+
/** Shows the days of the months before and after, greyed. */
|
|
2803
|
+
readonly showOtherMonths: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2804
|
+
/** A calendar icon: a button beside the field, or drawn inside it (`iconDisplay="input"`). */
|
|
2805
|
+
readonly showIcon: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2806
|
+
readonly iconDisplay: _angular_core.InputSignal<"button" | "input">;
|
|
2807
|
+
/** An × in the field that clears it. */
|
|
2808
|
+
readonly showClear: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2809
|
+
/** Smaller day cells, type and time picker, for a calendar inside a popover or a narrow panel. */
|
|
2810
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2811
|
+
/** The calendar's z-index floor, for a picker inside an overlay that sits above crystal's own layers. */
|
|
2812
|
+
readonly baseZIndex: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
2813
|
+
readonly inputId: _angular_core.InputSignal<string | undefined>;
|
|
2814
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
2815
|
+
readonly size: _angular_core.InputSignal<DwControlSize>;
|
|
2816
|
+
readonly fluid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2817
|
+
/** A day (or time) was picked in the calendar; `changed` also follows typing. */
|
|
2818
|
+
readonly selected: _angular_core.OutputEmitterRef<Date>;
|
|
2819
|
+
readonly focused: _angular_core.OutputEmitterRef<void>;
|
|
2820
|
+
readonly blurred: _angular_core.OutputEmitterRef<void>;
|
|
2821
|
+
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
2822
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
2823
|
+
protected readonly primeSize: _angular_core.Signal<"small" | "large" | undefined>;
|
|
2824
|
+
private readonly prime;
|
|
2825
|
+
constructor();
|
|
2826
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DwDatePickerComponent<any>, never>;
|
|
2827
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DwDatePickerComponent<any>, "dw-date-picker", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "numberOfMonths": { "alias": "numberOfMonths"; "required": false; "isSignal": true; }; "showOtherMonths": { "alias": "showOtherMonths"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "iconDisplay": { "alias": "iconDisplay"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fluid": { "alias": "fluid"; "required": false; "isSignal": true; }; }, { "selected": "selected"; "focused": "focused"; "blurred": "blurred"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
2828
|
+
}
|
|
2829
|
+
|
|
2830
|
+
type DwChartType = 'line' | 'bar' | 'doughnut' | 'pie' | 'polarArea' | 'radar' | 'scatter' | 'bubble';
|
|
2831
|
+
/** A click on a bar, point or slice: the chart.js element and its dataset. */
|
|
2832
|
+
interface DwChartSelectEvent {
|
|
2833
|
+
originalEvent: Event;
|
|
2834
|
+
element: {
|
|
2835
|
+
datasetIndex: number;
|
|
2836
|
+
index: number;
|
|
2837
|
+
};
|
|
2838
|
+
dataset: unknown[];
|
|
2839
|
+
}
|
|
2840
|
+
/**
|
|
2841
|
+
* Crystal's chart: a chart.js canvas (through PrimeNG's Chart, which the app never imports; chart.js comes with
|
|
2842
|
+
* crystal). `data` and `options` are chart.js's own; a new object for either redraws the chart, and so does a new
|
|
2843
|
+
* `type`, size or `plugins`. A canvas cannot read CSS variables, so resolve colours from the tokens first: `cssVar()` and
|
|
2844
|
+
* `chartPalette()` from `@dataworkz/crystal/tokens`.
|
|
2845
|
+
*
|
|
2846
|
+
* The chart fills its container's width and keeps chart.js's aspect ratio, unless it is given a `height` (or the
|
|
2847
|
+
* options say `maintainAspectRatio: false` and the container has one).
|
|
2848
|
+
*
|
|
2849
|
+
* ```html
|
|
2850
|
+
* <dw-chart type="line" [data]="requests()" [options]="lineOptions" />
|
|
2851
|
+
* <dw-chart [type]="kind()" [data]="series()" [options]="options()" height="240px" (dataSelect)="drill($event)" />
|
|
2852
|
+
* ```
|
|
2853
|
+
*/
|
|
2854
|
+
declare class DwChartComponent {
|
|
2855
|
+
readonly type: _angular_core.InputSignal<DwChartType>;
|
|
2856
|
+
/** chart.js data: `{ labels, datasets }`. */
|
|
2857
|
+
readonly data: _angular_core.InputSignal<object | null | undefined>;
|
|
2858
|
+
/** chart.js options. */
|
|
2859
|
+
readonly options: _angular_core.InputSignal<object | null | undefined>;
|
|
2860
|
+
/** chart.js plugins for this chart only. */
|
|
2861
|
+
readonly plugins: _angular_core.InputSignal<unknown[]>;
|
|
2862
|
+
/** A CSS width / height for the canvas box (`240px`, `100%`); chart.js sizes it when omitted. */
|
|
2863
|
+
readonly width: _angular_core.InputSignal<string | undefined>;
|
|
2864
|
+
readonly height: _angular_core.InputSignal<string | undefined>;
|
|
2865
|
+
/** Redraws the chart when its container resizes. */
|
|
2866
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2867
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
2868
|
+
/** A bar, point or slice was clicked. */
|
|
2869
|
+
readonly dataSelect: _angular_core.OutputEmitterRef<DwChartSelectEvent>;
|
|
2870
|
+
private readonly prime;
|
|
2871
|
+
constructor();
|
|
2872
|
+
/** Redraws the chart in place (animating), after the app changed `data` or `options` without a new object. */
|
|
2873
|
+
refresh(): void;
|
|
2874
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DwChartComponent, never>;
|
|
2875
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DwChartComponent, "dw-chart", never, { "type": { "alias": "type"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "dataSelect": "dataSelect"; }, never, never, true, never>;
|
|
2876
|
+
}
|
|
2877
|
+
|
|
2767
2878
|
/**
|
|
2768
2879
|
* Backend timestamp normalization.
|
|
2769
2880
|
*
|
|
@@ -3311,5 +3422,5 @@ declare function installCrystalHostTheme({ fonts }?: CrystalHostThemeOptions): v
|
|
|
3311
3422
|
/** Removes the host theme again (e.g. a host that unloads crystal, or a test). */
|
|
3312
3423
|
declare function removeCrystalHostTheme(): void;
|
|
3313
3424
|
|
|
3314
|
-
export { DW_APP_FIELD_MESSAGES, DW_CLOCK_TICK_MS, DW_CRYSTAL_CONFIG, DW_DIALOG, DW_DRAWER, DW_FIELD_MESSAGES, DW_HOST_THEME_ATTR, DW_ICON_RESOLVERS, DW_INPUT, DW_IN_PROGRESS_STATUSES, DW_LAYOUT, DW_MENU_PLAIN_GROUP, DW_OVERLAY_ANCHOR_ATTR, DW_OVERLAY_ANCHOR_GAP, DW_POPOVER, DW_RESERVED_ICON_PREFIX, DW_STATUS_TONES, DW_TABLE, DW_TAG_PALETTE, DW_THEME_STORAGE_KEY, DW_TOGGLE_CARD, DwActionBarComponent, DwAvatarComponent, DwBadgeComponent, DwBannerComponent, DwBoxComponent, DwBreadcrumbComponent, DwButtonComponent, DwCardComponent, DwCellDirective, DwCheckToggleComponent, DwCheckboxComponent, DwChipComponent, DwClockService, DwColumnPickerComponent, DwConfirmDialogComponent, DwConfirmHostComponent, DwConfirmService, DwCopyButtonComponent, DwDialogComponent, DwDialogFooterDirective, DwDialogHeaderDirective, DwDialogTitleSuffixDirective, DwDividerComponent, DwDrawerComponent, DwDrawerFooterDirective, DwDrawerHeaderDirective, DwDrawerSubheaderDirective, DwEmptyStateComponent, DwEntityIconComponent, DwFieldComponent, DwFileDropzoneComponent, DwFileListComponent, DwFormControl, DwFormSectionHeaderComponent, DwGridDirective, DwHeaderDirective, DwHstackDirective, DwIconButtonComponent, DwIconComponent, DwIconRegistry, IdBlockComponent as DwIdBlockComponent, DwInputDirective, DwMenuComponent, DwMenuHeaderDirective, DwMeterComponent, DwMultiselectComponent, DwNavItemActionsDirective, DwNavItemExtraDirective, DwNavListComponent, DwNumberInputComponent, DwPageHeaderComponent, DwPopoverComponent, DwPopoverFooterDirective, DwRadioComponent, DwRailTabsComponent, DwResizerComponent, DwRowActionsDirective, DwRowExpansionDirective, DwSearchInputComponent, DwSectionComponent, DwSelectComponent, DwSelectFooterDirective, DwSelectOptionDirective, DwSelectValueDirective, DwSkeletonComponent, DwSpinnerComponent, DwStackDirective, DwStatusPillComponent, DwSwitchComponent, DwTabPanelDirective, DwTableComponent, DwTableEmptyComponent, DwTabsComponent, DwTagColorButtonComponent, DwTagColorPickerComponent, DwTagComponent, DwTagListComponent, DwTextareaDirective, DwTileComponent, DwTimestampComponent, DwToastHostComponent, DwToastService, DwToggleCardBodyDirective, DwToggleCardComponent, DwToggleCardControlDirective, DwTooltipDirective, DwTooltipIfTruncatedDirective, ThemeService, alignUnderOverlayAnchor, extensionOf, fieldErrorMessage, formatBytes, gapToken, hashTagIndex, humanizeStatus, initialsOf, installCrystalHostTheme, isImageIcon, isTruncated, normalizeStatus, primeSize, provideCrystal, provideCrystalFieldMessages, provideCrystalIconResolvers, provideCrystalIcons, removeCrystalHostTheme, tagColorVar, tintFor, toneForStatus };
|
|
3315
|
-
export type { CrystalConfig, CrystalHostThemeOptions, CrystalThemeConfig, DwAlign, DwAvatarTint, DwBadgeKind, DwBadgeTone, DwBreadcrumb, DwButtonAppearance, DwButtonSize, DwButtonVariant, DwCanClose, DwCardTint, DwCardVariant, DwColumn, DwConfirmOptions, DwConfirmSeverity, DwConfirmSummaryRow, DwConfirmWarning, DwControlSize, DwDialogSize, DwDividerOrientation, DwDividerSpacing, DwDrawerAction, DwDrawerSize, DwEntityKind, DwEntityTint, DwFieldMessage, DwFileItem, DwFileRejectReason, DwFileRejection, DwFileStatus, DwGap, DwIconButtonVariant, DwIconResolvers, DwInitialsStrategy, DwInputSize, DwJustify, DwMenuItem, DwNavGroup, DwNavItem, DwNavItemDot, DwNavReorder, DwPrimeValueAccessor, DwRailTab, DwResizerDrag, DwRowClickEvent, DwSelectOptionContext, DwSeverity, DwShowErrorsWhen, DwSkeletonPreset, DwSupportedType, DwSwitchSize, DwTabOption, DwTabValue, DwTagItem, DwTheme, DwToast, DwToastOptions, DwToastPosition, DwToastSeverity, DwTone, DwTooltipPosition, DwTooltipVariant };
|
|
3425
|
+
export { DW_APP_FIELD_MESSAGES, DW_CLOCK_TICK_MS, DW_CRYSTAL_CONFIG, DW_DIALOG, DW_DRAWER, DW_FIELD_MESSAGES, DW_HOST_THEME_ATTR, DW_ICON_RESOLVERS, DW_INPUT, DW_IN_PROGRESS_STATUSES, DW_LAYOUT, DW_MENU_PLAIN_GROUP, DW_OVERLAY_ANCHOR_ATTR, DW_OVERLAY_ANCHOR_GAP, DW_POPOVER, DW_RESERVED_ICON_PREFIX, DW_STATUS_TONES, DW_TABLE, DW_TAG_PALETTE, DW_THEME_STORAGE_KEY, DW_TOGGLE_CARD, DwActionBarComponent, DwAvatarComponent, DwBadgeComponent, DwBannerComponent, DwBoxComponent, DwBreadcrumbComponent, DwButtonComponent, DwCardComponent, DwCellDirective, DwChartComponent, DwCheckToggleComponent, DwCheckboxComponent, DwChipComponent, DwClockService, DwColumnPickerComponent, DwConfirmDialogComponent, DwConfirmHostComponent, DwConfirmService, DwCopyButtonComponent, DwDatePickerComponent, DwDialogComponent, DwDialogFooterDirective, DwDialogHeaderDirective, DwDialogTitleSuffixDirective, DwDividerComponent, DwDrawerComponent, DwDrawerFooterDirective, DwDrawerHeaderDirective, DwDrawerSubheaderDirective, DwEmptyStateComponent, DwEntityIconComponent, DwFieldComponent, DwFileDropzoneComponent, DwFileListComponent, DwFormControl, DwFormSectionHeaderComponent, DwGridDirective, DwHeaderDirective, DwHstackDirective, DwIconButtonComponent, DwIconComponent, DwIconRegistry, IdBlockComponent as DwIdBlockComponent, DwInputDirective, DwMenuComponent, DwMenuHeaderDirective, DwMeterComponent, DwMultiselectComponent, DwNavItemActionsDirective, DwNavItemExtraDirective, DwNavListComponent, DwNumberInputComponent, DwPageHeaderComponent, DwPopoverComponent, DwPopoverFooterDirective, DwRadioComponent, DwRailTabsComponent, DwResizerComponent, DwRowActionsDirective, DwRowExpansionDirective, DwSearchInputComponent, DwSectionComponent, DwSelectComponent, DwSelectFooterDirective, DwSelectOptionDirective, DwSelectValueDirective, DwSkeletonComponent, DwSpinnerComponent, DwStackDirective, DwStatusPillComponent, DwSwitchComponent, DwTabPanelDirective, DwTableComponent, DwTableEmptyComponent, DwTabsComponent, DwTagColorButtonComponent, DwTagColorPickerComponent, DwTagComponent, DwTagListComponent, DwTextareaDirective, DwTileComponent, DwTimestampComponent, DwToastHostComponent, DwToastService, DwToggleCardBodyDirective, DwToggleCardComponent, DwToggleCardControlDirective, DwTooltipDirective, DwTooltipIfTruncatedDirective, ThemeService, alignUnderOverlayAnchor, extensionOf, fieldErrorMessage, formatBytes, gapToken, hashTagIndex, humanizeStatus, initialsOf, installCrystalHostTheme, isImageIcon, isTruncated, normalizeStatus, primeSize, provideCrystal, provideCrystalFieldMessages, provideCrystalIconResolvers, provideCrystalIcons, removeCrystalHostTheme, tagColorVar, tintFor, toneForStatus };
|
|
3426
|
+
export type { CrystalConfig, CrystalHostThemeOptions, CrystalThemeConfig, DwAlign, DwAvatarTint, DwBadgeKind, DwBadgeTone, DwBreadcrumb, DwButtonAppearance, DwButtonSize, DwButtonVariant, DwCanClose, DwCardTint, DwCardVariant, DwChartSelectEvent, DwChartType, DwColumn, DwConfirmOptions, DwConfirmSeverity, DwConfirmSummaryRow, DwConfirmWarning, DwControlSize, DwDateValue, DwDialogSize, DwDividerOrientation, DwDividerSpacing, DwDrawerAction, DwDrawerSize, DwEntityKind, DwEntityTint, DwFieldMessage, DwFileItem, DwFileRejectReason, DwFileRejection, DwFileStatus, DwGap, DwIconButtonVariant, DwIconResolvers, DwInitialsStrategy, DwInputSize, DwJustify, DwMenuItem, DwNavGroup, DwNavItem, DwNavItemDot, DwNavReorder, DwPrimeValueAccessor, DwRailTab, DwResizerDrag, DwRowClickEvent, DwSelectOptionContext, DwSeverity, DwShowErrorsWhen, DwSkeletonPreset, DwSupportedType, DwSwitchSize, DwTabOption, DwTabValue, DwTagItem, DwTheme, DwToast, DwToastOptions, DwToastPosition, DwToastSeverity, DwTone, DwTooltipPosition, DwTooltipVariant };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dataworkz/crystal",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.6",
|
|
4
4
|
"description": "Dataworkz core UI for Angular: dw-* components, icons, toasts, design tokens, theme CSS and bundled fonts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Dataworkz",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@primeng/themes": "^21.0.0",
|
|
32
|
+
"chart.js": "^4.5.1",
|
|
32
33
|
"primeicons": "^7.0.0",
|
|
33
34
|
"primeng": "~20.4.0",
|
|
34
35
|
"tslib": "^2.8.1"
|
|
@@ -233,7 +233,7 @@ dw-field.dw-field--inline:has(.dw-field__control :is(.p-inputtext-sm, .p-textare
|
|
|
233
233
|
.dw-field__control > p-inputnumber,
|
|
234
234
|
.dw-field__control > p-datepicker,
|
|
235
235
|
.dw-field__control > p-autocomplete,
|
|
236
|
-
.dw-field__control > :is(dw-select, dw-multiselect, dw-number-input) { width: 100%; }
|
|
236
|
+
.dw-field__control > :is(dw-select, dw-multiselect, dw-number-input, dw-date-picker) { width: 100%; }
|
|
237
237
|
.dw-field__error { display: inline-flex; align-items: center; gap: var(--dw-space-1); }
|
|
238
238
|
/* Field errors are text only (the red text and border carry the state): no leading icon, even in
|
|
239
239
|
hand-written error lines. */
|
|
@@ -637,7 +637,7 @@ body .dw-var-field .p-textarea {
|
|
|
637
637
|
.dw-check-toggle.is-on .dw-check-toggle__label { color: var(--dw-text-strong); font-weight: var(--dw-font-weight-medium); }
|
|
638
638
|
|
|
639
639
|
/* Compact calendar (inline in popovers): smaller day cells and type, quieter weekday row and a
|
|
640
|
-
tighter time picker. <
|
|
640
|
+
tighter time picker. <dw-date-picker [compact]="true" [inline]="true" />.
|
|
641
641
|
Two classes per rule so they outrank PrimeNG's own (unlayered) datepicker styles. */
|
|
642
642
|
.dw-datepicker--compact .p-datepicker-header { padding: 0 0 var(--dw-space-2); }
|
|
643
643
|
.dw-datepicker--compact .p-datepicker-title,
|
|
@@ -707,3 +707,9 @@ body .dw-var-field .p-textarea {
|
|
|
707
707
|
.dw-number-input { display: inline-flex; min-width: 0; max-width: 100%; vertical-align: middle; }
|
|
708
708
|
.dw-number-input > p-inputnumber { flex: 1 1 auto; min-width: 0; }
|
|
709
709
|
.dw-number-input.dw-number-input--fluid { display: flex; width: 100%; }
|
|
710
|
+
|
|
711
|
+
/* ── dw-date-picker (component): sized by the screen like dw-select; the inline calendar keeps its own width ── */
|
|
712
|
+
.dw-date-picker { display: inline-flex; min-width: 0; max-width: 100%; vertical-align: middle; }
|
|
713
|
+
.dw-date-picker > p-datepicker { flex: 1 1 auto; min-width: 0; }
|
|
714
|
+
.dw-date-picker.dw-date-picker--fluid { display: flex; width: 100%; }
|
|
715
|
+
.dw-date-picker.dw-date-picker--inline > p-datepicker { flex: none; }
|