@egose/shadcn-theme-ng 0.0.27 → 0.1.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/README.md +130 -13
- package/accordion/README.md +3 -0
- package/accordion/fesm2022/accordion.mjs +148 -0
- package/accordion/package.json +25 -0
- package/accordion/types/accordion.d.ts +49 -0
- package/alert/README.md +2 -63
- package/alert/fesm2022/alert.mjs +58 -53
- package/alert/package.json +25 -0
- package/alert-dialog/README.md +11 -0
- package/alert-dialog/fesm2022/alert-dialog.mjs +287 -0
- package/alert-dialog/package.json +25 -0
- package/alert-dialog/types/alert-dialog.d.ts +90 -0
- package/aspect-ratio/README.md +11 -0
- package/aspect-ratio/fesm2022/aspect-ratio.mjs +62 -0
- package/aspect-ratio/package.json +25 -0
- package/aspect-ratio/types/aspect-ratio.d.ts +21 -0
- package/autocomplete/README.md +3 -0
- package/autocomplete/fesm2022/autocomplete.mjs +391 -0
- package/autocomplete/package.json +24 -0
- package/autocomplete/types/autocomplete.d.ts +96 -0
- package/avatar/README.md +11 -0
- package/avatar/fesm2022/avatar.mjs +178 -0
- package/avatar/package.json +25 -0
- package/avatar/types/avatar.d.ts +50 -0
- package/badge/README.md +2 -63
- package/badge/fesm2022/badge.mjs +69 -63
- package/badge/package.json +25 -0
- package/basic-alert/README.md +2 -63
- package/basic-alert/fesm2022/basic-alert.mjs +14 -22
- package/basic-alert/package.json +24 -0
- package/breadcrumb/README.md +11 -0
- package/breadcrumb/fesm2022/breadcrumb.mjs +218 -0
- package/breadcrumb/package.json +25 -0
- package/breadcrumb/types/breadcrumb.d.ts +57 -0
- package/button/README.md +2 -63
- package/button/fesm2022/button.mjs +201 -177
- package/button/package.json +25 -0
- package/button/{index.d.ts → types/button.d.ts} +31 -10
- package/button-group/README.md +11 -0
- package/button-group/fesm2022/button-group.mjs +102 -0
- package/button-group/package.json +25 -0
- package/button-group/types/button-group.d.ts +30 -0
- package/calendar/README.md +2 -63
- package/calendar/fesm2022/calendar.mjs +178 -570
- package/calendar/package.json +24 -0
- package/calendar/types/calendar.d.ts +94 -0
- package/card/README.md +11 -0
- package/card/fesm2022/card.mjs +169 -0
- package/card/package.json +25 -0
- package/card/types/card.d.ts +54 -0
- package/carousel/README.md +11 -0
- package/carousel/fesm2022/carousel.mjs +267 -0
- package/carousel/package.json +25 -0
- package/carousel/types/carousel.d.ts +84 -0
- package/checkbox/README.md +3 -0
- package/checkbox/fesm2022/checkbox.mjs +113 -0
- package/checkbox/package.json +24 -0
- package/checkbox/types/checkbox.d.ts +56 -0
- package/collapsible/README.md +11 -0
- package/collapsible/fesm2022/collapsible.mjs +77 -0
- package/collapsible/package.json +25 -0
- package/collapsible/types/collapsible.d.ts +27 -0
- package/combobox/README.md +11 -0
- package/combobox/fesm2022/combobox.mjs +547 -0
- package/combobox/package.json +25 -0
- package/combobox/types/combobox.d.ts +151 -0
- package/command/README.md +11 -0
- package/command/fesm2022/command.mjs +301 -0
- package/command/package.json +25 -0
- package/command/types/command.d.ts +89 -0
- package/confirmation-dialog/README.md +3 -0
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +79 -0
- package/confirmation-dialog/package.json +24 -0
- package/confirmation-dialog/types/confirmation-dialog.d.ts +28 -0
- package/context-menu/README.md +11 -0
- package/context-menu/fesm2022/context-menu.mjs +89 -0
- package/context-menu/package.json +25 -0
- package/context-menu/types/context-menu.d.ts +34 -0
- package/date-picker/README.md +2 -63
- package/date-picker/fesm2022/date-picker.mjs +1104 -352
- package/date-picker/package.json +24 -0
- package/date-picker/types/date-picker.d.ts +555 -0
- package/dialog/README.md +3 -0
- package/dialog/fesm2022/dialog.mjs +281 -0
- package/dialog/package.json +24 -0
- package/dialog/types/dialog.d.ts +95 -0
- package/drawer/README.md +11 -0
- package/drawer/fesm2022/drawer.mjs +261 -0
- package/drawer/package.json +25 -0
- package/drawer/types/drawer.d.ts +76 -0
- package/dropdown-menu/README.md +11 -0
- package/dropdown-menu/fesm2022/dropdown-menu.mjs +554 -0
- package/dropdown-menu/package.json +25 -0
- package/dropdown-menu/types/dropdown-menu.d.ts +180 -0
- package/empty/README.md +11 -0
- package/empty/fesm2022/empty.mjs +151 -0
- package/empty/package.json +25 -0
- package/empty/types/empty.d.ts +54 -0
- package/field/README.md +11 -0
- package/field/fesm2022/field.mjs +351 -0
- package/field/package.json +25 -0
- package/field/types/field.d.ts +107 -0
- package/form-checkbox/README.md +3 -0
- package/form-checkbox/fesm2022/form-checkbox.mjs +94 -0
- package/form-checkbox/package.json +24 -0
- package/form-checkbox/types/form-checkbox.d.ts +33 -0
- package/form-date-picker/README.md +2 -63
- package/form-date-picker/fesm2022/form-date-picker.mjs +74 -120
- package/form-date-picker/package.json +24 -0
- package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +7 -1
- package/form-field/README.md +2 -63
- package/form-field/fesm2022/form-field.mjs +54 -28
- package/form-field/package.json +25 -0
- package/form-field/types/form-field.d.ts +46 -0
- package/form-field-simple/README.md +2 -63
- package/form-field-simple/fesm2022/form-field-simple.mjs +15 -10
- package/form-field-simple/package.json +24 -0
- package/form-searchable-multiselect/README.md +3 -0
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +98 -0
- package/form-searchable-multiselect/package.json +24 -0
- package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +36 -0
- package/form-select/README.md +2 -63
- package/form-select/fesm2022/form-select.mjs +85 -141
- package/form-select/package.json +24 -0
- package/form-select/{index.d.ts → types/form-select.d.ts} +7 -1
- package/form-text-input/README.md +2 -63
- package/form-text-input/fesm2022/form-text-input.mjs +86 -171
- package/form-text-input/package.json +24 -0
- package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +9 -12
- package/form-textarea/README.md +2 -63
- package/form-textarea/fesm2022/form-textarea.mjs +77 -128
- package/form-textarea/package.json +24 -0
- package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +8 -1
- package/hover-card/README.md +11 -0
- package/hover-card/fesm2022/hover-card.mjs +123 -0
- package/hover-card/package.json +25 -0
- package/hover-card/types/hover-card.d.ts +36 -0
- package/icon/README.md +2 -63
- package/icon/fesm2022/icon.mjs +12 -10
- package/icon/package.json +25 -0
- package/input/README.md +2 -63
- package/input/fesm2022/input.mjs +25 -70
- package/input/package.json +25 -0
- package/input/types/input.d.ts +19 -0
- package/input-group/README.md +11 -0
- package/input-group/fesm2022/input-group.mjs +199 -0
- package/input-group/package.json +25 -0
- package/input-group/types/input-group.d.ts +52 -0
- package/input-otp/README.md +11 -0
- package/input-otp/fesm2022/input-otp.mjs +141 -0
- package/input-otp/package.json +25 -0
- package/input-otp/types/input-otp.d.ts +43 -0
- package/item/README.md +11 -0
- package/item/fesm2022/item.mjs +278 -0
- package/item/package.json +25 -0
- package/item/types/item.d.ts +101 -0
- package/kbd/README.md +11 -0
- package/kbd/fesm2022/kbd.mjs +61 -0
- package/kbd/package.json +25 -0
- package/kbd/types/kbd.d.ts +22 -0
- package/label/README.md +2 -63
- package/label/fesm2022/label.mjs +12 -11
- package/label/package.json +25 -0
- package/label/{index.d.ts → types/label.d.ts} +1 -1
- package/layout-simple/README.md +3 -0
- package/layout-simple/fesm2022/layout-simple.mjs +388 -0
- package/layout-simple/package.json +24 -0
- package/layout-simple/types/layout-simple.d.ts +167 -0
- package/menu/README.md +3 -0
- package/menu/fesm2022/menu.mjs +455 -0
- package/menu/package.json +24 -0
- package/menu/types/menu.d.ts +137 -0
- package/menubar/README.md +11 -0
- package/menubar/fesm2022/menubar.mjs +108 -0
- package/menubar/package.json +25 -0
- package/menubar/types/menubar.d.ts +40 -0
- package/native-select/README.md +11 -0
- package/native-select/fesm2022/native-select.mjs +207 -0
- package/native-select/package.json +25 -0
- package/native-select/types/native-select.d.ts +70 -0
- package/navigation-menu/README.md +11 -0
- package/navigation-menu/fesm2022/navigation-menu.mjs +194 -0
- package/navigation-menu/package.json +25 -0
- package/navigation-menu/types/navigation-menu.d.ts +54 -0
- package/package.json +284 -63
- package/pagination/README.md +11 -0
- package/pagination/fesm2022/pagination.mjs +522 -0
- package/pagination/package.json +25 -0
- package/pagination/types/pagination.d.ts +192 -0
- package/popover/README.md +2 -63
- package/popover/fesm2022/popover.mjs +124 -30
- package/popover/package.json +24 -0
- package/popover/types/popover.d.ts +54 -0
- package/progress/README.md +11 -0
- package/progress/fesm2022/progress.mjs +77 -0
- package/progress/package.json +25 -0
- package/progress/types/progress.d.ts +27 -0
- package/radio-group/README.md +3 -0
- package/radio-group/fesm2022/radio-group.mjs +207 -0
- package/radio-group/package.json +25 -0
- package/radio-group/types/radio-group.d.ts +71 -0
- package/resizable/README.md +11 -0
- package/resizable/fesm2022/resizable.mjs +103 -0
- package/resizable/package.json +25 -0
- package/resizable/types/resizable.d.ts +32 -0
- package/scroll-area/README.md +11 -0
- package/scroll-area/fesm2022/scroll-area.mjs +51 -0
- package/scroll-area/package.json +25 -0
- package/scroll-area/types/scroll-area.d.ts +16 -0
- package/searchable-multiselect/README.md +3 -0
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +136 -0
- package/searchable-multiselect/package.json +24 -0
- package/searchable-multiselect/types/searchable-multiselect.d.ts +45 -0
- package/select/README.md +2 -63
- package/select/fesm2022/select.mjs +340 -198
- package/select/package.json +25 -0
- package/select/types/select.d.ts +121 -0
- package/separator/README.md +2 -63
- package/separator/fesm2022/separator.mjs +17 -15
- package/separator/package.json +24 -0
- package/separator/{index.d.ts → types/separator.d.ts} +4 -5
- package/sheet/README.md +2 -63
- package/sheet/fesm2022/sheet.mjs +56 -61
- package/sheet/package.json +24 -0
- package/sidebar/README.md +11 -0
- package/sidebar/fesm2022/sidebar.mjs +846 -0
- package/sidebar/package.json +25 -0
- package/sidebar/types/sidebar.d.ts +237 -0
- package/skeleton/README.md +11 -0
- package/skeleton/fesm2022/skeleton.mjs +44 -0
- package/skeleton/package.json +25 -0
- package/skeleton/types/skeleton.d.ts +16 -0
- package/slider/README.md +11 -0
- package/slider/fesm2022/slider.mjs +74 -0
- package/slider/package.json +25 -0
- package/slider/types/slider.d.ts +19 -0
- package/sonner/README.md +2 -63
- package/sonner/fesm2022/sonner.mjs +34 -39
- package/sonner/package.json +25 -0
- package/spinner/README.md +2 -63
- package/spinner/fesm2022/spinner.mjs +20 -16
- package/spinner/package.json +25 -0
- package/switch/README.md +2 -63
- package/switch/fesm2022/switch.mjs +28 -27
- package/switch/package.json +25 -0
- package/table/README.md +11 -0
- package/table/fesm2022/table.mjs +211 -0
- package/table/package.json +25 -0
- package/table/types/table.d.ts +87 -0
- package/tabs/README.md +3 -0
- package/tabs/fesm2022/tabs.mjs +210 -0
- package/tabs/package.json +25 -0
- package/tabs/types/tabs.d.ts +71 -0
- package/textarea/README.md +11 -0
- package/textarea/fesm2022/textarea.mjs +47 -0
- package/textarea/package.json +25 -0
- package/textarea/types/textarea.d.ts +18 -0
- package/toggle/README.md +11 -0
- package/toggle/fesm2022/toggle.mjs +78 -0
- package/toggle/package.json +25 -0
- package/toggle/types/toggle.d.ts +27 -0
- package/toggle-group/README.md +11 -0
- package/toggle-group/fesm2022/toggle-group.mjs +117 -0
- package/toggle-group/package.json +25 -0
- package/toggle-group/types/toggle-group.d.ts +45 -0
- package/tooltip/README.md +3 -0
- package/tooltip/fesm2022/tooltip.mjs +72 -0
- package/tooltip/package.json +25 -0
- package/tooltip/types/tooltip.d.ts +22 -0
- package/typography/README.md +11 -0
- package/typography/fesm2022/typography.mjs +242 -0
- package/typography/package.json +25 -0
- package/typography/types/typography.d.ts +94 -0
- package/utils/README.md +2 -63
- package/utils/fesm2022/utils.mjs +209 -2
- package/utils/package.json +25 -0
- package/utils/types/utils.d.ts +13 -0
- package/alert/fesm2022/alert.mjs.map +0 -1
- package/badge/fesm2022/badge.mjs.map +0 -1
- package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
- package/button/fesm2022/button.mjs.map +0 -1
- package/calendar/fesm2022/calendar.mjs.map +0 -1
- package/calendar/index.d.ts +0 -111
- package/date-picker/fesm2022/date-picker.mjs.map +0 -1
- package/date-picker/index.d.ts +0 -227
- package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
- package/form-field/fesm2022/form-field.mjs.map +0 -1
- package/form-field/index.d.ts +0 -37
- package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
- package/form-select/fesm2022/form-select.mjs.map +0 -1
- package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
- package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
- package/icon/fesm2022/icon.mjs.map +0 -1
- package/input/fesm2022/input.mjs.map +0 -1
- package/input/index.d.ts +0 -41
- package/label/fesm2022/label.mjs.map +0 -1
- package/popover/fesm2022/popover.mjs.map +0 -1
- package/popover/index.d.ts +0 -30
- package/select/fesm2022/select.mjs.map +0 -1
- package/select/index.d.ts +0 -92
- package/separator/fesm2022/separator.mjs.map +0 -1
- package/sheet/fesm2022/sheet.mjs.map +0 -1
- package/sonner/fesm2022/sonner.mjs.map +0 -1
- package/spinner/fesm2022/spinner.mjs.map +0 -1
- package/switch/fesm2022/switch.mjs.map +0 -1
- package/utils/fesm2022/utils.mjs.map +0 -1
- package/utils/index.d.ts +0 -5
- /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
- /package/badge/{index.d.ts → types/badge.d.ts} +0 -0
- /package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +0 -0
- /package/form-field-simple/{index.d.ts → types/form-field-simple.d.ts} +0 -0
- /package/icon/{index.d.ts → types/icon.d.ts} +0 -0
- /package/sheet/{index.d.ts → types/sheet.d.ts} +0 -0
- /package/sonner/{index.d.ts → types/sonner.d.ts} +0 -0
- /package/spinner/{index.d.ts → types/spinner.d.ts} +0 -0
- /package/switch/{index.d.ts → types/switch.d.ts} +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive, InjectionToken, inject, input, booleanAttribute, computed, effect, forwardRef, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/cdk/menu';
|
|
4
|
+
import { CdkMenuBar, CdkMenuTrigger, CdkMenuItem } from '@angular/cdk/menu';
|
|
5
|
+
import { classes } from '@egose/shadcn-theme-ng/utils';
|
|
6
|
+
import { createMenuPosition, MENU_SIDE } from '@spartan-ng/brain/core';
|
|
7
|
+
|
|
8
|
+
class HlmMenubar {
|
|
9
|
+
constructor() {
|
|
10
|
+
classes(() => "bg-background h-9 gap-1 rounded-md border p-1 shadow-xs flex items-center");
|
|
11
|
+
}
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmMenubar, isStandalone: true, selector: "[hlmMenubar],hlm-menubar", host: { attributes: { "data-slot": "menubar" } }, hostDirectives: [{ directive: i1.CdkMenuBar }], ngImport: i0 });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubar, decorators: [{
|
|
16
|
+
type: Directive,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: '[hlmMenubar],hlm-menubar',
|
|
19
|
+
hostDirectives: [CdkMenuBar],
|
|
20
|
+
host: {
|
|
21
|
+
'data-slot': 'menubar',
|
|
22
|
+
},
|
|
23
|
+
}]
|
|
24
|
+
}], ctorParameters: () => [] });
|
|
25
|
+
|
|
26
|
+
const defaultConfig = {
|
|
27
|
+
align: 'start',
|
|
28
|
+
side: 'bottom',
|
|
29
|
+
};
|
|
30
|
+
const HlmMenubarConfigToken = new InjectionToken('HlmMenubarConfig');
|
|
31
|
+
function provideHlmMenubarConfig(config) {
|
|
32
|
+
return { provide: HlmMenubarConfigToken, useValue: { ...defaultConfig, ...config } };
|
|
33
|
+
}
|
|
34
|
+
function injectHlmMenubarConfig() {
|
|
35
|
+
return inject(HlmMenubarConfigToken, { optional: true }) ?? defaultConfig;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
class HlmMenubarTrigger {
|
|
39
|
+
_cdkTrigger = inject(CdkMenuTrigger, { host: true });
|
|
40
|
+
_config = injectHlmMenubarConfig();
|
|
41
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
42
|
+
align = input(this._config.align, /* @ts-ignore */
|
|
43
|
+
...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
44
|
+
side = input(this._config.side, /* @ts-ignore */
|
|
45
|
+
...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
|
|
46
|
+
_menuPosition = computed(() => createMenuPosition(this.align(), this.side()), /* @ts-ignore */
|
|
47
|
+
...(ngDevMode ? [{ debugName: "_menuPosition" }] : /* istanbul ignore next */ []));
|
|
48
|
+
constructor() {
|
|
49
|
+
// CDK sets transform-origin on the menu content (a shared hlm-dropdown-menu) from the resolved
|
|
50
|
+
// position; the content reads it to animate from the anchored corner and to derive its data-side.
|
|
51
|
+
// Cast tolerates @angular/cdk < 21.2 (we still support >=21.0), where the property is absent and
|
|
52
|
+
// the assignment is a harmless no-op.
|
|
53
|
+
this._cdkTrigger.transformOriginSelector = '[data-slot="dropdown-menu"]';
|
|
54
|
+
effect(() => {
|
|
55
|
+
this._cdkTrigger.menuPosition = this._menuPosition();
|
|
56
|
+
});
|
|
57
|
+
classes(() => "hover:bg-muted aria-expanded:bg-muted rounded-sm px-2 py-1 text-sm font-medium flex items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50");
|
|
58
|
+
}
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmMenubarTrigger, isStandalone: true, selector: "button[hlmMenubarTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "menubar-trigger" }, properties: { "disabled": "disabled() ", "attr.data-disabled": "disabled() ? \"\" : null" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmMenubarTrigger) }], hostDirectives: [{ directive: i1.CdkMenuItem, inputs: ["cdkMenuItemDisabled", "disabled"] }, { directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "hlmMenubarTrigger", "cdkMenuTriggerData", "hlmMenubarTriggerData"], outputs: ["cdkMenuOpened", "hlmDropdownMenuOpened", "cdkMenuClosed", "hlmDropdownMenuClosed"] }], ngImport: i0 });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarTrigger, decorators: [{
|
|
63
|
+
type: Directive,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: 'button[hlmMenubarTrigger]',
|
|
66
|
+
providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmMenubarTrigger) }],
|
|
67
|
+
hostDirectives: [
|
|
68
|
+
{
|
|
69
|
+
directive: CdkMenuItem,
|
|
70
|
+
inputs: ['cdkMenuItemDisabled: disabled'],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
directive: CdkMenuTrigger,
|
|
74
|
+
inputs: ['cdkMenuTriggerFor: hlmMenubarTrigger', 'cdkMenuTriggerData: hlmMenubarTriggerData'],
|
|
75
|
+
outputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
host: {
|
|
79
|
+
'data-slot': 'menubar-trigger',
|
|
80
|
+
'[disabled]': 'disabled() ',
|
|
81
|
+
'[attr.data-disabled]': 'disabled() ? "" : null',
|
|
82
|
+
},
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }] } });
|
|
85
|
+
|
|
86
|
+
/*
|
|
87
|
+
* Public API Surface of menubar
|
|
88
|
+
*/
|
|
89
|
+
const HlmMenubarImports = [HlmMenubar, HlmMenubarTrigger];
|
|
90
|
+
class HlmMenubarModule {
|
|
91
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
92
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarModule, imports: [HlmMenubar, HlmMenubarTrigger], exports: [HlmMenubar, HlmMenubarTrigger] });
|
|
93
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarModule });
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmMenubarModule, decorators: [{
|
|
96
|
+
type: NgModule,
|
|
97
|
+
args: [{
|
|
98
|
+
imports: [...HlmMenubarImports],
|
|
99
|
+
exports: [...HlmMenubarImports],
|
|
100
|
+
}]
|
|
101
|
+
}] });
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Generated bundle index. Do not edit.
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
export { HlmMenubar, HlmMenubarImports, HlmMenubarModule, HlmMenubarTrigger, injectHlmMenubarConfig, provideHlmMenubarConfig };
|
|
108
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "menubar",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^22.0.0",
|
|
6
|
+
"@angular/core": "^22.0.0",
|
|
7
|
+
"@spartan-ng/brain": "^1.1.1"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"tslib": "^2.3.0"
|
|
11
|
+
},
|
|
12
|
+
"sideEffects": false,
|
|
13
|
+
"module": "fesm2022/menubar.mjs",
|
|
14
|
+
"typings": "types/menubar.d.ts",
|
|
15
|
+
"exports": {
|
|
16
|
+
"./package.json": {
|
|
17
|
+
"default": "./package.json"
|
|
18
|
+
},
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./types/menubar.d.ts",
|
|
21
|
+
"default": "./fesm2022/menubar.mjs"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"type": "module"
|
|
25
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { ValueProvider } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/cdk/menu';
|
|
4
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
5
|
+
import { MenuAlign, MenuSide } from '@spartan-ng/brain/core';
|
|
6
|
+
|
|
7
|
+
declare class HlmMenubar {
|
|
8
|
+
constructor();
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenubar, never>;
|
|
10
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenubar, "[hlmMenubar],hlm-menubar", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkMenuBar; inputs: {}; outputs: {}; }]>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare class HlmMenubarTrigger {
|
|
14
|
+
private readonly _cdkTrigger;
|
|
15
|
+
private readonly _config;
|
|
16
|
+
readonly disabled: i0.InputSignalWithTransform<boolean, BooleanInput>;
|
|
17
|
+
readonly align: i0.InputSignal<MenuAlign>;
|
|
18
|
+
readonly side: i0.InputSignal<MenuSide>;
|
|
19
|
+
private readonly _menuPosition;
|
|
20
|
+
constructor();
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenubarTrigger, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<HlmMenubarTrigger, "button[hlmMenubarTrigger]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.CdkMenuItem; inputs: { "cdkMenuItemDisabled": "disabled"; }; outputs: {}; }, { directive: typeof i1.CdkMenuTrigger; inputs: { "cdkMenuTriggerFor": "hlmMenubarTrigger"; "cdkMenuTriggerData": "hlmMenubarTriggerData"; }; outputs: { "cdkMenuOpened": "hlmDropdownMenuOpened"; "cdkMenuClosed": "hlmDropdownMenuClosed"; }; }]>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface HlmMenubarConfig {
|
|
26
|
+
align: MenuAlign;
|
|
27
|
+
side: MenuSide;
|
|
28
|
+
}
|
|
29
|
+
declare function provideHlmMenubarConfig(config: Partial<HlmMenubarConfig>): ValueProvider;
|
|
30
|
+
declare function injectHlmMenubarConfig(): HlmMenubarConfig;
|
|
31
|
+
|
|
32
|
+
declare const HlmMenubarImports: readonly [typeof HlmMenubar, typeof HlmMenubarTrigger];
|
|
33
|
+
declare class HlmMenubarModule {
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HlmMenubarModule, never>;
|
|
35
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<HlmMenubarModule, never, [typeof HlmMenubar, typeof HlmMenubarTrigger], [typeof HlmMenubar, typeof HlmMenubarTrigger]>;
|
|
36
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<HlmMenubarModule>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { HlmMenubar, HlmMenubarImports, HlmMenubarModule, HlmMenubarTrigger, injectHlmMenubarConfig, provideHlmMenubarConfig };
|
|
40
|
+
export type { HlmMenubarConfig };
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { forwardRef, inject, input, computed, booleanAttribute, linkedSignal, output, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
5
|
+
import { lucideChevronDown } from '@ng-icons/lucide';
|
|
6
|
+
import * as i1 from '@spartan-ng/brain/field';
|
|
7
|
+
import { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';
|
|
8
|
+
import { hlm, classes } from '@egose/shadcn-theme-ng/utils';
|
|
9
|
+
|
|
10
|
+
const HLM_NATIVE_SELECT_VALUE_ACCESSOR = {
|
|
11
|
+
provide: NG_VALUE_ACCESSOR,
|
|
12
|
+
useExisting: forwardRef(() => HlmNativeSelect),
|
|
13
|
+
multi: true,
|
|
14
|
+
};
|
|
15
|
+
class HlmNativeSelect {
|
|
16
|
+
_fieldControl = inject(BrnFieldControl, { optional: true });
|
|
17
|
+
static _id = 0;
|
|
18
|
+
selectId = input(`hlm-native-select-${HlmNativeSelect._id++}`, /* @ts-ignore */
|
|
19
|
+
...(ngDevMode ? [{ debugName: "selectId" }] : /* istanbul ignore next */ []));
|
|
20
|
+
selectClass = input('', /* @ts-ignore */
|
|
21
|
+
...(ngDevMode ? [{ debugName: "selectClass" }] : /* istanbul ignore next */ []));
|
|
22
|
+
_computedSelectClass = computed(() => hlm("border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 h-9 w-full min-w-0 appearance-none rounded-md border bg-transparent py-1 ps-2.5 pe-8 text-sm shadow-xs transition-[color,box-shadow] select-none focus-visible:ring-3 data-[matches-spartan-invalid=true]:ring-3 data-[size=sm]:h-8 outline-none disabled:pointer-events-none disabled:cursor-not-allowed", this.selectClass()), /* @ts-ignore */
|
|
23
|
+
...(ngDevMode ? [{ debugName: "_computedSelectClass" }] : /* istanbul ignore next */ []));
|
|
24
|
+
selectIconClass = input('', /* @ts-ignore */
|
|
25
|
+
...(ngDevMode ? [{ debugName: "selectIconClass" }] : /* istanbul ignore next */ []));
|
|
26
|
+
_computedSelectIconClass = computed(() => hlm("text-muted-foreground end-2.5 top-1/2 -translate-y-1/2 text-[length:--spacing(4)] pointer-events-none absolute select-none", this.selectIconClass()), /* @ts-ignore */
|
|
27
|
+
...(ngDevMode ? [{ debugName: "_computedSelectIconClass" }] : /* istanbul ignore next */ []));
|
|
28
|
+
size = input('default', /* @ts-ignore */
|
|
29
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
30
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
31
|
+
_disabled = linkedSignal(this.disabled, /* @ts-ignore */
|
|
32
|
+
...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
|
|
33
|
+
/** Whether to force the input into an invalid state. */
|
|
34
|
+
forceInvalid = input(false, { ...(ngDevMode ? { debugName: "forceInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
35
|
+
/** Manual override for aria-invalid. When not set, auto-detects from the parent autocomplete error state. */
|
|
36
|
+
ariaInvalidOverride = input(undefined, { ...(ngDevMode ? { debugName: "ariaInvalidOverride" } : /* istanbul ignore next */ {}), transform: (v) => (v === '' || v === undefined ? undefined : booleanAttribute(v)),
|
|
37
|
+
alias: 'aria-invalid' });
|
|
38
|
+
_ariaInvalid = computed(() => this.ariaInvalidOverride() ?? this._invalid?.(), /* @ts-ignore */
|
|
39
|
+
...(ngDevMode ? [{ debugName: "_ariaInvalid" }] : /* istanbul ignore next */ []));
|
|
40
|
+
valueInput = input('', { ...(ngDevMode ? { debugName: "valueInput" } : /* istanbul ignore next */ {}), alias: 'value' });
|
|
41
|
+
value = linkedSignal(this.valueInput, /* @ts-ignore */
|
|
42
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
43
|
+
valueChange = output();
|
|
44
|
+
_onChange;
|
|
45
|
+
_onTouched;
|
|
46
|
+
labelableId = this.selectId;
|
|
47
|
+
_invalid = this._fieldControl?.invalid;
|
|
48
|
+
_touched = this._fieldControl?.touched;
|
|
49
|
+
_dirty = this._fieldControl?.dirty;
|
|
50
|
+
_spartanInvalid = computed(() => this.forceInvalid() || this._fieldControl?.spartanInvalid(), /* @ts-ignore */
|
|
51
|
+
...(ngDevMode ? [{ debugName: "_spartanInvalid" }] : /* istanbul ignore next */ []));
|
|
52
|
+
constructor() {
|
|
53
|
+
classes(() => "group/native-select relative w-fit has-[select:disabled]:opacity-50");
|
|
54
|
+
}
|
|
55
|
+
_valueChanged(event) {
|
|
56
|
+
const value = event.target.value;
|
|
57
|
+
this.value.set(value);
|
|
58
|
+
this.valueChange.emit(value);
|
|
59
|
+
this._onChange?.(value);
|
|
60
|
+
this._onTouched?.();
|
|
61
|
+
}
|
|
62
|
+
_blur() {
|
|
63
|
+
this._onTouched?.();
|
|
64
|
+
}
|
|
65
|
+
/** CONTROL VALUE ACCESSOR */
|
|
66
|
+
writeValue(value) {
|
|
67
|
+
this.value.set(value);
|
|
68
|
+
}
|
|
69
|
+
registerOnChange(fn) {
|
|
70
|
+
this._onChange = fn;
|
|
71
|
+
}
|
|
72
|
+
registerOnTouched(fn) {
|
|
73
|
+
this._onTouched = fn;
|
|
74
|
+
}
|
|
75
|
+
setDisabledState(isDisabled) {
|
|
76
|
+
this._disabled.set(isDisabled);
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: HlmNativeSelect, isStandalone: true, selector: "hlm-native-select", inputs: { selectId: { classPropertyName: "selectId", publicName: "selectId", isSignal: true, isRequired: false, transformFunction: null }, selectClass: { classPropertyName: "selectClass", publicName: "selectClass", isSignal: true, isRequired: false, transformFunction: null }, selectIconClass: { classPropertyName: "selectIconClass", publicName: "selectIconClass", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, forceInvalid: { classPropertyName: "forceInvalid", publicName: "forceInvalid", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalidOverride: { classPropertyName: "ariaInvalidOverride", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "data-slot": "native-select-wrapper" }, properties: { "attr.data-size": "size()" } }, providers: [
|
|
80
|
+
HLM_NATIVE_SELECT_VALUE_ACCESSOR,
|
|
81
|
+
provideIcons({ lucideChevronDown }),
|
|
82
|
+
provideBrnLabelable(HlmNativeSelect),
|
|
83
|
+
], hostDirectives: [{ directive: i1.BrnFieldControl }], ngImport: i0, template: `
|
|
84
|
+
<select
|
|
85
|
+
data-slot="native-select"
|
|
86
|
+
[id]="selectId()"
|
|
87
|
+
[class]="_computedSelectClass()"
|
|
88
|
+
[attr.data-size]="size()"
|
|
89
|
+
[attr.aria-invalid]="_ariaInvalid() ? 'true' : null"
|
|
90
|
+
[attr.data-invalid]="_ariaInvalid() ? 'true' : null"
|
|
91
|
+
[attr.data-dirty]="_dirty?.() ? 'true' : null"
|
|
92
|
+
[attr.data-touched]="_touched?.() ? 'true' : null"
|
|
93
|
+
[attr.data-matches-spartan-invalid]="_spartanInvalid() ? 'true' : null"
|
|
94
|
+
[value]="value()"
|
|
95
|
+
[disabled]="_disabled()"
|
|
96
|
+
(change)="_valueChanged($event)"
|
|
97
|
+
(blur)="_blur()"
|
|
98
|
+
>
|
|
99
|
+
<ng-content />
|
|
100
|
+
</select>
|
|
101
|
+
|
|
102
|
+
<ng-icon
|
|
103
|
+
name="lucideChevronDown"
|
|
104
|
+
[class]="_computedSelectIconClass()"
|
|
105
|
+
aria-hidden="true"
|
|
106
|
+
data-slot="native-select-icon"
|
|
107
|
+
/>
|
|
108
|
+
`, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
109
|
+
}
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelect, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{
|
|
113
|
+
selector: 'hlm-native-select',
|
|
114
|
+
imports: [NgIcon],
|
|
115
|
+
providers: [
|
|
116
|
+
HLM_NATIVE_SELECT_VALUE_ACCESSOR,
|
|
117
|
+
provideIcons({ lucideChevronDown }),
|
|
118
|
+
provideBrnLabelable(HlmNativeSelect),
|
|
119
|
+
],
|
|
120
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
121
|
+
hostDirectives: [BrnFieldControl],
|
|
122
|
+
host: {
|
|
123
|
+
'data-slot': 'native-select-wrapper',
|
|
124
|
+
'[attr.data-size]': 'size()',
|
|
125
|
+
},
|
|
126
|
+
template: `
|
|
127
|
+
<select
|
|
128
|
+
data-slot="native-select"
|
|
129
|
+
[id]="selectId()"
|
|
130
|
+
[class]="_computedSelectClass()"
|
|
131
|
+
[attr.data-size]="size()"
|
|
132
|
+
[attr.aria-invalid]="_ariaInvalid() ? 'true' : null"
|
|
133
|
+
[attr.data-invalid]="_ariaInvalid() ? 'true' : null"
|
|
134
|
+
[attr.data-dirty]="_dirty?.() ? 'true' : null"
|
|
135
|
+
[attr.data-touched]="_touched?.() ? 'true' : null"
|
|
136
|
+
[attr.data-matches-spartan-invalid]="_spartanInvalid() ? 'true' : null"
|
|
137
|
+
[value]="value()"
|
|
138
|
+
[disabled]="_disabled()"
|
|
139
|
+
(change)="_valueChanged($event)"
|
|
140
|
+
(blur)="_blur()"
|
|
141
|
+
>
|
|
142
|
+
<ng-content />
|
|
143
|
+
</select>
|
|
144
|
+
|
|
145
|
+
<ng-icon
|
|
146
|
+
name="lucideChevronDown"
|
|
147
|
+
[class]="_computedSelectIconClass()"
|
|
148
|
+
aria-hidden="true"
|
|
149
|
+
data-slot="native-select-icon"
|
|
150
|
+
/>
|
|
151
|
+
`,
|
|
152
|
+
}]
|
|
153
|
+
}], ctorParameters: () => [], propDecorators: { selectId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectId", required: false }] }], selectClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectClass", required: false }] }], selectIconClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectIconClass", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], forceInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceInvalid", required: false }] }], ariaInvalidOverride: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-invalid", required: false }] }], valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
154
|
+
|
|
155
|
+
class HlmNativeSelectOptGroup {
|
|
156
|
+
constructor() {
|
|
157
|
+
classes(() => "bg-[Canvas] text-[CanvasText]");
|
|
158
|
+
}
|
|
159
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectOptGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
160
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmNativeSelectOptGroup, isStandalone: true, selector: "optgroup[hlmNativeSelectOptGroup]", host: { attributes: { "data-slot": "native-select-optgroup" } }, ngImport: i0 });
|
|
161
|
+
}
|
|
162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectOptGroup, decorators: [{
|
|
163
|
+
type: Directive,
|
|
164
|
+
args: [{
|
|
165
|
+
selector: 'optgroup[hlmNativeSelectOptGroup]',
|
|
166
|
+
host: { 'data-slot': 'native-select-optgroup' },
|
|
167
|
+
}]
|
|
168
|
+
}], ctorParameters: () => [] });
|
|
169
|
+
|
|
170
|
+
class HlmNativeSelectOption {
|
|
171
|
+
constructor() {
|
|
172
|
+
classes(() => "bg-[Canvas] text-[CanvasText]");
|
|
173
|
+
}
|
|
174
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
175
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmNativeSelectOption, isStandalone: true, selector: "option[hlmNativeSelectOption]", host: { attributes: { "data-slot": "native-select-option" } }, ngImport: i0 });
|
|
176
|
+
}
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectOption, decorators: [{
|
|
178
|
+
type: Directive,
|
|
179
|
+
args: [{
|
|
180
|
+
selector: 'option[hlmNativeSelectOption]',
|
|
181
|
+
host: { 'data-slot': 'native-select-option' },
|
|
182
|
+
}]
|
|
183
|
+
}], ctorParameters: () => [] });
|
|
184
|
+
|
|
185
|
+
/*
|
|
186
|
+
* Public API Surface of native-select
|
|
187
|
+
*/
|
|
188
|
+
const HlmNativeSelectImports = [HlmNativeSelect, HlmNativeSelectOption, HlmNativeSelectOptGroup];
|
|
189
|
+
class HlmNativeSelectModule {
|
|
190
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
191
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectModule, imports: [HlmNativeSelect, HlmNativeSelectOption, HlmNativeSelectOptGroup], exports: [HlmNativeSelect, HlmNativeSelectOption, HlmNativeSelectOptGroup] });
|
|
192
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectModule, imports: [HlmNativeSelect] });
|
|
193
|
+
}
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmNativeSelectModule, decorators: [{
|
|
195
|
+
type: NgModule,
|
|
196
|
+
args: [{
|
|
197
|
+
imports: [...HlmNativeSelectImports],
|
|
198
|
+
exports: [...HlmNativeSelectImports],
|
|
199
|
+
}]
|
|
200
|
+
}] });
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Generated bundle index. Do not edit.
|
|
204
|
+
*/
|
|
205
|
+
|
|
206
|
+
export { HLM_NATIVE_SELECT_VALUE_ACCESSOR, HlmNativeSelect, HlmNativeSelectImports, HlmNativeSelectModule, HlmNativeSelectOptGroup, HlmNativeSelectOption };
|
|
207
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "native-select",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^22.0.0",
|
|
6
|
+
"@angular/core": "^22.0.0",
|
|
7
|
+
"@spartan-ng/brain": "^1.1.1"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"tslib": "^2.3.0"
|
|
11
|
+
},
|
|
12
|
+
"sideEffects": false,
|
|
13
|
+
"module": "fesm2022/native-select.mjs",
|
|
14
|
+
"typings": "types/native-select.d.ts",
|
|
15
|
+
"exports": {
|
|
16
|
+
"./package.json": {
|
|
17
|
+
"default": "./package.json"
|
|
18
|
+
},
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./types/native-select.d.ts",
|
|
21
|
+
"default": "./fesm2022/native-select.mjs"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"type": "module"
|
|
25
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
3
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
import { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';
|
|
5
|
+
import { ClassValue } from 'clsx';
|
|
6
|
+
import * as i1 from '@spartan-ng/brain/field';
|
|
7
|
+
|
|
8
|
+
declare const HLM_NATIVE_SELECT_VALUE_ACCESSOR: {
|
|
9
|
+
provide: _angular_core.InjectionToken<readonly ControlValueAccessor[]>;
|
|
10
|
+
useExisting: _angular_core.Type<any>;
|
|
11
|
+
multi: boolean;
|
|
12
|
+
};
|
|
13
|
+
declare class HlmNativeSelect implements ControlValueAccessor {
|
|
14
|
+
private readonly _fieldControl;
|
|
15
|
+
private static _id;
|
|
16
|
+
readonly selectId: _angular_core.InputSignal<string>;
|
|
17
|
+
readonly selectClass: _angular_core.InputSignal<ClassValue>;
|
|
18
|
+
protected readonly _computedSelectClass: _angular_core.Signal<string>;
|
|
19
|
+
readonly selectIconClass: _angular_core.InputSignal<ClassValue>;
|
|
20
|
+
protected readonly _computedSelectIconClass: _angular_core.Signal<string>;
|
|
21
|
+
readonly size: _angular_core.InputSignal<"sm" | "default">;
|
|
22
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
23
|
+
protected readonly _disabled: _angular_core.WritableSignal<boolean>;
|
|
24
|
+
/** Whether to force the input into an invalid state. */
|
|
25
|
+
readonly forceInvalid: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
26
|
+
/** Manual override for aria-invalid. When not set, auto-detects from the parent autocomplete error state. */
|
|
27
|
+
readonly ariaInvalidOverride: _angular_core.InputSignalWithTransform<boolean | undefined, BooleanInput>;
|
|
28
|
+
protected readonly _ariaInvalid: _angular_core.Signal<boolean | null | undefined>;
|
|
29
|
+
readonly valueInput: _angular_core.InputSignal<string | null | undefined>;
|
|
30
|
+
readonly value: _angular_core.WritableSignal<string | null | undefined>;
|
|
31
|
+
readonly valueChange: _angular_core.OutputEmitterRef<string | null | undefined>;
|
|
32
|
+
protected _onChange?: ChangeFn<string | undefined | null>;
|
|
33
|
+
protected _onTouched?: TouchFn;
|
|
34
|
+
readonly labelableId: _angular_core.InputSignal<string>;
|
|
35
|
+
protected readonly _invalid: _angular_core.Signal<boolean | null> | undefined;
|
|
36
|
+
protected readonly _touched: _angular_core.Signal<boolean | null> | undefined;
|
|
37
|
+
protected readonly _dirty: _angular_core.Signal<boolean | null> | undefined;
|
|
38
|
+
protected readonly _spartanInvalid: _angular_core.Signal<boolean | null | undefined>;
|
|
39
|
+
constructor();
|
|
40
|
+
protected _valueChanged(event: Event): void;
|
|
41
|
+
protected _blur(): void;
|
|
42
|
+
/** CONTROL VALUE ACCESSOR */
|
|
43
|
+
writeValue(value: string | undefined | null): void;
|
|
44
|
+
registerOnChange(fn: ChangeFn<string | undefined | null>): void;
|
|
45
|
+
registerOnTouched(fn: TouchFn): void;
|
|
46
|
+
setDisabledState(isDisabled: boolean): void;
|
|
47
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmNativeSelect, never>;
|
|
48
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmNativeSelect, "hlm-native-select", never, { "selectId": { "alias": "selectId"; "required": false; "isSignal": true; }; "selectClass": { "alias": "selectClass"; "required": false; "isSignal": true; }; "selectIconClass": { "alias": "selectIconClass"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "forceInvalid": { "alias": "forceInvalid"; "required": false; "isSignal": true; }; "ariaInvalidOverride": { "alias": "aria-invalid"; "required": false; "isSignal": true; }; "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, ["*"], true, [{ directive: typeof i1.BrnFieldControl; inputs: {}; outputs: {}; }]>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
declare class HlmNativeSelectOptGroup {
|
|
52
|
+
constructor();
|
|
53
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmNativeSelectOptGroup, never>;
|
|
54
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HlmNativeSelectOptGroup, "optgroup[hlmNativeSelectOptGroup]", never, {}, {}, never, never, true, never>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
declare class HlmNativeSelectOption {
|
|
58
|
+
constructor();
|
|
59
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmNativeSelectOption, never>;
|
|
60
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HlmNativeSelectOption, "option[hlmNativeSelectOption]", never, {}, {}, never, never, true, never>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
declare const HlmNativeSelectImports: readonly [typeof HlmNativeSelect, typeof HlmNativeSelectOption, typeof HlmNativeSelectOptGroup];
|
|
64
|
+
declare class HlmNativeSelectModule {
|
|
65
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmNativeSelectModule, never>;
|
|
66
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<HlmNativeSelectModule, never, [typeof HlmNativeSelect, typeof HlmNativeSelectOption, typeof HlmNativeSelectOptGroup], [typeof HlmNativeSelect, typeof HlmNativeSelectOption, typeof HlmNativeSelectOptGroup]>;
|
|
67
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<HlmNativeSelectModule>;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { HLM_NATIVE_SELECT_VALUE_ACCESSOR, HlmNativeSelect, HlmNativeSelectImports, HlmNativeSelectModule, HlmNativeSelectOptGroup, HlmNativeSelectOption };
|