@hyalo/angular 0.0.0-stage → 0.3.1
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 +95 -0
- package/LICENSE +21 -0
- package/README.md +45 -2
- package/fesm2022/hyalo-angular-accordion.mjs +230 -0
- package/fesm2022/hyalo-angular-accordion.mjs.map +1 -0
- package/fesm2022/hyalo-angular-alert.mjs +171 -0
- package/fesm2022/hyalo-angular-alert.mjs.map +1 -0
- package/fesm2022/hyalo-angular-aspect-ratio.mjs +64 -0
- package/fesm2022/hyalo-angular-aspect-ratio.mjs.map +1 -0
- package/fesm2022/hyalo-angular-avatar.mjs +169 -0
- package/fesm2022/hyalo-angular-avatar.mjs.map +1 -0
- package/fesm2022/hyalo-angular-badge.mjs +268 -0
- package/fesm2022/hyalo-angular-badge.mjs.map +1 -0
- package/fesm2022/hyalo-angular-bento.mjs +132 -0
- package/fesm2022/hyalo-angular-bento.mjs.map +1 -0
- package/fesm2022/hyalo-angular-blocks.mjs +985 -0
- package/fesm2022/hyalo-angular-blocks.mjs.map +1 -0
- package/fesm2022/hyalo-angular-border-beam.mjs +73 -0
- package/fesm2022/hyalo-angular-border-beam.mjs.map +1 -0
- package/fesm2022/hyalo-angular-breadcrumb.mjs +77 -0
- package/fesm2022/hyalo-angular-breadcrumb.mjs.map +1 -0
- package/fesm2022/hyalo-angular-button-group.mjs +90 -0
- package/fesm2022/hyalo-angular-button-group.mjs.map +1 -0
- package/fesm2022/hyalo-angular-button.mjs +204 -0
- package/fesm2022/hyalo-angular-button.mjs.map +1 -0
- package/fesm2022/hyalo-angular-card.mjs +221 -0
- package/fesm2022/hyalo-angular-card.mjs.map +1 -0
- package/fesm2022/hyalo-angular-carousel.mjs +709 -0
- package/fesm2022/hyalo-angular-carousel.mjs.map +1 -0
- package/fesm2022/hyalo-angular-chapter-nav.mjs +336 -0
- package/fesm2022/hyalo-angular-chapter-nav.mjs.map +1 -0
- package/fesm2022/hyalo-angular-chart-engine-DSJop6He.mjs +5 -0
- package/fesm2022/hyalo-angular-chart-engine-DSJop6He.mjs.map +1 -0
- package/fesm2022/hyalo-angular-chart.mjs +391 -0
- package/fesm2022/hyalo-angular-chart.mjs.map +1 -0
- package/fesm2022/hyalo-angular-choice.mjs +789 -0
- package/fesm2022/hyalo-angular-choice.mjs.map +1 -0
- package/fesm2022/hyalo-angular-code-block-highlight-B20d5C76.mjs +40 -0
- package/fesm2022/hyalo-angular-code-block-highlight-B20d5C76.mjs.map +1 -0
- package/fesm2022/hyalo-angular-code-block.mjs +161 -0
- package/fesm2022/hyalo-angular-code-block.mjs.map +1 -0
- package/fesm2022/hyalo-angular-command.mjs +193 -0
- package/fesm2022/hyalo-angular-command.mjs.map +1 -0
- package/fesm2022/hyalo-angular-copy.mjs +138 -0
- package/fesm2022/hyalo-angular-copy.mjs.map +1 -0
- package/fesm2022/hyalo-angular-core.mjs +424 -0
- package/fesm2022/hyalo-angular-core.mjs.map +1 -0
- package/fesm2022/hyalo-angular-description-list.mjs +57 -0
- package/fesm2022/hyalo-angular-description-list.mjs.map +1 -0
- package/fesm2022/hyalo-angular-dialog.mjs +600 -0
- package/fesm2022/hyalo-angular-dialog.mjs.map +1 -0
- package/fesm2022/hyalo-angular-divider.mjs +66 -0
- package/fesm2022/hyalo-angular-divider.mjs.map +1 -0
- package/fesm2022/hyalo-angular-empty-state.mjs +123 -0
- package/fesm2022/hyalo-angular-empty-state.mjs.map +1 -0
- package/fesm2022/hyalo-angular-field.mjs +344 -0
- package/fesm2022/hyalo-angular-field.mjs.map +1 -0
- package/fesm2022/hyalo-angular-filter.mjs +309 -0
- package/fesm2022/hyalo-angular-filter.mjs.map +1 -0
- package/fesm2022/hyalo-angular-hotspot.mjs +225 -0
- package/fesm2022/hyalo-angular-hotspot.mjs.map +1 -0
- package/fesm2022/hyalo-angular-hover-card.mjs +233 -0
- package/fesm2022/hyalo-angular-hover-card.mjs.map +1 -0
- package/fesm2022/hyalo-angular-icon.mjs +385 -0
- package/fesm2022/hyalo-angular-icon.mjs.map +1 -0
- package/fesm2022/hyalo-angular-image-compare.mjs +168 -0
- package/fesm2022/hyalo-angular-image-compare.mjs.map +1 -0
- package/fesm2022/hyalo-angular-interaction.mjs +446 -0
- package/fesm2022/hyalo-angular-interaction.mjs.map +1 -0
- package/fesm2022/hyalo-angular-kbd.mjs +41 -0
- package/fesm2022/hyalo-angular-kbd.mjs.map +1 -0
- package/fesm2022/hyalo-angular-lightbox.mjs +228 -0
- package/fesm2022/hyalo-angular-lightbox.mjs.map +1 -0
- package/fesm2022/hyalo-angular-link.mjs +42 -0
- package/fesm2022/hyalo-angular-link.mjs.map +1 -0
- package/fesm2022/hyalo-angular-list.mjs +131 -0
- package/fesm2022/hyalo-angular-list.mjs.map +1 -0
- package/fesm2022/hyalo-angular-marquee.mjs +197 -0
- package/fesm2022/hyalo-angular-marquee.mjs.map +1 -0
- package/fesm2022/hyalo-angular-menu.mjs +423 -0
- package/fesm2022/hyalo-angular-menu.mjs.map +1 -0
- package/fesm2022/hyalo-angular-mesh.mjs +126 -0
- package/fesm2022/hyalo-angular-mesh.mjs.map +1 -0
- package/fesm2022/hyalo-angular-motion.mjs +620 -0
- package/fesm2022/hyalo-angular-motion.mjs.map +1 -0
- package/fesm2022/hyalo-angular-navbar.mjs +343 -0
- package/fesm2022/hyalo-angular-navbar.mjs.map +1 -0
- package/fesm2022/hyalo-angular-navigation-menu.mjs +222 -0
- package/fesm2022/hyalo-angular-navigation-menu.mjs.map +1 -0
- package/fesm2022/hyalo-angular-number-ticker.mjs +174 -0
- package/fesm2022/hyalo-angular-number-ticker.mjs.map +1 -0
- package/fesm2022/hyalo-angular-overlay.mjs +163 -0
- package/fesm2022/hyalo-angular-overlay.mjs.map +1 -0
- package/fesm2022/hyalo-angular-pagination.mjs +187 -0
- package/fesm2022/hyalo-angular-pagination.mjs.map +1 -0
- package/fesm2022/hyalo-angular-popover-overlay-kit-6wPwnxln.mjs +3 -0
- package/fesm2022/hyalo-angular-popover.mjs +516 -0
- package/fesm2022/hyalo-angular-popover.mjs.map +1 -0
- package/fesm2022/hyalo-angular-progress.mjs +209 -0
- package/fesm2022/hyalo-angular-progress.mjs.map +1 -0
- package/fesm2022/hyalo-angular-progressive-blur.mjs +73 -0
- package/fesm2022/hyalo-angular-progressive-blur.mjs.map +1 -0
- package/fesm2022/hyalo-angular-refraction-renderer-5ZA-kfsA.mjs +186 -0
- package/fesm2022/hyalo-angular-refraction-renderer-5ZA-kfsA.mjs.map +1 -0
- package/fesm2022/hyalo-angular-refraction.mjs +178 -0
- package/fesm2022/hyalo-angular-refraction.mjs.map +1 -0
- package/fesm2022/hyalo-angular-scroll-area.mjs +93 -0
- package/fesm2022/hyalo-angular-scroll-area.mjs.map +1 -0
- package/fesm2022/hyalo-angular-scroll-to-top.mjs +127 -0
- package/fesm2022/hyalo-angular-scroll-to-top.mjs.map +1 -0
- package/fesm2022/hyalo-angular-segmented.mjs +223 -0
- package/fesm2022/hyalo-angular-segmented.mjs.map +1 -0
- package/fesm2022/hyalo-angular-select.mjs +561 -0
- package/fesm2022/hyalo-angular-select.mjs.map +1 -0
- package/fesm2022/hyalo-angular-sidebar.mjs +241 -0
- package/fesm2022/hyalo-angular-sidebar.mjs.map +1 -0
- package/fesm2022/hyalo-angular-skeleton.mjs +131 -0
- package/fesm2022/hyalo-angular-skeleton.mjs.map +1 -0
- package/fesm2022/hyalo-angular-sparkline.mjs +110 -0
- package/fesm2022/hyalo-angular-sparkline.mjs.map +1 -0
- package/fesm2022/hyalo-angular-split-text.mjs +126 -0
- package/fesm2022/hyalo-angular-split-text.mjs.map +1 -0
- package/fesm2022/hyalo-angular-stat.mjs +193 -0
- package/fesm2022/hyalo-angular-stat.mjs.map +1 -0
- package/fesm2022/hyalo-angular-stepper.mjs +254 -0
- package/fesm2022/hyalo-angular-stepper.mjs.map +1 -0
- package/fesm2022/hyalo-angular-table.mjs +335 -0
- package/fesm2022/hyalo-angular-table.mjs.map +1 -0
- package/fesm2022/hyalo-angular-tabs.mjs +324 -0
- package/fesm2022/hyalo-angular-tabs.mjs.map +1 -0
- package/fesm2022/hyalo-angular-theme.mjs +94 -0
- package/fesm2022/hyalo-angular-theme.mjs.map +1 -0
- package/fesm2022/hyalo-angular-timeline.mjs +157 -0
- package/fesm2022/hyalo-angular-timeline.mjs.map +1 -0
- package/fesm2022/hyalo-angular-toast.mjs +323 -0
- package/fesm2022/hyalo-angular-toast.mjs.map +1 -0
- package/fesm2022/hyalo-angular.mjs +2 -0
- package/package.json +329 -3
- package/styles/hyalo-core.css +25 -0
- package/styles/hyalo.css +17 -0
- package/styles/overlays/dialog.css +9 -0
- package/styles/overlays/popover.css +9 -0
- package/styles/overlays/select.css +9 -0
- package/styles/overlays/toast.css +8 -0
- package/styles/palettes/aurora.css +47 -0
- package/styles/palettes/ember.css +47 -0
- package/styles/palettes/graphite.css +47 -0
- package/styles/palettes/ocean.css +47 -0
- package/styles/palettes/orchid.css +47 -0
- package/styles/palettes/rose.css +47 -0
- package/styles/parts/card.css +49 -0
- package/styles/parts/dialog.css +116 -0
- package/styles/parts/drawer.css +124 -0
- package/styles/parts/field.css +44 -0
- package/styles/parts/glass.css +139 -0
- package/styles/parts/motion.css +101 -0
- package/styles/parts/navbar.css +55 -0
- package/styles/parts/popover.css +27 -0
- package/styles/parts/presence.css +55 -0
- package/styles/parts/reset.css +42 -0
- package/styles/parts/select.css +46 -0
- package/styles/parts/themes.css +105 -0
- package/styles/parts/toast.css +128 -0
- package/styles/parts/tokens.css +151 -0
- package/styles/parts/typography.css +81 -0
- package/types/hyalo-angular-accordion.d.ts +74 -0
- package/types/hyalo-angular-alert.d.ts +47 -0
- package/types/hyalo-angular-aspect-ratio.d.ts +13 -0
- package/types/hyalo-angular-avatar.d.ts +39 -0
- package/types/hyalo-angular-badge.d.ts +82 -0
- package/types/hyalo-angular-bento.d.ts +25 -0
- package/types/hyalo-angular-blocks.d.ts +272 -0
- package/types/hyalo-angular-border-beam.d.ts +15 -0
- package/types/hyalo-angular-breadcrumb.d.ts +22 -0
- package/types/hyalo-angular-button-group.d.ts +19 -0
- package/types/hyalo-angular-button.d.ts +89 -0
- package/types/hyalo-angular-card.d.ts +61 -0
- package/types/hyalo-angular-carousel.d.ts +147 -0
- package/types/hyalo-angular-chapter-nav.d.ts +79 -0
- package/types/hyalo-angular-chart.d.ts +90 -0
- package/types/hyalo-angular-choice.d.ts +259 -0
- package/types/hyalo-angular-code-block.d.ts +46 -0
- package/types/hyalo-angular-command.d.ts +41 -0
- package/types/hyalo-angular-copy.d.ts +39 -0
- package/types/hyalo-angular-core.d.ts +210 -0
- package/types/hyalo-angular-description-list.d.ts +16 -0
- package/types/hyalo-angular-dialog.d.ts +171 -0
- package/types/hyalo-angular-divider.d.ts +12 -0
- package/types/hyalo-angular-empty-state.d.ts +30 -0
- package/types/hyalo-angular-field.d.ts +141 -0
- package/types/hyalo-angular-filter.d.ts +122 -0
- package/types/hyalo-angular-hotspot.d.ts +70 -0
- package/types/hyalo-angular-hover-card.d.ts +47 -0
- package/types/hyalo-angular-icon.d.ts +122 -0
- package/types/hyalo-angular-image-compare.d.ts +55 -0
- package/types/hyalo-angular-interaction.d.ts +131 -0
- package/types/hyalo-angular-kbd.d.ts +5 -0
- package/types/hyalo-angular-lightbox.d.ts +67 -0
- package/types/hyalo-angular-link.d.ts +5 -0
- package/types/hyalo-angular-list.d.ts +30 -0
- package/types/hyalo-angular-marquee.d.ts +48 -0
- package/types/hyalo-angular-menu.d.ts +105 -0
- package/types/hyalo-angular-mesh.d.ts +36 -0
- package/types/hyalo-angular-motion.d.ts +218 -0
- package/types/hyalo-angular-navbar.d.ts +110 -0
- package/types/hyalo-angular-navigation-menu.d.ts +47 -0
- package/types/hyalo-angular-number-ticker.d.ts +52 -0
- package/types/hyalo-angular-overlay.d.ts +40 -0
- package/types/hyalo-angular-pagination.d.ts +59 -0
- package/types/hyalo-angular-popover.d.ts +152 -0
- package/types/hyalo-angular-progress.d.ts +46 -0
- package/types/hyalo-angular-progressive-blur.d.ts +14 -0
- package/types/hyalo-angular-refraction.d.ts +46 -0
- package/types/hyalo-angular-scroll-area.d.ts +18 -0
- package/types/hyalo-angular-scroll-to-top.d.ts +31 -0
- package/types/hyalo-angular-segmented.d.ts +79 -0
- package/types/hyalo-angular-select.d.ts +176 -0
- package/types/hyalo-angular-sidebar.d.ts +57 -0
- package/types/hyalo-angular-skeleton.d.ts +34 -0
- package/types/hyalo-angular-sparkline.d.ts +19 -0
- package/types/hyalo-angular-split-text.d.ts +24 -0
- package/types/hyalo-angular-stat.d.ts +56 -0
- package/types/hyalo-angular-stepper.d.ts +63 -0
- package/types/hyalo-angular-table.d.ts +125 -0
- package/types/hyalo-angular-tabs.d.ts +102 -0
- package/types/hyalo-angular-theme.d.ts +46 -0
- package/types/hyalo-angular-timeline.d.ts +36 -0
- package/types/hyalo-angular-toast.d.ts +79 -0
- package/types/hyalo-angular.d.ts +2 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Directive, TemplateRef, booleanAttribute, computed, contentChildren, inject, input, signal } from "@angular/core";
|
|
3
|
+
import { NgTemplateOutlet } from "@angular/common";
|
|
4
|
+
import { HyMotion } from "@hyalo/angular/motion";
|
|
5
|
+
var HyMarqueeItem = class HyMarqueeItem {
|
|
6
|
+
template = inject(TemplateRef);
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
8
|
+
minVersion: "12.0.0",
|
|
9
|
+
version: "22.2.3",
|
|
10
|
+
ngImport: i0,
|
|
11
|
+
type: HyMarqueeItem,
|
|
12
|
+
deps: [],
|
|
13
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
14
|
+
});
|
|
15
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
16
|
+
minVersion: "14.0.0",
|
|
17
|
+
version: "22.2.3",
|
|
18
|
+
type: HyMarqueeItem,
|
|
19
|
+
isStandalone: true,
|
|
20
|
+
selector: "ng-template[hyMarqueeItem]",
|
|
21
|
+
ngImport: i0
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
25
|
+
minVersion: "12.0.0",
|
|
26
|
+
version: "22.2.3",
|
|
27
|
+
ngImport: i0,
|
|
28
|
+
type: HyMarqueeItem,
|
|
29
|
+
decorators: [{
|
|
30
|
+
type: Directive,
|
|
31
|
+
args: [{ selector: "ng-template[hyMarqueeItem]" }]
|
|
32
|
+
}]
|
|
33
|
+
});
|
|
34
|
+
var HyMarquee = class HyMarquee {
|
|
35
|
+
motion = inject(HyMotion);
|
|
36
|
+
label = input("Partners", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
37
|
+
duration = input("30s", ...ngDevMode ? [{ debugName: "duration" }] : /* istanbul ignore next */ []);
|
|
38
|
+
reverse = input(false, {
|
|
39
|
+
...ngDevMode ? { debugName: "reverse" } : /* istanbul ignore next */ {},
|
|
40
|
+
transform: booleanAttribute
|
|
41
|
+
});
|
|
42
|
+
pauseLabel = input("Pause animation", ...ngDevMode ? [{ debugName: "pauseLabel" }] : /* istanbul ignore next */ []);
|
|
43
|
+
playLabel = input("Play animation", ...ngDevMode ? [{ debugName: "playLabel" }] : /* istanbul ignore next */ []);
|
|
44
|
+
paused = signal(false, ...ngDevMode ? [{ debugName: "paused" }] : /* istanbul ignore next */ []);
|
|
45
|
+
motionEnabled = computed(() => this.motion.enabled(), ...ngDevMode ? [{ debugName: "motionEnabled" }] : /* istanbul ignore next */ []);
|
|
46
|
+
running = computed(() => this.motion.enabled() && !this.paused(), ...ngDevMode ? [{ debugName: "running" }] : /* istanbul ignore next */ []);
|
|
47
|
+
items = contentChildren(HyMarqueeItem, ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
|
|
48
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
49
|
+
minVersion: "12.0.0",
|
|
50
|
+
version: "22.2.3",
|
|
51
|
+
ngImport: i0,
|
|
52
|
+
type: HyMarquee,
|
|
53
|
+
deps: [],
|
|
54
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
55
|
+
});
|
|
56
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
57
|
+
minVersion: "17.0.0",
|
|
58
|
+
version: "22.2.3",
|
|
59
|
+
type: HyMarquee,
|
|
60
|
+
isStandalone: true,
|
|
61
|
+
selector: "hy-marquee",
|
|
62
|
+
inputs: {
|
|
63
|
+
label: {
|
|
64
|
+
classPropertyName: "label",
|
|
65
|
+
publicName: "label",
|
|
66
|
+
isSignal: true,
|
|
67
|
+
isRequired: false,
|
|
68
|
+
transformFunction: null
|
|
69
|
+
},
|
|
70
|
+
duration: {
|
|
71
|
+
classPropertyName: "duration",
|
|
72
|
+
publicName: "duration",
|
|
73
|
+
isSignal: true,
|
|
74
|
+
isRequired: false,
|
|
75
|
+
transformFunction: null
|
|
76
|
+
},
|
|
77
|
+
reverse: {
|
|
78
|
+
classPropertyName: "reverse",
|
|
79
|
+
publicName: "reverse",
|
|
80
|
+
isSignal: true,
|
|
81
|
+
isRequired: false,
|
|
82
|
+
transformFunction: null
|
|
83
|
+
},
|
|
84
|
+
pauseLabel: {
|
|
85
|
+
classPropertyName: "pauseLabel",
|
|
86
|
+
publicName: "pauseLabel",
|
|
87
|
+
isSignal: true,
|
|
88
|
+
isRequired: false,
|
|
89
|
+
transformFunction: null
|
|
90
|
+
},
|
|
91
|
+
playLabel: {
|
|
92
|
+
classPropertyName: "playLabel",
|
|
93
|
+
publicName: "playLabel",
|
|
94
|
+
isSignal: true,
|
|
95
|
+
isRequired: false,
|
|
96
|
+
transformFunction: null
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
host: { properties: {
|
|
100
|
+
"attr.data-running": "running()",
|
|
101
|
+
"attr.data-motion": "motionEnabled()",
|
|
102
|
+
"style.--hy-marquee-duration": "duration()",
|
|
103
|
+
"attr.data-reverse": "reverse()"
|
|
104
|
+
} },
|
|
105
|
+
queries: [{
|
|
106
|
+
propertyName: "items",
|
|
107
|
+
predicate: HyMarqueeItem,
|
|
108
|
+
isSignal: true
|
|
109
|
+
}],
|
|
110
|
+
ngImport: i0,
|
|
111
|
+
template: "<div class=\"window\" role=\"group\" [attr.aria-label]=\"label()\">\r\n <div class=\"track\">\r\n <div class=\"group\">\r\n @for (item of items(); track item) {\r\n <ng-container [ngTemplateOutlet]=\"item.template\" />\r\n }\r\n </div>\r\n <div class=\"group copy\" aria-hidden=\"true\" inert>\r\n @for (item of items(); track item) {\r\n <ng-container [ngTemplateOutlet]=\"item.template\" />\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n@if (motionEnabled()) {\r\n <button type=\"button\" (click)=\"paused.set(!paused())\" [attr.aria-pressed]=\"paused()\">\r\n {{ paused() ? playLabel() : pauseLabel() }}\r\n </button>\r\n}\r\n<ng-content />\r\n",
|
|
112
|
+
styles: [":host{display:block}.window{overflow:clip}.track{display:flex;inline-size:max-content;animation:hy-marquee var(--hy-marquee-duration, 30s) linear infinite;animation-play-state:paused;direction:ltr}.group{display:flex;align-items:center;gap:var(--hy-space-9);padding-inline-end:var(--hy-space-9)}:host([data-running=\"true\"]) .track{animation-play-state:running}:host([data-reverse=\"true\"]) .track{animation-direction:reverse}:host(:focus-within) .track{animation-play-state:paused}@media(hover:hover){:host(:hover) .track{animation-play-state:paused}}@keyframes hy-marquee{to{transform:translate(-50%)}}button{margin-block-start:var(--hy-space-3);min-block-size:2rem;border:1px solid var(--hy-line);border-radius:var(--hy-radius-s);padding-inline:var(--hy-space-3);background:var(--hy-surface-2);color:var(--hy-ink);font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--hy-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.track{animation:none;inline-size:auto}.group{flex-wrap:wrap}.copy{display:none}}:host([data-running=\"false\"]) .window{overflow-x:auto}:host([data-motion=\"false\"]) .track{animation:none;inline-size:auto}:host([data-motion=\"false\"]) .group{flex-wrap:wrap}:host([data-motion=\"false\"]) .copy{display:none}\n"],
|
|
113
|
+
dependencies: [{
|
|
114
|
+
kind: "directive",
|
|
115
|
+
type: NgTemplateOutlet,
|
|
116
|
+
selector: "[ngTemplateOutlet]",
|
|
117
|
+
inputs: [
|
|
118
|
+
"ngTemplateOutletContext",
|
|
119
|
+
"ngTemplateOutlet",
|
|
120
|
+
"ngTemplateOutletInjector"
|
|
121
|
+
]
|
|
122
|
+
}],
|
|
123
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
127
|
+
minVersion: "12.0.0",
|
|
128
|
+
version: "22.2.3",
|
|
129
|
+
ngImport: i0,
|
|
130
|
+
type: HyMarquee,
|
|
131
|
+
decorators: [{
|
|
132
|
+
type: Component,
|
|
133
|
+
args: [{
|
|
134
|
+
selector: "hy-marquee",
|
|
135
|
+
imports: [NgTemplateOutlet],
|
|
136
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
137
|
+
host: {
|
|
138
|
+
"[attr.data-running]": "running()",
|
|
139
|
+
"[attr.data-motion]": "motionEnabled()",
|
|
140
|
+
"[style.--hy-marquee-duration]": "duration()",
|
|
141
|
+
"[attr.data-reverse]": "reverse()"
|
|
142
|
+
},
|
|
143
|
+
template: "<div class=\"window\" role=\"group\" [attr.aria-label]=\"label()\">\r\n <div class=\"track\">\r\n <div class=\"group\">\r\n @for (item of items(); track item) {\r\n <ng-container [ngTemplateOutlet]=\"item.template\" />\r\n }\r\n </div>\r\n <div class=\"group copy\" aria-hidden=\"true\" inert>\r\n @for (item of items(); track item) {\r\n <ng-container [ngTemplateOutlet]=\"item.template\" />\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n@if (motionEnabled()) {\r\n <button type=\"button\" (click)=\"paused.set(!paused())\" [attr.aria-pressed]=\"paused()\">\r\n {{ paused() ? playLabel() : pauseLabel() }}\r\n </button>\r\n}\r\n<ng-content />\r\n",
|
|
144
|
+
styles: [":host{display:block}.window{overflow:clip}.track{display:flex;inline-size:max-content;animation:hy-marquee var(--hy-marquee-duration, 30s) linear infinite;animation-play-state:paused;direction:ltr}.group{display:flex;align-items:center;gap:var(--hy-space-9);padding-inline-end:var(--hy-space-9)}:host([data-running=\"true\"]) .track{animation-play-state:running}:host([data-reverse=\"true\"]) .track{animation-direction:reverse}:host(:focus-within) .track{animation-play-state:paused}@media(hover:hover){:host(:hover) .track{animation-play-state:paused}}@keyframes hy-marquee{to{transform:translate(-50%)}}button{margin-block-start:var(--hy-space-3);min-block-size:2rem;border:1px solid var(--hy-line);border-radius:var(--hy-radius-s);padding-inline:var(--hy-space-3);background:var(--hy-surface-2);color:var(--hy-ink);font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--hy-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.track{animation:none;inline-size:auto}.group{flex-wrap:wrap}.copy{display:none}}:host([data-running=\"false\"]) .window{overflow-x:auto}:host([data-motion=\"false\"]) .track{animation:none;inline-size:auto}:host([data-motion=\"false\"]) .group{flex-wrap:wrap}:host([data-motion=\"false\"]) .copy{display:none}\n"]
|
|
145
|
+
}]
|
|
146
|
+
}],
|
|
147
|
+
propDecorators: {
|
|
148
|
+
label: [{
|
|
149
|
+
type: i0.Input,
|
|
150
|
+
args: [{
|
|
151
|
+
isSignal: true,
|
|
152
|
+
alias: "label",
|
|
153
|
+
required: false
|
|
154
|
+
}]
|
|
155
|
+
}],
|
|
156
|
+
duration: [{
|
|
157
|
+
type: i0.Input,
|
|
158
|
+
args: [{
|
|
159
|
+
isSignal: true,
|
|
160
|
+
alias: "duration",
|
|
161
|
+
required: false
|
|
162
|
+
}]
|
|
163
|
+
}],
|
|
164
|
+
reverse: [{
|
|
165
|
+
type: i0.Input,
|
|
166
|
+
args: [{
|
|
167
|
+
isSignal: true,
|
|
168
|
+
alias: "reverse",
|
|
169
|
+
required: false
|
|
170
|
+
}]
|
|
171
|
+
}],
|
|
172
|
+
pauseLabel: [{
|
|
173
|
+
type: i0.Input,
|
|
174
|
+
args: [{
|
|
175
|
+
isSignal: true,
|
|
176
|
+
alias: "pauseLabel",
|
|
177
|
+
required: false
|
|
178
|
+
}]
|
|
179
|
+
}],
|
|
180
|
+
playLabel: [{
|
|
181
|
+
type: i0.Input,
|
|
182
|
+
args: [{
|
|
183
|
+
isSignal: true,
|
|
184
|
+
alias: "playLabel",
|
|
185
|
+
required: false
|
|
186
|
+
}]
|
|
187
|
+
}],
|
|
188
|
+
items: [{
|
|
189
|
+
type: i0.ContentChildren,
|
|
190
|
+
args: [i0.forwardRef(() => HyMarqueeItem), { isSignal: true }]
|
|
191
|
+
}]
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
const HY_MARQUEE = [HyMarquee, HyMarqueeItem];
|
|
195
|
+
export { HY_MARQUEE, HyMarquee, HyMarqueeItem };
|
|
196
|
+
|
|
197
|
+
//# sourceMappingURL=hyalo-angular-marquee.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyalo-angular-marquee.mjs","names":[],"sources":["../../../projects/hyalo/marquee/marquee.ts","../../../projects/hyalo/marquee/marquee.html"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n TemplateRef,\r\n booleanAttribute,\r\n computed,\r\n contentChildren,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { HyMotion } from '@hyalo/angular/motion';\r\n@Directive({ selector: 'ng-template[hyMarqueeItem]' })\r\nexport class HyMarqueeItem {\r\n readonly template = inject<TemplateRef<unknown>>(TemplateRef);\r\n}\r\n@Component({\r\n selector: 'hy-marquee',\r\n imports: [NgTemplateOutlet],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n '[attr.data-running]': 'running()',\r\n '[attr.data-motion]': 'motionEnabled()',\r\n '[style.--hy-marquee-duration]': 'duration()',\r\n '[attr.data-reverse]': 'reverse()',\r\n },\r\n templateUrl: './marquee.html',\r\n styleUrl: './marquee.css',\r\n})\r\nexport class HyMarquee {\r\n private readonly motion = inject(HyMotion);\r\n readonly label = input('Partners');\r\n readonly duration = input('30s');\r\n readonly reverse = input(false, { transform: booleanAttribute });\r\n readonly pauseLabel = input('Pause animation');\r\n readonly playLabel = input('Play animation');\r\n protected readonly paused = signal(false);\r\n protected readonly motionEnabled = computed(() => this.motion.enabled());\r\n protected readonly running = computed(() => this.motion.enabled() && !this.paused());\r\n protected readonly items = contentChildren(HyMarqueeItem);\r\n}\r\nexport const HY_MARQUEE = [HyMarquee, HyMarqueeItem] as const;\r\n","<div class=\"window\" role=\"group\" [attr.aria-label]=\"label()\">\r\n <div class=\"track\">\r\n <div class=\"group\">\r\n @for (item of items(); track item) {\r\n <ng-container [ngTemplateOutlet]=\"item.template\" />\r\n }\r\n </div>\r\n <div class=\"group copy\" aria-hidden=\"true\" inert>\r\n @for (item of items(); track item) {\r\n <ng-container [ngTemplateOutlet]=\"item.template\" />\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n@if (motionEnabled()) {\r\n <button type=\"button\" (click)=\"paused.set(!paused())\" [attr.aria-pressed]=\"paused()\">\r\n {{ paused() ? playLabel() : pauseLabel() }}\r\n </button>\r\n}\r\n<ng-content />\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import * as i1 from "@angular/cdk/menu";
|
|
2
|
+
import { CdkMenu, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuTrigger } from "@angular/cdk/menu";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import { ChangeDetectionStrategy, Component, Directive, input, output } from "@angular/core";
|
|
5
|
+
import * as i2 from "@hyalo/angular/core";
|
|
6
|
+
import { HyMaterialDirective } from "@hyalo/angular/core";
|
|
7
|
+
import { HyButton } from "@hyalo/angular/button";
|
|
8
|
+
import { HyIcon } from "@hyalo/angular/icon";
|
|
9
|
+
var HyMenu = class HyMenu {
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
11
|
+
minVersion: "12.0.0",
|
|
12
|
+
version: "22.2.3",
|
|
13
|
+
ngImport: i0,
|
|
14
|
+
type: HyMenu,
|
|
15
|
+
deps: [],
|
|
16
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
17
|
+
});
|
|
18
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
19
|
+
minVersion: "14.0.0",
|
|
20
|
+
version: "22.2.3",
|
|
21
|
+
type: HyMenu,
|
|
22
|
+
isStandalone: true,
|
|
23
|
+
selector: "hy-menu",
|
|
24
|
+
hostDirectives: [{ directive: i1.CdkMenu }, {
|
|
25
|
+
directive: i2.HyMaterialDirective,
|
|
26
|
+
inputs: ["hyMaterial", "material"]
|
|
27
|
+
}],
|
|
28
|
+
ngImport: i0,
|
|
29
|
+
template: "<ng-content />\r\n",
|
|
30
|
+
styles: [":host{display:flex;flex-direction:column;gap:.125rem;min-inline-size:12rem;max-inline-size:min(24rem,calc(100vw - 2rem));max-block-size:min(32rem,calc(100dvh - 2rem));overflow:auto;box-sizing:border-box;padding:.375rem;border-radius:var(--hy-radius-m);border:1px solid var(--hy-line-strong);outline:none}\n"],
|
|
31
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
35
|
+
minVersion: "12.0.0",
|
|
36
|
+
version: "22.2.3",
|
|
37
|
+
ngImport: i0,
|
|
38
|
+
type: HyMenu,
|
|
39
|
+
decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: "hy-menu",
|
|
43
|
+
hostDirectives: [CdkMenu, {
|
|
44
|
+
directive: HyMaterialDirective,
|
|
45
|
+
inputs: ["hyMaterial: material"]
|
|
46
|
+
}],
|
|
47
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
48
|
+
template: "<ng-content />\r\n",
|
|
49
|
+
styles: [":host{display:flex;flex-direction:column;gap:.125rem;min-inline-size:12rem;max-inline-size:min(24rem,calc(100vw - 2rem));max-block-size:min(32rem,calc(100dvh - 2rem));overflow:auto;box-sizing:border-box;padding:.375rem;border-radius:var(--hy-radius-m);border:1px solid var(--hy-line-strong);outline:none}\n"]
|
|
50
|
+
}]
|
|
51
|
+
}]
|
|
52
|
+
});
|
|
53
|
+
var HyMenuTrigger = class HyMenuTrigger {
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
55
|
+
minVersion: "12.0.0",
|
|
56
|
+
version: "22.2.3",
|
|
57
|
+
ngImport: i0,
|
|
58
|
+
type: HyMenuTrigger,
|
|
59
|
+
deps: [],
|
|
60
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
61
|
+
});
|
|
62
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
63
|
+
minVersion: "14.0.0",
|
|
64
|
+
version: "22.2.3",
|
|
65
|
+
type: HyMenuTrigger,
|
|
66
|
+
isStandalone: true,
|
|
67
|
+
selector: "[hyMenuTriggerFor]",
|
|
68
|
+
hostDirectives: [{
|
|
69
|
+
directive: i1.CdkMenuTrigger,
|
|
70
|
+
inputs: [
|
|
71
|
+
"cdkMenuTriggerFor",
|
|
72
|
+
"hyMenuTriggerFor",
|
|
73
|
+
"cdkMenuPosition",
|
|
74
|
+
"menuPosition",
|
|
75
|
+
"cdkMenuTriggerData",
|
|
76
|
+
"menuData"
|
|
77
|
+
],
|
|
78
|
+
outputs: [
|
|
79
|
+
"cdkMenuOpened",
|
|
80
|
+
"menuOpened",
|
|
81
|
+
"cdkMenuClosed",
|
|
82
|
+
"menuClosed"
|
|
83
|
+
]
|
|
84
|
+
}],
|
|
85
|
+
ngImport: i0
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
89
|
+
minVersion: "12.0.0",
|
|
90
|
+
version: "22.2.3",
|
|
91
|
+
ngImport: i0,
|
|
92
|
+
type: HyMenuTrigger,
|
|
93
|
+
decorators: [{
|
|
94
|
+
type: Directive,
|
|
95
|
+
args: [{
|
|
96
|
+
selector: "[hyMenuTriggerFor]",
|
|
97
|
+
hostDirectives: [{
|
|
98
|
+
directive: CdkMenuTrigger,
|
|
99
|
+
inputs: [
|
|
100
|
+
"cdkMenuTriggerFor: hyMenuTriggerFor",
|
|
101
|
+
"cdkMenuPosition: menuPosition",
|
|
102
|
+
"cdkMenuTriggerData: menuData"
|
|
103
|
+
],
|
|
104
|
+
outputs: ["cdkMenuOpened: menuOpened", "cdkMenuClosed: menuClosed"]
|
|
105
|
+
}]
|
|
106
|
+
}]
|
|
107
|
+
}]
|
|
108
|
+
});
|
|
109
|
+
var HyMenuItem = class HyMenuItem {
|
|
110
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
111
|
+
minVersion: "12.0.0",
|
|
112
|
+
version: "22.2.3",
|
|
113
|
+
ngImport: i0,
|
|
114
|
+
type: HyMenuItem,
|
|
115
|
+
deps: [],
|
|
116
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
117
|
+
});
|
|
118
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
119
|
+
minVersion: "14.0.0",
|
|
120
|
+
version: "22.2.3",
|
|
121
|
+
type: HyMenuItem,
|
|
122
|
+
isStandalone: true,
|
|
123
|
+
selector: "button[hyMenuItem],a[hyMenuItem]",
|
|
124
|
+
hostDirectives: [{
|
|
125
|
+
directive: i1.CdkMenuItem,
|
|
126
|
+
inputs: [
|
|
127
|
+
"cdkMenuItemDisabled",
|
|
128
|
+
"disabled",
|
|
129
|
+
"cdkMenuitemTypeaheadLabel",
|
|
130
|
+
"typeaheadLabel"
|
|
131
|
+
],
|
|
132
|
+
outputs: ["cdkMenuItemTriggered", "triggered"]
|
|
133
|
+
}],
|
|
134
|
+
ngImport: i0,
|
|
135
|
+
template: "<ng-content />",
|
|
136
|
+
isInline: true,
|
|
137
|
+
styles: [":host{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:44px;padding:.5rem .75rem;border:0;border-radius:var(--hy-radius-s);background:transparent;color:var(--hy-ink);font:inherit;text-align:start;text-decoration:none;cursor:pointer;box-sizing:border-box}:host(:focus){outline:2px solid var(--hy-primary);outline-offset:-2px;background:var(--hy-primary-wash)}:host(:hover){background:var(--hy-surface-3)}:host([aria-disabled=true]){opacity:.45;cursor:default}:host([aria-checked=true]){background:var(--hy-primary-wash)}:host([aria-checked=true]):after{content:\"\";inline-size:.4rem;block-size:.7rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-inline-start:auto}\n"],
|
|
138
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
142
|
+
minVersion: "12.0.0",
|
|
143
|
+
version: "22.2.3",
|
|
144
|
+
ngImport: i0,
|
|
145
|
+
type: HyMenuItem,
|
|
146
|
+
decorators: [{
|
|
147
|
+
type: Component,
|
|
148
|
+
args: [{
|
|
149
|
+
selector: "button[hyMenuItem],a[hyMenuItem]",
|
|
150
|
+
hostDirectives: [{
|
|
151
|
+
directive: CdkMenuItem,
|
|
152
|
+
inputs: ["cdkMenuItemDisabled: disabled", "cdkMenuitemTypeaheadLabel: typeaheadLabel"],
|
|
153
|
+
outputs: ["cdkMenuItemTriggered: triggered"]
|
|
154
|
+
}],
|
|
155
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
156
|
+
template: "<ng-content />",
|
|
157
|
+
styles: [":host{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:44px;padding:.5rem .75rem;border:0;border-radius:var(--hy-radius-s);background:transparent;color:var(--hy-ink);font:inherit;text-align:start;text-decoration:none;cursor:pointer;box-sizing:border-box}:host(:focus){outline:2px solid var(--hy-primary);outline-offset:-2px;background:var(--hy-primary-wash)}:host(:hover){background:var(--hy-surface-3)}:host([aria-disabled=true]){opacity:.45;cursor:default}:host([aria-checked=true]){background:var(--hy-primary-wash)}:host([aria-checked=true]):after{content:\"\";inline-size:.4rem;block-size:.7rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-inline-start:auto}\n"]
|
|
158
|
+
}]
|
|
159
|
+
}]
|
|
160
|
+
});
|
|
161
|
+
var HyMenuCheckbox = class HyMenuCheckbox {
|
|
162
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
163
|
+
minVersion: "12.0.0",
|
|
164
|
+
version: "22.2.3",
|
|
165
|
+
ngImport: i0,
|
|
166
|
+
type: HyMenuCheckbox,
|
|
167
|
+
deps: [],
|
|
168
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
169
|
+
});
|
|
170
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
171
|
+
minVersion: "14.0.0",
|
|
172
|
+
version: "22.2.3",
|
|
173
|
+
type: HyMenuCheckbox,
|
|
174
|
+
isStandalone: true,
|
|
175
|
+
selector: "button[hyMenuCheckbox]",
|
|
176
|
+
hostDirectives: [{
|
|
177
|
+
directive: i1.CdkMenuItemCheckbox,
|
|
178
|
+
inputs: [
|
|
179
|
+
"cdkMenuItemDisabled",
|
|
180
|
+
"disabled",
|
|
181
|
+
"cdkMenuItemChecked",
|
|
182
|
+
"checked"
|
|
183
|
+
],
|
|
184
|
+
outputs: ["cdkMenuItemTriggered", "triggered"]
|
|
185
|
+
}],
|
|
186
|
+
ngImport: i0,
|
|
187
|
+
template: "<ng-content />",
|
|
188
|
+
isInline: true,
|
|
189
|
+
styles: [":host{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:44px;padding:.5rem .75rem;border:0;border-radius:var(--hy-radius-s);background:transparent;color:var(--hy-ink);font:inherit;text-align:start;text-decoration:none;cursor:pointer;box-sizing:border-box}:host(:focus){outline:2px solid var(--hy-primary);outline-offset:-2px;background:var(--hy-primary-wash)}:host(:hover){background:var(--hy-surface-3)}:host([aria-disabled=true]){opacity:.45;cursor:default}:host([aria-checked=true]){background:var(--hy-primary-wash)}:host([aria-checked=true]):after{content:\"\";inline-size:.4rem;block-size:.7rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-inline-start:auto}\n"],
|
|
190
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
194
|
+
minVersion: "12.0.0",
|
|
195
|
+
version: "22.2.3",
|
|
196
|
+
ngImport: i0,
|
|
197
|
+
type: HyMenuCheckbox,
|
|
198
|
+
decorators: [{
|
|
199
|
+
type: Component,
|
|
200
|
+
args: [{
|
|
201
|
+
selector: "button[hyMenuCheckbox]",
|
|
202
|
+
hostDirectives: [{
|
|
203
|
+
directive: CdkMenuItemCheckbox,
|
|
204
|
+
inputs: ["cdkMenuItemDisabled: disabled", "cdkMenuItemChecked: checked"],
|
|
205
|
+
outputs: ["cdkMenuItemTriggered: triggered"]
|
|
206
|
+
}],
|
|
207
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
208
|
+
template: "<ng-content />",
|
|
209
|
+
styles: [":host{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:44px;padding:.5rem .75rem;border:0;border-radius:var(--hy-radius-s);background:transparent;color:var(--hy-ink);font:inherit;text-align:start;text-decoration:none;cursor:pointer;box-sizing:border-box}:host(:focus){outline:2px solid var(--hy-primary);outline-offset:-2px;background:var(--hy-primary-wash)}:host(:hover){background:var(--hy-surface-3)}:host([aria-disabled=true]){opacity:.45;cursor:default}:host([aria-checked=true]){background:var(--hy-primary-wash)}:host([aria-checked=true]):after{content:\"\";inline-size:.4rem;block-size:.7rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-inline-start:auto}\n"]
|
|
210
|
+
}]
|
|
211
|
+
}]
|
|
212
|
+
});
|
|
213
|
+
var HyMenuRadio = class HyMenuRadio {
|
|
214
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
215
|
+
minVersion: "12.0.0",
|
|
216
|
+
version: "22.2.3",
|
|
217
|
+
ngImport: i0,
|
|
218
|
+
type: HyMenuRadio,
|
|
219
|
+
deps: [],
|
|
220
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
221
|
+
});
|
|
222
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
223
|
+
minVersion: "14.0.0",
|
|
224
|
+
version: "22.2.3",
|
|
225
|
+
type: HyMenuRadio,
|
|
226
|
+
isStandalone: true,
|
|
227
|
+
selector: "button[hyMenuRadio]",
|
|
228
|
+
hostDirectives: [{
|
|
229
|
+
directive: i1.CdkMenuItemRadio,
|
|
230
|
+
inputs: [
|
|
231
|
+
"cdkMenuItemDisabled",
|
|
232
|
+
"disabled",
|
|
233
|
+
"cdkMenuItemChecked",
|
|
234
|
+
"checked"
|
|
235
|
+
],
|
|
236
|
+
outputs: ["cdkMenuItemTriggered", "triggered"]
|
|
237
|
+
}],
|
|
238
|
+
ngImport: i0,
|
|
239
|
+
template: "<ng-content />",
|
|
240
|
+
isInline: true,
|
|
241
|
+
styles: [":host{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:44px;padding:.5rem .75rem;border:0;border-radius:var(--hy-radius-s);background:transparent;color:var(--hy-ink);font:inherit;text-align:start;text-decoration:none;cursor:pointer;box-sizing:border-box}:host(:focus){outline:2px solid var(--hy-primary);outline-offset:-2px;background:var(--hy-primary-wash)}:host(:hover){background:var(--hy-surface-3)}:host([aria-disabled=true]){opacity:.45;cursor:default}:host([aria-checked=true]){background:var(--hy-primary-wash)}:host([aria-checked=true]):after{content:\"\";inline-size:.4rem;block-size:.7rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-inline-start:auto}\n"],
|
|
242
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
243
|
+
});
|
|
244
|
+
};
|
|
245
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
246
|
+
minVersion: "12.0.0",
|
|
247
|
+
version: "22.2.3",
|
|
248
|
+
ngImport: i0,
|
|
249
|
+
type: HyMenuRadio,
|
|
250
|
+
decorators: [{
|
|
251
|
+
type: Component,
|
|
252
|
+
args: [{
|
|
253
|
+
selector: "button[hyMenuRadio]",
|
|
254
|
+
hostDirectives: [{
|
|
255
|
+
directive: CdkMenuItemRadio,
|
|
256
|
+
inputs: ["cdkMenuItemDisabled: disabled", "cdkMenuItemChecked: checked"],
|
|
257
|
+
outputs: ["cdkMenuItemTriggered: triggered"]
|
|
258
|
+
}],
|
|
259
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
260
|
+
template: "<ng-content />",
|
|
261
|
+
styles: [":host{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:44px;padding:.5rem .75rem;border:0;border-radius:var(--hy-radius-s);background:transparent;color:var(--hy-ink);font:inherit;text-align:start;text-decoration:none;cursor:pointer;box-sizing:border-box}:host(:focus){outline:2px solid var(--hy-primary);outline-offset:-2px;background:var(--hy-primary-wash)}:host(:hover){background:var(--hy-surface-3)}:host([aria-disabled=true]){opacity:.45;cursor:default}:host([aria-checked=true]){background:var(--hy-primary-wash)}:host([aria-checked=true]):after{content:\"\";inline-size:.4rem;block-size:.7rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-inline-start:auto}\n"]
|
|
262
|
+
}]
|
|
263
|
+
}]
|
|
264
|
+
});
|
|
265
|
+
var HySplitButton = class HySplitButton {
|
|
266
|
+
label = input.required(...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
267
|
+
menu = input.required(...ngDevMode ? [{ debugName: "menu" }] : /* istanbul ignore next */ []);
|
|
268
|
+
menuLabel = input("More actions", ...ngDevMode ? [{ debugName: "menuLabel" }] : /* istanbul ignore next */ []);
|
|
269
|
+
disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
270
|
+
activated = output();
|
|
271
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
272
|
+
minVersion: "12.0.0",
|
|
273
|
+
version: "22.2.3",
|
|
274
|
+
ngImport: i0,
|
|
275
|
+
type: HySplitButton,
|
|
276
|
+
deps: [],
|
|
277
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
278
|
+
});
|
|
279
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
280
|
+
minVersion: "17.1.0",
|
|
281
|
+
version: "22.2.3",
|
|
282
|
+
type: HySplitButton,
|
|
283
|
+
isStandalone: true,
|
|
284
|
+
selector: "hy-split-button",
|
|
285
|
+
inputs: {
|
|
286
|
+
label: {
|
|
287
|
+
classPropertyName: "label",
|
|
288
|
+
publicName: "label",
|
|
289
|
+
isSignal: true,
|
|
290
|
+
isRequired: true,
|
|
291
|
+
transformFunction: null
|
|
292
|
+
},
|
|
293
|
+
menu: {
|
|
294
|
+
classPropertyName: "menu",
|
|
295
|
+
publicName: "menu",
|
|
296
|
+
isSignal: true,
|
|
297
|
+
isRequired: true,
|
|
298
|
+
transformFunction: null
|
|
299
|
+
},
|
|
300
|
+
menuLabel: {
|
|
301
|
+
classPropertyName: "menuLabel",
|
|
302
|
+
publicName: "menuLabel",
|
|
303
|
+
isSignal: true,
|
|
304
|
+
isRequired: false,
|
|
305
|
+
transformFunction: null
|
|
306
|
+
},
|
|
307
|
+
disabled: {
|
|
308
|
+
classPropertyName: "disabled",
|
|
309
|
+
publicName: "disabled",
|
|
310
|
+
isSignal: true,
|
|
311
|
+
isRequired: false,
|
|
312
|
+
transformFunction: null
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
outputs: { activated: "activated" },
|
|
316
|
+
ngImport: i0,
|
|
317
|
+
template: "<button hyButton type=\"button\" [disabled]=\"disabled()\" (click)=\"activated.emit()\">{{label()}}</button><button hyButton type=\"button\" [disabled]=\"disabled()\" [hyMenuTriggerFor]=\"menu()\" [attr.aria-label]=\"menuLabel()\"><hy-icon class=\"chevron\" name=\"chevron-down\" size=\"1rem\" /></button>",
|
|
318
|
+
isInline: true,
|
|
319
|
+
styles: [":host{display:inline-flex;gap:1px}button:first-child{border-start-end-radius:0;border-end-end-radius:0}button:last-child{border-start-start-radius:0;border-end-start-radius:0;min-inline-size:44px}.chevron{transition:rotate var(--hy-dur-quick) var(--hy-ease-out)}button[aria-expanded=true] .chevron{rotate:180deg}@media(prefers-reduced-motion:reduce){.chevron{transition:none}}\n"],
|
|
320
|
+
dependencies: [
|
|
321
|
+
{
|
|
322
|
+
kind: "component",
|
|
323
|
+
type: HyButton,
|
|
324
|
+
selector: "button[hyButton], a[hyButton]",
|
|
325
|
+
inputs: [
|
|
326
|
+
"variant",
|
|
327
|
+
"size",
|
|
328
|
+
"tone",
|
|
329
|
+
"iconOnly",
|
|
330
|
+
"loading",
|
|
331
|
+
"disabled"
|
|
332
|
+
]
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
kind: "directive",
|
|
336
|
+
type: HyMenuTrigger,
|
|
337
|
+
selector: "[hyMenuTriggerFor]"
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
kind: "component",
|
|
341
|
+
type: HyIcon,
|
|
342
|
+
selector: "hy-icon",
|
|
343
|
+
inputs: [
|
|
344
|
+
"name",
|
|
345
|
+
"icon",
|
|
346
|
+
"label",
|
|
347
|
+
"size",
|
|
348
|
+
"strokeWidth"
|
|
349
|
+
]
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
353
|
+
});
|
|
354
|
+
};
|
|
355
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
356
|
+
minVersion: "12.0.0",
|
|
357
|
+
version: "22.2.3",
|
|
358
|
+
ngImport: i0,
|
|
359
|
+
type: HySplitButton,
|
|
360
|
+
decorators: [{
|
|
361
|
+
type: Component,
|
|
362
|
+
args: [{
|
|
363
|
+
selector: "hy-split-button",
|
|
364
|
+
imports: [
|
|
365
|
+
HyButton,
|
|
366
|
+
HyMenuTrigger,
|
|
367
|
+
HyIcon
|
|
368
|
+
],
|
|
369
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
370
|
+
template: "<button hyButton type=\"button\" [disabled]=\"disabled()\" (click)=\"activated.emit()\">{{label()}}</button><button hyButton type=\"button\" [disabled]=\"disabled()\" [hyMenuTriggerFor]=\"menu()\" [attr.aria-label]=\"menuLabel()\"><hy-icon class=\"chevron\" name=\"chevron-down\" size=\"1rem\" /></button>",
|
|
371
|
+
styles: [":host{display:inline-flex;gap:1px}button:first-child{border-start-end-radius:0;border-end-end-radius:0}button:last-child{border-start-start-radius:0;border-end-start-radius:0;min-inline-size:44px}.chevron{transition:rotate var(--hy-dur-quick) var(--hy-ease-out)}button[aria-expanded=true] .chevron{rotate:180deg}@media(prefers-reduced-motion:reduce){.chevron{transition:none}}\n"]
|
|
372
|
+
}]
|
|
373
|
+
}],
|
|
374
|
+
propDecorators: {
|
|
375
|
+
label: [{
|
|
376
|
+
type: i0.Input,
|
|
377
|
+
args: [{
|
|
378
|
+
isSignal: true,
|
|
379
|
+
alias: "label",
|
|
380
|
+
required: true
|
|
381
|
+
}]
|
|
382
|
+
}],
|
|
383
|
+
menu: [{
|
|
384
|
+
type: i0.Input,
|
|
385
|
+
args: [{
|
|
386
|
+
isSignal: true,
|
|
387
|
+
alias: "menu",
|
|
388
|
+
required: true
|
|
389
|
+
}]
|
|
390
|
+
}],
|
|
391
|
+
menuLabel: [{
|
|
392
|
+
type: i0.Input,
|
|
393
|
+
args: [{
|
|
394
|
+
isSignal: true,
|
|
395
|
+
alias: "menuLabel",
|
|
396
|
+
required: false
|
|
397
|
+
}]
|
|
398
|
+
}],
|
|
399
|
+
disabled: [{
|
|
400
|
+
type: i0.Input,
|
|
401
|
+
args: [{
|
|
402
|
+
isSignal: true,
|
|
403
|
+
alias: "disabled",
|
|
404
|
+
required: false
|
|
405
|
+
}]
|
|
406
|
+
}],
|
|
407
|
+
activated: [{
|
|
408
|
+
type: i0.Output,
|
|
409
|
+
args: ["activated"]
|
|
410
|
+
}]
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
const HY_MENU = [
|
|
414
|
+
HyMenu,
|
|
415
|
+
HyMenuItem,
|
|
416
|
+
HyMenuTrigger,
|
|
417
|
+
HyMenuCheckbox,
|
|
418
|
+
HyMenuRadio,
|
|
419
|
+
HySplitButton
|
|
420
|
+
];
|
|
421
|
+
export { HY_MENU, HyMenu, HyMenuCheckbox, HyMenuItem, HyMenuRadio, HyMenuTrigger, HySplitButton };
|
|
422
|
+
|
|
423
|
+
//# sourceMappingURL=hyalo-angular-menu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyalo-angular-menu.mjs","names":[],"sources":["../../../projects/hyalo/menu/menu.ts","../../../projects/hyalo/menu/menu.html"],"sourcesContent":["import {\n CdkMenu,\n CdkMenuItem,\n CdkMenuItemCheckbox,\n CdkMenuItemRadio,\n CdkMenuTrigger,\n} from '@angular/cdk/menu';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n TemplateRef,\n input,\n output,\n} from '@angular/core';\nimport { HyMaterialDirective } from '@hyalo/angular/core';\nimport { HyButton } from '@hyalo/angular/button';\nimport { HyIcon } from '@hyalo/angular/icon';\n@Component({\n selector: 'hy-menu',\n hostDirectives: [CdkMenu, { directive: HyMaterialDirective, inputs: ['hyMaterial: material'] }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './menu.html',\n styleUrl: './menu.css',\n})\nexport class HyMenu {}\n@Directive({\n selector: '[hyMenuTriggerFor]',\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: [\n 'cdkMenuTriggerFor: hyMenuTriggerFor',\n 'cdkMenuPosition: menuPosition',\n 'cdkMenuTriggerData: menuData',\n ],\n outputs: ['cdkMenuOpened: menuOpened', 'cdkMenuClosed: menuClosed'],\n },\n ],\n})\nexport class HyMenuTrigger {}\nconst itemStyles =\n ':host{display:flex;align-items:center;gap:.75rem;inline-size:100%;min-block-size:44px;padding:.5rem .75rem;border:0;border-radius:var(--hy-radius-s);background:transparent;color:var(--hy-ink);font:inherit;text-align:start;text-decoration:none;cursor:pointer;box-sizing:border-box}:host(:focus){outline:2px solid var(--hy-primary);outline-offset:-2px;background:var(--hy-primary-wash)}:host(:hover){background:var(--hy-surface-3)}:host([aria-disabled=true]){opacity:.45;cursor:default}:host([aria-checked=true]){background:var(--hy-primary-wash)}:host([aria-checked=true])::after{content:\"\";inline-size:.4rem;block-size:.7rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-inline-start:auto}';\n@Component({\n // Native elements preserve link, list, key, and button semantics.\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[hyMenuItem],a[hyMenuItem]',\n hostDirectives: [\n {\n directive: CdkMenuItem,\n inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuitemTypeaheadLabel: typeaheadLabel'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content />',\n styles: itemStyles,\n})\nexport class HyMenuItem {}\n@Component({\n // Native elements preserve link, list, key, and button semantics.\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[hyMenuCheckbox]',\n hostDirectives: [\n {\n directive: CdkMenuItemCheckbox,\n inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content />',\n styles: itemStyles,\n})\nexport class HyMenuCheckbox {}\n@Component({\n // Native elements preserve link, list, key, and button semantics.\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[hyMenuRadio]',\n hostDirectives: [\n {\n directive: CdkMenuItemRadio,\n inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content />',\n styles: itemStyles,\n})\nexport class HyMenuRadio {}\n@Component({\n selector: 'hy-split-button',\n imports: [HyButton, HyMenuTrigger, HyIcon],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template:\n '<button hyButton type=\"button\" [disabled]=\"disabled()\" (click)=\"activated.emit()\">{{label()}}</button><button hyButton type=\"button\" [disabled]=\"disabled()\" [hyMenuTriggerFor]=\"menu()\" [attr.aria-label]=\"menuLabel()\"><hy-icon class=\"chevron\" name=\"chevron-down\" size=\"1rem\" /></button>',\n styles:\n ':host{display:inline-flex;gap:1px}button:first-child{border-start-end-radius:0;border-end-end-radius:0}button:last-child{border-start-start-radius:0;border-end-start-radius:0;min-inline-size:44px}.chevron{transition:rotate var(--hy-dur-quick) var(--hy-ease-out)}button[aria-expanded=true] .chevron{rotate:180deg}@media(prefers-reduced-motion:reduce){.chevron{transition:none}}',\n})\nexport class HySplitButton {\n readonly label = input.required<string>();\n readonly menu = input.required<TemplateRef<unknown>>();\n readonly menuLabel = input('More actions');\n readonly disabled = input(false);\n readonly activated = output<void>();\n}\nexport const HY_MENU = [\n HyMenu,\n HyMenuItem,\n HyMenuTrigger,\n HyMenuCheckbox,\n HyMenuRadio,\n HySplitButton,\n] as const;\n","<ng-content />\r\n"],"mappings":"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"}
|