@truenas/ui-components 0.1.33 → 0.1.35
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.
|
@@ -3242,6 +3242,108 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
3242
3242
|
], template: "<div [ngClass]=\"classes()\">\n <label class=\"tn-radio__label\" [for]=\"id\">\n <input\n #radioEl\n type=\"radio\"\n class=\"tn-radio__input\"\n [id]=\"id\"\n [name]=\"name()\"\n [value]=\"value()\"\n [checked]=\"checked\"\n [disabled]=\"isDisabled()\"\n [required]=\"required()\"\n [attr.data-testid]=\"testId()\"\n [attr.aria-describedby]=\"error() ? id + '-error' : null\"\n [attr.aria-invalid]=\"error() ? 'true' : null\"\n (change)=\"onRadioChange($event)\"\n />\n <span class=\"tn-radio__checkmark\"></span>\n <span class=\"tn-radio__text\">{{ label() }}</span>\n </label>\n\n @if (error()) {\n <div\n class=\"tn-radio__error\"\n role=\"alert\"\n aria-live=\"polite\"\n [id]=\"id + '-error'\"\n >\n {{ error() }}\n </div>\n }\n</div>", styles: [".tn-radio{display:inline-block;margin-bottom:.5rem}.tn-radio__label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:.5rem}.tn-radio__label:hover .tn-radio__checkmark{border-color:var(--tn-primary, #007cba)}.tn-radio__input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.tn-radio__input:focus+.tn-radio__checkmark{outline:2px solid var(--tn-primary, #007cba);outline-offset:2px}.tn-radio__input:checked+.tn-radio__checkmark{border-color:var(--tn-primary, #007cba);background-color:var(--tn-primary, #007cba)}.tn-radio__input:checked+.tn-radio__checkmark:after{display:block}.tn-radio__input:disabled+.tn-radio__checkmark{border-color:var(--tn-lines, #e5e7eb);background-color:var(--tn-alt-bg1, #f8f9fa);cursor:not-allowed}.tn-radio__checkmark{position:relative;height:18px;width:18px;border:2px solid var(--tn-lines, #e5e7eb);border-radius:50%;background-color:transparent;transition:all .2s ease;flex-shrink:0}.tn-radio__checkmark:after{content:\"\";position:absolute;display:none;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background-color:#fff;transform:translate(-50%,-50%)}.tn-radio__text{color:var(--tn-fg1, #000000);font-size:14px;line-height:1.4}.tn-radio__error{margin-top:.25rem;font-size:12px;color:var(--tn-red, #dc3545)}.tn-radio--disabled .tn-radio__label{cursor:not-allowed;opacity:.6}.tn-radio--disabled .tn-radio__text{color:var(--tn-fg2, #6c757d)}.tn-radio--error .tn-radio__checkmark{border-color:var(--tn-red, #dc3545)}\n"] }]
|
|
3243
3243
|
}], propDecorators: { radioEl: [{ type: i0.ViewChild, args: ['radioEl', { isSignal: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], testId: [{ type: i0.Input, args: [{ isSignal: true, alias: "testId", required: false }] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], change: [{ type: i0.Output, args: ["change"] }] } });
|
|
3244
3244
|
|
|
3245
|
+
/**
|
|
3246
|
+
* Harness for interacting with `tn-slide-toggle` in tests.
|
|
3247
|
+
*
|
|
3248
|
+
* @example
|
|
3249
|
+
* ```typescript
|
|
3250
|
+
* const toggle = await loader.getHarness(
|
|
3251
|
+
* TnSlideToggleHarness.with({ label: 'Enable notifications' })
|
|
3252
|
+
* );
|
|
3253
|
+
* await toggle.toggle();
|
|
3254
|
+
* expect(await toggle.isChecked()).toBe(true);
|
|
3255
|
+
* ```
|
|
3256
|
+
*/
|
|
3257
|
+
class TnSlideToggleHarness extends ComponentHarness {
|
|
3258
|
+
static hostSelector = 'tn-slide-toggle';
|
|
3259
|
+
_input = this.locatorFor('.tn-slide-toggle__input');
|
|
3260
|
+
_label = this.locatorForOptional('.tn-slide-toggle__label-text');
|
|
3261
|
+
/**
|
|
3262
|
+
* Gets a `HarnessPredicate` that can be used to search for a slide toggle
|
|
3263
|
+
* with specific attributes.
|
|
3264
|
+
*/
|
|
3265
|
+
static with(options = {}) {
|
|
3266
|
+
return new HarnessPredicate(TnSlideToggleHarness, options)
|
|
3267
|
+
.addOption('label', options.label, (harness, label) => HarnessPredicate.stringMatches(harness.getLabelText(), label))
|
|
3268
|
+
.addOption('testId', options.testId, async (harness, testId) => {
|
|
3269
|
+
return (await harness.getTestId()) === testId;
|
|
3270
|
+
});
|
|
3271
|
+
}
|
|
3272
|
+
/**
|
|
3273
|
+
* Gets the label text of the slide toggle.
|
|
3274
|
+
*
|
|
3275
|
+
* @example
|
|
3276
|
+
* ```typescript
|
|
3277
|
+
* expect(await toggle.getLabelText()).toBe('Enable notifications');
|
|
3278
|
+
* ```
|
|
3279
|
+
*/
|
|
3280
|
+
async getLabelText() {
|
|
3281
|
+
const label = await this._label();
|
|
3282
|
+
return label ? (await label.text()).trim() : '';
|
|
3283
|
+
}
|
|
3284
|
+
/**
|
|
3285
|
+
* Checks whether the slide toggle is currently checked.
|
|
3286
|
+
*
|
|
3287
|
+
* @example
|
|
3288
|
+
* ```typescript
|
|
3289
|
+
* expect(await toggle.isChecked()).toBe(false);
|
|
3290
|
+
* ```
|
|
3291
|
+
*/
|
|
3292
|
+
async isChecked() {
|
|
3293
|
+
const input = await this._input();
|
|
3294
|
+
return (await input.getProperty('checked')) ?? false;
|
|
3295
|
+
}
|
|
3296
|
+
/**
|
|
3297
|
+
* Checks whether the slide toggle is disabled.
|
|
3298
|
+
*/
|
|
3299
|
+
async isDisabled() {
|
|
3300
|
+
const input = await this._input();
|
|
3301
|
+
return (await input.getProperty('disabled')) ?? false;
|
|
3302
|
+
}
|
|
3303
|
+
/**
|
|
3304
|
+
* Checks whether the slide toggle is required.
|
|
3305
|
+
*/
|
|
3306
|
+
async isRequired() {
|
|
3307
|
+
const input = await this._input();
|
|
3308
|
+
return (await input.getProperty('required')) ?? false;
|
|
3309
|
+
}
|
|
3310
|
+
/**
|
|
3311
|
+
* Gets the test ID attribute value.
|
|
3312
|
+
*/
|
|
3313
|
+
async getTestId() {
|
|
3314
|
+
const root = await this.locatorFor('.tn-slide-toggle')();
|
|
3315
|
+
return root.getAttribute('data-testid');
|
|
3316
|
+
}
|
|
3317
|
+
/**
|
|
3318
|
+
* Toggles the slide toggle by clicking the input element.
|
|
3319
|
+
*
|
|
3320
|
+
* @example
|
|
3321
|
+
* ```typescript
|
|
3322
|
+
* await toggle.toggle();
|
|
3323
|
+
* ```
|
|
3324
|
+
*/
|
|
3325
|
+
async toggle() {
|
|
3326
|
+
const input = await this._input();
|
|
3327
|
+
await input.click();
|
|
3328
|
+
}
|
|
3329
|
+
/**
|
|
3330
|
+
* Checks the slide toggle. No-op if already checked.
|
|
3331
|
+
*/
|
|
3332
|
+
async check() {
|
|
3333
|
+
if (!(await this.isChecked())) {
|
|
3334
|
+
await this.toggle();
|
|
3335
|
+
}
|
|
3336
|
+
}
|
|
3337
|
+
/**
|
|
3338
|
+
* Unchecks the slide toggle. No-op if already unchecked.
|
|
3339
|
+
*/
|
|
3340
|
+
async uncheck() {
|
|
3341
|
+
if (await this.isChecked()) {
|
|
3342
|
+
await this.toggle();
|
|
3343
|
+
}
|
|
3344
|
+
}
|
|
3345
|
+
}
|
|
3346
|
+
|
|
3245
3347
|
class TnTabComponent {
|
|
3246
3348
|
label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
3247
3349
|
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
@@ -10715,7 +10817,7 @@ class TnToastComponent {
|
|
|
10715
10817
|
message = signal('', ...(ngDevMode ? [{ debugName: "message" }] : []));
|
|
10716
10818
|
action = signal(null, ...(ngDevMode ? [{ debugName: "action" }] : []));
|
|
10717
10819
|
type = signal(TnToastType.Info, ...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
10718
|
-
position = signal(TnToastPosition.
|
|
10820
|
+
position = signal(TnToastPosition.Top, ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
10719
10821
|
visible = signal(false, ...(ngDevMode ? [{ debugName: "visible" }] : []));
|
|
10720
10822
|
icon = computed(() => TOAST_ICONS[this.type()], ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
10721
10823
|
onAction = () => { };
|
|
@@ -10806,7 +10908,7 @@ class TnToastService {
|
|
|
10806
10908
|
}
|
|
10807
10909
|
const duration = resolvedConfig.duration ?? 4000;
|
|
10808
10910
|
const type = resolvedConfig.type ?? TnToastType.Info;
|
|
10809
|
-
const position = resolvedConfig.position ?? TnToastPosition.
|
|
10911
|
+
const position = resolvedConfig.position ?? TnToastPosition.Top;
|
|
10810
10912
|
// Create ref
|
|
10811
10913
|
const ref = new TnToastRef();
|
|
10812
10914
|
this.activeRef = ref;
|
|
@@ -11545,5 +11647,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
11545
11647
|
* Generated bundle index. Do not edit.
|
|
11546
11648
|
*/
|
|
11547
11649
|
|
|
11548
|
-
export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_THEME_DEFINITIONS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateRangeInputComponent, TnDialog, TnDialogHarness, TnDialogShellComponent, TnDialogTesting, TnDividerComponent, TnDividerDirective, TnDrawerComponent, TnDrawerContainerComponent, TnDrawerContainerHarness, TnDrawerContentComponent, TnDrawerHarness, TnEmptyComponent, TnEmptyHarness, TnExpansionPanelComponent, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnFormFieldHarness, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnInputHarness, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuActivateHoverDirective, TnMenuComponent, TnMenuHarness, TnMenuTesting, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSidePanelActionDirective, TnSidePanelComponent, TnSidePanelHarness, TnSidePanelHeaderActionDirective, TnSlideToggleComponent, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTabsComponent, TnTabsHarness, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
|
|
11650
|
+
export { CommonShortcuts, DEFAULT_THEME, DiskIconComponent, DiskType, FileSizePipe, InputType, LIGHT_THEME, LinuxModifierKeys, LinuxShortcuts, ModifierKeys, QuickShortcuts, ShortcutBuilder, StripMntPrefixPipe, THEME_MAP, THEME_STORAGE_KEY, TN_THEME_DEFINITIONS, TnAutocompleteComponent, TnAutocompleteHarness, TnBannerActionDirective, TnBannerComponent, TnBannerHarness, TnBrandedSpinnerComponent, TnButtonComponent, TnButtonHarness, TnButtonToggleComponent, TnButtonToggleGroupComponent, TnCalendarComponent, TnCalendarHeaderComponent, TnCardComponent, TnCellDefDirective, TnCheckboxComponent, TnCheckboxHarness, TnCheckboxLabelDirective, TnChipComponent, TnConfirmDialogComponent, TnDateInputComponent, TnDateRangeInputComponent, TnDialog, TnDialogHarness, TnDialogShellComponent, TnDialogTesting, TnDividerComponent, TnDividerDirective, TnDrawerComponent, TnDrawerContainerComponent, TnDrawerContainerHarness, TnDrawerContentComponent, TnDrawerHarness, TnEmptyComponent, TnEmptyHarness, TnExpansionPanelComponent, TnFilePickerComponent, TnFilePickerPopupComponent, TnFormFieldComponent, TnFormFieldHarness, TnHeaderCellDefDirective, TnIconButtonComponent, TnIconButtonHarness, TnIconComponent, TnIconHarness, TnIconRegistryService, TnIconTesting, TnInputComponent, TnInputDirective, TnInputHarness, TnKeyboardShortcutComponent, TnKeyboardShortcutService, TnListAvatarDirective, TnListComponent, TnListIconDirective, TnListItemComponent, TnListItemLineDirective, TnListItemPrimaryDirective, TnListItemSecondaryDirective, TnListItemTitleDirective, TnListItemTrailingDirective, TnListOptionComponent, TnListSubheaderComponent, TnMenuActivateHoverDirective, TnMenuComponent, TnMenuHarness, TnMenuTesting, TnMenuTriggerDirective, TnMonthViewComponent, TnMultiYearViewComponent, TnNestedTreeNodeComponent, TnParticleProgressBarComponent, TnProgressBarComponent, TnRadioComponent, TnSelectComponent, TnSelectHarness, TnSelectionListComponent, TnSidePanelActionDirective, TnSidePanelComponent, TnSidePanelHarness, TnSidePanelHeaderActionDirective, TnSlideToggleComponent, TnSlideToggleHarness, TnSliderComponent, TnSliderThumbDirective, TnSliderWithLabelDirective, TnSpinnerComponent, TnSpriteLoaderService, TnStepComponent, TnStepperComponent, TnTabComponent, TnTabHarness, TnTabPanelComponent, TnTabPanelHarness, TnTableColumnDirective, TnTableComponent, TnTabsComponent, TnTabsHarness, TnTheme, TnThemeService, TnTimeInputComponent, TnToastComponent, TnToastMock, TnToastPosition, TnToastRef, TnToastService, TnToastTesting, TnToastType, TnTooltipComponent, TnTooltipDirective, TnTreeComponent, TnTreeFlatDataSource, TnTreeFlattener, TnTreeNodeComponent, TnTreeNodeOutletDirective, TruncatePathPipe, WindowsModifierKeys, WindowsShortcuts, createLucideLibrary, createShortcut, defaultSpriteBasePath, defaultSpriteConfigPath, libIconMarker, registerLucideIcons, setupLucideIntegration, tnIconMarker };
|
|
11549
11651
|
//# sourceMappingURL=truenas-ui-components.mjs.map
|