@raqm/ui 0.0.0-stage → 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/CHANGELOG.md +12 -0
- package/LICENSE +21 -0
- package/NOTICE.md +28 -0
- package/README.md +125 -3
- package/combobox/README.md +17 -0
- package/fesm2022/raqm-ui-accordion.mjs +414 -0
- package/fesm2022/raqm-ui-accordion.mjs.map +1 -0
- package/fesm2022/raqm-ui-alert-dialog.mjs +457 -0
- package/fesm2022/raqm-ui-alert-dialog.mjs.map +1 -0
- package/fesm2022/raqm-ui-alert.mjs +195 -0
- package/fesm2022/raqm-ui-alert.mjs.map +1 -0
- package/fesm2022/raqm-ui-aspect-ratio.mjs +66 -0
- package/fesm2022/raqm-ui-aspect-ratio.mjs.map +1 -0
- package/fesm2022/raqm-ui-attachment.mjs +435 -0
- package/fesm2022/raqm-ui-attachment.mjs.map +1 -0
- package/fesm2022/raqm-ui-avatar.mjs +337 -0
- package/fesm2022/raqm-ui-avatar.mjs.map +1 -0
- package/fesm2022/raqm-ui-badge.mjs +68 -0
- package/fesm2022/raqm-ui-badge.mjs.map +1 -0
- package/fesm2022/raqm-ui-breadcrumb.mjs +309 -0
- package/fesm2022/raqm-ui-breadcrumb.mjs.map +1 -0
- package/fesm2022/raqm-ui-button-group.mjs +138 -0
- package/fesm2022/raqm-ui-button-group.mjs.map +1 -0
- package/fesm2022/raqm-ui-button.mjs +295 -0
- package/fesm2022/raqm-ui-button.mjs.map +1 -0
- package/fesm2022/raqm-ui-calendar.mjs +1394 -0
- package/fesm2022/raqm-ui-calendar.mjs.map +1 -0
- package/fesm2022/raqm-ui-card.mjs +331 -0
- package/fesm2022/raqm-ui-card.mjs.map +1 -0
- package/fesm2022/raqm-ui-carousel.mjs +410 -0
- package/fesm2022/raqm-ui-carousel.mjs.map +1 -0
- package/fesm2022/raqm-ui-checkbox.mjs +86 -0
- package/fesm2022/raqm-ui-checkbox.mjs.map +1 -0
- package/fesm2022/raqm-ui-collapsible.mjs +266 -0
- package/fesm2022/raqm-ui-collapsible.mjs.map +1 -0
- package/fesm2022/raqm-ui-combobox.mjs +1584 -0
- package/fesm2022/raqm-ui-combobox.mjs.map +1 -0
- package/fesm2022/raqm-ui-command.mjs +1210 -0
- package/fesm2022/raqm-ui-command.mjs.map +1 -0
- package/fesm2022/raqm-ui-context-menu.mjs +723 -0
- package/fesm2022/raqm-ui-context-menu.mjs.map +1 -0
- package/fesm2022/raqm-ui-dialog.mjs +1214 -0
- package/fesm2022/raqm-ui-dialog.mjs.map +1 -0
- package/fesm2022/raqm-ui-drawer.mjs +687 -0
- package/fesm2022/raqm-ui-drawer.mjs.map +1 -0
- package/fesm2022/raqm-ui-dropdown-menu.mjs +1168 -0
- package/fesm2022/raqm-ui-dropdown-menu.mjs.map +1 -0
- package/fesm2022/raqm-ui-empty.mjs +272 -0
- package/fesm2022/raqm-ui-empty.mjs.map +1 -0
- package/fesm2022/raqm-ui-field.mjs +517 -0
- package/fesm2022/raqm-ui-field.mjs.map +1 -0
- package/fesm2022/raqm-ui-hover-card.mjs +828 -0
- package/fesm2022/raqm-ui-hover-card.mjs.map +1 -0
- package/fesm2022/raqm-ui-input-group.mjs +270 -0
- package/fesm2022/raqm-ui-input-group.mjs.map +1 -0
- package/fesm2022/raqm-ui-input-otp.mjs +788 -0
- package/fesm2022/raqm-ui-input-otp.mjs.map +1 -0
- package/fesm2022/raqm-ui-input.mjs +73 -0
- package/fesm2022/raqm-ui-input.mjs.map +1 -0
- package/fesm2022/raqm-ui-item.mjs +495 -0
- package/fesm2022/raqm-ui-item.mjs.map +1 -0
- package/fesm2022/raqm-ui-kbd.mjs +80 -0
- package/fesm2022/raqm-ui-kbd.mjs.map +1 -0
- package/fesm2022/raqm-ui-label.mjs +44 -0
- package/fesm2022/raqm-ui-label.mjs.map +1 -0
- package/fesm2022/raqm-ui-menubar.mjs +536 -0
- package/fesm2022/raqm-ui-menubar.mjs.map +1 -0
- package/fesm2022/raqm-ui-native-select.mjs +131 -0
- package/fesm2022/raqm-ui-native-select.mjs.map +1 -0
- package/fesm2022/raqm-ui-navigation-menu.mjs +1399 -0
- package/fesm2022/raqm-ui-navigation-menu.mjs.map +1 -0
- package/fesm2022/raqm-ui-overlay-internal.mjs +185 -0
- package/fesm2022/raqm-ui-overlay-internal.mjs.map +1 -0
- package/fesm2022/raqm-ui-pagination.mjs +440 -0
- package/fesm2022/raqm-ui-pagination.mjs.map +1 -0
- package/fesm2022/raqm-ui-popover.mjs +1495 -0
- package/fesm2022/raqm-ui-popover.mjs.map +1 -0
- package/fesm2022/raqm-ui-progress.mjs +369 -0
- package/fesm2022/raqm-ui-progress.mjs.map +1 -0
- package/fesm2022/raqm-ui-questionnaire.mjs +1005 -0
- package/fesm2022/raqm-ui-questionnaire.mjs.map +1 -0
- package/fesm2022/raqm-ui-radio-group.mjs +151 -0
- package/fesm2022/raqm-ui-radio-group.mjs.map +1 -0
- package/fesm2022/raqm-ui-resizable.mjs +439 -0
- package/fesm2022/raqm-ui-resizable.mjs.map +1 -0
- package/fesm2022/raqm-ui-scroll-area.mjs +510 -0
- package/fesm2022/raqm-ui-scroll-area.mjs.map +1 -0
- package/fesm2022/raqm-ui-select.mjs +1073 -0
- package/fesm2022/raqm-ui-select.mjs.map +1 -0
- package/fesm2022/raqm-ui-separator.mjs +103 -0
- package/fesm2022/raqm-ui-separator.mjs.map +1 -0
- package/fesm2022/raqm-ui-sheet.mjs +411 -0
- package/fesm2022/raqm-ui-sheet.mjs.map +1 -0
- package/fesm2022/raqm-ui-sidebar.mjs +1784 -0
- package/fesm2022/raqm-ui-sidebar.mjs.map +1 -0
- package/fesm2022/raqm-ui-skeleton.mjs +50 -0
- package/fesm2022/raqm-ui-skeleton.mjs.map +1 -0
- package/fesm2022/raqm-ui-slider.mjs +609 -0
- package/fesm2022/raqm-ui-slider.mjs.map +1 -0
- package/fesm2022/raqm-ui-spinner.mjs +137 -0
- package/fesm2022/raqm-ui-spinner.mjs.map +1 -0
- package/fesm2022/raqm-ui-switch.mjs +109 -0
- package/fesm2022/raqm-ui-switch.mjs.map +1 -0
- package/fesm2022/raqm-ui-table.mjs +271 -0
- package/fesm2022/raqm-ui-table.mjs.map +1 -0
- package/fesm2022/raqm-ui-tabs.mjs +536 -0
- package/fesm2022/raqm-ui-tabs.mjs.map +1 -0
- package/fesm2022/raqm-ui-textarea.mjs +37 -0
- package/fesm2022/raqm-ui-textarea.mjs.map +1 -0
- package/fesm2022/raqm-ui-toast.mjs +918 -0
- package/fesm2022/raqm-ui-toast.mjs.map +1 -0
- package/fesm2022/raqm-ui-toggle-group.mjs +462 -0
- package/fesm2022/raqm-ui-toggle-group.mjs.map +1 -0
- package/fesm2022/raqm-ui-toggle.mjs +158 -0
- package/fesm2022/raqm-ui-toggle.mjs.map +1 -0
- package/fesm2022/raqm-ui-tooltip.mjs +1226 -0
- package/fesm2022/raqm-ui-tooltip.mjs.map +1 -0
- package/fesm2022/raqm-ui.mjs +50 -0
- package/input-otp/README.md +12 -0
- package/package.json +275 -3
- package/styles/theme.css +4322 -0
- package/types/raqm-ui-accordion.d.ts +124 -0
- package/types/raqm-ui-alert-dialog.d.ts +81 -0
- package/types/raqm-ui-alert.d.ts +29 -0
- package/types/raqm-ui-aspect-ratio.d.ts +13 -0
- package/types/raqm-ui-attachment.d.ts +72 -0
- package/types/raqm-ui-avatar.d.ts +67 -0
- package/types/raqm-ui-badge.d.ts +20 -0
- package/types/raqm-ui-breadcrumb.d.ts +35 -0
- package/types/raqm-ui-button-group.d.ts +27 -0
- package/types/raqm-ui-button.d.ts +80 -0
- package/types/raqm-ui-calendar.d.ts +359 -0
- package/types/raqm-ui-card.d.ts +34 -0
- package/types/raqm-ui-carousel.d.ts +81 -0
- package/types/raqm-ui-checkbox.d.ts +24 -0
- package/types/raqm-ui-collapsible.d.ts +72 -0
- package/types/raqm-ui-combobox.d.ts +405 -0
- package/types/raqm-ui-command.d.ts +256 -0
- package/types/raqm-ui-context-menu.d.ts +196 -0
- package/types/raqm-ui-dialog.d.ts +232 -0
- package/types/raqm-ui-drawer.d.ts +121 -0
- package/types/raqm-ui-dropdown-menu.d.ts +319 -0
- package/types/raqm-ui-empty.d.ts +35 -0
- package/types/raqm-ui-field.d.ts +88 -0
- package/types/raqm-ui-hover-card.d.ts +139 -0
- package/types/raqm-ui-input-group.d.ts +45 -0
- package/types/raqm-ui-input-otp.d.ts +197 -0
- package/types/raqm-ui-input.d.ts +16 -0
- package/types/raqm-ui-item.d.ts +71 -0
- package/types/raqm-ui-kbd.d.ts +12 -0
- package/types/raqm-ui-label.d.ts +6 -0
- package/types/raqm-ui-menubar.d.ts +159 -0
- package/types/raqm-ui-native-select.d.ts +23 -0
- package/types/raqm-ui-navigation-menu.d.ts +230 -0
- package/types/raqm-ui-overlay-internal.d.ts +5 -0
- package/types/raqm-ui-pagination.d.ts +84 -0
- package/types/raqm-ui-popover.d.ts +235 -0
- package/types/raqm-ui-progress.d.ts +79 -0
- package/types/raqm-ui-questionnaire.d.ts +217 -0
- package/types/raqm-ui-radio-group.d.ts +48 -0
- package/types/raqm-ui-resizable.d.ts +98 -0
- package/types/raqm-ui-scroll-area.d.ts +132 -0
- package/types/raqm-ui-select.d.ts +205 -0
- package/types/raqm-ui-separator.d.ts +21 -0
- package/types/raqm-ui-sheet.d.ts +79 -0
- package/types/raqm-ui-sidebar.d.ts +285 -0
- package/types/raqm-ui-skeleton.d.ts +6 -0
- package/types/raqm-ui-slider.d.ts +129 -0
- package/types/raqm-ui-spinner.d.ts +32 -0
- package/types/raqm-ui-switch.d.ts +32 -0
- package/types/raqm-ui-table.d.ts +36 -0
- package/types/raqm-ui-tabs.d.ts +154 -0
- package/types/raqm-ui-textarea.d.ts +6 -0
- package/types/raqm-ui-toast.d.ts +190 -0
- package/types/raqm-ui-toggle-group.d.ts +167 -0
- package/types/raqm-ui-toggle.d.ts +42 -0
- package/types/raqm-ui-tooltip.d.ts +207 -0
- package/types/raqm-ui.d.ts +50 -0
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Directive, ElementRef, InjectionToken, booleanAttribute, computed, inject, input, isDevMode, model } from "@angular/core";
|
|
3
|
+
const RAQM_COLLAPSIBLE = new InjectionToken("RaqmCollapsible");
|
|
4
|
+
let nextCollapsibleId = 0;
|
|
5
|
+
var RaqmCollapsibleComponent = class RaqmCollapsibleComponent {
|
|
6
|
+
openValue = model(void 0, {
|
|
7
|
+
...ngDevMode ? { debugName: "openValue" } : /* istanbul ignore next */ {},
|
|
8
|
+
alias: "open"
|
|
9
|
+
});
|
|
10
|
+
defaultOpen = input(false, {
|
|
11
|
+
...ngDevMode ? { debugName: "defaultOpen" } : /* istanbul ignore next */ {},
|
|
12
|
+
transform: booleanAttribute
|
|
13
|
+
});
|
|
14
|
+
disabled = input(false, {
|
|
15
|
+
...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
|
|
16
|
+
transform: booleanAttribute
|
|
17
|
+
});
|
|
18
|
+
instanceId = `raqm-collapsible-${++nextCollapsibleId}`;
|
|
19
|
+
triggerId = `${this.instanceId}-trigger`;
|
|
20
|
+
contentId = `${this.instanceId}-content`;
|
|
21
|
+
open = computed(() => this.openValue() ?? this.defaultOpen(), ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
|
|
22
|
+
toggle() {
|
|
23
|
+
if (this.disabled()) return;
|
|
24
|
+
this.openValue.set(!this.open());
|
|
25
|
+
}
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
27
|
+
minVersion: "12.0.0",
|
|
28
|
+
version: "22.2.2",
|
|
29
|
+
ngImport: i0,
|
|
30
|
+
type: RaqmCollapsibleComponent,
|
|
31
|
+
deps: [],
|
|
32
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
33
|
+
});
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
35
|
+
minVersion: "17.1.0",
|
|
36
|
+
version: "22.2.2",
|
|
37
|
+
type: RaqmCollapsibleComponent,
|
|
38
|
+
isStandalone: true,
|
|
39
|
+
selector: "raqm-collapsible",
|
|
40
|
+
inputs: {
|
|
41
|
+
openValue: {
|
|
42
|
+
classPropertyName: "openValue",
|
|
43
|
+
publicName: "open",
|
|
44
|
+
isSignal: true,
|
|
45
|
+
isRequired: false,
|
|
46
|
+
transformFunction: null
|
|
47
|
+
},
|
|
48
|
+
defaultOpen: {
|
|
49
|
+
classPropertyName: "defaultOpen",
|
|
50
|
+
publicName: "defaultOpen",
|
|
51
|
+
isSignal: true,
|
|
52
|
+
isRequired: false,
|
|
53
|
+
transformFunction: null
|
|
54
|
+
},
|
|
55
|
+
disabled: {
|
|
56
|
+
classPropertyName: "disabled",
|
|
57
|
+
publicName: "disabled",
|
|
58
|
+
isSignal: true,
|
|
59
|
+
isRequired: false,
|
|
60
|
+
transformFunction: null
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
outputs: { openValue: "openChange" },
|
|
64
|
+
host: {
|
|
65
|
+
properties: { "attr.data-raqm-state": "open() ? \"open\" : \"closed\"" },
|
|
66
|
+
classAttribute: "raqm-collapsible"
|
|
67
|
+
},
|
|
68
|
+
providers: [{
|
|
69
|
+
provide: RAQM_COLLAPSIBLE,
|
|
70
|
+
useExisting: RaqmCollapsibleComponent
|
|
71
|
+
}],
|
|
72
|
+
ngImport: i0,
|
|
73
|
+
template: "<ng-content />",
|
|
74
|
+
isInline: true,
|
|
75
|
+
styles: [":host{display:block}\n"],
|
|
76
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
80
|
+
minVersion: "12.0.0",
|
|
81
|
+
version: "22.2.2",
|
|
82
|
+
ngImport: i0,
|
|
83
|
+
type: RaqmCollapsibleComponent,
|
|
84
|
+
decorators: [{
|
|
85
|
+
type: Component,
|
|
86
|
+
args: [{
|
|
87
|
+
selector: "raqm-collapsible",
|
|
88
|
+
template: "<ng-content />",
|
|
89
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
90
|
+
host: {
|
|
91
|
+
class: "raqm-collapsible",
|
|
92
|
+
"[attr.data-raqm-state]": "open() ? \"open\" : \"closed\""
|
|
93
|
+
},
|
|
94
|
+
providers: [{
|
|
95
|
+
provide: RAQM_COLLAPSIBLE,
|
|
96
|
+
useExisting: RaqmCollapsibleComponent
|
|
97
|
+
}],
|
|
98
|
+
styles: [":host{display:block}\n"]
|
|
99
|
+
}]
|
|
100
|
+
}],
|
|
101
|
+
propDecorators: {
|
|
102
|
+
openValue: [{
|
|
103
|
+
type: i0.Input,
|
|
104
|
+
args: [{
|
|
105
|
+
isSignal: true,
|
|
106
|
+
alias: "open",
|
|
107
|
+
required: false
|
|
108
|
+
}]
|
|
109
|
+
}, {
|
|
110
|
+
type: i0.Output,
|
|
111
|
+
args: ["openChange"]
|
|
112
|
+
}],
|
|
113
|
+
defaultOpen: [{
|
|
114
|
+
type: i0.Input,
|
|
115
|
+
args: [{
|
|
116
|
+
isSignal: true,
|
|
117
|
+
alias: "defaultOpen",
|
|
118
|
+
required: false
|
|
119
|
+
}]
|
|
120
|
+
}],
|
|
121
|
+
disabled: [{
|
|
122
|
+
type: i0.Input,
|
|
123
|
+
args: [{
|
|
124
|
+
isSignal: true,
|
|
125
|
+
alias: "disabled",
|
|
126
|
+
required: false
|
|
127
|
+
}]
|
|
128
|
+
}]
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
var RaqmCollapsibleTriggerDirective = class RaqmCollapsibleTriggerDirective {
|
|
132
|
+
host = inject(ElementRef);
|
|
133
|
+
authoredDisabled = this.host.nativeElement.disabled;
|
|
134
|
+
collapsible = inject(RAQM_COLLAPSIBLE, { optional: true });
|
|
135
|
+
open = computed(() => this.collapsible?.open() ?? false, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
|
|
136
|
+
isDisabled = computed(() => this.collapsible?.disabled() ?? false, ...ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []);
|
|
137
|
+
disabledAttribute = computed(() => this.isDisabled() || this.authoredDisabled ? "" : null, ...ngDevMode ? [{ debugName: "disabledAttribute" }] : /* istanbul ignore next */ []);
|
|
138
|
+
triggerId = computed(() => this.collapsible?.triggerId ?? null, ...ngDevMode ? [{ debugName: "triggerId" }] : /* istanbul ignore next */ []);
|
|
139
|
+
contentId = computed(() => this.collapsible?.contentId ?? null, ...ngDevMode ? [{ debugName: "contentId" }] : /* istanbul ignore next */ []);
|
|
140
|
+
constructor() {
|
|
141
|
+
if (isDevMode() && this.collapsible === null) console.error("[raqm-collapsible-trigger] No parent <raqm-collapsible> found; the trigger cannot toggle a panel.");
|
|
142
|
+
}
|
|
143
|
+
onClick() {
|
|
144
|
+
this.collapsible?.toggle();
|
|
145
|
+
}
|
|
146
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
147
|
+
minVersion: "12.0.0",
|
|
148
|
+
version: "22.2.2",
|
|
149
|
+
ngImport: i0,
|
|
150
|
+
type: RaqmCollapsibleTriggerDirective,
|
|
151
|
+
deps: [],
|
|
152
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
153
|
+
});
|
|
154
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
155
|
+
minVersion: "14.0.0",
|
|
156
|
+
version: "22.2.2",
|
|
157
|
+
type: RaqmCollapsibleTriggerDirective,
|
|
158
|
+
isStandalone: true,
|
|
159
|
+
selector: "button[raqm-collapsible-trigger]",
|
|
160
|
+
host: {
|
|
161
|
+
attributes: { "type": "button" },
|
|
162
|
+
listeners: { "click": "onClick()" },
|
|
163
|
+
properties: {
|
|
164
|
+
"attr.id": "triggerId()",
|
|
165
|
+
"attr.aria-expanded": "open() ? \"true\" : \"false\"",
|
|
166
|
+
"attr.aria-controls": "contentId()",
|
|
167
|
+
"attr.data-raqm-state": "open() ? \"open\" : \"closed\"",
|
|
168
|
+
"attr.disabled": "disabledAttribute()"
|
|
169
|
+
},
|
|
170
|
+
classAttribute: "raqm-collapsible-trigger"
|
|
171
|
+
},
|
|
172
|
+
ngImport: i0
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
176
|
+
minVersion: "12.0.0",
|
|
177
|
+
version: "22.2.2",
|
|
178
|
+
ngImport: i0,
|
|
179
|
+
type: RaqmCollapsibleTriggerDirective,
|
|
180
|
+
decorators: [{
|
|
181
|
+
type: Directive,
|
|
182
|
+
args: [{
|
|
183
|
+
selector: "button[raqm-collapsible-trigger]",
|
|
184
|
+
host: {
|
|
185
|
+
class: "raqm-collapsible-trigger",
|
|
186
|
+
type: "button",
|
|
187
|
+
"[attr.id]": "triggerId()",
|
|
188
|
+
"[attr.aria-expanded]": "open() ? \"true\" : \"false\"",
|
|
189
|
+
"[attr.aria-controls]": "contentId()",
|
|
190
|
+
"[attr.data-raqm-state]": "open() ? \"open\" : \"closed\"",
|
|
191
|
+
"[attr.disabled]": "disabledAttribute()",
|
|
192
|
+
"(click)": "onClick()"
|
|
193
|
+
}
|
|
194
|
+
}]
|
|
195
|
+
}],
|
|
196
|
+
ctorParameters: () => []
|
|
197
|
+
});
|
|
198
|
+
var RaqmCollapsibleContentComponent = class RaqmCollapsibleContentComponent {
|
|
199
|
+
collapsible = inject(RAQM_COLLAPSIBLE, { optional: true });
|
|
200
|
+
open = computed(() => this.collapsible?.open() ?? true, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
|
|
201
|
+
contentId = computed(() => this.collapsible?.contentId ?? null, ...ngDevMode ? [{ debugName: "contentId" }] : /* istanbul ignore next */ []);
|
|
202
|
+
triggerId = computed(() => this.collapsible?.triggerId ?? null, ...ngDevMode ? [{ debugName: "triggerId" }] : /* istanbul ignore next */ []);
|
|
203
|
+
constructor() {
|
|
204
|
+
if (isDevMode() && this.collapsible === null) console.error("[raqm-collapsible-content] No parent <raqm-collapsible> found; the panel cannot know its open state.");
|
|
205
|
+
}
|
|
206
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
207
|
+
minVersion: "12.0.0",
|
|
208
|
+
version: "22.2.2",
|
|
209
|
+
ngImport: i0,
|
|
210
|
+
type: RaqmCollapsibleContentComponent,
|
|
211
|
+
deps: [],
|
|
212
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
213
|
+
});
|
|
214
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
215
|
+
minVersion: "14.0.0",
|
|
216
|
+
version: "22.2.2",
|
|
217
|
+
type: RaqmCollapsibleContentComponent,
|
|
218
|
+
isStandalone: true,
|
|
219
|
+
selector: "raqm-collapsible-content",
|
|
220
|
+
host: {
|
|
221
|
+
properties: {
|
|
222
|
+
"attr.id": "contentId()",
|
|
223
|
+
"attr.aria-labelledby": "triggerId()",
|
|
224
|
+
"attr.data-raqm-state": "open() ? \"open\" : \"closed\"",
|
|
225
|
+
"attr.hidden": "open() ? null : \"\""
|
|
226
|
+
},
|
|
227
|
+
classAttribute: "raqm-collapsible-content"
|
|
228
|
+
},
|
|
229
|
+
ngImport: i0,
|
|
230
|
+
template: "<ng-content />",
|
|
231
|
+
isInline: true,
|
|
232
|
+
styles: [":host{display:block}:host([hidden]){display:none}\n"],
|
|
233
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
234
|
+
});
|
|
235
|
+
};
|
|
236
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
237
|
+
minVersion: "12.0.0",
|
|
238
|
+
version: "22.2.2",
|
|
239
|
+
ngImport: i0,
|
|
240
|
+
type: RaqmCollapsibleContentComponent,
|
|
241
|
+
decorators: [{
|
|
242
|
+
type: Component,
|
|
243
|
+
args: [{
|
|
244
|
+
selector: "raqm-collapsible-content",
|
|
245
|
+
template: "<ng-content />",
|
|
246
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
247
|
+
host: {
|
|
248
|
+
class: "raqm-collapsible-content",
|
|
249
|
+
"[attr.id]": "contentId()",
|
|
250
|
+
"[attr.aria-labelledby]": "triggerId()",
|
|
251
|
+
"[attr.data-raqm-state]": "open() ? \"open\" : \"closed\"",
|
|
252
|
+
"[attr.hidden]": "open() ? null : \"\""
|
|
253
|
+
},
|
|
254
|
+
styles: [":host{display:block}:host([hidden]){display:none}\n"]
|
|
255
|
+
}]
|
|
256
|
+
}],
|
|
257
|
+
ctorParameters: () => []
|
|
258
|
+
});
|
|
259
|
+
const RaqmCollapsible = [
|
|
260
|
+
RaqmCollapsibleComponent,
|
|
261
|
+
RaqmCollapsibleTriggerDirective,
|
|
262
|
+
RaqmCollapsibleContentComponent
|
|
263
|
+
];
|
|
264
|
+
export { RaqmCollapsible, RaqmCollapsibleComponent, RaqmCollapsibleContentComponent, RaqmCollapsibleTriggerDirective };
|
|
265
|
+
|
|
266
|
+
//# sourceMappingURL=raqm-ui-collapsible.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raqm-ui-collapsible.mjs","names":[],"sources":["../../../projects/ui/collapsible/collapsible.ts","../../../projects/ui/collapsible/public-api.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n ElementRef,\r\n InjectionToken,\r\n Signal,\r\n booleanAttribute,\r\n computed,\r\n inject,\r\n input,\r\n isDevMode,\r\n model,\r\n} from '@angular/core';\r\n\r\nexport interface RaqmCollapsibleContext {\r\n /** The model when set, otherwise the seed. */\r\n readonly open: Signal<boolean>;\r\n readonly disabled: Signal<boolean>;\r\n readonly triggerId: string;\r\n readonly contentId: string;\r\n toggle(): void;\r\n}\r\n\r\n/** Root token; injected optionally so a misplaced part renders and only logs a dev-mode error. */\r\nexport const RAQM_COLLAPSIBLE = new InjectionToken<RaqmCollapsibleContext>('RaqmCollapsible');\r\n\r\nlet nextCollapsibleId = 0;\r\n\r\n/** Collapsible root; carries no ARIA role. `open` is the only change channel and the seed stays silent until interaction. */\r\n@Component({\r\n selector: 'raqm-collapsible',\r\n template: '<ng-content />',\r\n styles: [\r\n `\r\n :host {\r\n display: block;\r\n }\r\n `,\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-collapsible',\r\n '[attr.data-raqm-state]': 'open() ? \"open\" : \"closed\"',\r\n },\r\n providers: [{ provide: RAQM_COLLAPSIBLE, useExisting: RaqmCollapsibleComponent }],\r\n})\r\nexport class RaqmCollapsibleComponent implements RaqmCollapsibleContext {\r\n /** `undefined` lets the seed apply; any boolean (including `false`) takes over permanently. */\r\n readonly openValue = model<boolean | undefined>(undefined, { alias: 'open' });\r\n\r\n readonly defaultOpen = input(false, { transform: booleanAttribute });\r\n\r\n readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n private readonly instanceId = `raqm-collapsible-${++nextCollapsibleId}`;\r\n\r\n // Owned id pair; the trigger's `aria-controls` and the panel's `aria-labelledby` point at them.\r\n readonly triggerId = `${this.instanceId}-trigger`;\r\n\r\n readonly contentId = `${this.instanceId}-content`;\r\n\r\n readonly open = computed(() => this.openValue() ?? this.defaultOpen());\r\n\r\n /** A disabled root is a no-op; a seeded `defaultOpen` closes on first activation. */\r\n toggle(): void {\r\n if (this.disabled()) {\r\n return;\r\n }\r\n this.openValue.set(!this.open());\r\n }\r\n}\r\n\r\n/** Collapsible trigger on the real `<button>`; a disabled root publishes the native `disabled` attribute. */\r\n@Directive({\r\n selector: 'button[raqm-collapsible-trigger]',\r\n host: {\r\n class: 'raqm-collapsible-trigger',\r\n // A disclosure button never submits a form.\r\n type: 'button',\r\n '[attr.id]': 'triggerId()',\r\n '[attr.aria-expanded]': 'open() ? \"true\" : \"false\"',\r\n '[attr.aria-controls]': 'contentId()',\r\n '[attr.data-raqm-state]': 'open() ? \"open\" : \"closed\"',\r\n // The root's state OR-ed with an app-authored native `disabled`.\r\n '[attr.disabled]': 'disabledAttribute()',\r\n '(click)': 'onClick()',\r\n },\r\n})\r\nexport class RaqmCollapsibleTriggerDirective {\r\n private readonly host = inject<ElementRef<HTMLButtonElement>>(ElementRef);\r\n\r\n // Read at creation: the root can add its own disabled state but never clears this one.\r\n private readonly authoredDisabled = this.host.nativeElement.disabled;\r\n\r\n private readonly collapsible = inject<RaqmCollapsibleContext | null>(RAQM_COLLAPSIBLE, {\r\n optional: true,\r\n });\r\n\r\n protected readonly open = computed(() => this.collapsible?.open() ?? false);\r\n\r\n protected readonly isDisabled = computed(() => this.collapsible?.disabled() ?? false);\r\n\r\n protected readonly disabledAttribute = computed(() =>\r\n this.isDisabled() || this.authoredDisabled ? '' : null,\r\n );\r\n\r\n protected readonly triggerId = computed(() => this.collapsible?.triggerId ?? null);\r\n\r\n protected readonly contentId = computed(() => this.collapsible?.contentId ?? null);\r\n\r\n constructor() {\r\n if (isDevMode() && this.collapsible === null) {\r\n console.error(\r\n '[raqm-collapsible-trigger] No parent <raqm-collapsible> found; the trigger cannot toggle a panel.',\r\n );\r\n }\r\n }\r\n\r\n protected onClick(): void {\r\n this.collapsible?.toggle();\r\n }\r\n}\r\n\r\n/** Collapsible panel; no role or inputs, paired by `aria-labelledby`, mounted always and hidden with `hidden` while closed. */\r\n@Component({\r\n selector: 'raqm-collapsible-content',\r\n template: '<ng-content />',\r\n styles: [\r\n `\r\n :host {\r\n display: block;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n `,\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'raqm-collapsible-content',\r\n '[attr.id]': 'contentId()',\r\n '[attr.aria-labelledby]': 'triggerId()',\r\n '[attr.data-raqm-state]': 'open() ? \"open\" : \"closed\"',\r\n // Stays mounted; `hidden` is what collapses it.\r\n '[attr.hidden]': 'open() ? null : \"\"',\r\n },\r\n})\r\nexport class RaqmCollapsibleContentComponent {\r\n private readonly collapsible = inject<RaqmCollapsibleContext | null>(RAQM_COLLAPSIBLE, {\r\n optional: true,\r\n });\r\n\r\n protected readonly open = computed(() => this.collapsible?.open() ?? true);\r\n\r\n protected readonly contentId = computed(() => this.collapsible?.contentId ?? null);\r\n\r\n protected readonly triggerId = computed(() => this.collapsible?.triggerId ?? null);\r\n\r\n constructor() {\r\n if (isDevMode() && this.collapsible === null) {\r\n console.error(\r\n '[raqm-collapsible-content] No parent <raqm-collapsible> found; the panel cannot know its open state.',\r\n );\r\n }\r\n }\r\n}\r\n","// Public API for the `@raqm/ui/collapsible` secondary entry point; also re-exported by the root.\r\nimport {\r\n RaqmCollapsibleComponent,\r\n RaqmCollapsibleContentComponent,\r\n RaqmCollapsibleTriggerDirective,\r\n} from './collapsible';\r\n\r\nexport {\r\n RaqmCollapsibleComponent,\r\n RaqmCollapsibleContentComponent,\r\n RaqmCollapsibleTriggerDirective,\r\n};\r\n\r\n// A nested readonly array is accepted by Angular `imports`, so the whole family imports as one entry.\r\nexport const RaqmCollapsible = [\r\n RaqmCollapsibleComponent,\r\n RaqmCollapsibleTriggerDirective,\r\n RaqmCollapsibleContentComponent,\r\n] as const;\r\n"],"mappings":"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"}
|