cerxos-ui 0.0.20 → 0.0.21

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.
@@ -434,7 +434,7 @@ const VARIANT_CLASSES$8 = {
434
434
  danger: 'border-[var(--cxs-color-danger)] bg-[var(--cxs-color-surface)] ' +
435
435
  'text-[var(--cxs-color-danger)]'
436
436
  };
437
- const SIZE_CLASSES$8 = {
437
+ const SIZE_CLASSES$9 = {
438
438
  sm: 'text-[11px]',
439
439
  md: 'text-xs'
440
440
  };
@@ -442,7 +442,7 @@ class CxsBadgeComponent {
442
442
  variant = 'primary';
443
443
  size = 'md';
444
444
  get badgeClass() {
445
- return [BASE_CLASSES$a, VARIANT_CLASSES$8[this.variant], SIZE_CLASSES$8[this.size]].join(' ');
445
+ return [BASE_CLASSES$a, VARIANT_CLASSES$8[this.variant], SIZE_CLASSES$9[this.size]].join(' ');
446
446
  }
447
447
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CxsBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
448
448
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.10", type: CxsBadgeComponent, isStandalone: true, selector: "cxs-badge", inputs: { variant: "variant", size: "size" }, ngImport: i0, template: "<span [class]=\"badgeClass\">\n <ng-content></ng-content>\n</span>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -459,7 +459,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
459
459
  const BASE_CLASSES$9 = 'inline-flex items-center justify-center overflow-hidden border border-[var(--cxs-color-border)] ' +
460
460
  'bg-[var(--cxs-color-primary-ghost)] text-[var(--cxs-color-primary)] font-semibold uppercase ' +
461
461
  'select-none';
462
- const SIZE_CLASSES$7 = {
462
+ const SIZE_CLASSES$8 = {
463
463
  sm: 'h-8 w-8 text-[11px]',
464
464
  md: 'h-10 w-10 text-xs',
465
465
  lg: 'h-14 w-14 text-sm'
@@ -490,7 +490,7 @@ class CxsAvatarComponent {
490
490
  this.hostClass = hostClass;
491
491
  }
492
492
  get avatarClass() {
493
- return [BASE_CLASSES$9, SIZE_CLASSES$7[this.size], SHAPE_CLASSES[this.shape], this.hostClass]
493
+ return [BASE_CLASSES$9, SIZE_CLASSES$8[this.size], SHAPE_CLASSES[this.shape], this.hostClass]
494
494
  .filter(Boolean)
495
495
  .join(' ');
496
496
  }
@@ -566,7 +566,7 @@ const LINK_BASE_CLASSES = 'rounded-[var(--cxs-radius-md)] transition-colors focu
566
566
  const NON_LINK_CLASSES = 'text-[var(--cxs-color-on-surface-muted)]';
567
567
  const SEPARATOR_CLASSES = 'text-[var(--cxs-color-on-surface-muted)] select-none';
568
568
  const DISABLED_CLASSES = 'text-[var(--cxs-color-on-surface-muted)] opacity-60';
569
- const SIZE_CLASSES$6 = {
569
+ const SIZE_CLASSES$7 = {
570
570
  sm: 'text-xs',
571
571
  md: 'text-sm',
572
572
  lg: 'text-base'
@@ -587,7 +587,7 @@ class CxsBreadcrumbComponent {
587
587
  variant = 'default';
588
588
  disabled = false;
589
589
  get listClass() {
590
- return [BASE_CLASSES$8, SIZE_CLASSES$6[this.size], this.disabled ? 'opacity-60' : '']
590
+ return [BASE_CLASSES$8, SIZE_CLASSES$7[this.size], this.disabled ? 'opacity-60' : '']
591
591
  .filter(Boolean)
592
592
  .join(' ');
593
593
  }
@@ -649,7 +649,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
649
649
  }] } });
650
650
 
651
651
  const BASE_CLASSES$7 = 'inline-block shrink-0';
652
- const SIZE_CLASSES$5 = {
652
+ const SIZE_CLASSES$6 = {
653
653
  sm: 'h-4 w-4',
654
654
  md: 'h-5 w-5',
655
655
  lg: 'h-6 w-6'
@@ -770,7 +770,7 @@ class CxsIconComponent {
770
770
  return icon;
771
771
  }
772
772
  get iconClass() {
773
- return [BASE_CLASSES$7, SIZE_CLASSES$5[this.size], this.hostClass].filter(Boolean).join(' ');
773
+ return [BASE_CLASSES$7, SIZE_CLASSES$6[this.size], this.hostClass].filter(Boolean).join(' ');
774
774
  }
775
775
  get titleId() {
776
776
  return this.label ? `cxs-icon-title-${this.instanceId}` : null;
@@ -809,7 +809,7 @@ const VARIANT_CLASSES$7 = {
809
809
  'hover:bg-[var(--cxs-color-primary-ghost)]',
810
810
  ghost: 'bg-transparent text-[var(--cxs-color-primary)] hover:bg-[var(--cxs-color-primary-ghost)]'
811
811
  };
812
- const SIZE_CLASSES$4 = {
812
+ const SIZE_CLASSES$5 = {
813
813
  sm: 'h-8 px-3 text-sm rounded-[var(--cxs-radius-md)]',
814
814
  md: 'h-10 px-4 text-sm rounded-[var(--cxs-radius-md)]',
815
815
  lg: 'h-12 px-5 text-base rounded-[var(--cxs-radius-md)]'
@@ -860,7 +860,7 @@ class CxsButtonComponent {
860
860
  get buttonClass() {
861
861
  return [
862
862
  BASE_CLASSES$6,
863
- this.iconOnly ? ICON_ONLY_SIZE_CLASSES[this.size] : SIZE_CLASSES$4[this.size],
863
+ this.iconOnly ? ICON_ONLY_SIZE_CLASSES[this.size] : SIZE_CLASSES$5[this.size],
864
864
  VARIANT_CLASSES$7[this.variant],
865
865
  this.iconOnly ? 'gap-0' : '',
866
866
  this.hostClass
@@ -904,7 +904,7 @@ const VARIANT_CLASSES$6 = {
904
904
  muted: 'bg-[var(--cxs-color-surface-hover)]',
905
905
  outline: 'bg-transparent'
906
906
  };
907
- const SIZE_CLASSES$3 = {
907
+ const SIZE_CLASSES$4 = {
908
908
  sm: 'p-3',
909
909
  md: 'p-5',
910
910
  lg: 'p-7'
@@ -919,7 +919,7 @@ class CxsCardComponent {
919
919
  return [
920
920
  BASE_CLASSES$5,
921
921
  VARIANT_CLASSES$6[this.variant],
922
- SIZE_CLASSES$3[this.size],
922
+ SIZE_CLASSES$4[this.size],
923
923
  this.elevated ? 'shadow-[var(--cxs-shadow-sm)]' : ''
924
924
  ]
925
925
  .filter(Boolean)
@@ -2045,7 +2045,7 @@ const VARIANT_CLASSES$5 = {
2045
2045
  outline: 'bg-[var(--cxs-color-surface)]',
2046
2046
  filled: 'bg-[var(--cxs-color-surface-hover)]'
2047
2047
  };
2048
- const SIZE_CLASSES$2 = {
2048
+ const SIZE_CLASSES$3 = {
2049
2049
  sm: 'h-8 px-3 text-sm',
2050
2050
  md: 'h-10 px-3 text-sm',
2051
2051
  lg: 'h-12 px-4 text-base'
@@ -2115,7 +2115,7 @@ class CxsDatepickerComponent {
2115
2115
  get inputClass() {
2116
2116
  return [
2117
2117
  BASE_CLASSES$4,
2118
- SIZE_CLASSES$2[this.size],
2118
+ SIZE_CLASSES$3[this.size],
2119
2119
  VARIANT_CLASSES$5[this.variant],
2120
2120
  this.invalid ? INVALID_CLASSES$4 : ''
2121
2121
  ]
@@ -2647,7 +2647,7 @@ const VARIANT_CLASSES$4 = {
2647
2647
  outline: 'bg-[var(--cxs-color-surface)]',
2648
2648
  filled: 'bg-[var(--cxs-color-surface-hover)]'
2649
2649
  };
2650
- const SIZE_CLASSES$1 = {
2650
+ const SIZE_CLASSES$2 = {
2651
2651
  sm: 'h-8 px-3 text-sm',
2652
2652
  md: 'h-10 px-3 text-sm',
2653
2653
  lg: 'h-12 px-4 text-base'
@@ -2695,7 +2695,7 @@ class CxsInputComponent {
2695
2695
  get inputClass() {
2696
2696
  return [
2697
2697
  BASE_CLASSES$3,
2698
- SIZE_CLASSES$1[this.size],
2698
+ SIZE_CLASSES$2[this.size],
2699
2699
  VARIANT_CLASSES$4[this.variant],
2700
2700
  this.invalid ? INVALID_CLASSES$3 : ''
2701
2701
  ]
@@ -3670,6 +3670,115 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
3670
3670
  type: Output
3671
3671
  }] } });
3672
3672
 
3673
+ const CHIP_BASE = 'inline-flex items-center gap-2 rounded-[var(--cxs-radius-md)] border ' +
3674
+ 'font-medium transition-colors cursor-pointer select-none ' +
3675
+ 'peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 ' +
3676
+ 'peer-focus-visible:outline-[var(--cxs-color-focus)]';
3677
+ const TONE_CLASSES = {
3678
+ primary: 'border-[var(--cxs-color-primary)] bg-[var(--cxs-color-primary-ghost)] ' +
3679
+ 'text-[var(--cxs-color-primary)]',
3680
+ danger: 'border-[var(--cxs-color-danger)] bg-[var(--cxs-color-danger-surface)] ' +
3681
+ 'text-[var(--cxs-color-danger)]',
3682
+ neutral: 'border-[var(--cxs-color-border)] bg-[var(--cxs-color-surface)] ' +
3683
+ 'text-[var(--cxs-color-on-surface)]'
3684
+ };
3685
+ const SELECTED_CLASSES = 'ring-2 ring-offset-2 ring-current';
3686
+ const SIZE_CLASSES$1 = {
3687
+ sm: 'min-h-8 px-3 py-1 text-xs',
3688
+ md: 'min-h-10 px-4 py-2 text-sm',
3689
+ lg: 'min-h-12 px-5 py-2.5 text-base'
3690
+ };
3691
+ class CxsRadioChipGroupComponent {
3692
+ changeDetector;
3693
+ static nextId = 0;
3694
+ label = '';
3695
+ options = [];
3696
+ disabled = false;
3697
+ invalid = false;
3698
+ required = false;
3699
+ size = 'md';
3700
+ valueChange = new EventEmitter();
3701
+ groupId = `cxs-radio-chip-group-${CxsRadioChipGroupComponent.nextId++}`;
3702
+ value = null;
3703
+ disabledFromControl = false;
3704
+ onChange = () => { };
3705
+ onTouched = () => { };
3706
+ constructor(changeDetector) {
3707
+ this.changeDetector = changeDetector;
3708
+ }
3709
+ get isDisabled() {
3710
+ return this.disabled || this.disabledFromControl;
3711
+ }
3712
+ chipClass(option) {
3713
+ return [
3714
+ CHIP_BASE,
3715
+ SIZE_CLASSES$1[this.size],
3716
+ TONE_CLASSES[option.tone],
3717
+ this.value === option.value ? SELECTED_CLASSES : '',
3718
+ this.invalid ? 'outline outline-1 outline-[var(--cxs-color-danger)]' : '',
3719
+ this.isDisabled ? 'cursor-not-allowed opacity-60' : ''
3720
+ ]
3721
+ .filter(Boolean)
3722
+ .join(' ');
3723
+ }
3724
+ writeValue(value) {
3725
+ this.value = value ?? null;
3726
+ this.changeDetector.markForCheck();
3727
+ }
3728
+ registerOnChange(fn) {
3729
+ this.onChange = fn;
3730
+ }
3731
+ registerOnTouched(fn) {
3732
+ this.onTouched = fn;
3733
+ }
3734
+ setDisabledState(disabled) {
3735
+ this.disabledFromControl = disabled;
3736
+ this.changeDetector.markForCheck();
3737
+ }
3738
+ select(value) {
3739
+ if (this.isDisabled)
3740
+ return;
3741
+ this.value = value;
3742
+ this.onChange(value);
3743
+ this.valueChange.emit(value);
3744
+ }
3745
+ markTouched() {
3746
+ this.onTouched();
3747
+ }
3748
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CxsRadioChipGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3749
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: CxsRadioChipGroupComponent, isStandalone: true, selector: "cxs-radio-chip-group", inputs: { label: "label", options: "options", disabled: "disabled", invalid: "invalid", required: "required", size: "size" }, outputs: { valueChange: "valueChange" }, providers: [
3750
+ {
3751
+ provide: NG_VALUE_ACCESSOR,
3752
+ useExisting: forwardRef(() => CxsRadioChipGroupComponent),
3753
+ multi: true
3754
+ }
3755
+ ], ngImport: i0, template: "<fieldset class=\"min-w-0\" [disabled]=\"isDisabled\" [attr.aria-invalid]=\"invalid ? 'true' : null\">\n @if (label) {\n <legend class=\"mb-1 text-sm font-medium text-[var(--cxs-color-on-surface)]\">{{ label }}</legend>\n }\n <div class=\"flex flex-wrap gap-3\">\n @for (option of options; track option.value) {\n <label class=\"relative inline-flex\">\n <input\n class=\"peer sr-only\"\n type=\"radio\"\n [name]=\"groupId\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n [disabled]=\"isDisabled\"\n [required]=\"required\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n (change)=\"select(option.value)\"\n (blur)=\"markTouched()\"\n />\n <span [class]=\"chipClass(option)\">\n @if (value === option.value) {\n <span aria-hidden=\"true\">&#10003;</span>\n }\n {{ option.label }}\n </span>\n </label>\n }\n </div>\n</fieldset>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
3756
+ }
3757
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CxsRadioChipGroupComponent, decorators: [{
3758
+ type: Component,
3759
+ args: [{ selector: 'cxs-radio-chip-group', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
3760
+ {
3761
+ provide: NG_VALUE_ACCESSOR,
3762
+ useExisting: forwardRef(() => CxsRadioChipGroupComponent),
3763
+ multi: true
3764
+ }
3765
+ ], template: "<fieldset class=\"min-w-0\" [disabled]=\"isDisabled\" [attr.aria-invalid]=\"invalid ? 'true' : null\">\n @if (label) {\n <legend class=\"mb-1 text-sm font-medium text-[var(--cxs-color-on-surface)]\">{{ label }}</legend>\n }\n <div class=\"flex flex-wrap gap-3\">\n @for (option of options; track option.value) {\n <label class=\"relative inline-flex\">\n <input\n class=\"peer sr-only\"\n type=\"radio\"\n [name]=\"groupId\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n [disabled]=\"isDisabled\"\n [required]=\"required\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n (change)=\"select(option.value)\"\n (blur)=\"markTouched()\"\n />\n <span [class]=\"chipClass(option)\">\n @if (value === option.value) {\n <span aria-hidden=\"true\">&#10003;</span>\n }\n {{ option.label }}\n </span>\n </label>\n }\n </div>\n</fieldset>\n" }]
3766
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { label: [{
3767
+ type: Input
3768
+ }], options: [{
3769
+ type: Input
3770
+ }], disabled: [{
3771
+ type: Input
3772
+ }], invalid: [{
3773
+ type: Input
3774
+ }], required: [{
3775
+ type: Input
3776
+ }], size: [{
3777
+ type: Input
3778
+ }], valueChange: [{
3779
+ type: Output
3780
+ }] } });
3781
+
3673
3782
  const BASE_CLASSES$2 = 'w-full appearance-none rounded-[var(--cxs-radius-md)] border border-[var(--cxs-color-border)] ' +
3674
3783
  'bg-[var(--cxs-color-surface)] text-[var(--cxs-color-on-surface)] ' +
3675
3784
  'placeholder:text-[var(--cxs-color-on-surface-muted)] transition-colors ' +
@@ -4873,5 +4982,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
4873
4982
  * Generated bundle index. Do not edit.
4874
4983
  */
4875
4984
 
4876
- export { CXS_USER_PREFERENCE_CHANGED_EVENT, CXS_USER_SESSION_STORAGE_KEY, CerxosUi, CxsAccordionComponent, CxsAccordionItemComponent, CxsActionMenuComponent, CxsAlertComponent, CxsAvatarComponent, CxsBadgeComponent, CxsBreadcrumbComponent, CxsButtonComponent, CxsCardComponent, CxsCarouselComponent, CxsCheckboxComponent, CxsCurrencyPipe, CxsDataTableCellDirective, CxsDataTableComponent, CxsDatePipe, CxsDatepickerComponent, CxsDialogComponent, CxsHabitGridComponent, CxsIconComponent, CxsInputComponent, CxsMenubarComponent, CxsMultiSelectComponent, CxsPreferenceFormattingService, CxsProgressBarComponent, CxsRadioComponent, CxsSelectComponent, CxsSkeletonComponent, CxsSliderComponent, CxsTabLabelDirective, CxsTabPanelComponent, CxsTableComponent, CxsTabsComponent, CxsThemeDirective, CxsToastComponent, CxsToggleComponent, CxsTooltipComponent };
4985
+ export { CXS_USER_PREFERENCE_CHANGED_EVENT, CXS_USER_SESSION_STORAGE_KEY, CerxosUi, CxsAccordionComponent, CxsAccordionItemComponent, CxsActionMenuComponent, CxsAlertComponent, CxsAvatarComponent, CxsBadgeComponent, CxsBreadcrumbComponent, CxsButtonComponent, CxsCardComponent, CxsCarouselComponent, CxsCheckboxComponent, CxsCurrencyPipe, CxsDataTableCellDirective, CxsDataTableComponent, CxsDatePipe, CxsDatepickerComponent, CxsDialogComponent, CxsHabitGridComponent, CxsIconComponent, CxsInputComponent, CxsMenubarComponent, CxsMultiSelectComponent, CxsPreferenceFormattingService, CxsProgressBarComponent, CxsRadioChipGroupComponent, CxsRadioComponent, CxsSelectComponent, CxsSkeletonComponent, CxsSliderComponent, CxsTabLabelDirective, CxsTabPanelComponent, CxsTableComponent, CxsTabsComponent, CxsThemeDirective, CxsToastComponent, CxsToggleComponent, CxsTooltipComponent };
4877
4986
  //# sourceMappingURL=cerxos-ui.mjs.map